diff --git a/user/src/com/google/gwt/safehtml/client/SafeHtmlTemplates.java b/user/src/com/google/gwt/safehtml/client/SafeHtmlTemplates.java
index 2588dba..7cb940a 100644
--- a/user/src/com/google/gwt/safehtml/client/SafeHtmlTemplates.java
+++ b/user/src/com/google/gwt/safehtml/client/SafeHtmlTemplates.java
@@ -58,7 +58,7 @@
  * <b>Note:</b> The current implementation of the code generator cannot
  * guarantee the {@code SafeHtml} contract for templates with template variables
  * in a CSS or JavaScript context (that is, within a {@code style} attribute or
- * tag; or within {@code &lt;script&gt;} tags or {@code onClick}, {@code
+ * tag; or within {@code <script>} tags or {@code onClick}, {@code
  * onError}, etc. attributes). Developers are advised to avoid such templates,
  * or to review the uses of corresponding template methods very carefully to
  * ensure that values passed into the CSS or JavaScript context cannot result in
diff --git a/user/src/com/google/gwt/safehtml/shared/SafeHtml.java b/user/src/com/google/gwt/safehtml/shared/SafeHtml.java
index 700f2bd..7b3996e 100644
--- a/user/src/com/google/gwt/safehtml/shared/SafeHtml.java
+++ b/user/src/com/google/gwt/safehtml/shared/SafeHtml.java
@@ -45,11 +45,11 @@
  * requirement implies that for any value {@code A} of this type, if {@code
  * A.asString()} includes HTML markup, the string must end in an "inner HTML"
  * context and not inside a tag or attribute. For example, a value of {@code
- * &lt;div style="} or {@code &lt;img src="} would not satisfy the SafeHtml contract.
+ * <div style="} or {@code <img src="} would not satisfy the SafeHtml contract.
  * This is because concatenating such strings with a second value that itself
  * does not contain script-executing HTML markup can result in an overall string
