From 22c9237716028ccfd1876a31eef813f7720b0a42 Mon Sep 17 00:00:00 2001 From: "N. Engelhardt" Date: Tue, 20 Jun 2023 11:17:12 +0200 Subject: [PATCH 1/2] show: escape angle brackets --- passes/cmds/show.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/passes/cmds/show.cc b/passes/cmds/show.cc index 525c81d5b..f1854058c 100644 --- a/passes/cmds/show.cc +++ b/passes/cmds/show.cc @@ -208,7 +208,7 @@ struct ShowWorker str += "╲"; continue; } - if (ch == '"') + if (ch == '"' || ch == '<' || ch == '>') str += "\\"; str += ch; } From 9c7f0e76709aa7f4f77c404562a7468acbb116bc Mon Sep 17 00:00:00 2001 From: "N. Engelhardt" Date: Tue, 20 Jun 2023 12:53:56 +0200 Subject: [PATCH 2/2] show: truncate very long module names --- passes/cmds/show.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/passes/cmds/show.cc b/passes/cmds/show.cc index f1854058c..0dc5c452c 100644 --- a/passes/cmds/show.cc +++ b/passes/cmds/show.cc @@ -201,6 +201,12 @@ struct ShowWorker if (id[0] == '\\') id = id.substr(1); + // TODO: optionally include autoname + print correspondence in case of ambiguity + size_t max_label_len = abbreviateIds ? 256 : 16384; + if (id.size() > max_label_len) { + id = id.substr(0,max_label_len-3) + "..."; + } + std::string str; for (char ch : id) { if (ch == '\\') {