diff --git a/src/Tools/Setup/isabelle/setup/Library.java b/src/Tools/Setup/isabelle/setup/Library.java --- a/src/Tools/Setup/isabelle/setup/Library.java +++ b/src/Tools/Setup/isabelle/setup/Library.java @@ -1,52 +1,48 @@ /* Title: Tools/Setup/isabelle/setup/Library.java Author: Makarius Basic library. */ package isabelle.setup; import java.util.Arrays; import java.util.LinkedList; import java.util.List; public class Library { public static String cat_lines(Iterable lines) { return String.join("\n", lines); } public static List split_lines(String str) { if (str.isEmpty()) { return List.of(); } else { List result = new LinkedList(); result.addAll(Arrays.asList(str.split("\\n"))); return List.copyOf(result); } } public static String prefix_lines(String prfx, String str) { if (str.isEmpty()) { return str; } else { - StringBuilder result = new StringBuilder(); - for (String s : split_lines(str)) { - result.append(prfx); - result.append(s); - result.append('\n'); - } - return result.toString(); + List lines = new LinkedList(); + for (String line : split_lines(str)) { lines.add(prfx + line); } + return cat_lines(lines); } } public static String trim_line(String s) { if (s.endsWith("\r\n")) { return s.substring(0, s.length() - 2); } else if (s.endsWith("\r") || s.endsWith("\n")) { return s.substring(0, s.length() - 1); } else { return s; } } } \ No newline at end of file