Function: rng-uri-unescape-unibyte-replace

rng-uri-unescape-unibyte-replace is a byte-compiled function defined in rng-uri.el.gz.

Signature

(rng-uri-unescape-unibyte-replace STR NEXT-MATCH-INDEX)

Source Code

;; Defined in /usr/src/emacs/lisp/nxml/rng-uri.el.gz
(defun rng-uri-unescape-unibyte-replace (str next-match-index)
  (replace-regexp-in-string
   "%[0-7][[:xdigit:]]\\|[^%]"
   (lambda (match)
     (if (string= match "*")
	 (let ((n next-match-index))
	   (setq next-match-index (1+ n))
	   (format "\\%s" n))
       (let ((ch (if (= (length match) 1)
		     (aref match 0)
		   (string-to-number (substring match 1)
				     16))))
	 (if (eq ch ?\\)
	     (string ?\\ ?\\)
	   (string ch)))))
     str
     t
     t))