From: Paul Eggert Date: Fri, 8 Mar 2019 17:08:46 +0000 (-0800) Subject: More regexp corrections and tweaks X-Git-Tag: emacs-27.0.90~3458 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=db9c924d3d53f46846ad8fd74a5d08f4586a520e;p=emacs.git More regexp corrections and tweaks From suggestions by Mattias Engdegård in: https://lists.gnu.org/r/emacs-devel/2019-03/msg00131.html * lisp/arc-mode.el (archive-rar-summarize): * lisp/gnus/gnus-art.el (gnus-button-valid-localpart-regexp): * lisp/language/ethio-util.el (ethio-fidel-to-tex-buffer): * lisp/nxml/rng-uri.el (rng-file-name-uri): * lisp/org/org-mobile.el (org-mobile-apply): * lisp/progmodes/cperl-mode.el (cperl-init-faces): * lisp/progmodes/fortran.el (fortran-fill): * lisp/progmodes/mantemp.el (mantemp-remove-comments) (mantemp-remove-memfuncs, mantemp-insert-cxx-syntax): * lisp/speedbar.el (speedbar-directory-buttons-follow): * lisp/vc/add-log.el (change-log-font-lock-keywords): Fix more regular expressions that seem to be typos or infelicities. --- diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el index 2afde7ee75a..6a58d61a547 100644 --- a/lisp/arc-mode.el +++ b/lisp/arc-mode.el @@ -2016,7 +2016,7 @@ This doesn't recover lost files, it just undoes changes in the buffer itself." (call-process "lsar" nil t nil "-l" (or file copy)) (if copy (delete-file copy)) (goto-char (point-min)) - (re-search-forward "^\\(\s+=+\s+\\)+\n") + (re-search-forward "^\\(\s+=+\s*\\)+\n") (while (looking-at (concat "^\s+[0-9.]+\s+D?-+\s+" ; Flags "\\([0-9-]+\\)\s+" ; Size "\\([-0-9.%]+\\|-+\\)\s+" ; Ratio diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index fa3abfac585..baf44cb4830 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el @@ -7376,9 +7376,8 @@ groups." :group 'gnus-article-buttons :type 'regexp) -;; Regexp suggested by Felix Wiemann in <87oeuomcz9.fsf@news2.ososo.de> (defcustom gnus-button-valid-localpart-regexp - "[a-z$%(*-=?[_][^<>\")!;:,{}\n\t @]*" + "[-a-z0-9$%(*+./=?[_][^<>\")!;:,{}\n\t @]*" "Regular expression that matches a localpart of mail addresses or MIDs." :version "22.1" :group 'gnus-article-buttons diff --git a/lisp/language/ethio-util.el b/lisp/language/ethio-util.el index 512d49b9c5d..04b15ddd9a8 100644 --- a/lisp/language/ethio-util.el +++ b/lisp/language/ethio-util.el @@ -804,7 +804,7 @@ The 2nd and 3rd arguments BEGIN and END specify the region." ;; Special Ethiopic punctuation. (goto-char (point-min)) - (while (re-search-forward "\\ce[»\\.?]\\|«\\ce" nil t) + (while (re-search-forward "\\ce[».?]\\|«\\ce" nil t) (cond ((= (setq ch (preceding-char)) ?\») (delete-char -1) diff --git a/lisp/nxml/rng-uri.el b/lisp/nxml/rng-uri.el index d8f2884f5e6..798475bbc3d 100644 --- a/lisp/nxml/rng-uri.el +++ b/lisp/nxml/rng-uri.el @@ -30,9 +30,10 @@ Multibyte characters are left as is. Use `rng-uri-escape-multibyte' to escape them using %HH." (setq f (expand-file-name f)) (let ((url - (replace-regexp-in-string "[\000-\032\177<>#%\"{}|\\^[]`%?;]" - 'rng-percent-encode - f))) + ;; FIXME. Explain why the pattern doesn't also have "!$&'()*+,/:@=". + ;; See Internet RFC 3986 section 2.2. + (replace-regexp-in-string "[]\0-\s\"#%;<>?[\\^`{|}\177]" + 'rng-percent-encode f))) (concat "file:" (if (and (> (length url) 0) (= (aref url 0) ?/)) diff --git a/lisp/org/org-mobile.el b/lisp/org/org-mobile.el index 83dcc7b0d13..8b4e8953889 100644 --- a/lisp/org/org-mobile.el +++ b/lisp/org/org-mobile.el @@ -845,11 +845,11 @@ If BEG and END are given, only do this in that region." (cl-incf cnt-error) (throw 'next t)) (move-marker bos-marker (point)) - (if (re-search-forward "^\\*\\* Old value[ \t]*$" eos t) + (if (re-search-forward "^\\** Old value[ \t]*$" eos t) (setq old (buffer-substring (1+ (match-end 0)) (progn (outline-next-heading) (point))))) - (if (re-search-forward "^\\*\\* New value[ \t]*$" eos t) + (if (re-search-forward "^\\** New value[ \t]*$" eos t) (setq new (buffer-substring (1+ (match-end 0)) (progn (outline-next-heading) diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el index 0fe4b106c53..a9402e17a92 100644 --- a/lisp/progmodes/cperl-mode.el +++ b/lisp/progmodes/cperl-mode.el @@ -5736,9 +5736,9 @@ indentation and initial hashes. Behaves usually outside of comment." (if (eq (char-after (cperl-1- (match-end 0))) ?\{ ) 'font-lock-function-name-face 'font-lock-variable-name-face)))) - '("\\<\\(package\\|require\\|use\\|import\\|no\\|bootstrap\\)[ \t]+\\([a-zA-z_][a-zA-z_0-9:]*\\)[ \t;]" ; require A if B; + '("\\<\\(package\\|require\\|use\\|import\\|no\\|bootstrap\\)[ \t]+\\([a-zA-Z_][a-zA-Z_0-9:]*\\)[ \t;]" ; require A if B; 2 font-lock-function-name-face) - '("^[ \t]*format[ \t]+\\([a-zA-z_][a-zA-z_0-9:]*\\)[ \t]*=[ \t]*$" + '("^[ \t]*format[ \t]+\\([a-zA-Z_][a-zA-Z_0-9:]*\\)[ \t]*=[ \t]*$" 1 font-lock-function-name-face) (cond ((featurep 'font-lock-extra) '("\\([]}\\\\%@>*&]\\|\\$[a-zA-Z0-9_:]*\\)[ \t]*{[ \t]*\\(-?[a-zA-Z0-9_:]+\\)[ \t]*}" diff --git a/lisp/progmodes/fortran.el b/lisp/progmodes/fortran.el index c1a267f4c5e..b8aa521cf66 100644 --- a/lisp/progmodes/fortran.el +++ b/lisp/progmodes/fortran.el @@ -2052,7 +2052,7 @@ If ALL is nil, only match comments that start in column > 0." (when (<= (point) bos) (move-to-column (1+ fill-column)) ;; What is this doing??? - (or (re-search-forward "[-\t\n,'+./*)=]" eol t) + (or (re-search-forward "[-\t\n,'+/*)=]" eol t) (goto-char bol))) (if (bolp) (re-search-forward "[ \t]" opoint t)) diff --git a/lisp/progmodes/mantemp.el b/lisp/progmodes/mantemp.el index 9beeb4aae62..4190a847274 100644 --- a/lisp/progmodes/mantemp.el +++ b/lisp/progmodes/mantemp.el @@ -89,7 +89,7 @@ (save-excursion (goto-char (point-min)) (message "Removing comments") - (while (re-search-forward "^[A-z.()+0-9: ]*`\\|'.*$" nil t) + (while (re-search-forward "^[a-zA-Z.()+0-9: ]*`\\|'.*$" nil t) (replace-match "")))) (defun mantemp-remove-memfuncs () @@ -99,14 +99,14 @@ (goto-char (point-min)) (message "Removing member function extensions") (while (re-search-forward - "^[A-z :&*<>~=,0-9+]*>::operator " nil t nil) + "^[a-zA-Z :&*<>~=,0-9+]*>::operator " nil t nil) (progn (backward-char 11) (delete-region (point) (line-end-position)))) ;; Remove other member function extensions. (goto-char (point-min)) (message "Removing member function extensions") - (while (re-search-forward "^[A-z :&*<>~=,0-9+]*>::" nil t nil) + (while (re-search-forward "^[a-zA-Z :&*<>~=,0-9+]*>::" nil t nil) (progn (backward-char 2) (delete-region (point) (line-end-position)))))) @@ -154,7 +154,7 @@ the lines." (goto-char (point-min)) (message "Inserting 'template' for functions") (while (re-search-forward - "^template class [A-z :&*<>~=,0-9+!]*(" nil t nil) + "^template class [a-zA-Z :&*<>~=,0-9+!]*(" nil t nil) (progn (beginning-of-line) (forward-word-strictly 1) diff --git a/lisp/speedbar.el b/lisp/speedbar.el index 46b3f2ea90b..a7fd564e948 100644 --- a/lisp/speedbar.el +++ b/lisp/speedbar.el @@ -3388,7 +3388,7 @@ expanded. INDENT is the current indentation level." "Speedbar click handler for default directory buttons. TEXT is the button clicked on. TOKEN is the directory to follow. INDENT is the current indentation level and is unused." - (if (string-match "^[A-z]:$" token) + (if (string-match "^[A-Za-z]:$" token) (setq default-directory (concat token "/")) (setq default-directory token)) ;; Because we leave speedbar as the current buffer, diff --git a/lisp/vc/add-log.el b/lisp/vc/add-log.el index 9fe06bbf528..f9efd44c5c7 100644 --- a/lisp/vc/add-log.el +++ b/lisp/vc/add-log.el @@ -239,7 +239,7 @@ a case simply use the directory containing the changed file." ;; wrongly with a non-date line existing as a random note. In ;; addition, using any kind of fixed setting like this doesn't ;; work if a user customizes add-log-time-format. - ("^[0-9-]+ +\\|^ \\{11,\\}\\|^\t \\{3,\\}\\|^\\(Sun\\|Mon\\|Tue\\|Wed\\|Thu\\|Fri\\|Sat\\) [A-z][a-z][a-z] [0-9:+ ]+" + ("^[0-9-]+ +\\|^ \\{11,\\}\\|^\t \\{3,\\}\\|^\\(Sun\\|Mon\\|Tue\\|Wed\\|Thu\\|Fri\\|Sat\\) [A-Z][a-z][a-z] [0-9:+ ]+" (0 'change-log-date) ;; Name and e-mail; some people put e-mail in parens, not angles. ("\\([^<(]+?\\)[ \t]*[(<]\\([A-Za-z0-9_.+-]+@[A-Za-z0-9_.-]+\\)[>)]" nil nil