Hi Alan, if you can, please test this quick patch.
All tests pass fine but it's not the definitive patch as there are other issues in this areas we need to check first. But tests will help, as always. Thanks!
diff --git a/lisp/org.el b/lisp/org.el index 27aeccb..50fa5ce 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -9834,17 +9834,18 @@ If optional argument MERGE is set, merge TABLE into (setq table (cons defchr table)))) org-link-escape-chars)) ((null table) (setq table org-link-escape-chars))) - (mapconcat - (lambda (char) - (if (or (member char table) - (and (or (< char 32) (= char ?\%) (> char 126)) - org-url-hexify-p)) - (mapconcat (lambda (sequence-element) - (format "%%%.2X" sequence-element)) - (or (encode-coding-char char 'utf-8) - (error "Unable to percent escape character: %s" - (char-to-string char))) "") - (char-to-string char))) text "")) + (if (string-match "^\*[[:alnum:]]+" text) text + (mapconcat + (lambda (char) + (if (or (member char table) + (and (or (< char 32) (= char ?\%) (> char 126)) + org-url-hexify-p)) + (mapconcat (lambda (sequence-element) + (format "%%%.2X" sequence-element)) + (or (encode-coding-char char 'utf-8) + (error "Unable to percent escape character: %s" + (char-to-string char))) "") + (char-to-string char))) text ""))) (defun org-link-escape-browser (text) (if (org-string-match-p
-- Bastien