- * that does. For example, if {@code javascript:malicious()"&gt;} is appended to
- * {@code &lt;img src="}, the resulting string may result in script execution.
+ * that does. For example, if {@code javascript:malicious()">} is appended to
+ * {@code <img src="}, the resulting string may result in script execution.
  *
  * <p>
  * All implementations must implement equals() and hashCode() to behave
diff --git a/user/src/com/google/gwt/safehtml/shared/SafeHtmlBuilder.java b/user/src/com/google/gwt/safehtml/shared/SafeHtmlBuilder.java
index 9a26ed9..da425ee 100644
--- a/user/src/com/google/gwt/safehtml/shared/SafeHtmlBuilder.java
+++ b/user/src/com/google/gwt/safehtml/shared/SafeHtmlBuilder.java
@@ -180,10 +180,10 @@
    *
    * <li>The value of the argument must end in "inner HTML" context and not
    * contain incomplete HTML tags. I.e., the following is not a correct use of
-   * this method, because the {@code &lt;a&gt;} tag is incomplete:
+   * this method, because the {@code <a>} tag is incomplete:
    *
    * <pre class="code">
-   * {@code shb.appendConstantHtml("&lt;a href='").append(url)}</pre>
+   * {@code shb.appendConstantHtml("<a href='").append(url)}</pre>
    *
    * </ol>
    *
diff --git a/user/src/com/google/gwt/safehtml/shared/SafeHtmlHostedModeUtils.java b/user/src/com/google/gwt/safehtml/shared/SafeHtmlHostedModeUtils.java
index 08cbd27..260afb7 100644
--- a/user/src/com/google/gwt/safehtml/shared/SafeHtmlHostedModeUtils.java
+++ b/user/src/com/google/gwt/safehtml/shared/SafeHtmlHostedModeUtils.java
@@ -54,17 +54,17 @@
    * For example, this check will pass for the following strings:
    *
    * <pre>{@code
-   *   &lt;foo&gt;blah
-   *   baz&lt;em&gt;foo&lt;/em&gt; &lt;x a="b"&gt;hello
+   *   <foo>blah
+   *   baz<em>foo</em> <x a="b">hello
    * }</pre>
    *
    * <p>
    * The check will fail for the following strings:
    *
    * <pre>{@code
-   *   baz&lt;em&gt;foo&lt;/em&gt; &lt;x
-   *   baz&lt;em&gt;foo&lt;/em&gt; &lt;x a="b
-   *   baz&lt;em&gt;foo&lt;/em&gt; &lt;x a="b"
+   *   baz<em>foo</em> <x
+   *   baz<em>foo</em> <x a="b
+   *   baz<em>foo</em> <x a="b"
    * }</pre>
    *
    * <p>
diff --git a/user/src/com/google/gwt/safehtml/shared/SafeHtmlUtils.java b/user/src/com/google/gwt/safehtml/shared/SafeHtmlUtils.java
index 1febb8a..9389985 100644
--- a/user/src/com/google/gwt/safehtml/shared/SafeHtmlUtils.java
+++ b/user/src/com/google/gwt/safehtml/shared/SafeHtmlUtils.java
@@ -50,10 +50,10 @@
    *
    * <li>The value of the argument must end in "inner HTML" context and not
    * contain incomplete HTML tags. I.e., the following is not a correct use of
-   * this method, because the {@code &lt;a&gt;} tag is incomplete:
+   * this method, because the {@code <a>} tag is incomplete:
    *
    * <pre class="code">
-   * {@code shb.appendConstantHtml("&lt;a href='").append(url)}</pre>
+   * {@code shb.appendConstantHtml("<a href='").append(url)}</pre>
    *
    * </ol>
    *
diff --git a/user/src/com/google/gwt/safehtml/shared/SimpleHtmlSanitizer.java b/user/src/com/google/gwt/safehtml/shared/SimpleHtmlSanitizer.java
index 6a9a123..5c9c6b1 100644
--- a/user/src/com/google/gwt/safehtml/shared/SimpleHtmlSanitizer.java
+++ b/user/src/com/google/gwt/safehtml/shared/SimpleHtmlSanitizer.java
@@ -27,11 +27,11 @@
  * attribute-free tags:
  *
  * <ul>
- * <li>{@code &lt;b&gt;}, {@code &lt;em&gt;}, {@code &lt;i&gt;}</li>
- * <li>{@code &lt;h1&gt;}, {@code &lt;h2&gt;}, {@code &lt;h3&gt;},
- *     {@code &lt;h4&gt;}, {@code &lt;h5&gt;}, {@code &lt;h6&gt;}</li>
- * <li>{@code &lt;ul&gt;}, {@code &lt;ol&gt;}. {@code &lt;li&gt;}</li>
- * <li>{@code &lt;hr&gt;}</li>
+ * <li>{@code <b>}, {@code <em>}, {@code <i>}</li>
+ * <li>{@code <h1>}, {@code <h2>}, {@code <h3>},
+ *     {@code <h4>}, {@code <h5>}, {@code <h6>}</li>
+ * <li>{@code <ul>}, {@code <ol>}. {@code <li>}</li>
+ * <li>{@code <hr>}</li>
  * </ul>
  *
  * as well as numeric HTML entities and HTML entity references. Any HTML
diff --git a/user/super/com/google/gwt/emul/java/math/MathContext.java b/user/super/com/google/gwt/emul/java/math/MathContext.java
index 5fd9be9..c1cbf8c 100644
--- a/user/super/com/google/gwt/emul/java/math/MathContext.java
+++ b/user/super/com/google/gwt/emul/java/math/MathContext.java
@@ -292,9 +292,9 @@
   /**
    * Returns the string representation for this {@code MathContext} instance.
    * The string has the form {@code
-   * "precision=&lt;precision&gt; roundingMode=&lt;roundingMode&gt;" * } where
-   * {@code &lt;precision&gt;} is an integer describing the number of digits
-   * used for operations and {@code &lt;roundingMode&gt;} is the string
+   * "precision=<precision> roundingMode=<roundingMode>" * } where
+   * {@code <precision>} is an integer describing the number of digits
+   * used for operations and {@code <roundingMode>} is the string
    * representation of the rounding mode.
    * 
    * @return a string representation for this {@code MathContext} instance
