diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java index 25697432145..8052955ebbb 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java @@ -110,7 +110,8 @@ protected Content indexTagOutput(Element element, DocTree tag) { String tagText = ch.getText(itt.getSearchTerm()); if (tagText.charAt(0) == '"' && tagText.charAt(tagText.length() - 1) == '"') { - tagText = tagText.substring(1, tagText.length() - 1); + tagText = tagText.substring(1, tagText.length() - 1) + .replaceAll("\\s+", " "); } String desc = ch.getText(itt.getDescription()); diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Links.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Links.java index f9eb9ee749f..62b10a4d3c7 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Links.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Links.java @@ -312,7 +312,7 @@ public Content createLink(DocLink link, Content label, boolean isExternal) { * @return a valid HTML name */ public String getName(String name) { - return name.replaceAll(" +", ""); + return name.replaceAll("\\s+", ""); } } diff --git a/test/langtools/jdk/javadoc/doclet/testSearchScript/TestSearchScript.java b/test/langtools/jdk/javadoc/doclet/testSearchScript/TestSearchScript.java index 4dea913f0c4..306f35ef48f 100644 --- a/test/langtools/jdk/javadoc/doclet/testSearchScript/TestSearchScript.java +++ b/test/langtools/jdk/javadoc/doclet/testSearchScript/TestSearchScript.java @@ -149,11 +149,12 @@ public void testModuleSearch() throws ScriptException, IOException, NoSuchMethod checkSearch(inv, "operty", List.of()); // search tag - checkSearch(inv, "search tag", List.of("search tag")); - checkSearch(inv, "search tag", List.of("search tag")); - checkSearch(inv, "search ", List.of("search tag")); - checkSearch(inv, "tag", List.of("search tag")); - checkSearch(inv, "sea", List.of("search tag")); + checkSearch(inv, "search tag", List.of("multiline search tag", "search tag")); + checkSearch(inv, "search tag", List.of("multiline search tag", "search tag")); + checkSearch(inv, "search ", List.of("multiline search tag", "search tag")); + checkSearch(inv, "tag", List.of("multiline search tag", "search tag")); + checkSearch(inv, "sea", List.of("multiline search tag", "search tag")); + checkSearch(inv, "multi", List.of("multiline search tag")); checkSearch(inv, "ear", List.of()); } @@ -244,7 +245,7 @@ public void testPackageSource() throws ScriptException, IOException, NoSuchMetho List.of("listpkg.List.of(E, E, E, E)", "listpkg.List.of(E, E, E, E, E)")); checkSearch(inv, "l . o (e,e,e,", List.of("listpkg.List.of(E, E, E, E)", "listpkg.List.of(E, E, E, E, E)")); - checkSearch(inv, "search \tt", List.of("search tag")); + checkSearch(inv, "search \tt", List.of("other search tag")); checkSearch(inv, "sear ch", List.of()); checkSearch(inv, "( e ..", List.of("listpkg.List.of(E...)")); checkSearch(inv, "( i [ ]", List.of("listpkg.Nolist.withArrayArg(int[])")); diff --git a/test/langtools/jdk/javadoc/doclet/testSearchScript/listpkg/Nolist.java b/test/langtools/jdk/javadoc/doclet/testSearchScript/listpkg/Nolist.java index 3dd116db11b..2e937e416fc 100644 --- a/test/langtools/jdk/javadoc/doclet/testSearchScript/listpkg/Nolist.java +++ b/test/langtools/jdk/javadoc/doclet/testSearchScript/listpkg/Nolist.java @@ -27,9 +27,8 @@ import java.util.Map; /** - * Example class containing "list" but not matching at any word boundary. - * - * {@index "search tag"}. + * Example class containing "list" but not matching at any word boundary. {@index "other + * search tag"}. */ public class Nolist { diff --git a/test/langtools/jdk/javadoc/doclet/testSearchScript/mapmodule/mappkg/Map.java b/test/langtools/jdk/javadoc/doclet/testSearchScript/mapmodule/mappkg/Map.java index 18890eefe4e..db251f41949 100644 --- a/test/langtools/jdk/javadoc/doclet/testSearchScript/mapmodule/mappkg/Map.java +++ b/test/langtools/jdk/javadoc/doclet/testSearchScript/mapmodule/mappkg/Map.java @@ -25,6 +25,13 @@ import java.util.Iterator; +/** + * Map interface. + * + * {@index "multiline + * search + * tag"} + */ public interface Map { public void put(Object key, Object value); public boolean contains(Object key);