emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master aa793512d0 2/3: Repair nXML handling of URIs with hex escapes (bu


From: Mattias Engdegård
Subject: master aa793512d0 2/3: Repair nXML handling of URIs with hex escapes (bug#58718)
Date: Mon, 24 Oct 2022 06:44:35 -0400 (EDT)

branch: master
commit aa793512d04c53e423563530f64c1d42d7d0accd
Author: Martin Jerabek <om@mailservice.ms>
Commit: Mattias Engdegård <mattiase@acm.org>

    Repair nXML handling of URIs with hex escapes (bug#58718)
    
    Copyright-paperwork-exempt: yes
    
    * lisp/nxml/rng-uri.el (rng-uri-file-name-1): Add missing backslashes.
    (rng-uri-unescape-unibyte, rng-uri-unescape-unibyte-match):
    Convert hex-encoded character to string.
---
 lisp/nxml/rng-uri.el | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/lisp/nxml/rng-uri.el b/lisp/nxml/rng-uri.el
index 77fed8c32d..59e696e2cc 100644
--- a/lisp/nxml/rng-uri.el
+++ b/lisp/nxml/rng-uri.el
@@ -68,7 +68,7 @@ Signal an error if URI is not a valid file URL."
 
 ;; pattern is either nil or match or replace
 (defun rng-uri-file-name-1 (uri pattern)
-  (unless (string-match "\\`\\(?:[^%]\\|%[[:xdigit:]]{2}\\)*\\'" uri)
+  (unless (string-match "\\`\\(?:[^%]\\|%[[:xdigit:]]\\{2\\}\\)*\\'" uri)
     (rng-uri-error "Bad escapes in URI `%s'" uri))
   (setq uri (rng-uri-unescape-multibyte uri))
   (let* ((components
@@ -312,7 +312,7 @@ Both FULL and BASE must be absolute URIs."
 (defun rng-uri-unescape-unibyte (str)
   (replace-regexp-in-string "%[0-7][[:xdigit:]]"
                            (lambda (h)
-                             (string-to-number (substring h 1) 16))
+                             (string (string-to-number (substring h 1) 16)))
                            str
                            t
                            t))
@@ -325,8 +325,8 @@ Both FULL and BASE must be absolute URIs."
                                (regexp-quote
                                 (if (= (length match) 1)
                                     match
-                                  (string-to-number (substring match 1)
-                                                    16)))))
+                                  (string (string-to-number (substring match 1)
+                                                            16))))))
                            str
                            t
                            t))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]