From: Paul Eggert Date: Thu, 5 Dec 2019 00:53:39 +0000 (-0800) Subject: Fix regex repetition of repetitions X-Git-Tag: emacs-27.0.90~434 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ab612302b4917fec5846922f3d8ffafa673c0d36;p=emacs.git Fix regex repetition of repetitions 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. --- diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el index 8e390473aa8..42021d30730 100644 --- a/lisp/gnus/gnus-util.el +++ b/lisp/gnus/gnus-util.el @@ -1574,7 +1574,7 @@ sequence, this is like `mapcar'. With several, it is like the Common Lisp (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 05f27e4d998..b658ffab587 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 59a93a839e0..2aef6ea10fb 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -3799,7 +3799,7 @@ Fall back to normal file name handler if no Tramp handler exists." (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 ce6f2309fd3..c12d225beff 100644 --- a/lisp/obsolete/terminal.el +++ b/lisp/obsolete/terminal.el @@ -1166,7 +1166,7 @@ subprocess started." (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 a21587acbe0..5f42db50688 100644 --- a/lisp/org/org-table.el +++ b/lisp/org/org-table.el @@ -4642,7 +4642,7 @@ blank, and the content is appended to the field above." (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 0afbdc3dd18..6ec8d995c15 100644 --- a/lisp/progmodes/verilog-mode.el +++ b/lisp/progmodes/verilog-mode.el @@ -10973,7 +10973,7 @@ shown) will make this into: (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,]+")