Commit ab612302 authored by Paul Eggert's avatar Paul Eggert

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.
parent 4472b053
......@@ -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 ")")
......
......@@ -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:'
......
......@@ -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))
......
......@@ -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))
......
......@@ -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))
......
......@@ -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,]+")
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment