From 17e672e45f4f29a7396be2dec910b5b765245cb4 Mon Sep 17 00:00:00 2001 From: urieljareth Date: Sun, 27 Sep 2026 21:46:10 -0600 Subject: [PATCH] Corregir el escape de la regla de marcadores en sinFormato Co-Authored-By: Claude Opus 5.5 --- js/interactivity.js | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/js/interactivity.js b/js/interactivity.js index fcf32e3..3bd51f4 100644 --- a/js/interactivity.js +++ b/js/interactivity.js @@ -292,7 +292,7 @@ window.WAM = window.WAM || {}; return String(s == null ? "" : s) .replace(/```([\s\S]*?)```/g, "$1") .replace(/`([^`\n]+)`/g, "$1") - .replace(reMarca("\*"), "$1$2") + .replace(reMarca("*"), "$1$2") .replace(reMarca("_"), "$1$2") .replace(reMarca("~"), "$1$2") .trim(); @@ -300,13 +300,10 @@ window.WAM = window.WAM || {}; /* Misma regla que render.js: marca pegada a un carácter no blanco por dentro y sin letra, número ni _ por fuera («2 * 3 * 4» queda literal). */ - function reMarca(e) { - try { - return new RegExp("(^|[^\p{L}\p{N}_" + e + "])" + e + "(?=\S)([^" + e + "\n]*?\S)" + e + - "(?=[^\p{L}\p{N}_" + e + "]|$)", "gu"); - } catch (err) { - return new RegExp("(^|[^\w" + e + "])" + e + "(?=\S)([^" + e + "\n]*?\S)" + e + "(?=[^\w" + e + "]|$)", "g"); - } + function reMarca(m) { + var e = m === "*" ? "\\*" : m; /* con flag u, "\_" y "\~" son escapes inválidos */ + return new RegExp("(^|[^\\p{L}\\p{N}_" + e + "])" + e + "(?=\\S)([^" + e + "\\n]*?\\S)" + e + + "(?=[^\\p{L}\\p{N}_" + e + "]|$)", "gu"); } function miniaturaSegura(u) {