>From ab612302b4917fec5846922f3d8ffafa673c0d36 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 4 Dec 2019 16:53:39 -0800 Subject: [PATCH] Fix regex repetition of repetitions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Problems reported by Mattias EngdegÄrd in: https://lists.gnu.org/r/emacs-devel/2019-12/msg00066.html * lisp/gnus/gnus-util.el (gnus-emacs-version): * lisp/mail/rfc2368.el (rfc2368-mailto-regexp): * lisp/net/tramp-sh.el (tramp-sh-inotifywait-process-filter): * lisp/obsolete/terminal.el (te-parse-program-and-args): * lisp/org/org-table.el (org-table-wrap-region): * lisp/progmodes/verilog-mode.el (verilog-inject-inst): Avoid repetition-of-repetition in regexp. --- lisp/gnus/gnus-util.el | 2 +- lisp/mail/rfc2368.el | 2 +- lisp/net/tramp-sh.el | 2 +- lisp/obsolete/terminal.el | 2 +- lisp/org/org-table.el | 2 +- lisp/progmodes/verilog-mode.el | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el index 8e390473aa..42021d3073 100644 --- a/lisp/gnus/gnus-util.el +++ b/lisp/gnus/gnus-util.el @@ -1574,7 +1574,7 @@ gnus-emacs-version (cond ((not (memq 'emacs lst)) nil) - ((string-match "^\\(\\([.0-9]+\\)*\\)\\.[0-9]+$" emacs-version) + ((string-match "^[.0-9]*\\.[0-9]+$" emacs-version) (concat "Emacs/" emacs-version (if system-v (concat " (" system-v ")") diff --git a/lisp/mail/rfc2368.el b/lisp/mail/rfc2368.el index 05f27e4d99..b658ffab58 100644 --- a/lisp/mail/rfc2368.el +++ b/lisp/mail/rfc2368.el @@ -61,7 +61,7 @@ ;; only an approximation? ;; see rfc 1738 (defconst rfc2368-mailto-regexp - "^\\(mailto:\\)\\([^?]+\\)*\\(\\?\\(.*\\)\\)*" + "^\\(mailto:\\)\\([^?]+\\)?\\(\\?\\(.*\\)\\)*" "Regular expression to match and aid in parsing a mailto url.") ;; describes 'mailto:' diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index 59a93a839e..2aef6ea10f 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -3799,7 +3799,7 @@ tramp-sh-inotifywait-process-filter (unless (string-match (eval-when-compile (concat "^[^[:blank:]]+" - "[[:blank:]]+\\([^[:blank:]]+\\)+" + "[[:blank:]]+\\([^[:blank:]]+\\)" "\\([[:blank:]]+\\([^\n\r]+\\)\\)?")) line) (tramp-error proc 'file-notify-error "%s" line)) diff --git a/lisp/obsolete/terminal.el b/lisp/obsolete/terminal.el index ce6f2309fd..c12d225bef 100644 --- a/lisp/obsolete/terminal.el +++ b/lisp/obsolete/terminal.el @@ -1166,7 +1166,7 @@ te-parse-program-and-args (let ((l ()) (p 0)) (while p (setq l (cons (if (string-match - "\\([-a-zA-Z0-9+=_.@/:]+\\)\\([ \t]+\\)*" + "\\([-a-zA-Z0-9+=_.@/:]+\\)[ \t]*" s p) (prog1 (substring s p (match-end 1)) (setq p (match-end 0)) diff --git a/lisp/org/org-table.el b/lisp/org/org-table.el index a21587acbe..5f42db5068 100644 --- a/lisp/org/org-table.el +++ b/lisp/org/org-table.el @@ -4642,7 +4642,7 @@ org-table-wrap-region (skip-chars-backward " ") (insert " " (org-trim s)) (org-table-align))) - ((looking-at "\\([^|]+\\)+|") ; Split field. + ((looking-at "\\([^|]+\\)|") ; Split field. (let ((s (match-string 1))) (replace-match " |") (goto-char (match-beginning 0)) diff --git a/lisp/progmodes/verilog-mode.el b/lisp/progmodes/verilog-mode.el index 0afbdc3dd1..6ec8d995c1 100644 --- a/lisp/progmodes/verilog-mode.el +++ b/lisp/progmodes/verilog-mode.el @@ -10973,7 +10973,7 @@ verilog-inject-inst (t ;; Delete identical interconnect (let ((case-fold-search nil)) ; So we don't convert upper-to-lower, etc - (while (verilog-re-search-forward-quick "\\.\\s *\\([a-zA-Z0-9`_$]+\\)*\\s *(\\s *\\1\\s *)\\s *" end-pt t) + (while (verilog-re-search-forward-quick "\\.\\s *\\([a-zA-Z0-9`_$]+\\)?\\s *(\\s *\\1\\s *)\\s *" end-pt t) (delete-region (match-beginning 0) (match-end 0)) (setq end-pt (- end-pt (- (match-end 0) (match-beginning 0)))) ; Keep it correct (while (or (looking-at "[ \t\n\f,]+") -- 2.23.0