Pārlūkot izejas kodu

Move `org-replace-escapes' into "org-macs.el"

* lisp/org.el (org-replace-escapes): Move function...
* lisp/org-macs.el: ...there.
Nicolas Goaziou 6 gadi atpakaļ
vecāks
revīzija
9cf2040313
2 mainītis faili ar 27 papildinājumiem un 27 dzēšanām
  1. 27 0
      lisp/org-macs.el
  2. 0 27
      lisp/org.el

+ 27 - 0
lisp/org-macs.el

@@ -1011,6 +1011,33 @@ as-is if removal failed."
 	     (or (cdr entry) "") template t t)))
     template))
 
+(defun org-replace-escapes (string table)
+  "Replace %-escapes in STRING with values in TABLE.
+TABLE is an association list with keys like \"%a\" and string values.
+The sequences in STRING may contain normal field width and padding information,
+for example \"%-5s\".  Replacements happen in the sequence given by TABLE,
+so values can contain further %-escapes if they are define later in TABLE."
+  (let ((tbl (copy-alist table))
+	(case-fold-search nil)
+        (pchg 0)
+        re rpl)
+    (dolist (e tbl)
+      (setq re (concat "%-?[0-9.]*" (substring (car e) 1)))
+      (when (and (cdr e) (string-match re (cdr e)))
+        (let ((sref (substring (cdr e) (match-beginning 0) (match-end 0)))
+              (safe "SREF"))
+          (add-text-properties 0 3 (list 'sref sref) safe)
+          (setcdr e (replace-match safe t t (cdr e)))))
+      (while (string-match re string)
+        (setq rpl (format (concat (substring (match-string 0 string) 0 -1) "s")
+                          (cdr e)))
+        (setq string (replace-match rpl t t string))))
+    (while (setq pchg (next-property-change pchg string))
+      (let ((sref (get-text-property pchg 'sref string)))
+	(when (and sref (string-match "SREF" string pchg))
+	  (setq string (replace-match sref t t string)))))
+    string))
+
 
 ;;; Text properties
 

+ 0 - 27
lisp/org.el

@@ -19054,33 +19054,6 @@ Returns the number of empty lines passed."
     (goto-char (min (point) pos))
     (count-lines (point) pos)))
 
-(defun org-replace-escapes (string table)
-  "Replace %-escapes in STRING with values in TABLE.
-TABLE is an association list with keys like \"%a\" and string values.
-The sequences in STRING may contain normal field width and padding information,
-for example \"%-5s\".  Replacements happen in the sequence given by TABLE,
-so values can contain further %-escapes if they are define later in TABLE."
-  (let ((tbl (copy-alist table))
-	(case-fold-search nil)
-        (pchg 0)
-        re rpl)
-    (dolist (e tbl)
-      (setq re (concat "%-?[0-9.]*" (substring (car e) 1)))
-      (when (and (cdr e) (string-match re (cdr e)))
-        (let ((sref (substring (cdr e) (match-beginning 0) (match-end 0)))
-              (safe "SREF"))
-          (add-text-properties 0 3 (list 'sref sref) safe)
-          (setcdr e (replace-match safe t t (cdr e)))))
-      (while (string-match re string)
-        (setq rpl (format (concat (substring (match-string 0 string) 0 -1) "s")
-                          (cdr e)))
-        (setq string (replace-match rpl t t string))))
-    (while (setq pchg (next-property-change pchg string))
-      (let ((sref (get-text-property pchg 'sref string)))
-	(when (and sref (string-match "SREF" string pchg))
-	  (setq string (replace-match sref t t string)))))
-    string))
-
 ;;; TODO: Only called once, from ox-odt which should probably use
 ;;; org-export-inline-image-p or something.
 (defun org-file-image-p (file)