<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>


<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>About</title>
</head><body lang="EN-US">
<h2>About This Content</h2>
 
<p>July 19, 2009</p>	
<h3>License</h3>

<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 
indicated below, the Content is provided to you under the terms and conditions of the
Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 
at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
For purposes of the EPL, "Program" will mean the Content.</p>

<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
being redistributed by another party ("Redistributor") and different terms and conditions may
apply to your use of any object code in the Content.  Check the Redistributor's license that was 
provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
indicated below, the terms and conditions of the EPL still apply to any source code in the Content
and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
		
<h3>Third Party Content</h3>
<p>This plugin contains a slightly modified build of org.eclipse.imp.runtime 0.1.100 SVN 21814.</p>
<p>This plugin should be considered deprecated in that it is intended to eliminate it as soon as IMP
runtime is promted to a non-Incubation status.</p>
<p>The exact differences may be found in org.eclipse.imp.runtime.patch.</p>
<p>The unpatched plugin is API compliant and so may be used instead, however the following problems may be observed:</p>
<ul>
	<li>BuilderBase.java - new editors may start with an NPE</li>
	<li>AnnotationHoverBase.java - multi-line annotations are not multi-line</li>
	<li>ParserScheduler.java - an NPE may occur when an edited file is deleted</li>
	<li>PresentationController.java - coloring ranges may be off by one</li>
	<li>LanguageRegistry.java - Open With offers an IMP editor that functions poorly</li>
	<li>HTMLPrinter.java - multi-line diagnostics are not multi-line</li>
</ul>

</body></html>