emacs-diffs
[Top][All Lists]
Advanced

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

emacs-28 5dbe4fa64a 1/2: Simplify regexp in make-news-html-file


From: Stefan Kangas
Subject: emacs-28 5dbe4fa64a 1/2: Simplify regexp in make-news-html-file
Date: Fri, 16 Sep 2022 20:18:57 -0400 (EDT)

branch: emacs-28
commit 5dbe4fa64abe9e9991e060ecd61f34e675b1bf8a
Author: Stefan Kangas <stefankangas@gmail.com>
Commit: Stefan Kangas <stefankangas@gmail.com>

    Simplify regexp in make-news-html-file
    
    * admin/admin.el (make-news-html-file): Simplify regexp.
    Suggested by Mattias EngdegÄrd <mattiase@acm.org>.
---
 admin/admin.el | 35 +++++++++++------------------------
 1 file changed, 11 insertions(+), 24 deletions(-)

diff --git a/admin/admin.el b/admin/admin.el
index 4727dd08e6..3906dd8d63 100644
--- a/admin/admin.el
+++ b/admin/admin.el
@@ -883,30 +883,17 @@ $Date: %s $
 
     ;; Use Org-mode markers for 'symbols', 'C-x k', etc.
     (replace-regexp-in-region
-     (rx-let ((key (seq
-                    ;; Modifier (optional)
-                    (? (any "ACHMSs") "-")
-                    (or
-                     ;; single key
-                     (not (any " \n"))
-                     ;; "<return>" and "<remap> <foo>"
-                     (seq "<"
-                          (+ (any "A-Za-z-"))
-                          (+ (seq " " (+ (any "A-Za-z-"))))
-                          ">")
-                     "NUL" "RET" "LFD" "TAB"
-                     "ESC" "SPC" "DEL")))
-              (email (seq (+ (not (any " @\n")))
-                          "@"
-                          (+ (not (any " @\n")))))
-              (lisp-symbol (regexp lisp-mode-symbol-regexp)))
-       (rx "'" (group
-                (or lisp-symbol
-                    email
-                    (seq "M-x " lisp-symbol)
-                    (seq key (+ " " key))))
-           "'"))
-     "~\\1~" (point-min) (point-max))
+     (rx (or (: (group (in " \t\n("))
+                "'"
+                (group (+ (or (not (in "'\n"))
+                              (: "'" (not (in " .,\t\n)"))))))
+                "'"
+                (group (in ",.;:!? \t\n)")))
+             ;; Buffer names, e.g. "*scratch*".
+             (: "\""
+                (group-n 2 "*" (+ (not (in "*\""))) "*")
+                "\"")))
+     "\\1~\\2~\\3" (point-min) (point-max))
 
     ;; Format code blocks.
     (while (re-search-forward "^    " nil t)



reply via email to

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