emacs-orgmode
[Top][All Lists]
Advanced

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

[O] [PATCH 4/7] New function: Substitute posix classes in regular expres


From: David Maus
Subject: [O] [PATCH 4/7] New function: Substitute posix classes in regular expression
Date: Tue, 2 Aug 2011 11:23:37 +0200

* org-macs.el (org-substitute-posix-classes): New function. Substitute
posix classes in regular expression.
(org-re): Rewritten to use new function.
---
 lisp/org-macs.el |   28 +++++++++++++++-------------
 1 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/lisp/org-macs.el b/lisp/org-macs.el
index ab21ef7..198d210 100644
--- a/lisp/org-macs.el
+++ b/lisp/org-macs.el
@@ -93,21 +93,23 @@ Also, do not record undo information."
            before-change-functions after-change-functions)
        ,@body))))
 
+(defun org-substitute-posix-classes (re)
+  "Substitute posix classes in regular expression RE."
+  (let ((ss re))
+    (save-match-data
+      (while (string-match "\\[:alnum:\\]" ss)
+       (setq ss (replace-match "a-zA-Z0-9" t t ss)))
+      (while (string-match "\\[:word:\\]" ss)
+       (setq ss (replace-match "a-zA-Z0-9" t t ss)))
+      (while (string-match "\\[:alpha:\\]" ss)
+       (setq ss (replace-match "a-zA-Z" t t ss)))
+      (while (string-match "\\[:punct:\\]" ss)
+       (setq ss (replace-match "address@hidden" t t ss)))
+      ss)))
+
 (defmacro org-re (s)
   "Replace posix classes in regular expression."
-  (if (featurep 'xemacs)
-      (let ((ss s))
-       (save-match-data
-         (while (string-match "\\[:alnum:\\]" ss)
-           (setq ss (replace-match "a-zA-Z0-9" t t ss)))
-         (while (string-match "\\[:word:\\]" ss)
-           (setq ss (replace-match "a-zA-Z0-9" t t ss)))
-         (while (string-match "\\[:alpha:\\]" ss)
-           (setq ss (replace-match "a-zA-Z" t t ss)))
-         (while (string-match "\\[:punct:\\]" ss)
-           (setq ss (replace-match "address@hidden" t t ss)))
-         ss))
-    s))
+  (if (featurep 'xemacs) `(org-substitute-posix-classes ,s) s))
 
 (defmacro org-preserve-lc (&rest body)
   (org-with-uninterned (line col)
-- 
1.7.2.5




reply via email to

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