aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2019-03-04 18:00:00 -0800
committerPaul Eggert2019-03-04 18:00:58 -0800
commit3c94c7bc02fcacb4a101188dddb0c44d53444178 (patch)
tree18df76e7b36b87e51209a630f97906d889fe1ad9
parentda16ab030159e31056bfdd80e8f2b726e10c854c (diff)
downloademacs-3c94c7bc02fcacb4a101188dddb0c44d53444178.tar.gz
emacs-3c94c7bc02fcacb4a101188dddb0c44d53444178.zip
Fix regular-expression glitches and typos
Problems reported by Mattias EngdegÄrd in: https://lists.gnu.org/r/emacs-devel/2019-03/msg00085.html * admin/admin.el (set-version): * lisp/allout.el (allout-latexify-one-item): * lisp/arc-mode.el (archive-arc-rename-entry) (archive-rar-summarize): * lisp/calc/calc-graph.el (calc-graph-set-styles) (calc-graph-hide): * lisp/calc/calc-help.el (calc-describe-key): * lisp/calc/calc-lang.el (math-compose-tex-func, eqn): * lisp/calc/calc.el (calcDigit-key): * lisp/cedet/ede/makefile-edit.el (makefile-macro-file-list): * lisp/cedet/ede/speedbar.el (ede-tag-expand): * lisp/cedet/semantic/sb.el (semantic-sb-show-extra) (semantic-sb-expand-group): * lisp/comint.el (comint-substitute-in-file-name): * lisp/dired.el (dired-actual-switches): * lisp/emacs-lisp/chart.el (chart-rmail-from): * lisp/emacs-lisp/eieio-opt.el (eieio-sb-expand): * lisp/emacs-lisp/eieio-speedbar.el (eieio-speedbar-object-expand): * lisp/emacs-lisp/rx.el (rx-not, rx-atomic-p): * lisp/emulation/viper-ex.el (viper-get-ex-token) (viper-get-ex-pat, ex-set-read-variable): * lisp/epg.el (epg--status-SIG_CREATED): * lisp/erc/erc-speedbar.el (erc-speedbar-expand-user): (erc-speedbar-expand-channel, erc-speedbar-expand-server) * lisp/erc/erc.el (erc-is-message-ctcp-and-not-action-p) (erc-banlist-update): * lisp/eshell/em-dirs.el (eshell-parse-drive-letter, eshell/pwd): * lisp/find-dired.el (find-dired): * lisp/frame.el (frame-set-background-mode): * lisp/generic-x.el (apache-log-generic-mode): * lisp/gnus/gnus-art.el (gnus-button-valid-localpart-regexp): * lisp/gnus/gnus.el (gnus-short-group-name): * lisp/gnus/message.el (message-mailer-swallows-blank-line): * lisp/ibuffer.el (ibuffer-fontification-alist): * lisp/ido.el (ido-set-matches-1): * lisp/info-xref.el (info-xref-lock-file-p): * lisp/info.el (Info-dir-remove-duplicates) (Info-unescape-quotes, Info-split-parameter-string) (Info-speedbar-expand-node): * lisp/international/mule.el (sgml-html-meta-auto-coding-function): * lisp/isearch.el (isearch-pre-command-hook): * lisp/language/ethio-util.el (ethio-fidel-to-tex-buffer): * lisp/mail/rmail.el (rmail-collect-deleted): * lisp/mh-e/mh-alias.el (mh-alias-suggest-alias): * lisp/mh-e/mh-comp.el (mh-forward): * lisp/mh-e/mh-search.el (mh-index-next-folder) (mh-index-create-imenu-index): * lisp/mh-e/mh-xface.el (mh-picon-get-image): * lisp/minibuffer.el (completion--embedded-envvar-re): * lisp/net/ange-ftp.el (ange-ftp-ls-parser): * lisp/net/goto-addr.el (goto-address-mail-regexp) (goto-address-find-address-at-point): * lisp/net/pop3.el (pop3-read-response, pop3-user) (pop3-pass, pop3-apop): * lisp/net/tramp.el (tramp-ipv6-regexp) (tramp-replace-environment-variables): * lisp/nxml/nxml-maint.el (nxml-insert-target-repertoire-glyph-set): * lisp/nxml/rng-uri.el (rng-uri-escape-multibyte): * lisp/nxml/rng-xsd.el (rng-xsd-convert-any-uri): * lisp/obsolete/pgg.el (pgg-fetch-key): * lisp/obsolete/vip.el (vip-get-ex-token): * lisp/org/ob-core.el (org-babel-string-read): * lisp/org/org-agenda.el: (org-agenda-add-entry-to-org-agenda-diary-file): * lisp/org/org-element.el (org-element-keyword-parser): * lisp/org/org-list.el (org-list-indent-item-generic): * lisp/org/org-mhe.el (org-mhe-get-message-folder-from-index): * lisp/org/org-mobile.el (org-mobile-apply): * lisp/org/org-mouse.el (org-mouse-context-menu): * lisp/org/org-plot.el (org-plot/gnuplot): * lisp/org/org-protocol.el (org-protocol-flatten-greedy): * lisp/org/org-table.el (org-table-copy-down) (org-table-formula-make-cmp-string) (org-table-get-stored-formulas, org-table-recalculate) (org-table-edit-formulas): * lisp/org/org.el (org-translate-link-from-planner) (org-fill-line-break-nobreak-p): * lisp/org/ox-ascii.el (org-ascii-item): * lisp/org/ox-latex.el (org-latex-clean-invalid-line-breaks): * lisp/org/ox.el (org-export-expand-include-keyword): * lisp/progmodes/ada-xref.el (ada-treat-cmd-string): * lisp/progmodes/cfengine.el (cfengine2-font-lock-keywords): * lisp/progmodes/cperl-mode.el (cperl-to-comment-or-eol) (cperl-find-pods-heres, cperl-fix-line-spacing) (cperl-have-help-regexp, cperl-word-at-point-hard) (cperl-make-regexp-x): * lisp/progmodes/dcl-mode.el (dcl-option-value-offset): * lisp/progmodes/etags.el (tag-implicit-name-match-p): * lisp/progmodes/fortran.el (fortran-fill): * lisp/progmodes/gdb-mi.el (gdb-speedbar-expand-node) (gdb-locals-handler-custom): * lisp/progmodes/grep.el (grep-mode-font-lock-keywords): * lisp/progmodes/gud.el (gud-jdb-find-source-using-classpath): * lisp/progmodes/js.el (js--continued-expression-p): * lisp/progmodes/m4-mode.el (m4-font-lock-keywords): * lisp/progmodes/meta-mode.el (meta-indent-level-count): * lisp/progmodes/mixal-mode.el (mixal-font-lock-keywords): * lisp/progmodes/opascal.el (opascal-find-unit-in-directory): * lisp/progmodes/pascal.el (pascal-progbeg-re): * lisp/progmodes/ruby-mode.el (ruby-expression-expansion-re) (ruby-expr-beg, ruby-parse-partial) (ruby-toggle-string-quotes, ruby-font-lock-keywords): * lisp/progmodes/sql.el (sql--make-help-docstring): * lisp/progmodes/verilog-mode.el (verilog-coverpoint-re) (verilog-skip-forward-comment-p) (verilog-read-sub-decls-gate) (verilog-read-auto-template-middle): * lisp/progmodes/vhdl-mode.el (vhdl-resolve-env-variable) (vhdl-speedbar-expand-project, vhdl-speedbar-expand-entity) (vhdl-speedbar-expand-architecture) (vhdl-speedbar-expand-config, vhdl-speedbar-expand-package) (vhdl-speedbar-dired): * lisp/speedbar.el (speedbar-dired, speedbar-tag-file) (speedbar-tag-expand): * lisp/textmodes/dns-mode.el (dns-mode-font-lock-keywords): * lisp/textmodes/flyspell.el (flyspell-debug-signal-word-checked): * lisp/textmodes/ispell.el (ispell-process-line): * lisp/textmodes/reftex-cite.el (reftex-end-of-bib-entry): * lisp/textmodes/reftex-ref.el (reftex-replace-prefix-escapes): * lisp/url/url-parse.el (url-generic-parse-url): * lisp/url/url-util.el (url-truncate-url-for-viewing): * lisp/vc/diff-mode.el (diff-unified->context): * lisp/vc/vc-bzr.el (vc-bzr-error-regexp-alist): * lisp/vc/vc-cvs.el (vc-cvs-parse-status): * lisp/woman.el (woman0-el, woman-if-ignore) (woman-change-fonts): * lisp/xdg.el (xdg--substitute-home-env): Fix regular-expression infelicities and typos. Fix regular expression typos Fix typos reported by Mattias EngdegÄrd in: that occurred in preloaded modules. * lisp/frame.el (frame-set-background-mode): * lisp/international/mule.el (sgml-html-meta-auto-coding-function): * lisp/isearch.el (isearch-pre-command-hook): * lisp/minibuffer.el (completion--embedded-envvar-re):
-rw-r--r--admin/admin.el2
-rw-r--r--lisp/allout.el2
-rw-r--r--lisp/arc-mode.el4
-rw-r--r--lisp/calc/calc-graph.el4
-rw-r--r--lisp/calc/calc-help.el2
-rw-r--r--lisp/calc/calc-lang.el6
-rw-r--r--lisp/calc/calc.el2
-rw-r--r--lisp/cedet/ede/makefile-edit.el2
-rw-r--r--lisp/cedet/ede/speedbar.el2
-rw-r--r--lisp/cedet/semantic/sb.el4
-rw-r--r--lisp/comint.el2
-rw-r--r--lisp/dired.el2
-rw-r--r--lisp/emacs-lisp/chart.el2
-rw-r--r--lisp/emacs-lisp/eieio-opt.el2
-rw-r--r--lisp/emacs-lisp/eieio-speedbar.el2
-rw-r--r--lisp/emacs-lisp/rx.el4
-rw-r--r--lisp/emulation/viper-ex.el16
-rw-r--r--lisp/epg.el2
-rw-r--r--lisp/erc/erc-speedbar.el6
-rw-r--r--lisp/erc/erc.el4
-rw-r--r--lisp/eshell/em-dirs.el4
-rw-r--r--lisp/find-dired.el2
-rw-r--r--lisp/frame.el2
-rw-r--r--lisp/generic-x.el2
-rw-r--r--lisp/gnus/gnus-art.el2
-rw-r--r--lisp/gnus/gnus.el2
-rw-r--r--lisp/gnus/message.el2
-rw-r--r--lisp/ibuffer.el2
-rw-r--r--lisp/ido.el4
-rw-r--r--lisp/info-xref.el2
-rw-r--r--lisp/info.el8
-rw-r--r--lisp/international/mule.el2
-rw-r--r--lisp/isearch.el3
-rw-r--r--lisp/language/ethio-util.el2
-rw-r--r--lisp/mail/rmail.el2
-rw-r--r--lisp/mh-e/mh-alias.el2
-rw-r--r--lisp/mh-e/mh-comp.el2
-rw-r--r--lisp/mh-e/mh-search.el10
-rw-r--r--lisp/mh-e/mh-xface.el2
-rw-r--r--lisp/minibuffer.el2
-rw-r--r--lisp/net/ange-ftp.el2
-rw-r--r--lisp/net/goto-addr.el4
-rw-r--r--lisp/net/pop3.el8
-rw-r--r--lisp/net/tramp.el4
-rw-r--r--lisp/nxml/nxml-maint.el4
-rw-r--r--lisp/nxml/rng-uri.el2
-rw-r--r--lisp/nxml/rng-xsd.el2
-rw-r--r--lisp/obsolete/pgg.el2
-rw-r--r--lisp/obsolete/vip.el10
-rw-r--r--lisp/org/ob-core.el2
-rw-r--r--lisp/org/org-agenda.el2
-rw-r--r--lisp/org/org-element.el2
-rw-r--r--lisp/org/org-list.el2
-rw-r--r--lisp/org/org-mhe.el2
-rw-r--r--lisp/org/org-mobile.el4
-rw-r--r--lisp/org/org-mouse.el2
-rw-r--r--lisp/org/org-plot.el2
-rw-r--r--lisp/org/org-protocol.el2
-rw-r--r--lisp/org/org-table.el11
-rw-r--r--lisp/org/org.el4
-rw-r--r--lisp/org/ox-ascii.el4
-rw-r--r--lisp/org/ox-latex.el2
-rw-r--r--lisp/org/ox.el2
-rw-r--r--lisp/progmodes/ada-xref.el2
-rw-r--r--lisp/progmodes/cfengine.el4
-rw-r--r--lisp/progmodes/cperl-mode.el24
-rw-r--r--lisp/progmodes/dcl-mode.el2
-rw-r--r--lisp/progmodes/etags.el2
-rw-r--r--lisp/progmodes/fortran.el2
-rw-r--r--lisp/progmodes/gdb-mi.el4
-rw-r--r--lisp/progmodes/grep.el6
-rw-r--r--lisp/progmodes/gud.el2
-rw-r--r--lisp/progmodes/js.el2
-rw-r--r--lisp/progmodes/m4-mode.el2
-rw-r--r--lisp/progmodes/meta-mode.el2
-rw-r--r--lisp/progmodes/mixal-mode.el2
-rw-r--r--lisp/progmodes/opascal.el2
-rw-r--r--lisp/progmodes/pascal.el2
-rw-r--r--lisp/progmodes/ruby-mode.el14
-rw-r--r--lisp/progmodes/sql.el4
-rw-r--r--lisp/progmodes/verilog-mode.el8
-rw-r--r--lisp/progmodes/vhdl-mode.el14
-rw-r--r--lisp/speedbar.el6
-rw-r--r--lisp/textmodes/dns-mode.el4
-rw-r--r--lisp/textmodes/flyspell.el4
-rw-r--r--lisp/textmodes/ispell.el2
-rw-r--r--lisp/textmodes/reftex-cite.el4
-rw-r--r--lisp/textmodes/reftex-ref.el2
-rw-r--r--lisp/url/url-parse.el2
-rw-r--r--lisp/url/url-util.el2
-rw-r--r--lisp/vc/diff-mode.el2
-rw-r--r--lisp/vc/vc-bzr.el2
-rw-r--r--lisp/vc/vc-cvs.el2
-rw-r--r--lisp/woman.el6
-rw-r--r--lisp/xdg.el2
95 files changed, 177 insertions, 175 deletions
diff --git a/admin/admin.el b/admin/admin.el
index 90aac3d43de..650cf47b807 100644
--- a/admin/admin.el
+++ b/admin/admin.el
@@ -144,7 +144,7 @@ Root must be the root of an Emacs source tree."
144 (unless (> (length newversion) 2) ; pretest or release candidate? 144 (unless (> (length newversion) 2) ; pretest or release candidate?
145 (with-temp-buffer 145 (with-temp-buffer
146 (insert-file-contents newsfile) 146 (insert-file-contents newsfile)
147 (if (re-search-forward "^\\(+++ *\\|--- *\\)$" nil t) 147 (if (re-search-forward "^\\(\\+\\+\\+ *\\|--- *\\)$" nil t)
148 (display-warning 'admin 148 (display-warning 'admin
149 "NEWS file still contains temporary markup. 149 "NEWS file still contains temporary markup.
150Documentation changes might not have been completed!")))) 150Documentation changes might not have been completed!"))))
diff --git a/lisp/allout.el b/lisp/allout.el
index c2b3187e8ae..b3b87e533b9 100644
--- a/lisp/allout.el
+++ b/lisp/allout.el
@@ -5788,7 +5788,7 @@ BULLET string, and a list of TEXT strings for the body."
5788 ; "\end{verbatim}" in text, 5788 ; "\end{verbatim}" in text,
5789 ; it's special: 5789 ; it's special:
5790 (if (and body-content 5790 (if (and body-content
5791 (setq bop (string-match "\\end{verbatim}" curr-line))) 5791 (setq bop (string-match "\\\\end{verbatim}" curr-line)))
5792 (setq curr-line (concat (substring curr-line 0 bop) 5792 (setq curr-line (concat (substring curr-line 0 bop)
5793 ">" 5793 ">"
5794 (substring curr-line bop)))) 5794 (substring curr-line bop))))
diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el
index 8de01030195..2afde7ee75a 100644
--- a/lisp/arc-mode.el
+++ b/lisp/arc-mode.el
@@ -1534,7 +1534,7 @@ This doesn't recover lost files, it just undoes changes in the buffer itself."
1534 (apply #'vector (nreverse files)))) 1534 (apply #'vector (nreverse files))))
1535 1535
1536(defun archive-arc-rename-entry (newname descr) 1536(defun archive-arc-rename-entry (newname descr)
1537 (if (string-match "[:\\\\/]" newname) 1537 (if (string-match "[:\\/]" newname)
1538 (error "File names in arc files must not contain a directory component")) 1538 (error "File names in arc files must not contain a directory component"))
1539 (if (> (length newname) 12) 1539 (if (> (length newname) 12)
1540 (error "File names in arc files are limited to 12 characters")) 1540 (error "File names in arc files are limited to 12 characters"))
@@ -2016,7 +2016,7 @@ This doesn't recover lost files, it just undoes changes in the buffer itself."
2016 (call-process "lsar" nil t nil "-l" (or file copy)) 2016 (call-process "lsar" nil t nil "-l" (or file copy))
2017 (if copy (delete-file copy)) 2017 (if copy (delete-file copy))
2018 (goto-char (point-min)) 2018 (goto-char (point-min))
2019 (re-search-forward "^\\(\s+=+\s?+\\)+\n") 2019 (re-search-forward "^\\(\s+=+\s+\\)+\n")
2020 (while (looking-at (concat "^\s+[0-9.]+\s+D?-+\s+" ; Flags 2020 (while (looking-at (concat "^\s+[0-9.]+\s+D?-+\s+" ; Flags
2021 "\\([0-9-]+\\)\s+" ; Size 2021 "\\([0-9-]+\\)\s+" ; Size
2022 "\\([-0-9.%]+\\|-+\\)\s+" ; Ratio 2022 "\\([-0-9.%]+\\|-+\\)\s+" ; Ratio
diff --git a/lisp/calc/calc-graph.el b/lisp/calc/calc-graph.el
index 317f403ead6..56f11c67119 100644
--- a/lisp/calc/calc-graph.el
+++ b/lisp/calc/calc-graph.el
@@ -1121,7 +1121,7 @@ This \"dumb\" driver will be present in Gnuplot 3.0."
1121 (eval (intern 1121 (eval (intern
1122 (concat "var-" 1122 (concat "var-"
1123 (save-excursion 1123 (save-excursion
1124 (re-search-backward ":\\(.*\\)\\}") 1124 (re-search-backward ":\\(.*\\)}")
1125 (match-string 1)))))) 1125 (match-string 1))))))
1126 (error nil))) 1126 (error nil)))
1127 (if yerr 1127 (if yerr
@@ -1186,7 +1186,7 @@ This \"dumb\" driver will be present in Gnuplot 3.0."
1186 (or (looking-at "{") 1186 (or (looking-at "{")
1187 (error "Can't hide this curve (wrong format)")) 1187 (error "Can't hide this curve (wrong format)"))
1188 (forward-char 1) 1188 (forward-char 1)
1189 (if (looking-at "*") 1189 (if (looking-at "\\*")
1190 (if (or (null flag) (<= (prefix-numeric-value flag) 0)) 1190 (if (or (null flag) (<= (prefix-numeric-value flag) 0))
1191 (delete-char 1)) 1191 (delete-char 1))
1192 (if (or (null flag) (> (prefix-numeric-value flag) 0)) 1192 (if (or (null flag) (> (prefix-numeric-value flag) 0))
diff --git a/lisp/calc/calc-help.el b/lisp/calc/calc-help.el
index cf7574e7385..d9e8fe779bf 100644
--- a/lisp/calc/calc-help.el
+++ b/lisp/calc/calc-help.el
@@ -172,7 +172,7 @@ C-w Describe how there is no warranty for Calc."
172 (setq desc (concat "M-" (substring desc 4)))) 172 (setq desc (concat "M-" (substring desc 4))))
173 (while (string-match "^M-# \\(ESC \\|C-\\)" desc) 173 (while (string-match "^M-# \\(ESC \\|C-\\)" desc)
174 (setq desc (concat "M-# " (substring desc (match-end 0))))) 174 (setq desc (concat "M-# " (substring desc (match-end 0)))))
175 (if (string-match "\\(DEL\\|\\LFD\\|RET\\|SPC\\|TAB\\)" desc) 175 (if (string-match "\\(DEL\\|LFD\\|RET\\|SPC\\|TAB\\)" desc)
176 (setq desc (replace-match "<\\&>" nil nil desc))) 176 (setq desc (replace-match "<\\&>" nil nil desc)))
177 (if briefly 177 (if briefly
178 (let ((msg (with-current-buffer (get-buffer-create "*Calc Summary*") 178 (let ((msg (with-current-buffer (get-buffer-create "*Calc Summary*")
diff --git a/lisp/calc/calc-lang.el b/lisp/calc/calc-lang.el
index 3f55fb15d56..ee107df39c1 100644
--- a/lisp/calc/calc-lang.el
+++ b/lisp/calc/calc-lang.el
@@ -753,8 +753,8 @@
753 right " \\right)")) 753 right " \\right)"))
754 ((and (eq (aref func 0) ?\\) 754 ((and (eq (aref func 0) ?\\)
755 (not (or 755 (not (or
756 (string-match "\\hbox{" func) 756 (string-match "\\\\hbox{" func)
757 (string-match "\\text{" func))) 757 (string-match "\\\\text{" func)))
758 (= (length a) 2) 758 (= (length a) 2)
759 (or (Math-realp (nth 1 a)) 759 (or (Math-realp (nth 1 a))
760 (memq (car (nth 1 a)) '(var *)))) 760 (memq (car (nth 1 a)) '(var *))))
@@ -1127,7 +1127,7 @@
1127 (math-read-token))))))) 1127 (math-read-token)))))))
1128 1128
1129(put 'eqn 'math-lang-read 1129(put 'eqn 'math-lang-read
1130 '((eq (string-match "->\\|<-\\|+-\\|\\\\dots\\|~\\|\\^" 1130 '((eq (string-match "->\\|<-\\|\\+-\\|\\\\dots\\|~\\|\\^"
1131 math-exp-str math-exp-pos) 1131 math-exp-str math-exp-pos)
1132 math-exp-pos) 1132 math-exp-pos)
1133 (progn 1133 (progn
diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el
index 7390ea350e1..35f13f9656a 100644
--- a/lisp/calc/calc.el
+++ b/lisp/calc/calc.el
@@ -2430,7 +2430,7 @@ the United States."
2430 (beep) 2430 (beep)
2431 (and (not (calc-minibuffer-contains "[-+]?\\(1[5-9]\\|[2-9][0-9]\\)#.*")) 2431 (and (not (calc-minibuffer-contains "[-+]?\\(1[5-9]\\|[2-9][0-9]\\)#.*"))
2432 (search-forward "e" nil t)) 2432 (search-forward "e" nil t))
2433 (if (looking-at "+") 2433 (if (looking-at "\\+")
2434 (delete-char 1)) 2434 (delete-char 1))
2435 (if (looking-at "-") 2435 (if (looking-at "-")
2436 (delete-char 1) 2436 (delete-char 1)
diff --git a/lisp/cedet/ede/makefile-edit.el b/lisp/cedet/ede/makefile-edit.el
index 7d8a44bd9aa..1472108ad5e 100644
--- a/lisp/cedet/ede/makefile-edit.el
+++ b/lisp/cedet/ede/makefile-edit.el
@@ -105,7 +105,7 @@ STOP-BEFORE is a regular expression matching a file name."
105 (let ((e (save-excursion 105 (let ((e (save-excursion
106 (makefile-end-of-command) 106 (makefile-end-of-command)
107 (point)))) 107 (point))))
108 (while (re-search-forward "\\s-**\\([-a-zA-Z0-9./_@$%(){}]+\\)\\s-*" e t) 108 (while (re-search-forward "\\s-*\\([-a-zA-Z0-9./_@$%(){}]+\\)\\s-*" e t)
109 (let ((var nil)(varexp nil) 109 (let ((var nil)(varexp nil)
110 (match (buffer-substring-no-properties 110 (match (buffer-substring-no-properties
111 (match-beginning 1) 111 (match-beginning 1)
diff --git a/lisp/cedet/ede/speedbar.el b/lisp/cedet/ede/speedbar.el
index cd562284987..a5ccb666644 100644
--- a/lisp/cedet/ede/speedbar.el
+++ b/lisp/cedet/ede/speedbar.el
@@ -276,7 +276,7 @@ INDENT is the current indentation level."
276Etags does not support this feature. TEXT will be the button 276Etags does not support this feature. TEXT will be the button
277string. TOKEN will be the list, and INDENT is the current indentation 277string. TOKEN will be the list, and INDENT is the current indentation
278level." 278level."
279 (cond ((string-match "+" text) ;we have to expand this file 279 (cond ((string-match "\\+" text) ;we have to expand this file
280 (speedbar-change-expand-button-char ?-) 280 (speedbar-change-expand-button-char ?-)
281 (speedbar-with-writable 281 (speedbar-with-writable
282 (save-excursion 282 (save-excursion
diff --git a/lisp/cedet/semantic/sb.el b/lisp/cedet/semantic/sb.el
index 6227ac618a9..83d11e16583 100644
--- a/lisp/cedet/semantic/sb.el
+++ b/lisp/cedet/semantic/sb.el
@@ -279,7 +279,7 @@ Optional MODIFIERS is additional text needed for variables."
279(defun semantic-sb-show-extra (text token indent) 279(defun semantic-sb-show-extra (text token indent)
280 "Display additional information about the token as an expansion. 280 "Display additional information about the token as an expansion.
281TEXT TOKEN and INDENT are the details." 281TEXT TOKEN and INDENT are the details."
282 (cond ((string-match "+" text) ;we have to expand this file 282 (cond ((string-match "\\+" text) ;we have to expand this file
283 (speedbar-change-expand-button-char ?-) 283 (speedbar-change-expand-button-char ?-)
284 (speedbar-with-writable 284 (speedbar-with-writable
285 (save-excursion 285 (save-excursion
@@ -325,7 +325,7 @@ TEXT TOKEN and INDENT are the details."
325(defun semantic-sb-expand-group (text token indent) 325(defun semantic-sb-expand-group (text token indent)
326 "Expand a group which has semantic tokens. 326 "Expand a group which has semantic tokens.
327TEXT TOKEN and INDENT are the details." 327TEXT TOKEN and INDENT are the details."
328 (cond ((string-match "+" text) ;we have to expand this file 328 (cond ((string-match "\\+" text) ;we have to expand this file
329 (speedbar-change-expand-button-char ?-) 329 (speedbar-change-expand-button-char ?-)
330 (speedbar-with-writable 330 (speedbar-with-writable
331 (save-excursion 331 (save-excursion
diff --git a/lisp/comint.el b/lisp/comint.el
index a51413dc655..a5fca7ea2a1 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -3092,7 +3092,7 @@ interpreter (e.g., the percent notation of cmd.exe on Windows)."
3092 (let (env-var-name 3092 (let (env-var-name
3093 env-var-val) 3093 env-var-val)
3094 (save-match-data 3094 (save-match-data
3095 (while (string-match "%\\([^\\\\/]*\\)%" name) 3095 (while (string-match "%\\([^\\/]*\\)%" name)
3096 (setq env-var-name (match-string 1 name)) 3096 (setq env-var-name (match-string 1 name))
3097 (setq env-var-val (or (getenv env-var-name) "")) 3097 (setq env-var-val (or (getenv env-var-name) ""))
3098 (setq name (replace-match env-var-val t t name)))))) 3098 (setq name (replace-match env-var-val t t name))))))
diff --git a/lisp/dired.el b/lisp/dired.el
index 3cb645eea70..98f493ecc65 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -325,7 +325,7 @@ The directory name must be absolute, but need not be fully expanded.")
325 325
326(put 'dired-actual-switches 'safe-local-variable 'dired-safe-switches-p) 326(put 'dired-actual-switches 'safe-local-variable 'dired-safe-switches-p)
327 327
328(defvar dired-re-inode-size "[0-9 \t]*[.,0-9]*[BkKMGTPEZY]?[ \t]*" 328(defvar dired-re-inode-size "[0-9 \t]*[.,0-9]*[BkKMGTPEZY]?[ \t]*"
329 "Regexp for optional initial inode and file size as made by `ls -i -s'.") 329 "Regexp for optional initial inode and file size as made by `ls -i -s'.")
330 330
331;; These regexps must be tested at beginning-of-line, but are also 331;; These regexps must be tested at beginning-of-line, but are also
diff --git a/lisp/emacs-lisp/chart.el b/lisp/emacs-lisp/chart.el
index 708f41237b5..9c29297da02 100644
--- a/lisp/emacs-lisp/chart.el
+++ b/lisp/emacs-lisp/chart.el
@@ -704,7 +704,7 @@ SORT-PRED if desired."
704 (cntlst nil)) 704 (cntlst nil))
705 (save-excursion 705 (save-excursion
706 (goto-char (point-min)) 706 (goto-char (point-min))
707 (while (re-search-forward "\\-[A-Z][a-z][a-z] +\\(\\w+\\)@\\w+" nil t) 707 (while (re-search-forward "-[A-Z][a-z][a-z] +\\(\\w+\\)@\\w+" nil t)
708 (let* ((nam (buffer-substring (match-beginning 1) (match-end 1))) 708 (let* ((nam (buffer-substring (match-beginning 1) (match-end 1)))
709 (m (member nam nmlst))) 709 (m (member nam nmlst)))
710 (message "Scanned username %s" nam) 710 (message "Scanned username %s" nam)
diff --git a/lisp/emacs-lisp/eieio-opt.el b/lisp/emacs-lisp/eieio-opt.el
index e93d317d936..193f92bc2ce 100644
--- a/lisp/emacs-lisp/eieio-opt.el
+++ b/lisp/emacs-lisp/eieio-opt.el
@@ -327,7 +327,7 @@ current expansion depth."
327(defun eieio-sb-expand (text class indent) 327(defun eieio-sb-expand (text class indent)
328 "For button TEXT, expand CLASS at the current location. 328 "For button TEXT, expand CLASS at the current location.
329Argument INDENT is the depth of indentation." 329Argument INDENT is the depth of indentation."
330 (cond ((string-match "+" text) ;we have to expand this file 330 (cond ((string-match "\\+" text) ;we have to expand this file
331 (speedbar-change-expand-button-char ?-) 331 (speedbar-change-expand-button-char ?-)
332 (speedbar-with-writable 332 (speedbar-with-writable
333 (save-excursion 333 (save-excursion
diff --git a/lisp/emacs-lisp/eieio-speedbar.el b/lisp/emacs-lisp/eieio-speedbar.el
index 52dd6fea3fc..2dd9a5eda64 100644
--- a/lisp/emacs-lisp/eieio-speedbar.el
+++ b/lisp/emacs-lisp/eieio-speedbar.el
@@ -348,7 +348,7 @@ The object is at indentation level INDENT."
348(defun eieio-speedbar-object-expand (text token indent) 348(defun eieio-speedbar-object-expand (text token indent)
349 "Expand object represented by TEXT. 349 "Expand object represented by TEXT.
350TOKEN is the object. INDENT is the current indentation level." 350TOKEN is the object. INDENT is the current indentation level."
351 (cond ((string-match "+" text) ;we have to expand this file 351 (cond ((string-match "\\+" text) ;we have to expand this file
352 (speedbar-change-expand-button-char ?-) 352 (speedbar-change-expand-button-char ?-)
353 (oset token expanded t) 353 (oset token expanded t)
354 (speedbar-with-writable 354 (speedbar-with-writable
diff --git a/lisp/emacs-lisp/rx.el b/lisp/emacs-lisp/rx.el
index ca756efb493..f6deb45d44e 100644
--- a/lisp/emacs-lisp/rx.el
+++ b/lisp/emacs-lisp/rx.el
@@ -609,7 +609,7 @@ ARG is optional."
609 (rx-check form) 609 (rx-check form)
610 (let ((result (rx-form (cadr form) '!)) 610 (let ((result (rx-form (cadr form) '!))
611 case-fold-search) 611 case-fold-search)
612 (cond ((string-match "\\`\\[^" result) 612 (cond ((string-match "\\`\\[\\^" result)
613 (cond 613 (cond
614 ((equal result "[^]") "[^^]") 614 ((equal result "[^]") "[^^]")
615 ((and (= (length result) 4) (null (eq rx-parent '!))) 615 ((and (= (length result) 4) (null (eq rx-parent '!)))
@@ -787,7 +787,7 @@ of all atomic regexps."
787 ((= l 3) (string-match "\\`\\(?:\\\\[cCsS_]\\|\\[[^^]\\]\\)" r)) 787 ((= l 3) (string-match "\\`\\(?:\\\\[cCsS_]\\|\\[[^^]\\]\\)" r))
788 ((null lax) 788 ((null lax)
789 (cond 789 (cond
790 ((string-match "\\`\\[^?\]?\\(?:\\[:[a-z]+:]\\|[^]]\\)*\\]\\'" r)) 790 ((string-match "\\`\\[\\^?]?\\(?:\\[:[a-z]+:]\\|[^]]\\)*]\\'" r))
791 ((string-match "\\`\\\\(\\(?:[^\\]\\|\\\\[^)]\\)*\\\\)\\'" r))))))) 791 ((string-match "\\`\\\\(\\(?:[^\\]\\|\\\\[^)]\\)*\\\\)\\'" r)))))))
792 792
793 793
diff --git a/lisp/emulation/viper-ex.el b/lisp/emulation/viper-ex.el
index 41c9a3973a6..4496f1cf7d5 100644
--- a/lisp/emulation/viper-ex.el
+++ b/lisp/emulation/viper-ex.el
@@ -427,18 +427,18 @@ reversed."
427 (forward-char 1) 427 (forward-char 1)
428 (setq ex-token-type 'whole)) 428 (setq ex-token-type 'whole))
429 ((= char ?+) 429 ((= char ?+)
430 (cond ((or (looking-at "+[-+]") (looking-at "+[\n|]")) 430 (cond ((looking-at "\\+[-+\n|]")
431 (forward-char 1) 431 (forward-char 1)
432 (insert "1") 432 (insert "1")
433 (backward-char 1) 433 (backward-char 1)
434 (setq ex-token-type 'plus)) 434 (setq ex-token-type 'plus))
435 ((looking-at "+[0-9]") 435 ((looking-at "\\+[0-9]")
436 (forward-char 1) 436 (forward-char 1)
437 (setq ex-token-type 'plus)) 437 (setq ex-token-type 'plus))
438 (t 438 (t
439 (error viper-BadAddress)))) 439 (error viper-BadAddress))))
440 ((= char ?-) 440 ((= char ?-)
441 (cond ((or (looking-at "-[-+]") (looking-at "-[\n|]")) 441 (cond ((looking-at "-[-+\n|]")
442 (forward-char 1) 442 (forward-char 1)
443 (insert "1") 443 (insert "1")
444 (backward-char 1) 444 (backward-char 1)
@@ -455,7 +455,7 @@ reversed."
455 (while (and (not (eolp)) cont) 455 (while (and (not (eolp)) cont)
456 ;;(re-search-forward "[^/]*/") 456 ;;(re-search-forward "[^/]*/")
457 (re-search-forward "[^/]*\\(/\\|\n\\)") 457 (re-search-forward "[^/]*\\(/\\|\n\\)")
458 (if (not (looking-back "[^\\\\]\\(\\\\\\\\\\)*\\\\/" 458 (if (not (looking-back "[^\\]\\(\\\\\\\\\\)*\\\\/"
459 (line-beginning-position 0))) 459 (line-beginning-position 0)))
460 (setq cont nil)))) 460 (setq cont nil))))
461 (backward-char 1) 461 (backward-char 1)
@@ -469,7 +469,7 @@ reversed."
469 (while (and (not (eolp)) cont) 469 (while (and (not (eolp)) cont)
470 ;;(re-search-forward "[^\\?]*\\?") 470 ;;(re-search-forward "[^\\?]*\\?")
471 (re-search-forward "[^\\?]*\\(\\?\\|\n\\)") 471 (re-search-forward "[^\\?]*\\(\\?\\|\n\\)")
472 (if (not (looking-back "[^\\\\]\\(\\\\\\\\\\)*\\\\\\?" 472 (if (not (looking-back "[^\\]\\(\\\\\\\\\\)*\\\\\\?"
473 (line-beginning-position 0))) 473 (line-beginning-position 0)))
474 (setq cont nil)) 474 (setq cont nil))
475 (backward-char 1) 475 (backward-char 1)
@@ -744,7 +744,7 @@ reversed."
744 (error 744 (error
745 "Global regexp must be inside matching non-alphanumeric chars")) 745 "Global regexp must be inside matching non-alphanumeric chars"))
746 ((= c ??) (error "`?' is not an allowed pattern delimiter here"))) 746 ((= c ??) (error "`?' is not an allowed pattern delimiter here")))
747 (if (looking-at "[^\\\\\n]") 747 (if (looking-at "[^\\\n]")
748 (progn 748 (progn
749 (forward-char 1) 749 (forward-char 1)
750 (set-mark (point)) 750 (set-mark (point))
@@ -757,7 +757,7 @@ reversed."
757 (error "Missing closing delimiter for global regexp") 757 (error "Missing closing delimiter for global regexp")
758 (goto-char (point-max)))) 758 (goto-char (point-max))))
759 (if (not (looking-back 759 (if (not (looking-back
760 (format "[^\\\\]\\(\\\\\\\\\\)*\\\\%c" c) 760 (format "[^\\]\\(\\\\\\\\\\)*\\\\%c" c)
761 (line-beginning-position 0))) 761 (line-beginning-position 0)))
762 (setq cont nil) 762 (setq cont nil)
763 ;; we are at an escaped delimiter: unescape it and continue 763 ;; we are at an escaped delimiter: unescape it and continue
@@ -1686,7 +1686,7 @@ reversed."
1686 (message ":set <Variable> [= <Value>]") 1686 (message ":set <Variable> [= <Value>]")
1687 (or batch (sit-for 2)) 1687 (or batch (sit-for 2))
1688 1688
1689 (while (string-match "^[ \\t\\n]*$" 1689 (while (string-match "^[ \t\n]*$"
1690 (setq str 1690 (setq str
1691 (completing-read ":set " ex-variable-alist))) 1691 (completing-read ":set " ex-variable-alist)))
1692 (message ":set <Variable> [= <Value>]") 1692 (message ":set <Variable> [= <Value>]")
diff --git a/lisp/epg.el b/lisp/epg.el
index dd490ad0b2b..e06cc06a7d1 100644
--- a/lisp/epg.el
+++ b/lisp/epg.el
@@ -1144,7 +1144,7 @@ callback data (if any)."
1144 1144
1145(defun epg--status-SIG_CREATED (context string) 1145(defun epg--status-SIG_CREATED (context string)
1146 (if (string-match "\\`\\([DCS]\\) \\([0-9]+\\) \\([0-9]+\\) \ 1146 (if (string-match "\\`\\([DCS]\\) \\([0-9]+\\) \\([0-9]+\\) \
1147\\([0-9A-Fa-F][0-9A-Fa-F]\\) \\(.*\\) " string) 1147\\([0-9A-Fa-f][0-9A-Fa-f]\\) \\(.*\\) " string)
1148 (epg-context-set-result-for 1148 (epg-context-set-result-for
1149 context 'sign 1149 context 'sign
1150 (cons (epg-make-new-signature 1150 (cons (epg-make-new-signature
diff --git a/lisp/erc/erc-speedbar.el b/lisp/erc/erc-speedbar.el
index 3d43457dd2f..0a1e38fe248 100644
--- a/lisp/erc/erc-speedbar.el
+++ b/lisp/erc/erc-speedbar.el
@@ -140,7 +140,7 @@ This will add a speedbar major display mode."
140 t)))) 140 t))))
141 141
142(defun erc-speedbar-expand-server (text server indent) 142(defun erc-speedbar-expand-server (text server indent)
143 (cond ((string-match "+" text) 143 (cond ((string-match "\\+" text)
144 (speedbar-change-expand-button-char ?-) 144 (speedbar-change-expand-button-char ?-)
145 (if (speedbar-with-writable 145 (if (speedbar-with-writable
146 (save-excursion 146 (save-excursion
@@ -185,7 +185,7 @@ This will add a speedbar major display mode."
185 "For the line matching TEXT, in CHANNEL, expand or contract a line. 185 "For the line matching TEXT, in CHANNEL, expand or contract a line.
186INDENT is the current indentation level." 186INDENT is the current indentation level."
187 (cond 187 (cond
188 ((string-match "+" text) 188 ((string-match "\\+" text)
189 (speedbar-change-expand-button-char ?-) 189 (speedbar-change-expand-button-char ?-)
190 (speedbar-with-writable 190 (speedbar-with-writable
191 (save-excursion 191 (save-excursion
@@ -285,7 +285,7 @@ is only done when the channel is actually expanded already."
285 (erc-speedbar-expand-channel "+" buffer 1))))) 285 (erc-speedbar-expand-channel "+" buffer 1)))))
286 286
287(defun erc-speedbar-expand-user (text token indent) 287(defun erc-speedbar-expand-user (text token indent)
288 (cond ((string-match "+" text) 288 (cond ((string-match "\\+" text)
289 (speedbar-change-expand-button-char ?-) 289 (speedbar-change-expand-button-char ?-)
290 (speedbar-with-writable 290 (speedbar-with-writable
291 (save-excursion 291 (save-excursion
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el
index 101a5a05bf6..bcaa3e45258 100644
--- a/lisp/erc/erc.el
+++ b/lisp/erc/erc.el
@@ -4285,7 +4285,7 @@ and as second argument the event parsed as a vector."
4285(defun erc-is-message-ctcp-and-not-action-p (message) 4285(defun erc-is-message-ctcp-and-not-action-p (message)
4286 "Check if MESSAGE is a CTCP message or not." 4286 "Check if MESSAGE is a CTCP message or not."
4287 (and (erc-is-message-ctcp-p message) 4287 (and (erc-is-message-ctcp-p message)
4288 (not (string-match "^\C-a\\ACTION.*\C-a$" message)))) 4288 (not (string-match "^\C-aACTION.*\C-a$" message))))
4289 4289
4290(defun erc-format-privmessage (nick msg privp msgp) 4290(defun erc-format-privmessage (nick msg privp msgp)
4291 "Format a PRIVMSG in an insertable fashion." 4291 "Format a PRIVMSG in an insertable fashion."
@@ -4491,7 +4491,7 @@ See also: `erc-echo-notice-in-user-buffers',
4491 (mapcar #'upcase 4491 (mapcar #'upcase
4492 (cdr (split-string mode))))) 4492 (cdr (split-string mode)))))
4493 erc-channel-banlist))) 4493 erc-channel-banlist)))
4494 ((string-match "^+" mode) 4494 ((string-match "^\\+" mode)
4495 ;; Add the banned mask(s) to the ban list 4495 ;; Add the banned mask(s) to the ban list
4496 (mapc 4496 (mapc
4497 (lambda (mask) 4497 (lambda (mask)
diff --git a/lisp/eshell/em-dirs.el b/lisp/eshell/em-dirs.el
index 8e79189acf5..31588a472ab 100644
--- a/lisp/eshell/em-dirs.el
+++ b/lisp/eshell/em-dirs.el
@@ -272,7 +272,7 @@ Thus, this does not include the current directory.")
272(defun eshell-parse-drive-letter () 272(defun eshell-parse-drive-letter ()
273 "An argument beginning with X:[^/] is a drive letter reference." 273 "An argument beginning with X:[^/] is a drive letter reference."
274 (when (and (not eshell-current-argument) 274 (when (and (not eshell-current-argument)
275 (looking-at "\\([A-Za-z]:\\)\\([^/\\\\]\\|\\'\\)")) 275 (looking-at "\\([A-Za-z]:\\)\\([^/\\]\\|\\'\\)"))
276 (goto-char (match-end 1)) 276 (goto-char (match-end 1))
277 (let* ((letter (match-string 1)) 277 (let* ((letter (match-string 1))
278 (regexp (concat "\\`" letter)) 278 (regexp (concat "\\`" letter))
@@ -307,7 +307,7 @@ Thus, this does not include the current directory.")
307 (if (and (> len 1) 307 (if (and (> len 1)
308 (eq (aref path (1- len)) ?/) 308 (eq (aref path (1- len)) ?/)
309 (not (and (eshell-under-windows-p) 309 (not (and (eshell-under-windows-p)
310 (string-match "\\`[A-Za-z]:[\\\\/]\\'" path)))) 310 (string-match "\\`[A-Za-z]:[\\/]\\'" path))))
311 (setq path (substring path 0 (1- (length path))))) 311 (setq path (substring path 0 (1- (length path)))))
312 (if eshell-pwd-convert-function 312 (if eshell-pwd-convert-function
313 (funcall eshell-pwd-convert-function path) 313 (funcall eshell-pwd-convert-function path)
diff --git a/lisp/find-dired.el b/lisp/find-dired.el
index 1935db00f2c..ef137be9bbf 100644
--- a/lisp/find-dired.el
+++ b/lisp/find-dired.el
@@ -175,7 +175,7 @@ use in place of \"-ls\" as the final argument."
175 " " args " " 175 " " args " "
176 (shell-quote-argument ")") 176 (shell-quote-argument ")")
177 " ")) 177 " "))
178 (if (string-match "\\`\\(.*\\) {} \\(\\\\;\\|+\\)\\'" 178 (if (string-match "\\`\\(.*\\) {} \\(\\\\;\\|\\+\\)\\'"
179 (car find-ls-option)) 179 (car find-ls-option))
180 (format "%s %s %s" 180 (format "%s %s %s"
181 (match-string 1 (car find-ls-option)) 181 (match-string 1 (car find-ls-option))
diff --git a/lisp/frame.el b/lisp/frame.el
index 7fe3282eb59..d71a3fe5e8e 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -1072,7 +1072,7 @@ face specs for the new background mode."
1072 (default-bg-mode 1072 (default-bg-mode
1073 (if (or (window-system frame) 1073 (if (or (window-system frame)
1074 (and tty-type 1074 (and tty-type
1075 (string-match "^\\(xterm\\|\\rxvt\\|dtterm\\|eterm\\)" 1075 (string-match "^\\(xterm\\|rxvt\\|dtterm\\|eterm\\)"
1076 tty-type))) 1076 tty-type)))
1077 'light 1077 'light
1078 'dark)) 1078 'dark))
diff --git a/lisp/generic-x.el b/lisp/generic-x.el
index 47dfd2822d4..c430be78ab7 100644
--- a/lisp/generic-x.el
+++ b/lisp/generic-x.el
@@ -294,7 +294,7 @@ your changes into effect."
294 nil 294 nil
295 nil 295 nil
296 ;; Hostname ? user date request return-code number-of-bytes 296 ;; Hostname ? user date request return-code number-of-bytes
297 '(("^\\([-a-zA-z0-9.]+\\) - [-A-Za-z]+ \\(\\[.*\\]\\)" 297 '(("^\\([-a-zA-Z0-9.]+\\) - [-A-Za-z]+ \\(\\[.*\\]\\)"
298 (1 font-lock-constant-face) 298 (1 font-lock-constant-face)
299 (2 font-lock-variable-name-face))) 299 (2 font-lock-variable-name-face)))
300 '("access_log\\'") 300 '("access_log\\'")
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index 06f7be3da7d..fa3abfac585 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -7378,7 +7378,7 @@ groups."
7378 7378
7379;; Regexp suggested by Felix Wiemann in <87oeuomcz9.fsf@news2.ososo.de> 7379;; Regexp suggested by Felix Wiemann in <87oeuomcz9.fsf@news2.ososo.de>
7380(defcustom gnus-button-valid-localpart-regexp 7380(defcustom gnus-button-valid-localpart-regexp
7381 "[a-z0-9$%(*-=?[_][^<>\")!;:,{}\n\t @]*" 7381 "[a-z$%(*-=?[_][^<>\")!;:,{}\n\t @]*"
7382 "Regular expression that matches a localpart of mail addresses or MIDs." 7382 "Regular expression that matches a localpart of mail addresses or MIDs."
7383 :version "22.1" 7383 :version "22.1"
7384 :group 'gnus-article-buttons 7384 :group 'gnus-article-buttons
diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el
index e5574d4f4f0..0bd15f3e392 100644
--- a/lisp/gnus/gnus.el
+++ b/lisp/gnus/gnus.el
@@ -3751,7 +3751,7 @@ just the host name."
3751 ;; otherwise collapse to select method. 3751 ;; otherwise collapse to select method.
3752 (let* ((colon (string-match ":" group)) 3752 (let* ((colon (string-match ":" group))
3753 (server (and colon (substring group 0 colon))) 3753 (server (and colon (substring group 0 colon)))
3754 (plus (and server (string-match "+" server)))) 3754 (plus (and server (string-match "\\+" server))))
3755 (when server 3755 (when server
3756 (if plus 3756 (if plus
3757 (setq foreign (substring server (+ 1 plus) 3757 (setq foreign (substring server (+ 1 plus)
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 00853379400..d490f0ca74c 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -1288,7 +1288,7 @@ called and its result is inserted."
1288 ;; According to RFC 822 and its successors, the field name must 1288 ;; According to RFC 822 and its successors, the field name must
1289 ;; consist of printable US-ASCII characters other than colon, 1289 ;; consist of printable US-ASCII characters other than colon,
1290 ;; i.e., decimal 33-56 and 59-126. 1290 ;; i.e., decimal 33-56 and 59-126.
1291 '(looking-at "[ \t]\\|[][!\"#$%&'()*+,-./0-9;<=>?@A-Z\\\\^_`a-z{|}~]+:")) 1291 '(looking-at "[ \t]\\|[][!\"#$%&'()*+,-./0-9;<=>?@A-Z\\^_`a-z{|}~]+:"))
1292 "Set this non-nil if the system's mailer runs the header and body together. 1292 "Set this non-nil if the system's mailer runs the header and body together.
1293\(This problem exists on Sunos 4 when sendmail is run in remote mode.) 1293\(This problem exists on Sunos 4 when sendmail is run in remote mode.)
1294The value should be an expression to test whether the problem will 1294The value should be an expression to test whether the problem will
diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el
index f34930af8ec..2d3c140536c 100644
--- a/lisp/ibuffer.el
+++ b/lisp/ibuffer.el
@@ -155,7 +155,7 @@ elisp byte-compiler."
155 (string-match ibuffer-compressed-file-name-regexp 155 (string-match ibuffer-compressed-file-name-regexp
156 buffer-file-name)) 156 buffer-file-name))
157 font-lock-doc-face) 157 font-lock-doc-face)
158 (20 (string-match "^*" (buffer-name)) font-lock-keyword-face) 158 (20 (string-match "^\\*" (buffer-name)) font-lock-keyword-face)
159 (25 (and (string-match "^ " (buffer-name)) 159 (25 (and (string-match "^ " (buffer-name))
160 (null buffer-file-name)) 160 (null buffer-file-name))
161 italic) 161 italic)
diff --git a/lisp/ido.el b/lisp/ido.el
index 8078d184db7..c268289a18f 100644
--- a/lisp/ido.el
+++ b/lisp/ido.el
@@ -3788,13 +3788,13 @@ frame, rather than all frames, regardless of value of `ido-all-frames'."
3788 (not (and (eq ido-cur-item 'buffer) 3788 (not (and (eq ido-cur-item 'buffer)
3789 ido-buffer-disable-smart-matches)) 3789 ido-buffer-disable-smart-matches))
3790 (not ido-enable-regexp) 3790 (not ido-enable-regexp)
3791 (not (string-match "$\\'" rex0)) 3791 (not (string-match "\\$\\'" rex0))
3792 (concat "\\`" rex0 (if slash "/" "") "\\'"))) 3792 (concat "\\`" rex0 (if slash "/" "") "\\'")))
3793 (suffix-re (and do-full slash 3793 (suffix-re (and do-full slash
3794 (not (and (eq ido-cur-item 'buffer) 3794 (not (and (eq ido-cur-item 'buffer)
3795 ido-buffer-disable-smart-matches)) 3795 ido-buffer-disable-smart-matches))
3796 (not ido-enable-regexp) 3796 (not ido-enable-regexp)
3797 (not (string-match "$\\'" rex0)) 3797 (not (string-match "\\$\\'" rex0))
3798 (concat rex0 "/\\'"))) 3798 (concat rex0 "/\\'")))
3799 (prefix-re (and full-re (not ido-enable-prefix) 3799 (prefix-re (and full-re (not ido-enable-prefix)
3800 (concat "\\`" rexq))) 3800 (concat "\\`" rexq)))
diff --git a/lisp/info-xref.el b/lisp/info-xref.el
index e8750a7db72..c55398b73f9 100644
--- a/lisp/info-xref.el
+++ b/lisp/info-xref.el
@@ -71,7 +71,7 @@ you should set this variable to nil."
71(defun info-xref-lock-file-p (filename) 71(defun info-xref-lock-file-p (filename)
72 "Return non-nil if FILENAME is an Emacs lock file. 72 "Return non-nil if FILENAME is an Emacs lock file.
73A lock file is \".#foo.txt\" etc per `lock-buffer'." 73A lock file is \".#foo.txt\" etc per `lock-buffer'."
74 (string-match "\\(\\`\\|\\/\\)\\.#" filename)) 74 (string-match "\\(\\`\\|/\\)\\.#" filename))
75 75
76(defun info-xref-subfile-p (filename) 76(defun info-xref-subfile-p (filename)
77 "Return t if FILENAME is an info subfile. 77 "Return t if FILENAME is an info subfile.
diff --git a/lisp/info.el b/lisp/info.el
index 6038273c371..c650d882572 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -1531,7 +1531,7 @@ is non-nil)."
1531 (save-restriction 1531 (save-restriction
1532 (narrow-to-region start (point)) 1532 (narrow-to-region start (point))
1533 (goto-char (point-min)) 1533 (goto-char (point-min))
1534 (while (re-search-forward "^* \\([^:\n]+:\\(:\\|[^.\n]+\\).\\)" nil 'move) 1534 (while (re-search-forward "^\\* \\([^:\n]+:\\(:\\|[^.\n]+\\).\\)" nil 'move)
1535 ;; Fold case straight away; `member-ignore-case' here wasteful. 1535 ;; Fold case straight away; `member-ignore-case' here wasteful.
1536 (let ((x (downcase (match-string 1)))) 1536 (let ((x (downcase (match-string 1))))
1537 (if (member x seen) 1537 (if (member x seen)
@@ -1602,7 +1602,7 @@ is non-nil)."
1602 "Unescape double quotes and backslashes in VALUE." 1602 "Unescape double quotes and backslashes in VALUE."
1603 (let ((start 0) 1603 (let ((start 0)
1604 (unquote value)) 1604 (unquote value))
1605 (while (string-match "[^\\\"]*\\(\\\\\\)[\\\\\"]" unquote start) 1605 (while (string-match "[^\\\"]*\\(\\\\\\)[\\\"]" unquote start)
1606 (setq unquote (replace-match "" t t unquote 1)) 1606 (setq unquote (replace-match "" t t unquote 1))
1607 (setq start (- (match-end 0) 1))) 1607 (setq start (- (match-end 0) 1)))
1608 unquote)) 1608 unquote))
@@ -1619,7 +1619,7 @@ escaped (\\\",\\\\)."
1619 (let ((start 0) 1619 (let ((start 0)
1620 (parameter-alist)) 1620 (parameter-alist))
1621 (while (string-match 1621 (while (string-match
1622 "\\s *\\([^=]+\\)=\\(?:\\([^\\s \"]+\\)\\|\\(?:\"\\(\\(?:[^\\\"]\\|\\\\[\\\\\"]\\)*\\)\"\\)\\)" 1622 "\\s *\\([^=]+\\)=\\(?:\\([^\\s \"]+\\)\\|\\(?:\"\\(\\(?:[^\\\"]\\|\\\\[\\\"]\\)*\\)\"\\)\\)"
1623 parameter-string start) 1623 parameter-string start)
1624 (setq start (match-end 0)) 1624 (setq start (match-end 0))
1625 (push (cons (match-string 1 parameter-string) 1625 (push (cons (match-string 1 parameter-string)
@@ -5204,7 +5204,7 @@ The INDENT level is ignored."
5204TEXT is the text of the button we clicked on, a + or - item. 5204TEXT is the text of the button we clicked on, a + or - item.
5205TOKEN is data related to this node (NAME . FILE). 5205TOKEN is data related to this node (NAME . FILE).
5206INDENT is the current indentation depth." 5206INDENT is the current indentation depth."
5207 (cond ((string-match "+" text) ;we have to expand this file 5207 (cond ((string-match "\\+" text) ;we have to expand this file
5208 (speedbar-change-expand-button-char ?-) 5208 (speedbar-change-expand-button-char ?-)
5209 (if (speedbar-with-writable 5209 (if (speedbar-with-writable
5210 (save-excursion 5210 (save-excursion
diff --git a/lisp/international/mule.el b/lisp/international/mule.el
index 023fcbc5d13..5393958013b 100644
--- a/lisp/international/mule.el
+++ b/lisp/international/mule.el
@@ -2545,7 +2545,7 @@ This function is intended to be added to `auto-coding-functions'."
2545 ;; (allowing for whitespace at bob). Note: 'DOCTYPE NETSCAPE' is 2545 ;; (allowing for whitespace at bob). Note: 'DOCTYPE NETSCAPE' is
2546 ;; useful for Mozilla bookmark files. 2546 ;; useful for Mozilla bookmark files.
2547 (when (and (re-search-forward "\\`[[:space:]\n]*\\(<!doctype[[:space:]\n]+\\(html\\|netscape\\)\\|<html\\)" size t) 2547 (when (and (re-search-forward "\\`[[:space:]\n]*\\(<!doctype[[:space:]\n]+\\(html\\|netscape\\)\\|<html\\)" size t)
2548 (re-search-forward "<meta\\s-+\\(http-equiv=[\"']?content-type[\"']?\\s-+content=[\"']text/\\sw+;\\s-*\\)?charset=[\"']?\\(.+?\\)[\"'\\s-/>]" size t)) 2548 (re-search-forward "<meta\\s-+\\(http-equiv=[\"']?content-type[\"']?\\s-+content=[\"']text/\\sw+;\\s-*\\)?charset=[\"']?\\(.+?\\)[\"'[:space:]/>]" size t))
2549 (let* ((match (match-string 2)) 2549 (let* ((match (match-string 2))
2550 (sym (intern (downcase match)))) 2550 (sym (intern (downcase match))))
2551 (if (coding-system-p sym) 2551 (if (coding-system-p sym)
diff --git a/lisp/isearch.el b/lisp/isearch.el
index b9441336f9e..6280afebdc5 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -2874,7 +2874,8 @@ See more for options in `search-exit-option'."
2874 (or (eq (get this-command 'isearch-move) 'enabled) 2874 (or (eq (get this-command 'isearch-move) 'enabled)
2875 (and (eq isearch-yank-on-move t) 2875 (and (eq isearch-yank-on-move t)
2876 (stringp (nth 1 (interactive-form this-command))) 2876 (stringp (nth 1 (interactive-form this-command)))
2877 (string-match-p "^^" (nth 1 (interactive-form this-command)))) 2877 (string-match-p "^\\^"
2878 (nth 1 (interactive-form this-command))))
2878 (and (eq isearch-yank-on-move 'shift) 2879 (and (eq isearch-yank-on-move 'shift)
2879 this-command-keys-shift-translated))) 2880 this-command-keys-shift-translated)))
2880 (setq this-command-keys-shift-translated nil) 2881 (setq this-command-keys-shift-translated nil)
diff --git a/lisp/language/ethio-util.el b/lisp/language/ethio-util.el
index afc2239fbf5..512d49b9c5d 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."
804 804
805 ;; Special Ethiopic punctuation. 805 ;; Special Ethiopic punctuation.
806 (goto-char (point-min)) 806 (goto-char (point-min))
807 (while (re-search-forward "\\ce[»\\.\\?]\\|«\\ce" nil t) 807 (while (re-search-forward "\\ce[»\\.?]\\|«\\ce" nil t)
808 (cond 808 (cond
809 ((= (setq ch (preceding-char)) ?\») 809 ((= (setq ch (preceding-char)) ?\»)
810 (delete-char -1) 810 (delete-char -1)
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index 7f7f0e967d0..91291b8d330 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -2575,7 +2575,7 @@ the message. Point is at the beginning of the message."
2575 (save-excursion 2575 (save-excursion
2576 (setq deleted-head 2576 (setq deleted-head
2577 (cons (if (and (search-forward (concat rmail-attribute-header ": ") message-end t) 2577 (cons (if (and (search-forward (concat rmail-attribute-header ": ") message-end t)
2578 (looking-at "?D")) 2578 (looking-at "\\?D"))
2579 ?D 2579 ?D
2580 ?\s) deleted-head)))) 2580 ?\s) deleted-head))))
2581 2581
diff --git a/lisp/mh-e/mh-alias.el b/lisp/mh-e/mh-alias.el
index 49f55475a72..c6cdfc40c94 100644
--- a/lisp/mh-e/mh-alias.el
+++ b/lisp/mh-e/mh-alias.el
@@ -338,7 +338,7 @@ NO-COMMA-SWAP is non-nil."
338 ;; Two words -> first.last 338 ;; Two words -> first.last
339 (downcase 339 (downcase
340 (format "%s.%s" (match-string 1 string) (match-string 2 string)))) 340 (format "%s.%s" (match-string 1 string) (match-string 2 string))))
341 ((string-match "^\\([-a-zA-Z0-9._]+\\)@[-a-zA-z0-9_]+\\.+[a-zA-Z0-9]+$" 341 ((string-match "^\\([-a-zA-Z0-9._]+\\)@[-a-zA-Z0-9_]+\\.+[a-zA-Z0-9]+$"
342 string) 342 string)
343 ;; email only -> downcase username 343 ;; email only -> downcase username
344 (downcase (match-string 1 string))) 344 (downcase (match-string 1 string)))
diff --git a/lisp/mh-e/mh-comp.el b/lisp/mh-e/mh-comp.el
index 706e64dd77a..b96ef745383 100644
--- a/lisp/mh-e/mh-comp.el
+++ b/lisp/mh-e/mh-comp.el
@@ -612,7 +612,7 @@ See also `mh-compose-forward-as-mime-flag',
612 (goto-char (mh-mail-header-end)) 612 (goto-char (mh-mail-header-end))
613 (while 613 (while
614 (re-search-forward 614 (re-search-forward
615 "^#forw \\[\\([^]]+\\)\\] \\(+\\S-+\\) \\(.*\\)$" 615 "^#forw \\[\\([^]]+\\)\\] \\(\\+\\S-+\\) \\(.*\\)$"
616 (point-max) t) 616 (point-max) t)
617 (let ((description (if (equal (match-string 1) 617 (let ((description (if (equal (match-string 1)
618 "forwarded messages") 618 "forwarded messages")
diff --git a/lisp/mh-e/mh-search.el b/lisp/mh-e/mh-search.el
index 1a14f4f3dc3..c017baec66b 100644
--- a/lisp/mh-e/mh-search.el
+++ b/lisp/mh-e/mh-search.el
@@ -495,16 +495,16 @@ group of results."
495 (let ((point (point))) 495 (let ((point (point)))
496 (forward-line (if backward-flag 0 1)) 496 (forward-line (if backward-flag 0 1))
497 (cond ((if backward-flag 497 (cond ((if backward-flag
498 (re-search-backward "^+" (point-min) t) 498 (re-search-backward "^\\+" (point-min) t)
499 (re-search-forward "^+" (point-max) t)) 499 (re-search-forward "^\\+" (point-max) t))
500 (beginning-of-line)) 500 (beginning-of-line))
501 ((and (if backward-flag 501 ((and (if backward-flag
502 (goto-char (point-max)) 502 (goto-char (point-max))
503 (goto-char (point-min))) 503 (goto-char (point-min)))
504 nil)) 504 nil))
505 ((if backward-flag 505 ((if backward-flag
506 (re-search-backward "^+" (point-min) t) 506 (re-search-backward "^\\+" (point-min) t)
507 (re-search-forward "^+" (point-max) t)) 507 (re-search-forward "^\\+" (point-max) t))
508 (beginning-of-line)) 508 (beginning-of-line))
509 (t (goto-char point)))))) 509 (t (goto-char point))))))
510 510
@@ -1429,7 +1429,7 @@ being the list of messages originally from that folder."
1429 (setq which-func-mode t)) 1429 (setq which-func-mode t))
1430 (let ((alist ())) 1430 (let ((alist ()))
1431 (goto-char (point-min)) 1431 (goto-char (point-min))
1432 (while (re-search-forward "^+" nil t) 1432 (while (re-search-forward "^\\+" nil t)
1433 (save-excursion 1433 (save-excursion
1434 (beginning-of-line) 1434 (beginning-of-line)
1435 (push (cons (buffer-substring-no-properties 1435 (push (cons (buffer-substring-no-properties
diff --git a/lisp/mh-e/mh-xface.el b/lisp/mh-e/mh-xface.el
index 9a03fef1108..ddb001ac8fe 100644
--- a/lisp/mh-e/mh-xface.el
+++ b/lisp/mh-e/mh-xface.el
@@ -197,7 +197,7 @@ The directories are searched for in the order they appear in the list.")
197 (mh-funcall-if-exists ietf-drums-parse-address 197 (mh-funcall-if-exists ietf-drums-parse-address
198 from-field)))) 198 from-field))))
199 (host (and from 199 (host (and from
200 (string-match "\\([^+]*\\)\\(+.*\\)?@\\(.*\\)" from) 200 (string-match "\\([^+]*\\)\\(\\+.*\\)?@\\(.*\\)" from)
201 (downcase (match-string 3 from)))) 201 (downcase (match-string 3 from))))
202 (user (and host (downcase (match-string 1 from)))) 202 (user (and host (downcase (match-string 1 from))))
203 (canonical-address (format "%s@%s" user host)) 203 (canonical-address (format "%s@%s" user host))
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index 9fe961d748c..c5d714846d7 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -2311,7 +2311,7 @@ Useful to give the user default values that won't be substituted."
2311 ;; We can't reuse env--substitute-vars-regexp because we need to match only 2311 ;; We can't reuse env--substitute-vars-regexp because we need to match only
2312 ;; potentially-unfinished envvars at end of string. 2312 ;; potentially-unfinished envvars at end of string.
2313 (concat "\\(?:^\\|[^$]\\(?:\\$\\$\\)*\\)" 2313 (concat "\\(?:^\\|[^$]\\(?:\\$\\$\\)*\\)"
2314 "$\\([[:alnum:]_]*\\|{\\([^}]*\\)\\)\\'")) 2314 "\\$\\([[:alnum:]_]*\\|{\\([^}]*\\)\\)\\'"))
2315 2315
2316(defun completion--embedded-envvar-table (string _pred action) 2316(defun completion--embedded-envvar-table (string _pred action)
2317 "Completion table for envvars embedded in a string. 2317 "Completion table for envvars embedded in a string.
diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el
index f2ee8950494..428bf32947b 100644
--- a/lisp/net/ange-ftp.el
+++ b/lisp/net/ange-ftp.el
@@ -2728,7 +2728,7 @@ The main reason for this alist is to deal with file versions in VMS.")
2728 ;; seem to believe in the F-switch 2728 ;; seem to believe in the F-switch
2729 (if (or (and symlink (string-match "@\\'" file)) 2729 (if (or (and symlink (string-match "@\\'" file))
2730 (and directory (string-match "/\\'" file)) 2730 (and directory (string-match "/\\'" file))
2731 (and executable (string-match "*\\'" file)) 2731 (and executable (string-match "\\*\\'" file))
2732 (and socket (string-match "=\\'" file))) 2732 (and socket (string-match "=\\'" file)))
2733 (setq file (substring file 0 -1))))) 2733 (setq file (substring file 0 -1)))))
2734 (puthash file (or symlink directory) tbl) 2734 (puthash file (or symlink directory) tbl)
diff --git a/lisp/net/goto-addr.el b/lisp/net/goto-addr.el
index 43659d2820e..c25d7873918 100644
--- a/lisp/net/goto-addr.el
+++ b/lisp/net/goto-addr.el
@@ -98,7 +98,7 @@ A value of t means there is no limit--fontify regardless of the size."
98 98
99(defvar goto-address-mail-regexp 99(defvar goto-address-mail-regexp
100 ;; Actually pretty much any char could appear in the username part. -stef 100 ;; Actually pretty much any char could appear in the username part. -stef
101 "[-a-zA-Z0-9=._+]+@\\([-a-zA-z0-9_]+\\.\\)+[a-zA-Z0-9]+" 101 "[-a-zA-Z0-9=._+]+@\\([-a-zA-Z0-9_]+\\.\\)+[a-zA-Z0-9]+"
102 "A regular expression probably matching an e-mail address.") 102 "A regular expression probably matching an e-mail address.")
103 103
104(defvar goto-address-url-regexp 104(defvar goto-address-url-regexp
@@ -246,7 +246,7 @@ there, then load the URL at or before point."
246 "Find e-mail address around or before point. 246 "Find e-mail address around or before point.
247Then search backwards to beginning of line for the start of an e-mail 247Then search backwards to beginning of line for the start of an e-mail
248address. If no e-mail address found, return nil." 248address. If no e-mail address found, return nil."
249 (re-search-backward "[^-_A-z0-9.@]" (line-beginning-position) 'lim) 249 (re-search-backward "[^-_A-Za-z0-9.@]" (line-beginning-position) 'lim)
250 (if (or (looking-at goto-address-mail-regexp) ; already at start 250 (if (or (looking-at goto-address-mail-regexp) ; already at start
251 (and (re-search-forward goto-address-mail-regexp 251 (and (re-search-forward goto-address-mail-regexp
252 (line-end-position) 'lim) 252 (line-end-position) 'lim)
diff --git a/lisp/net/pop3.el b/lisp/net/pop3.el
index cd6a113bffe..599e2305f77 100644
--- a/lisp/net/pop3.el
+++ b/lisp/net/pop3.el
@@ -585,7 +585,7 @@ Return the response string if optional second argument is non-nil."
585 (goto-char pop3-read-point) 585 (goto-char pop3-read-point)
586 (if (looking-at "-ERR") 586 (if (looking-at "-ERR")
587 (error "%s" (buffer-substring (point) (- match-end 2))) 587 (error "%s" (buffer-substring (point) (- match-end 2)))
588 (if (not (looking-at "+OK")) 588 (if (not (looking-at "\\+OK"))
589 (progn (setq pop3-read-point match-end) nil) 589 (progn (setq pop3-read-point match-end) nil)
590 (setq pop3-read-point match-end) 590 (setq pop3-read-point match-end)
591 (if return 591 (if return
@@ -684,14 +684,14 @@ If NOW, use that time instead."
684 "Send USER information to POP3 server." 684 "Send USER information to POP3 server."
685 (pop3-send-command process (format "USER %s" user)) 685 (pop3-send-command process (format "USER %s" user))
686 (let ((response (pop3-read-response process t))) 686 (let ((response (pop3-read-response process t)))
687 (if (not (and response (string-match "+OK" response))) 687 (if (not (and response (string-match "\\+OK" response)))
688 (error "USER %s not valid" user)))) 688 (error "USER %s not valid" user))))
689 689
690(defun pop3-pass (process) 690(defun pop3-pass (process)
691 "Send authentication information to the server." 691 "Send authentication information to the server."
692 (pop3-send-command process (format "PASS %s" pop3-password)) 692 (pop3-send-command process (format "PASS %s" pop3-password))
693 (let ((response (pop3-read-response process t))) 693 (let ((response (pop3-read-response process t)))
694 (if (not (and response (string-match "+OK" response))) 694 (if (not (and response (string-match "\\+OK" response)))
695 (pop3-quit process)))) 695 (pop3-quit process))))
696 696
697(defun pop3-apop (process user) 697(defun pop3-apop (process user)
@@ -704,7 +704,7 @@ If NOW, use that time instead."
704 (let ((hash (md5 (concat pop3-timestamp pass) nil nil 'binary))) 704 (let ((hash (md5 (concat pop3-timestamp pass) nil nil 'binary)))
705 (pop3-send-command process (format "APOP %s %s" user hash)) 705 (pop3-send-command process (format "APOP %s %s" user hash))
706 (let ((response (pop3-read-response process t))) 706 (let ((response (pop3-read-response process t)))
707 (if (not (and response (string-match "+OK" response))) 707 (if (not (and response (string-match "\\+OK" response)))
708 (pop3-quit process))))) 708 (pop3-quit process)))))
709 )) 709 ))
710 710
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 420a72d42ef..b35b36eac7d 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -870,7 +870,7 @@ Derived from `tramp-prefix-ipv6-format'.")
870;; The following regexp is a bit sloppy. But it shall serve our 870;; The following regexp is a bit sloppy. But it shall serve our
871;; purposes. It covers also IPv4 mapped IPv6 addresses, like in 871;; purposes. It covers also IPv4 mapped IPv6 addresses, like in
872;; "::ffff:192.168.0.1". 872;; "::ffff:192.168.0.1".
873(defconst tramp-ipv6-regexp "\\(?:\\(?:[a-zA-Z0-9]+\\)?:\\)+[a-zA-Z0-9.]+" 873(defconst tramp-ipv6-regexp "\\(?:[a-zA-Z0-9]*:\\)+[a-zA-Z0-9.]+"
874 "Regexp matching IPv6 addresses.") 874 "Regexp matching IPv6 addresses.")
875 875
876(defconst tramp-postfix-ipv6-format-alist 876(defconst tramp-postfix-ipv6-format-alist
@@ -2087,7 +2087,7 @@ Return the string with the replaced variables."
2087 (tramp-compat-funcall 'substitute-env-vars filename 'only-defined)) 2087 (tramp-compat-funcall 'substitute-env-vars filename 'only-defined))
2088 ;; We need an own implementation. 2088 ;; We need an own implementation.
2089 (save-match-data 2089 (save-match-data
2090 (let ((idx (string-match "$\\(\\w+\\)" filename))) 2090 (let ((idx (string-match "\\$\\(\\w+\\)" filename)))
2091 ;; `$' is coded as `$$'. 2091 ;; `$' is coded as `$$'.
2092 (when (and idx 2092 (when (and idx
2093 (or (zerop idx) (not (eq ?$ (aref filename (1- idx))))) 2093 (or (zerop idx) (not (eq ?$ (aref filename (1- idx)))))
diff --git a/lisp/nxml/nxml-maint.el b/lisp/nxml/nxml-maint.el
index 2570e51af51..2956efb736e 100644
--- a/lisp/nxml/nxml-maint.el
+++ b/lisp/nxml/nxml-maint.el
@@ -34,10 +34,10 @@
34 (let (lst head) 34 (let (lst head)
35 (with-current-buffer (find-file-noselect file) 35 (with-current-buffer (find-file-noselect file)
36 (goto-char (point-min)) 36 (goto-char (point-min))
37 (while (re-search-forward "^ *\\([a-FA-F0-9]\\{2\\}\\)[ \t]+" nil t) 37 (while (re-search-forward "^ *\\([a-fA-F0-9]\\{2\\}\\)[ \t]+" nil t)
38 (let ((row (match-string 1)) 38 (let ((row (match-string 1))
39 (eol (line-end-position))) 39 (eol (line-end-position)))
40 (while (re-search-forward "\\([a-FA-F0-9]\\{2\\}\\)-\\([a-FA-F0-9]\\{2\\}\\)\\|\\([a-FA-F0-9]\\{2\\}\\)" eol t) 40 (while (re-search-forward "\\([a-fA-F0-9]\\{2\\}\\)-\\([a-fA-F0-9]\\{2\\}\\)\\|\\([a-fA-F0-9]\\{2\\}\\)" eol t)
41 (setq lst 41 (setq lst
42 (cons (if (match-beginning 3) 42 (cons (if (match-beginning 3)
43 (concat "#x" row (match-string 3)) 43 (concat "#x" row (match-string 3))
diff --git a/lisp/nxml/rng-uri.el b/lisp/nxml/rng-uri.el
index 0e458cfd2f4..d8f2884f5e6 100644
--- a/lisp/nxml/rng-uri.el
+++ b/lisp/nxml/rng-uri.el
@@ -42,7 +42,7 @@ escape them using %HH."
42 42
43(defun rng-uri-escape-multibyte (uri) 43(defun rng-uri-escape-multibyte (uri)
44 "Escape multibyte characters in URI." 44 "Escape multibyte characters in URI."
45 (replace-regexp-in-string "[:nonascii:]" 45 (replace-regexp-in-string "[[:nonascii:]]"
46 'rng-percent-encode 46 'rng-percent-encode
47 (encode-coding-string uri 'utf-8))) 47 (encode-coding-string uri 'utf-8)))
48 48
diff --git a/lisp/nxml/rng-xsd.el b/lisp/nxml/rng-xsd.el
index 6cd1688fe46..f308b049f3b 100644
--- a/lisp/nxml/rng-xsd.el
+++ b/lisp/nxml/rng-xsd.el
@@ -360,7 +360,7 @@ trailing digits. For example, -0021.0430 would be represented by [-1
360 n))) 360 n)))
361 361
362(defun rng-xsd-convert-any-uri (string) 362(defun rng-xsd-convert-any-uri (string)
363 (and (string-match "\\`\\(?:[^%]\\|%[0-9a-fA-F][0-9a-fA-F]\\)?*\\'" string) 363 (and (string-match "\\`\\(?:[^%]\\|%[0-9a-fA-F][0-9a-fA-F]\\)*\\'" string)
364 (string-match "\\`[^#]*\\(?:#[^#]*\\)?\\'" string) 364 (string-match "\\`[^#]*\\(?:#[^#]*\\)?\\'" string)
365 (string-match "\\`\\(?:[a-zA-Z][-+.A-Za-z0-9]*:.+\\|[^:]*\\(?:[#/?].*\\)?\\)\\'" string) 365 (string-match "\\`\\(?:[a-zA-Z][-+.A-Za-z0-9]*:.+\\|[^:]*\\(?:[#/?].*\\)?\\)\\'" string)
366 string)) 366 string))
diff --git a/lisp/obsolete/pgg.el b/lisp/obsolete/pgg.el
index 86f30a3cf95..18b63fc3ee6 100644
--- a/lisp/obsolete/pgg.el
+++ b/lisp/obsolete/pgg.el
@@ -572,7 +572,7 @@ within the region."
572 (with-current-buffer (get-buffer-create pgg-output-buffer) 572 (with-current-buffer (get-buffer-create pgg-output-buffer)
573 (buffer-disable-undo) 573 (buffer-disable-undo)
574 (erase-buffer) 574 (erase-buffer)
575 (let ((proto (if (string-match "^[a-zA-Z\\+\\.\\\\-]+:" keyserver) 575 (let ((proto (if (string-match "^[a-zA-Z\\+.-]+:" keyserver)
576 (substring keyserver 0 (1- (match-end 0)))))) 576 (substring keyserver 0 (1- (match-end 0))))))
577 (save-excursion 577 (save-excursion
578 (funcall pgg-insert-url-function 578 (funcall pgg-insert-url-function
diff --git a/lisp/obsolete/vip.el b/lisp/obsolete/vip.el
index 9260ee92e50..0360db9bca0 100644
--- a/lisp/obsolete/vip.el
+++ b/lisp/obsolete/vip.el
@@ -2187,19 +2187,19 @@ a token has type \(command, address, end-mark\) and value."
2187 ((looking-at "%") 2187 ((looking-at "%")
2188 (forward-char 1) 2188 (forward-char 1)
2189 (setq ex-token-type "whole")) 2189 (setq ex-token-type "whole"))
2190 ((looking-at "+") 2190 ((looking-at "\\+")
2191 (cond ((or (looking-at "+[-+]") (looking-at "+[\n|]")) 2191 (cond ((looking-at "\\+[-+\n|]")
2192 (forward-char 1) 2192 (forward-char 1)
2193 (insert "1") 2193 (insert "1")
2194 (backward-char 1) 2194 (backward-char 1)
2195 (setq ex-token-type "plus")) 2195 (setq ex-token-type "plus"))
2196 ((looking-at "+[0-9]") 2196 ((looking-at "\\+[0-9]")
2197 (forward-char 1) 2197 (forward-char 1)
2198 (setq ex-token-type "plus")) 2198 (setq ex-token-type "plus"))
2199 (t 2199 (t
2200 (error "Badly formed address")))) 2200 (error "Badly formed address"))))
2201 ((looking-at "-") 2201 ((looking-at "-")
2202 (cond ((or (looking-at "-[-+]") (looking-at "-[\n|]")) 2202 (cond ((looking-at "-[-+\n|]")
2203 (forward-char 1) 2203 (forward-char 1)
2204 (insert "1") 2204 (insert "1")
2205 (backward-char 1) 2205 (backward-char 1)
@@ -2520,7 +2520,7 @@ a token has type \(command, address, end-mark\) and value."
2520 ex-variant t) 2520 ex-variant t)
2521 (forward-char 2) 2521 (forward-char 2)
2522 (skip-chars-forward " \t"))) 2522 (skip-chars-forward " \t")))
2523 (if (looking-at "+") 2523 (if (looking-at "\\+")
2524 (progn 2524 (progn
2525 (forward-char 1) 2525 (forward-char 1)
2526 (set-mark (point)) 2526 (set-mark (point))
diff --git a/lisp/org/ob-core.el b/lisp/org/ob-core.el
index 93b8c13aa2d..b6c54a92ab6 100644
--- a/lisp/org/ob-core.el
+++ b/lisp/org/ob-core.el
@@ -2955,7 +2955,7 @@ If the table is trivial, then return it as a scalar."
2955(defun org-babel-string-read (cell) 2955(defun org-babel-string-read (cell)
2956 "Strip nested \"s from around strings." 2956 "Strip nested \"s from around strings."
2957 (org-babel-read (or (and (stringp cell) 2957 (org-babel-read (or (and (stringp cell)
2958 (string-match "\\\"\\(.+\\)\\\"" cell) 2958 (string-match "\"\\(.+\\)\"" cell)
2959 (match-string 1 cell)) 2959 (match-string 1 cell))
2960 cell) t)) 2960 cell) t))
2961 2961
diff --git a/lisp/org/org-agenda.el b/lisp/org/org-agenda.el
index 6593c6d8fa1..e416f5f062a 100644
--- a/lisp/org/org-agenda.el
+++ b/lisp/org/org-agenda.el
@@ -9446,7 +9446,7 @@ the resulting entry will not be shown. When TEXT is empty, switch to
9446 (goto-char (point-min)) 9446 (goto-char (point-min))
9447 (cond 9447 (cond
9448 ((eq type 'anniversary) 9448 ((eq type 'anniversary)
9449 (or (re-search-forward "^*[ \t]+Anniversaries" nil t) 9449 (or (re-search-forward "^\\*[ \t]+Anniversaries" nil t)
9450 (progn 9450 (progn
9451 (or (org-at-heading-p t) 9451 (or (org-at-heading-p t)
9452 (progn 9452 (progn
diff --git a/lisp/org/org-element.el b/lisp/org/org-element.el
index 690dcd139ef..04e2fda55e3 100644
--- a/lisp/org/org-element.el
+++ b/lisp/org/org-element.el
@@ -2119,7 +2119,7 @@ containing `:key', `:value', `:begin', `:end', `:post-blank' and
2119 ;; this corner case. 2119 ;; this corner case.
2120 (let ((begin (or (car affiliated) (point))) 2120 (let ((begin (or (car affiliated) (point)))
2121 (post-affiliated (point)) 2121 (post-affiliated (point))
2122 (key (progn (looking-at "[ \t]*#\\+\\(\\S-+*\\):") 2122 (key (progn (looking-at "[ \t]*#\\+\\(\\S-*\\):")
2123 (upcase (match-string-no-properties 1)))) 2123 (upcase (match-string-no-properties 1))))
2124 (value (org-trim (buffer-substring-no-properties 2124 (value (org-trim (buffer-substring-no-properties
2125 (match-end 0) (point-at-eol)))) 2125 (match-end 0) (point-at-eol))))
diff --git a/lisp/org/org-list.el b/lisp/org/org-list.el
index 96c8f55d3a5..ef85b402f08 100644
--- a/lisp/org/org-list.el
+++ b/lisp/org/org-list.el
@@ -2678,7 +2678,7 @@ Return t if successful."
2678 (error "Cannot outdent beyond margin") 2678 (error "Cannot outdent beyond margin")
2679 ;; Change bullet if necessary. 2679 ;; Change bullet if necessary.
2680 (when (and (= (+ top-ind offset) 0) 2680 (when (and (= (+ top-ind offset) 0)
2681 (string-match "*" 2681 (string-match "\\*"
2682 (org-list-get-bullet beg struct))) 2682 (org-list-get-bullet beg struct)))
2683 (org-list-set-bullet beg struct 2683 (org-list-set-bullet beg struct
2684 (org-list-bullet-string "-"))) 2684 (org-list-bullet-string "-")))
diff --git a/lisp/org/org-mhe.el b/lisp/org/org-mhe.el
index 969bff3cc64..a37c41ad06e 100644
--- a/lisp/org/org-mhe.el
+++ b/lisp/org/org-mhe.el
@@ -142,7 +142,7 @@ So if you use sequences, it will now work."
142 "Return the name of the message folder in an index folder buffer." 142 "Return the name of the message folder in an index folder buffer."
143 (save-excursion 143 (save-excursion
144 (mh-index-previous-folder) 144 (mh-index-previous-folder)
145 (if (re-search-forward "^\\(+.*\\)$" nil t) 145 (if (re-search-forward "^\\(\\+.*\\)$" nil t)
146 (message "%s" (match-string 1))))) 146 (message "%s" (match-string 1)))))
147 147
148(defun org-mhe-get-message-folder () 148(defun org-mhe-get-message-folder ()
diff --git a/lisp/org/org-mobile.el b/lisp/org/org-mobile.el
index 1ff6358403c..83dcc7b0d13 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."
845 (cl-incf cnt-error) 845 (cl-incf cnt-error)
846 (throw 'next t)) 846 (throw 'next t))
847 (move-marker bos-marker (point)) 847 (move-marker bos-marker (point))
848 (if (re-search-forward "^** Old value[ \t]*$" eos t) 848 (if (re-search-forward "^\\*\\* Old value[ \t]*$" eos t)
849 (setq old (buffer-substring 849 (setq old (buffer-substring
850 (1+ (match-end 0)) 850 (1+ (match-end 0))
851 (progn (outline-next-heading) (point))))) 851 (progn (outline-next-heading) (point)))))
852 (if (re-search-forward "^** New value[ \t]*$" eos t) 852 (if (re-search-forward "^\\*\\* New value[ \t]*$" eos t)
853 (setq new (buffer-substring 853 (setq new (buffer-substring
854 (1+ (match-end 0)) 854 (1+ (match-end 0))
855 (progn (outline-next-heading) 855 (progn (outline-next-heading)
diff --git a/lisp/org/org-mouse.el b/lisp/org/org-mouse.el
index ac75decb925..a3dcb77554c 100644
--- a/lisp/org/org-mouse.el
+++ b/lisp/org/org-mouse.el
@@ -643,7 +643,7 @@ This means, between the beginning of line and the point."
643 ,@(org-mouse-list-options-menu (mapcar 'car org-startup-options) 643 ,@(org-mouse-list-options-menu (mapcar 'car org-startup-options)
644 'org-mode-restart)))) 644 'org-mode-restart))))
645 ((or (eolp) 645 ((or (eolp)
646 (and (looking-at "\\( \\|\t\\)\\(+:[0-9a-zA-Z_:]+\\)?\\( \\|\t\\)+$") 646 (and (looking-at "\\( \\|\t\\)\\(\\+:[0-9a-zA-Z_:]+\\)?\\( \\|\t\\)+$")
647 (looking-back " \\|\t" (- (point) 2) 647 (looking-back " \\|\t" (- (point) 2)
648 (line-beginning-position)))) 648 (line-beginning-position))))
649 (org-mouse-popup-global-menu)) 649 (org-mouse-popup-global-menu))
diff --git a/lisp/org/org-plot.el b/lisp/org/org-plot.el
index aa34e4011ae..a5635e326d4 100644
--- a/lisp/org/org-plot.el
+++ b/lisp/org/org-plot.el
@@ -336,7 +336,7 @@ line directly before or after the table."
336 (insert "\n") 336 (insert "\n")
337 (insert-file-contents (plist-get params :script)) 337 (insert-file-contents (plist-get params :script))
338 (goto-char (point-min)) 338 (goto-char (point-min))
339 (while (re-search-forward "$datafile" nil t) 339 (while (re-search-forward "\\$datafile" nil t)
340 (replace-match data-file nil nil))) 340 (replace-match data-file nil nil)))
341 (insert (org-plot/gnuplot-script data-file num-cols params))) 341 (insert (org-plot/gnuplot-script data-file num-cols params)))
342 ;; Graph table. 342 ;; Graph table.
diff --git a/lisp/org/org-protocol.el b/lisp/org/org-protocol.el
index c31ac66bacb..016105ef53b 100644
--- a/lisp/org/org-protocol.el
+++ b/lisp/org/org-protocol.el
@@ -331,7 +331,7 @@ returned list."
331 (len 0) 331 (len 0)
332 dir 332 dir
333 ret) 333 ret)
334 (when (string-match "^\\(.*\\)\\(org-protocol:/+[a-zA-z0-9][-_a-zA-z0-9]*:/+\\)\\(.*\\)" trigger) 334 (when (string-match "^\\(.*\\)\\(org-protocol:/+[a-zA-Z0-9][-_a-zA-Z0-9]*:/+\\)\\(.*\\)" trigger)
335 (setq dir (match-string 1 trigger)) 335 (setq dir (match-string 1 trigger))
336 (setq len (length dir)) 336 (setq len (length dir))
337 (setcar l (concat dir (match-string 3 trigger)))) 337 (setcar l (concat dir (match-string 3 trigger))))
diff --git a/lisp/org/org-table.el b/lisp/org/org-table.el
index 765a1ee5c92..b6e864fc9c9 100644
--- a/lisp/org/org-table.el
+++ b/lisp/org/org-table.el
@@ -1182,7 +1182,7 @@ to a number. In the case of a timestamp, increment by days."
1182 (- (org-time-string-to-absolute txt) 1182 (- (org-time-string-to-absolute txt)
1183 (org-time-string-to-absolute txt-up))) 1183 (org-time-string-to-absolute txt-up)))
1184 ((string-match org-ts-regexp3 txt) 1) 1184 ((string-match org-ts-regexp3 txt) 1)
1185 ((string-match "\\([-+]\\)?\\(?:[0-9]+\\)?\\(?:\.[0-9]+\\)?" txt-up) 1185 ((string-match "\\([-+]\\)?[0-9]*\\(?:\\.[0-9]+\\)?" txt-up)
1186 (- (string-to-number txt) 1186 (- (string-to-number txt)
1187 (string-to-number (match-string 0 txt-up)))) 1187 (string-to-number (match-string 0 txt-up))))
1188 (t 1))) 1188 (t 1)))
@@ -2307,7 +2307,7 @@ LOCATION instead."
2307 "\n")))) 2307 "\n"))))
2308 2308
2309(defsubst org-table-formula-make-cmp-string (a) 2309(defsubst org-table-formula-make-cmp-string (a)
2310 (when (string-match "\\`$[<>]" a) 2310 (when (string-match "\\`\\$[<>]" a)
2311 (let ((arrow (string-to-char (substring a 1)))) 2311 (let ((arrow (string-to-char (substring a 1))))
2312 ;; Fake a high number to make sure this is sorted at the end. 2312 ;; Fake a high number to make sure this is sorted at the end.
2313 (setq a (org-table-formula-handle-first/last-rc a)) 2313 (setq a (org-table-formula-handle-first/last-rc a))
@@ -2355,7 +2355,7 @@ LOCATION is a buffer position, consider the formulas there."
2355 (cond 2355 (cond
2356 ((not (match-end 2)) m) 2356 ((not (match-end 2)) m)
2357 ;; Is it a column reference? 2357 ;; Is it a column reference?
2358 ((string-match-p "\\`$\\([0-9]+\\|[<>]+\\)\\'" m) m) 2358 ((string-match-p "\\`\\$\\([0-9]+\\|[<>]+\\)\\'" m) m)
2359 ;; Since named columns are not possible in 2359 ;; Since named columns are not possible in
2360 ;; LHS, assume this is a named field. 2360 ;; LHS, assume this is a named field.
2361 (t (match-string 2 string))))) 2361 (t (match-string 2 string)))))
@@ -3216,7 +3216,7 @@ known that the table will be realigned a little later anyway."
3216 (cond 3216 (cond
3217 ((string-match "\\`@-?I+" old-lhs) 3217 ((string-match "\\`@-?I+" old-lhs)
3218 (user-error "Can't assign to hline relative reference")) 3218 (user-error "Can't assign to hline relative reference"))
3219 ((string-match "\\`$[<>]" old-lhs) 3219 ((string-match "\\`\\$[<>]" old-lhs)
3220 (let ((new (org-table-formula-handle-first/last-rc 3220 (let ((new (org-table-formula-handle-first/last-rc
3221 old-lhs))) 3221 old-lhs)))
3222 (when (assoc new eqlist) 3222 (when (assoc new eqlist)
@@ -3639,7 +3639,8 @@ Parameters get priority."
3639 (setq startline (org-current-line)) 3639 (setq startline (org-current-line))
3640 (dolist (entry eql) 3640 (dolist (entry eql)
3641 (let* ((type (cond 3641 (let* ((type (cond
3642 ((string-match "\\`$\\([0-9]+\\|[<>]+\\)\\'" (car entry)) 3642 ((string-match "\\`\\$\\([0-9]+\\|[<>]+\\)\\'"
3643 (car entry))
3643 'column) 3644 'column)
3644 ((equal (string-to-char (car entry)) ?@) 'field) 3645 ((equal (string-to-char (car entry)) ?@) 'field)
3645 (t 'named))) 3646 (t 'named)))
diff --git a/lisp/org/org.el b/lisp/org/org.el
index 8a11a8f75ef..3a434d12dfd 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -10467,7 +10467,7 @@ This is still an experimental function, your mileage may vary."
10467 ((and (equal type "lisp") (string-match "^/" path)) 10467 ((and (equal type "lisp") (string-match "^/" path))
10468 ;; Planner has a slash, we do not. 10468 ;; Planner has a slash, we do not.
10469 (setq type "elisp" path (substring path 1))) 10469 (setq type "elisp" path (substring path 1)))
10470 ((string-match "^//\\(.?*\\)/\\(<.*>\\)$" path) 10470 ((string-match "^//\\(.*\\)/\\(<.*>\\)$" path)
10471 ;; A typical message link. Planner has the id after the final slash, 10471 ;; A typical message link. Planner has the id after the final slash,
10472 ;; we separate it with a hash mark 10472 ;; we separate it with a hash mark
10473 (setq path (concat (match-string 1 path) "#" 10473 (setq path (concat (match-string 1 path) "#"
@@ -22838,7 +22838,7 @@ assumed to be significant there."
22838 (save-excursion 22838 (save-excursion
22839 (skip-chars-backward "[ \t]") 22839 (skip-chars-backward "[ \t]")
22840 (skip-chars-backward "\\\\") 22840 (skip-chars-backward "\\\\")
22841 (looking-at "\\\\\\\\\\($\\|[^\\\\]\\)"))) 22841 (looking-at "\\\\\\\\\\($\\|[^\\]\\)")))
22842 22842
22843(defun org-fill-paragraph-with-timestamp-nobreak-p () 22843(defun org-fill-paragraph-with-timestamp-nobreak-p ()
22844 "Non-nil when a new line at point would split a timestamp." 22844 "Non-nil when a new line at point would split a timestamp."
diff --git a/lisp/org/ox-ascii.el b/lisp/org/ox-ascii.el
index c20536184ea..7c9920f64c5 100644
--- a/lisp/org/ox-ascii.el
+++ b/lisp/org/ox-ascii.el
@@ -1474,8 +1474,8 @@ contextual information."
1474 (replace-regexp-in-string 1474 (replace-regexp-in-string
1475 "-" "‱" 1475 "-" "‱"
1476 (replace-regexp-in-string 1476 (replace-regexp-in-string
1477 "+" "⁃" 1477 "\\+" "⁃"
1478 (replace-regexp-in-string "*" "‣" bul)))))))) 1478 (replace-regexp-in-string "\\*" "‣" bul))))))))
1479 (indentation (if (eq list-type 'descriptive) org-ascii-quote-margin 1479 (indentation (if (eq list-type 'descriptive) org-ascii-quote-margin
1480 (string-width bullet)))) 1480 (string-width bullet))))
1481 (concat 1481 (concat
diff --git a/lisp/org/ox-latex.el b/lisp/org/ox-latex.el
index d3e62861499..d711530bf71 100644
--- a/lisp/org/ox-latex.el
+++ b/lisp/org/ox-latex.el
@@ -1613,7 +1613,7 @@ INFO is a plist used as a communication channel."
1613 1613
1614(defun org-latex-clean-invalid-line-breaks (data _backend _info) 1614(defun org-latex-clean-invalid-line-breaks (data _backend _info)
1615 (replace-regexp-in-string 1615 (replace-regexp-in-string
1616 "\\(\\end{[A-Za-z0-9*]+}\\|^\\)[ \t]*\\\\\\\\[ \t]*$" "\\1" 1616 "\\(\\\\end{[A-Za-z0-9*]+}\\|^\\)[ \t]*\\\\\\\\[ \t]*$" "\\1"
1617 data)) 1617 data))
1618 1618
1619 1619
diff --git a/lisp/org/ox.el b/lisp/org/ox.el
index 8813968332e..58bc9b0ffb0 100644
--- a/lisp/org/ox.el
+++ b/lisp/org/ox.el
@@ -3322,7 +3322,7 @@ storing and resolving footnotes. It is created automatically."
3322 (setq value (replace-match "" nil nil value))))) 3322 (setq value (replace-match "" nil nil value)))))
3323 (lines 3323 (lines
3324 (and (string-match 3324 (and (string-match
3325 ":lines +\"\\(\\(?:[0-9]+\\)?-\\(?:[0-9]+\\)?\\)\"" 3325 ":lines +\"\\([0-9]*-[0-9]*\\)\""
3326 value) 3326 value)
3327 (prog1 (match-string 1 value) 3327 (prog1 (match-string 1 value)
3328 (setq value (replace-match "" nil nil value))))) 3328 (setq value (replace-match "" nil nil value)))))
diff --git a/lisp/progmodes/ada-xref.el b/lisp/progmodes/ada-xref.el
index 7f0e1663284..28c52b0653b 100644
--- a/lisp/progmodes/ada-xref.el
+++ b/lisp/progmodes/ada-xref.el
@@ -416,7 +416,7 @@ As a special case, ${current} is replaced with the name of the current
416file, minus extension but with directory, and ${full_current} is 416file, minus extension but with directory, and ${full_current} is
417replaced by the name including the extension." 417replaced by the name including the extension."
418 418
419 (while (string-match "\\(-[^-$IO]*[IO]\\)?${\\([^}]+\\)}" cmd-string) 419 (while (string-match "\\(-[^-$IO]*[IO]\\)?\\${\\([^}]+\\)}" cmd-string)
420 (let (value 420 (let (value
421 (name (match-string 2 cmd-string))) 421 (name (match-string 2 cmd-string)))
422 (cond 422 (cond
diff --git a/lisp/progmodes/cfengine.el b/lisp/progmodes/cfengine.el
index a86cb53ceb9..efe648bc034 100644
--- a/lisp/progmodes/cfengine.el
+++ b/lisp/progmodes/cfengine.el
@@ -852,8 +852,8 @@ This includes those for cfservd as well as cfagent.")
852 ;; Classes. 852 ;; Classes.
853 ("^[ \t]*\\([[:alnum:]_().|!]+\\)::" 1 font-lock-function-name-face) 853 ("^[ \t]*\\([[:alnum:]_().|!]+\\)::" 1 font-lock-function-name-face)
854 ;; Variables. 854 ;; Variables.
855 ("$(\\([[:alnum:]_]+\\))" 1 font-lock-variable-name-face) 855 ("\\$(\\([[:alnum:]_]+\\))" 1 font-lock-variable-name-face)
856 ("${\\([[:alnum:]_]+\\)}" 1 font-lock-variable-name-face) 856 ("\\${\\([[:alnum:]_]+\\)}" 1 font-lock-variable-name-face)
857 ;; Variable definitions. 857 ;; Variable definitions.
858 ("\\_<\\([[:alnum:]_]+\\)[ \t]*=[ \t]*(" 1 font-lock-variable-name-face) 858 ("\\_<\\([[:alnum:]_]+\\)[ \t]*=[ \t]*(" 1 font-lock-variable-name-face)
859 ;; File, acl &c in group: { token ... } 859 ;; File, acl &c in group: { token ... }
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el
index cb69a43b63f..0fe4b106c53 100644
--- a/lisp/progmodes/cperl-mode.el
+++ b/lisp/progmodes/cperl-mode.el
@@ -3145,12 +3145,12 @@ Returns true if comment is found. In POD will not move the point."
3145 (cond 3145 (cond
3146 ((looking-at "\\(s\\|tr\\)\\>") 3146 ((looking-at "\\(s\\|tr\\)\\>")
3147 (or (re-search-forward 3147 (or (re-search-forward
3148 "\\=\\w+[ \t]*#\\([^\n\\\\#]\\|\\\\[\\\\#]\\)*#\\([^\n\\\\#]\\|\\\\[\\\\#]\\)*" 3148 "\\=\\w+[ \t]*#\\([^\n\\#]\\|\\\\[\\#]\\)*#\\([^\n\\#]\\|\\\\[\\#]\\)*"
3149 lim 'move) 3149 lim 'move)
3150 (setq stop-in t))) 3150 (setq stop-in t)))
3151 ((looking-at "\\(m\\|q\\([qxwr]\\)?\\)\\>") 3151 ((looking-at "\\(m\\|q\\([qxwr]\\)?\\)\\>")
3152 (or (re-search-forward 3152 (or (re-search-forward
3153 "\\=\\w+[ \t]*#\\([^\n\\\\#]\\|\\\\[\\\\#]\\)*#" 3153 "\\=\\w+[ \t]*#\\([^\n\\#]\\|\\\\[\\#]\\)*#"
3154 lim 'move) 3154 lim 'move)
3155 (setq stop-in t))) 3155 (setq stop-in t)))
3156 (t ; It was fair comment 3156 (t ; It was fair comment
@@ -3749,7 +3749,7 @@ the sections using `cperl-pod-head-face', `cperl-pod-face',
3749 state-point b nil nil state) 3749 state-point b nil nil state)
3750 state-point b) 3750 state-point b)
3751 (if (or (nth 3 state) (nth 4 state) 3751 (if (or (nth 3 state) (nth 4 state)
3752 (looking-at "\\(cut\\|\\end\\)\\>")) 3752 (looking-at "\\(cut\\|end\\)\\>"))
3753 (if (or (nth 3 state) (nth 4 state) ignore-max) 3753 (if (or (nth 3 state) (nth 4 state) ignore-max)
3754 nil ; Doing a chunk only 3754 nil ; Doing a chunk only
3755 (message "=cut is not preceded by a POD section") 3755 (message "=cut is not preceded by a POD section")
@@ -3762,10 +3762,10 @@ the sections using `cperl-pod-head-face', `cperl-pod-face',
3762 b1 nil) ; error condition 3762 b1 nil) ; error condition
3763 ;; We do not search to max, since we may be called from 3763 ;; We do not search to max, since we may be called from
3764 ;; some hook of fontification, and max is random 3764 ;; some hook of fontification, and max is random
3765 (or (re-search-forward "^\n=\\(cut\\|\\end\\)\\>" stop-point 'toend) 3765 (or (re-search-forward "^\n=\\(cut\\|end\\)\\>" stop-point 'toend)
3766 (progn 3766 (progn
3767 (goto-char b) 3767 (goto-char b)
3768 (if (re-search-forward "\n=\\(cut\\|\\end\\)\\>" stop-point 'toend) 3768 (if (re-search-forward "\n=\\(cut\\|end\\)\\>" stop-point 'toend)
3769 (progn 3769 (progn
3770 (message "=cut is not preceded by an empty line") 3770 (message "=cut is not preceded by an empty line")
3771 (setq b1 t) 3771 (setq b1 t)
@@ -5003,7 +5003,7 @@ Returns some position at the last line."
5003 ;; Looking at: 5003 ;; Looking at:
5004 ;; else { 5004 ;; else {
5005 (if (looking-at 5005 (if (looking-at
5006 "[ \t]*}?[ \t]*\\<\\(\\els\\(e\\|if\\)\\|continue\\|unless\\|if\\|while\\|for\\(each\\)?\\|until\\)\\>\\(\t*\\|[ \t][ \t]+\\)[^ \t\n#]") 5006 "[ \t]*}?[ \t]*\\<\\(els\\(e\\|if\\)\\|continue\\|unless\\|if\\|while\\|for\\(each\\)?\\|until\\)\\>\\(\t*\\|[ \t][ \t]+\\)[^ \t\n#]")
5007 (progn 5007 (progn
5008 (forward-word-strictly 1) 5008 (forward-word-strictly 1)
5009 (delete-horizontal-space) 5009 (delete-horizontal-space)
@@ -5031,7 +5031,7 @@ Returns some position at the last line."
5031 ;; Looking at (with or without "}" at start, ending after "({"): 5031 ;; Looking at (with or without "}" at start, ending after "({"):
5032 ;; } foreach my $var () OR { 5032 ;; } foreach my $var () OR {
5033 (if (looking-at 5033 (if (looking-at
5034 "[ \t]*\\(}[ \t]*\\)?\\<\\(\\els\\(e\\|if\\)\\|continue\\|if\\|unless\\|while\\|for\\(each\\)?\\(\\([ \t]+\\(state\\|my\\|local\\|our\\)\\)?[ \t]*\\$[_a-zA-Z0-9]+\\)?\\|until\\)\\>\\([ \t]*(\\|[ \t\n]*{\\)\\|[ \t]*{") 5034 "[ \t]*\\(}[ \t]*\\)?\\<\\(els\\(e\\|if\\)\\|continue\\|if\\|unless\\|while\\|for\\(each\\)?\\(\\([ \t]+\\(state\\|my\\|local\\|our\\)\\)?[ \t]*\\$[_a-zA-Z0-9]+\\)?\\|until\\)\\>\\([ \t]*(\\|[ \t\n]*{\\)\\|[ \t]*{")
5035 (progn 5035 (progn
5036 (setq ml (match-beginning 8)) ; "(" or "{" after control word 5036 (setq ml (match-beginning 8)) ; "(" or "{" after control word
5037 (re-search-forward "[({]") 5037 (re-search-forward "[({]")
@@ -7347,7 +7347,7 @@ Currently it is tuned to C and Perl syntax."
7347 "-[a-zA-Z]" ; File test 7347 "-[a-zA-Z]" ; File test
7348 "\\\\[a-zA-Z0]" ; Special chars 7348 "\\\\[a-zA-Z0]" ; Special chars
7349 "^=[a-z][a-zA-Z0-9_]*" ; POD sections 7349 "^=[a-z][a-zA-Z0-9_]*" ; POD sections
7350 "[-!&*+,-./<=>?\\\\^|~]+" ; Operator 7350 "[-!&*+,./<=>?\\^|~]+" ; Operator
7351 "[a-zA-Z_0-9:]+" ; symbol or number 7351 "[a-zA-Z_0-9:]+" ; symbol or number
7352 "x=" 7352 "x="
7353 "#!") 7353 "#!")
@@ -7364,7 +7364,7 @@ Currently it is tuned to C and Perl syntax."
7364 ;; Does not save-excursion 7364 ;; Does not save-excursion
7365 ;; Get to the something meaningful 7365 ;; Get to the something meaningful
7366 (or (eobp) (eolp) (forward-char 1)) 7366 (or (eobp) (eolp) (forward-char 1))
7367 (re-search-backward "[-a-zA-Z0-9_:!&*+,-./<=>?\\\\^|~$%@]" 7367 (re-search-backward "[-a-zA-Z0-9_:!&*+,./<=>?\\^|~$%@]"
7368 (point-at-bol) 7368 (point-at-bol)
7369 'to-beg) 7369 'to-beg)
7370 ;; (cond 7370 ;; (cond
@@ -7391,8 +7391,8 @@ Currently it is tuned to C and Perl syntax."
7391 (forward-char -1)) 7391 (forward-char -1))
7392 ((and (looking-at "\\^") (eq (preceding-char) ?\$)) ; $^I 7392 ((and (looking-at "\\^") (eq (preceding-char) ?\$)) ; $^I
7393 (forward-char -1)) 7393 (forward-char -1))
7394 ((looking-at "[-!&*+,-./<=>?\\\\^|~]") 7394 ((looking-at "[-!&*+,./<=>?\\^|~]")
7395 (skip-chars-backward "-!&*+,-./<=>?\\\\^|~") 7395 (skip-chars-backward "-!&*+,./<=>?\\^|~")
7396 (cond 7396 (cond
7397 ((and (eq (preceding-char) ?\$) 7397 ((and (eq (preceding-char) ?\$)
7398 (not (eq (char-after (- (point) 2)) ?\$))) ; $- 7398 (not (eq (char-after (- (point) 2)) ?\$))) ; $-
@@ -8145,7 +8145,7 @@ prototype \\&SUB Returns prototype of the function given a reference.
8145 ;; Protect fragile " ", "#" 8145 ;; Protect fragile " ", "#"
8146 (if have-x nil 8146 (if have-x nil
8147 (goto-char (1+ b)) 8147 (goto-char (1+ b))
8148 (while (re-search-forward "\\(\\=\\|[^\\\\]\\)\\(\\\\\\\\\\)*[ \t\n#]" e t) ; Need to include (?#) too? 8148 (while (re-search-forward "\\(\\=\\|[^\\]\\)\\(\\\\\\\\\\)*[ \t\n#]" e t) ; Need to include (?#) too?
8149 (forward-char -1) 8149 (forward-char -1)
8150 (insert "\\") 8150 (insert "\\")
8151 (forward-char 1))) 8151 (forward-char 1)))
diff --git a/lisp/progmodes/dcl-mode.el b/lisp/progmodes/dcl-mode.el
index 17137cf3036..d5803c77bb4 100644
--- a/lisp/progmodes/dcl-mode.el
+++ b/lisp/progmodes/dcl-mode.el
@@ -1580,7 +1580,7 @@ Find the column of the first non-blank character on the line.
1580Returns the column offset." 1580Returns the column offset."
1581 (save-excursion 1581 (save-excursion
1582 (beginning-of-line) 1582 (beginning-of-line)
1583 (re-search-forward "^$[ \t]*" nil t) 1583 (re-search-forward "^\\$[ \t]*" nil t)
1584 (current-column))) 1584 (current-column)))
1585 1585
1586 1586
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el
index a2392328bac..c2715be5370 100644
--- a/lisp/progmodes/etags.el
+++ b/lisp/progmodes/etags.el
@@ -1645,7 +1645,7 @@ Point should be just after a string that matches TAG."
1645 ;; a textual description of the four rules. 1645 ;; a textual description of the four rules.
1646 (and (string-match "^[^ \t()=,;]+$" tag) ;rule #1 1646 (and (string-match "^[^ \t()=,;]+$" tag) ;rule #1
1647 ;; Rules #2 and #4, and a check that there's no explicit name. 1647 ;; Rules #2 and #4, and a check that there's no explicit name.
1648 (looking-at "[ \t()=,;]?\177\\(?:[0-9]+\\)?,\\(?:[0-9]+\\)?$") 1648 (looking-at "[ \t()=,;]?\177[0-9]*,[0-9]*$")
1649 (save-excursion 1649 (save-excursion
1650 (backward-char (1+ (length tag))) 1650 (backward-char (1+ (length tag)))
1651 (looking-at "[\n \t()=,;]")))) ;rule #3 1651 (looking-at "[\n \t()=,;]")))) ;rule #3
diff --git a/lisp/progmodes/fortran.el b/lisp/progmodes/fortran.el
index be272c09226..c1a267f4c5e 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."
2052 (when (<= (point) bos) 2052 (when (<= (point) bos)
2053 (move-to-column (1+ fill-column)) 2053 (move-to-column (1+ fill-column))
2054 ;; What is this doing??? 2054 ;; What is this doing???
2055 (or (re-search-forward "[\t\n,'+-/*)=]" eol t) 2055 (or (re-search-forward "[-\t\n,'+./*)=]" eol t)
2056 (goto-char bol))) 2056 (goto-char bol)))
2057 (if (bolp) 2057 (if (bolp)
2058 (re-search-forward "[ \t]" opoint t)) 2058 (re-search-forward "[ \t]" opoint t))
diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el
index b9654dd5c27..75e2deaa4ce 100644
--- a/lisp/progmodes/gdb-mi.el
+++ b/lisp/progmodes/gdb-mi.el
@@ -1373,7 +1373,7 @@ With arg, enter name of variable to be watched in the minibuffer."
1373TEXT is the text of the button we clicked on, a + or - item. 1373TEXT is the text of the button we clicked on, a + or - item.
1374TOKEN is data related to this node. 1374TOKEN is data related to this node.
1375INDENT is the current indentation depth." 1375INDENT is the current indentation depth."
1376 (cond ((string-match "+" text) ;expand this node 1376 (cond ((string-match "\\+" text) ;expand this node
1377 (let* ((var (assoc token gdb-var-list)) 1377 (let* ((var (assoc token gdb-var-list))
1378 (expr (nth 1 var)) (children (nth 2 var))) 1378 (expr (nth 1 var)) (children (nth 2 var)))
1379 (if (or (<= (string-to-number children) gdb-max-children) 1379 (if (or (<= (string-to-number children) gdb-max-children)
@@ -4153,7 +4153,7 @@ member."
4153 (when (not value) 4153 (when (not value)
4154 (setq value "<complex data type>")) 4154 (setq value "<complex data type>"))
4155 (if (or (not value) 4155 (if (or (not value)
4156 (string-match "\\0x" value)) 4156 (string-match "0x" value))
4157 (add-text-properties 0 (length name) 4157 (add-text-properties 0 (length name)
4158 `(mouse-face highlight 4158 `(mouse-face highlight
4159 help-echo "mouse-2: create watch expression" 4159 help-echo "mouse-2: create watch expression"
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el
index 3fd2a7e701c..a5427dd8b7e 100644
--- a/lisp/progmodes/grep.el
+++ b/lisp/progmodes/grep.el
@@ -457,13 +457,13 @@ abbreviated part can also be toggled with
457 (": \\(.+\\): \\(?:Permission denied\\|No such \\(?:file or directory\\|device or address\\)\\)$" 457 (": \\(.+\\): \\(?:Permission denied\\|No such \\(?:file or directory\\|device or address\\)\\)$"
458 1 grep-error-face) 458 1 grep-error-face)
459 ;; remove match from grep-regexp-alist before fontifying 459 ;; remove match from grep-regexp-alist before fontifying
460 ("^Grep[/a-zA-z]* started.*" 460 ("^Grep[/a-zA-Z]* started.*"
461 (0 '(face nil compilation-message nil help-echo nil mouse-face nil) t)) 461 (0 '(face nil compilation-message nil help-echo nil mouse-face nil) t))
462 ("^Grep[/a-zA-z]* finished with \\(?:\\(\\(?:[0-9]+ \\)?matches found\\)\\|\\(no matches found\\)\\).*" 462 ("^Grep[/a-zA-Z]* finished with \\(?:\\(\\(?:[0-9]+ \\)?matches found\\)\\|\\(no matches found\\)\\).*"
463 (0 '(face nil compilation-message nil help-echo nil mouse-face nil) t) 463 (0 '(face nil compilation-message nil help-echo nil mouse-face nil) t)
464 (1 compilation-info-face nil t) 464 (1 compilation-info-face nil t)
465 (2 compilation-warning-face nil t)) 465 (2 compilation-warning-face nil t))
466 ("^Grep[/a-zA-z]* \\(exited abnormally\\|interrupt\\|killed\\|terminated\\)\\(?:.*with code \\([0-9]+\\)\\)?.*" 466 ("^Grep[/a-zA-Z]* \\(exited abnormally\\|interrupt\\|killed\\|terminated\\)\\(?:.*with code \\([0-9]+\\)\\)?.*"
467 (0 '(face nil compilation-message nil help-echo nil mouse-face nil) t) 467 (0 '(face nil compilation-message nil help-echo nil mouse-face nil) t)
468 (1 grep-error-face) 468 (1 grep-error-face)
469 (2 grep-error-face nil t)) 469 (2 grep-error-face nil t))
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index d8cae41899b..92f5205a6d6 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -2237,7 +2237,7 @@ relative to a classpath directory."
2237 (split-string 2237 (split-string
2238 ;; Eliminate any subclass references in the class 2238 ;; Eliminate any subclass references in the class
2239 ;; name string. These start with a "$" 2239 ;; name string. These start with a "$"
2240 (if (string-match "$.*" p) 2240 (if (string-match "\\$.*" p)
2241 (replace-match "" t t p) p) 2241 (replace-match "" t t p) p)
2242 "\\.") "/") 2242 "\\.") "/")
2243 ".java")) 2243 ".java"))
diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el
index 532739daae1..f1ec5ceea56 100644
--- a/lisp/progmodes/js.el
+++ b/lisp/progmodes/js.el
@@ -1838,7 +1838,7 @@ This performs fontification according to `js--class-styles'."
1838 (save-excursion (backward-char) (not (looking-at "[/*]/\\|=>"))) 1838 (save-excursion (backward-char) (not (looking-at "[/*]/\\|=>")))
1839 (js--looking-at-operator-p) 1839 (js--looking-at-operator-p)
1840 (and (progn (backward-char) 1840 (and (progn (backward-char)
1841 (not (looking-at "+\\+\\|--\\|/[/*]")))))))))) 1841 (not (looking-at "\\+\\+\\|--\\|/[/*]"))))))))))
1842 1842
1843(defun js--skip-term-backward () 1843(defun js--skip-term-backward ()
1844 "Skip a term before point; return t if a term was skipped." 1844 "Skip a term before point; return t if a term was skipped."
diff --git a/lisp/progmodes/m4-mode.el b/lisp/progmodes/m4-mode.el
index 9c9bee1c51c..98b812f52f6 100644
--- a/lisp/progmodes/m4-mode.el
+++ b/lisp/progmodes/m4-mode.el
@@ -65,7 +65,7 @@ If m4 is not in your PATH, set this to an absolute file name."
65(defvar m4-font-lock-keywords 65(defvar m4-font-lock-keywords
66 '(("\\(\\_<\\(m4_\\)?dnl\\_>\\).*$" . font-lock-comment-face) 66 '(("\\(\\_<\\(m4_\\)?dnl\\_>\\).*$" . font-lock-comment-face)
67 ("\\$[*#@0-9]" . font-lock-variable-name-face) 67 ("\\$[*#@0-9]" . font-lock-variable-name-face)
68 ("\\$\\@" . font-lock-variable-name-face) 68 ("\\$@" . font-lock-variable-name-face)
69 ("\\$\\*" . font-lock-variable-name-face) 69 ("\\$\\*" . font-lock-variable-name-face)
70 ("\\_<\\(m4_\\)?\\(builtin\\|change\\(com\\|quote\\|word\\)\\|d\\(e\\(bug\\(file\\|mode\\)\\|cr\\|f\\(ine\\|n\\)\\)\\|iv\\(ert\\|num\\)\\|nl\\|umpdef\\)\\|e\\(rrprint\\|syscmd\\|val\\)\\|f\\(ile\\|ormat\\)\\|gnu\\|i\\(f\\(def\\|else\\)\\|n\\(c\\(lude\\|r\\)\\|d\\(ex\\|ir\\)\\)\\)\\|l\\(en\\|ine\\)\\|m\\(4\\(exit\\|wrap\\)\\|aketemp\\)\\|p\\(atsubst\\|opdef\\|ushdef\\)\\|regexp\\|s\\(hift\\|include\\|ubstr\\|ys\\(cmd\\|val\\)\\)\\|tra\\(ceo\\(ff\\|n\\)\\|nslit\\)\\|un\\(d\\(efine\\|ivert\\)\\|ix\\)\\)\\_>" . font-lock-keyword-face)) 70 ("\\_<\\(m4_\\)?\\(builtin\\|change\\(com\\|quote\\|word\\)\\|d\\(e\\(bug\\(file\\|mode\\)\\|cr\\|f\\(ine\\|n\\)\\)\\|iv\\(ert\\|num\\)\\|nl\\|umpdef\\)\\|e\\(rrprint\\|syscmd\\|val\\)\\|f\\(ile\\|ormat\\)\\|gnu\\|i\\(f\\(def\\|else\\)\\|n\\(c\\(lude\\|r\\)\\|d\\(ex\\|ir\\)\\)\\)\\|l\\(en\\|ine\\)\\|m\\(4\\(exit\\|wrap\\)\\|aketemp\\)\\|p\\(atsubst\\|opdef\\|ushdef\\)\\|regexp\\|s\\(hift\\|include\\|ubstr\\|ys\\(cmd\\|val\\)\\)\\|tra\\(ceo\\(ff\\|n\\)\\|nslit\\)\\|un\\(d\\(efine\\|ivert\\)\\|ix\\)\\)\\_>" . font-lock-keyword-face))
71 "Default `font-lock-keywords' for M4 mode.") 71 "Default `font-lock-keywords' for M4 mode.")
diff --git a/lisp/progmodes/meta-mode.el b/lisp/progmodes/meta-mode.el
index 34b8bbbd399..8d3745be7c9 100644
--- a/lisp/progmodes/meta-mode.el
+++ b/lisp/progmodes/meta-mode.el
@@ -666,7 +666,7 @@ If the list was changed, sort the list and remove duplicates first."
666 (let ((count 0)) 666 (let ((count 0))
667 (narrow-to-region 667 (narrow-to-region
668 (point) (save-excursion 668 (point) (save-excursion
669 (re-search-forward "[^\\\\\"]%\\|\n\\|\\'" nil t) 669 (re-search-forward "[^\\\"]%\\|\n\\|\\'" nil t)
670 (backward-char) (point))) 670 (backward-char) (point)))
671 (while (re-search-forward "\\<\\sw+\\>\\|(\\|)" nil t) 671 (while (re-search-forward "\\<\\sw+\\>\\|(\\|)" nil t)
672 (save-excursion 672 (save-excursion
diff --git a/lisp/progmodes/mixal-mode.el b/lisp/progmodes/mixal-mode.el
index 1ea4b330935..a759709b5c8 100644
--- a/lisp/progmodes/mixal-mode.el
+++ b/lisp/progmodes/mixal-mode.el
@@ -1044,7 +1044,7 @@ EXECUTION-TIME holds info about the time it takes, number or string.")
1044 . mixal-font-lock-operation-code-face) 1044 . mixal-font-lock-operation-code-face)
1045 (,(regexp-opt mixal-assembly-pseudoinstructions 'words) 1045 (,(regexp-opt mixal-assembly-pseudoinstructions 'words)
1046 . mixal-font-lock-assembly-pseudoinstruction-face) 1046 . mixal-font-lock-assembly-pseudoinstruction-face)
1047 ("^[A-Z0-9a-z]*[ \t]+[A-ZO-9a-z]+[ \t]+\\(=.*=\\)" 1047 ("^[A-Z0-9a-z]*[ \t]+[A-Z0-9a-z]+[ \t]+\\(=.*=\\)"
1048 (1 font-lock-constant-face))) 1048 (1 font-lock-constant-face)))
1049 "Keyword highlighting specification for `mixal-mode'.") 1049 "Keyword highlighting specification for `mixal-mode'.")
1050;; (makunbound 'mixal-font-lock-keywords) 1050;; (makunbound 'mixal-font-lock-keywords)
diff --git a/lisp/progmodes/opascal.el b/lisp/progmodes/opascal.el
index 7cc6882f8b8..7d51816bf40 100644
--- a/lisp/progmodes/opascal.el
+++ b/lisp/progmodes/opascal.el
@@ -1519,7 +1519,7 @@ value of `opascal-tab-always-indents' and the current line position."
1519 (setq dir-name (match-string 1 dir-name) 1519 (setq dir-name (match-string 1 dir-name)
1520 recurse t)) 1520 recurse t))
1521 ;; Ensure the trailing slash is removed. 1521 ;; Ensure the trailing slash is removed.
1522 (if (string-match "^\\(.+\\)[\\\\/]$" dir-name) 1522 (if (string-match "^\\(.+\\)[\\/]$" dir-name)
1523 (setq dir-name (match-string 1 dir-name))) 1523 (setq dir-name (match-string 1 dir-name)))
1524 (opascal-search-directory unit dir-name recurse))) 1524 (opascal-search-directory unit dir-name recurse)))
1525 1525
diff --git a/lisp/progmodes/pascal.el b/lisp/progmodes/pascal.el
index 81fff826bcb..cae514aa75b 100644
--- a/lisp/progmodes/pascal.el
+++ b/lisp/progmodes/pascal.el
@@ -117,7 +117,7 @@
117(defconst pascal-beg-block-re "\\<\\(begin\\|case\\|record\\|repeat\\)\\>") 117(defconst pascal-beg-block-re "\\<\\(begin\\|case\\|record\\|repeat\\)\\>")
118(defconst pascal-end-block-re "\\<\\(end\\|until\\)\\>") 118(defconst pascal-end-block-re "\\<\\(end\\|until\\)\\>")
119(defconst pascal-declaration-re "\\<\\(const\\|label\\|type\\|var\\)\\>") 119(defconst pascal-declaration-re "\\<\\(const\\|label\\|type\\|var\\)\\>")
120(defconst pascal-progbeg-re "\\<\\program\\>") 120(defconst pascal-progbeg-re "\\<program\\>")
121(defconst pascal-defun-re "\\<\\(function\\|procedure\\|program\\)\\>") 121(defconst pascal-defun-re "\\<\\(function\\|procedure\\|program\\)\\>")
122(defconst pascal-sub-block-re "\\<\\(if\\|else\\|for\\|while\\|with\\)\\>") 122(defconst pascal-sub-block-re "\\<\\(if\\|else\\|for\\|while\\|with\\)\\>")
123(defconst pascal-noindent-re "\\<\\(begin\\|end\\|until\\|else\\)\\>") 123(defconst pascal-noindent-re "\\<\\(begin\\|end\\|until\\|else\\)\\>")
diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el
index e83778af946..e575d6cc16c 100644
--- a/lisp/progmodes/ruby-mode.el
+++ b/lisp/progmodes/ruby-mode.el
@@ -108,7 +108,7 @@
108 "Regexp to match the beginning of a heredoc.") 108 "Regexp to match the beginning of a heredoc.")
109 109
110 (defconst ruby-expression-expansion-re 110 (defconst ruby-expression-expansion-re
111 "\\(?:[^\\]\\|\\=\\)\\(\\\\\\\\\\)*\\(#\\({[^}\n\\\\]*\\(\\\\.[^}\n\\\\]*\\)*}\\|\\(\\$\\|@\\|@@\\)\\(\\w\\|_\\)+\\|\\$[^a-zA-Z \n]\\)\\)")) 111 "\\(?:[^\\]\\|\\=\\)\\(\\\\\\\\\\)*\\(#\\({[^}\n\\]*\\(\\\\.[^}\n\\]*\\)*}\\|\\(\\$\\|@\\|@@\\)\\(\\w\\|_\\)+\\|\\$[^a-zA-Z \n]\\)\\)"))
112 112
113(defun ruby-here-doc-end-match () 113(defun ruby-here-doc-end-match ()
114 "Return a regexp to find the end of a heredoc. 114 "Return a regexp to find the end of a heredoc.
@@ -929,9 +929,9 @@ Can be one of `heredoc', `modifier', `expr-qstr', `expr-re'."
929 (goto-char (match-end 0)) 929 (goto-char (match-end 0))
930 (not (looking-at "\\s_"))) 930 (not (looking-at "\\s_")))
931 ((eq option 'expr-qstr) 931 ((eq option 'expr-qstr)
932 (looking-at "[a-zA-Z][a-zA-z0-9_]* +%[^ \t]")) 932 (looking-at "[a-zA-Z][a-zA-Z0-9_]* +%[^ \t]"))
933 ((eq option 'expr-re) 933 ((eq option 'expr-re)
934 (looking-at "[a-zA-Z][a-zA-z0-9_]* +/[^ \t]")) 934 (looking-at "[a-zA-Z][a-zA-Z0-9_]* +/[^ \t]"))
935 (t nil))))))))) 935 (t nil)))))))))
936 936
937(defun ruby-forward-string (term &optional end no-error expand) 937(defun ruby-forward-string (term &optional end no-error expand)
@@ -1047,7 +1047,7 @@ delimiter."
1047 ((looking-at "\\?") ;skip ?char 1047 ((looking-at "\\?") ;skip ?char
1048 (cond 1048 (cond
1049 ((and (ruby-expr-beg) 1049 ((and (ruby-expr-beg)
1050 (looking-at "?\\(\\\\C-\\|\\\\M-\\)*\\\\?.")) 1050 (looking-at "\\?\\(\\\\C-\\|\\\\M-\\)*\\\\?."))
1051 (goto-char (match-end 0))) 1051 (goto-char (match-end 0)))
1052 (t 1052 (t
1053 (goto-char pnt)))) 1053 (goto-char pnt))))
@@ -1794,8 +1794,8 @@ If the result is do-end block, it will always be multiline."
1794 (buffer-substring-no-properties (1+ min) (1- max)))) 1794 (buffer-substring-no-properties (1+ min) (1- max))))
1795 (setq content 1795 (setq content
1796 (if (equal string-quote "'") 1796 (if (equal string-quote "'")
1797 (replace-regexp-in-string "\\\\\"" "\"" (replace-regexp-in-string "\\(\\`\\|[^\\\\]\\)'" "\\1\\\\'" content)) 1797 (replace-regexp-in-string "\\\\\"" "\"" (replace-regexp-in-string "\\(\\`\\|[^\\]\\)'" "\\1\\\\'" content))
1798 (replace-regexp-in-string "\\\\'" "'" (replace-regexp-in-string "\\(\\`\\|[^\\\\]\\)\"" "\\1\\\\\"" content)))) 1798 (replace-regexp-in-string "\\\\'" "'" (replace-regexp-in-string "\\(\\`\\|[^\\]\\)\"" "\\1\\\\\"" content))))
1799 (let ((orig-point (point))) 1799 (let ((orig-point (point)))
1800 (delete-region min max) 1800 (delete-region min max)
1801 (insert 1801 (insert
@@ -2178,7 +2178,7 @@ It will be properly highlighted even when the call omits parens.")
2178 font-lock-constant-face) 2178 font-lock-constant-face)
2179 nil t)) 2179 nil t))
2180 ;; Special globals. 2180 ;; Special globals.
2181 (,(concat "\\$\\(?:[:\"!@;,/\\._><\\$?~=*&`'+0-9]\\|-[0adFiIlpvw]\\|" 2181 (,(concat "\\$\\(?:[:\"!@;,/._><\\$?~=*&`'+0-9]\\|-[0adFiIlpvw]\\|"
2182 (regexp-opt '("LOAD_PATH" "LOADED_FEATURES" "PROGRAM_NAME" 2182 (regexp-opt '("LOAD_PATH" "LOADED_FEATURES" "PROGRAM_NAME"
2183 "ERROR_INFO" "ERROR_POSITION" 2183 "ERROR_INFO" "ERROR_POSITION"
2184 "FS" "FIELD_SEPARATOR" 2184 "FS" "FIELD_SEPARATOR"
diff --git a/lisp/progmodes/sql.el b/lisp/progmodes/sql.el
index 2a42e7f4515..6d91d84fa70 100644
--- a/lisp/progmodes/sql.el
+++ b/lisp/progmodes/sql.el
@@ -3225,11 +3225,11 @@ appended to the SQLi buffer without disturbing your SQL buffer.")
3225 "Return a docstring for `sql-help' listing loaded SQL products." 3225 "Return a docstring for `sql-help' listing loaded SQL products."
3226 (let ((doc sql--help-docstring)) 3226 (let ((doc sql--help-docstring))
3227 ;; Insert FREE software list 3227 ;; Insert FREE software list
3228 (when (string-match "^\\(\\s-*\\)[\\\\][\\\\]FREE\\s-*$" doc 0) 3228 (when (string-match "^\\(\\s-*\\)[\\][\\]FREE\\s-*$" doc 0)
3229 (setq doc (replace-match (sql-help-list-products (match-string 1 doc) t) 3229 (setq doc (replace-match (sql-help-list-products (match-string 1 doc) t)
3230 t t doc 0))) 3230 t t doc 0)))
3231 ;; Insert non-FREE software list 3231 ;; Insert non-FREE software list
3232 (when (string-match "^\\(\\s-*\\)[\\\\][\\\\]NONFREE\\s-*$" doc 0) 3232 (when (string-match "^\\(\\s-*\\)[\\][\\]NONFREE\\s-*$" doc 0)
3233 (setq doc (replace-match (sql-help-list-products (match-string 1 doc) nil) 3233 (setq doc (replace-match (sql-help-list-products (match-string 1 doc) nil)
3234 t t doc 0))) 3234 t t doc 0)))
3235 doc)) 3235 doc))
diff --git a/lisp/progmodes/verilog-mode.el b/lisp/progmodes/verilog-mode.el
index a949a461c11..e1003378b2e 100644
--- a/lisp/progmodes/verilog-mode.el
+++ b/lisp/progmodes/verilog-mode.el
@@ -2786,7 +2786,7 @@ find the errors."
2786(defconst verilog-behavioral-block-beg-re 2786(defconst verilog-behavioral-block-beg-re
2787 (eval-when-compile (verilog-regexp-words '("initial" "final" "always" "always_comb" "always_latch" "always_ff" 2787 (eval-when-compile (verilog-regexp-words '("initial" "final" "always" "always_comb" "always_latch" "always_ff"
2788 "function" "task")))) 2788 "function" "task"))))
2789(defconst verilog-coverpoint-re "\\w+\\s*:\\s*\\(coverpoint\\|cross\\constraint\\)" ) 2789(defconst verilog-coverpoint-re "\\w+\\s-*:\\s-*\\(coverpoint\\|cross\\constraint\\)" )
2790(defconst verilog-in-constraint-re ; keywords legal in constraint blocks starting a statement/block 2790(defconst verilog-in-constraint-re ; keywords legal in constraint blocks starting a statement/block
2791 (eval-when-compile (verilog-regexp-words '("if" "else" "solve" "foreach")))) 2791 (eval-when-compile (verilog-regexp-words '("if" "else" "solve" "foreach"))))
2792 2792
@@ -6559,7 +6559,7 @@ Return >0 for nested struct."
6559 (skip-chars-forward " \t\n\f") 6559 (skip-chars-forward " \t\n\f")
6560 (while 6560 (while
6561 (cond 6561 (cond
6562 ((looking-at "\\/\\*") 6562 ((looking-at "/\\*")
6563 (progn 6563 (progn
6564 (setq h (point)) 6564 (setq h (point))
6565 (goto-char (match-end 0)) 6565 (goto-char (match-end 0))
@@ -8952,7 +8952,7 @@ Inserts the list of signals found."
8952 (error "%s: Unmatched (* *), at char %d" (verilog-point-text) (point)))) 8952 (error "%s: Unmatched (* *), at char %d" (verilog-point-text) (point))))
8953 ;; On pins, parse and advance to next pin 8953 ;; On pins, parse and advance to next pin
8954 ;; Looking at pin, but *not* an // Output comment, or ) to end the inst 8954 ;; Looking at pin, but *not* an // Output comment, or ) to end the inst
8955 ((looking-at "\\s-*[a-zA-Z0-9`_$({}\\\\][^,]*") 8955 ((looking-at "\\s-*[a-zA-Z0-9`_$({}\\][^,]*")
8956 (goto-char (match-end 0)) 8956 (goto-char (match-end 0))
8957 (setq verilog-read-sub-decls-gate-ios (or (car iolist) "input") 8957 (setq verilog-read-sub-decls-gate-ios (or (car iolist) "input")
8958 iolist (cdr iolist)) 8958 iolist (cdr iolist))
@@ -9357,7 +9357,7 @@ Returns REGEXP and list of ( (signal_name connection_name)... )."
9357 ;; Regexp form?? 9357 ;; Regexp form??
9358 ((looking-at 9358 ((looking-at
9359 ;; Regexp bug in XEmacs disallows ][ inside [], and wants + last 9359 ;; Regexp bug in XEmacs disallows ][ inside [], and wants + last
9360 "\\s-*\\.\\(\\([a-zA-Z0-9`_$+@^.*?|---]\\|[][]\\|\\\\[()|]\\)+\\)\\s-*(\\(.*\\))\\s-*\\(,\\|)\\s-*;\\)") 9360 "\\s-*\\.\\(\\([-a-zA-Z0-9`_$+@^.*?]\\|[][]\\|\\\\[()|]\\)+\\)\\s-*(\\(.*\\))\\s-*\\(,\\|)\\s-*;\\)")
9361 (setq rep (match-string-no-properties 3)) 9361 (setq rep (match-string-no-properties 3))
9362 (goto-char (match-end 0)) 9362 (goto-char (match-end 0))
9363 (setq tpl-wild-list 9363 (setq tpl-wild-list
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el
index b8297c4847e..1dc0c61d063 100644
--- a/lisp/progmodes/vhdl-mode.el
+++ b/lisp/progmodes/vhdl-mode.el
@@ -2474,7 +2474,7 @@ specified."
2474 2474
2475(defun vhdl-resolve-env-variable (string) 2475(defun vhdl-resolve-env-variable (string)
2476 "Resolve environment variables in STRING." 2476 "Resolve environment variables in STRING."
2477 (while (string-match "\\(.*\\)${?\\(\\(\\w\\|_\\)+\\)}?\\(.*\\)" string) 2477 (while (string-match "\\(.*\\)\\${?\\(\\(\\w\\|_\\)+\\)}?\\(.*\\)" string)
2478 (setq string (concat (match-string 1 string) 2478 (setq string (concat (match-string 1 string)
2479 (getenv (match-string 2 string)) 2479 (getenv (match-string 2 string))
2480 (match-string 4 string)))) 2480 (match-string 4 string))))
@@ -15115,7 +15115,7 @@ otherwise use cached data."
15115(defun vhdl-speedbar-expand-project (text token indent) 15115(defun vhdl-speedbar-expand-project (text token indent)
15116 "Expand/contract the project under the cursor." 15116 "Expand/contract the project under the cursor."
15117 (cond 15117 (cond
15118 ((string-match "+" text) ; expand project 15118 ((string-match "\\+" text) ; expand project
15119 (speedbar-change-expand-button-char ?-) 15119 (speedbar-change-expand-button-char ?-)
15120 (unless (member token vhdl-speedbar-shown-project-list) 15120 (unless (member token vhdl-speedbar-shown-project-list)
15121 (setq vhdl-speedbar-shown-project-list 15121 (setq vhdl-speedbar-shown-project-list
@@ -15137,7 +15137,7 @@ otherwise use cached data."
15137(defun vhdl-speedbar-expand-entity (text token indent) 15137(defun vhdl-speedbar-expand-entity (text token indent)
15138 "Expand/contract the entity under the cursor." 15138 "Expand/contract the entity under the cursor."
15139 (cond 15139 (cond
15140 ((string-match "+" text) ; expand entity 15140 ((string-match "\\+" text) ; expand entity
15141 (let* ((key (vhdl-speedbar-line-key indent)) 15141 (let* ((key (vhdl-speedbar-line-key indent))
15142 (ent-alist (vhdl-aget vhdl-entity-alist key)) 15142 (ent-alist (vhdl-aget vhdl-entity-alist key))
15143 (ent-entry (vhdl-aget ent-alist token)) 15143 (ent-entry (vhdl-aget ent-alist token))
@@ -15206,7 +15206,7 @@ otherwise use cached data."
15206(defun vhdl-speedbar-expand-architecture (text token indent) 15206(defun vhdl-speedbar-expand-architecture (text token indent)
15207 "Expand/contract the architecture under the cursor." 15207 "Expand/contract the architecture under the cursor."
15208 (cond 15208 (cond
15209 ((string-match "+" text) ; expand architecture 15209 ((string-match "\\+" text) ; expand architecture
15210 (let* ((key (vhdl-speedbar-line-key (1- indent))) 15210 (let* ((key (vhdl-speedbar-line-key (1- indent)))
15211 (ent-alist (vhdl-aget vhdl-entity-alist key)) 15211 (ent-alist (vhdl-aget vhdl-entity-alist key))
15212 (conf-alist (vhdl-aget vhdl-config-alist key)) 15212 (conf-alist (vhdl-aget vhdl-config-alist key))
@@ -15266,7 +15266,7 @@ otherwise use cached data."
15266(defun vhdl-speedbar-expand-config (text token indent) 15266(defun vhdl-speedbar-expand-config (text token indent)
15267 "Expand/contract the configuration under the cursor." 15267 "Expand/contract the configuration under the cursor."
15268 (cond 15268 (cond
15269 ((string-match "+" text) ; expand configuration 15269 ((string-match "\\+" text) ; expand configuration
15270 (let* ((key (vhdl-speedbar-line-key indent)) 15270 (let* ((key (vhdl-speedbar-line-key indent))
15271 (conf-alist (vhdl-aget vhdl-config-alist key)) 15271 (conf-alist (vhdl-aget vhdl-config-alist key))
15272 (conf-entry (vhdl-aget conf-alist token)) 15272 (conf-entry (vhdl-aget conf-alist token))
@@ -15324,7 +15324,7 @@ otherwise use cached data."
15324(defun vhdl-speedbar-expand-package (text token indent) 15324(defun vhdl-speedbar-expand-package (text token indent)
15325 "Expand/contract the package under the cursor." 15325 "Expand/contract the package under the cursor."
15326 (cond 15326 (cond
15327 ((string-match "+" text) ; expand package 15327 ((string-match "\\+" text) ; expand package
15328 (let* ((key (vhdl-speedbar-line-key indent)) 15328 (let* ((key (vhdl-speedbar-line-key indent))
15329 (pack-alist (vhdl-aget vhdl-package-alist key)) 15329 (pack-alist (vhdl-aget vhdl-package-alist key))
15330 (pack-entry (vhdl-aget pack-alist token)) 15330 (pack-entry (vhdl-aget pack-alist token))
@@ -15729,7 +15729,7 @@ NO-POSITION non-nil means do not re-position cursor."
15729 15729
15730(defun vhdl-speedbar-dired (text token indent) 15730(defun vhdl-speedbar-dired (text token indent)
15731 "Speedbar click handler for directory expand button in hierarchy mode." 15731 "Speedbar click handler for directory expand button in hierarchy mode."
15732 (cond ((string-match "+" text) ; we have to expand this dir 15732 (cond ((string-match "\\+" text) ; we have to expand this dir
15733 (setq speedbar-shown-directories 15733 (setq speedbar-shown-directories
15734 (cons (expand-file-name 15734 (cons (expand-file-name
15735 (concat (speedbar-line-directory indent) token "/")) 15735 (concat (speedbar-line-directory indent) token "/"))
diff --git a/lisp/speedbar.el b/lisp/speedbar.el
index 5a8f300195a..46b3f2ea90b 100644
--- a/lisp/speedbar.el
+++ b/lisp/speedbar.el
@@ -3353,7 +3353,7 @@ Handles end-of-sublist smartly."
3353Clicking this button expands or contracts a directory. TEXT is the 3353Clicking this button expands or contracts a directory. TEXT is the
3354button clicked which has either a + or -. TOKEN is the directory to be 3354button clicked which has either a + or -. TOKEN is the directory to be
3355expanded. INDENT is the current indentation level." 3355expanded. INDENT is the current indentation level."
3356 (cond ((string-match "+" text) ;we have to expand this dir 3356 (cond ((string-match "\\+" text) ;we have to expand this dir
3357 (setq speedbar-shown-directories 3357 (setq speedbar-shown-directories
3358 (cons (expand-file-name 3358 (cons (expand-file-name
3359 (concat (speedbar-line-directory indent) token "/")) 3359 (concat (speedbar-line-directory indent) token "/"))
@@ -3402,7 +3402,7 @@ INDENT is the current indentation level and is unused."
3402The parameter TEXT and TOKEN are required, where TEXT is the button 3402The parameter TEXT and TOKEN are required, where TEXT is the button
3403clicked, and TOKEN is the file to expand. INDENT is the current 3403clicked, and TOKEN is the file to expand. INDENT is the current
3404indentation level." 3404indentation level."
3405 (cond ((string-match "+" text) ;we have to expand this file 3405 (cond ((string-match "\\+" text) ;we have to expand this file
3406 (let* ((fn (expand-file-name (concat (speedbar-line-directory indent) 3406 (let* ((fn (expand-file-name (concat (speedbar-line-directory indent)
3407 token))) 3407 token)))
3408 (lst (speedbar-fetch-dynamic-tags fn))) 3408 (lst (speedbar-fetch-dynamic-tags fn)))
@@ -3443,7 +3443,7 @@ INDENT is the current indentation level."
3443 "Expand a tag sublist. Imenu will return sub-lists of specialized tag types. 3443 "Expand a tag sublist. Imenu will return sub-lists of specialized tag types.
3444Etags does not support this feature. TEXT will be the button string. 3444Etags does not support this feature. TEXT will be the button string.
3445TOKEN will be the list, and INDENT is the current indentation level." 3445TOKEN will be the list, and INDENT is the current indentation level."
3446 (cond ((string-match "+" text) ;we have to expand this file 3446 (cond ((string-match "\\+" text) ;we have to expand this file
3447 (speedbar-change-expand-button-char ?-) 3447 (speedbar-change-expand-button-char ?-)
3448 (speedbar-with-writable 3448 (speedbar-with-writable
3449 (save-excursion 3449 (save-excursion
diff --git a/lisp/textmodes/dns-mode.el b/lisp/textmodes/dns-mode.el
index 07463e4e390..b303e1918eb 100644
--- a/lisp/textmodes/dns-mode.el
+++ b/lisp/textmodes/dns-mode.el
@@ -114,9 +114,9 @@
114 "26.1" 'set) 114 "26.1" 'set)
115 115
116(defcustom dns-mode-font-lock-keywords 116(defcustom dns-mode-font-lock-keywords
117 `((,(concat "^$" (regexp-opt dns-mode-control-entities)) 117 `((,(concat "^\\$" (regexp-opt dns-mode-control-entities))
118 0 ,dns-mode-control-entity-face) 118 0 ,dns-mode-control-entity-face)
119 ("^$[a-z0-9A-Z]+" 0 ,dns-mode-bad-control-entity-face) 119 ("^\\$[a-z0-9A-Z]+" 0 ,dns-mode-bad-control-entity-face)
120 (,(regexp-opt dns-mode-classes) 0 ,dns-mode-class-face) 120 (,(regexp-opt dns-mode-classes) 0 ,dns-mode-class-face)
121 (,(regexp-opt dns-mode-types) 0 ,dns-mode-type-face)) 121 (,(regexp-opt dns-mode-types) 0 ,dns-mode-type-face))
122 "Font lock keywords used to highlight text in DNS master file mode." 122 "Font lock keywords used to highlight text in DNS master file mode."
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index 5e6ea52bff0..d18916dfd01 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -929,7 +929,7 @@ Mostly we check word delimiters."
929 (or (string= "" ispell-otherchars) 929 (or (string= "" ispell-otherchars)
930 (not (looking-at ispell-otherchars))) 930 (not (looking-at ispell-otherchars)))
931 (or flyspell-consider-dash-as-word-delimiter-flag 931 (or flyspell-consider-dash-as-word-delimiter-flag
932 (not (looking-at "\\-"))) 932 (not (looking-at "-")))
933 2))))) 933 2)))))
934 (format " because : %S\n" 934 (format " because : %S\n"
935 (cond 935 (cond
@@ -947,7 +947,7 @@ Mostly we check word delimiters."
947 (or (string= "" ispell-otherchars) 947 (or (string= "" ispell-otherchars)
948 (not (looking-at ispell-otherchars))) 948 (not (looking-at ispell-otherchars)))
949 (or flyspell-consider-dash-as-word-delimiter-flag 949 (or flyspell-consider-dash-as-word-delimiter-flag
950 (not (looking-at "\\-"))))))) 950 (not (looking-at "-")))))))
951 ;; Yes because we have reached or typed a word delimiter. 951 ;; Yes because we have reached or typed a word delimiter.
952 'separator) 952 'separator)
953 ((not (integerp flyspell-delay)) 953 ((not (integerp flyspell-delay))
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index cc8ec2652f7..35dae7bc432 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -3475,7 +3475,7 @@ Returns the sum SHIFT due to changes in word replacements."
3475 ;; Error in tex mode when a potential math mode change exists. 3475 ;; Error in tex mode when a potential math mode change exists.
3476 (if (and replace (listp replace) (= 2 (length replace))) 3476 (if (and replace (listp replace) (= 2 (length replace)))
3477 (if (and (eq ispell-parser 'tex) 3477 (if (and (eq ispell-parser 'tex)
3478 (string-match "[\\\\][]()[]\\|\\\\begin\\|\\$" 3478 (string-match "[\\][]()[]\\|\\\\begin\\|\\$"
3479 (regexp-quote string))) 3479 (regexp-quote string)))
3480 (error 3480 (error
3481 "Don't start query replace on a line with math characters" 3481 "Don't start query replace on a line with math characters"
diff --git a/lisp/textmodes/reftex-cite.el b/lisp/textmodes/reftex-cite.el
index 851e46ca2d5..5b42b25f772 100644
--- a/lisp/textmodes/reftex-cite.el
+++ b/lisp/textmodes/reftex-cite.el
@@ -172,7 +172,7 @@ If RETURN is non-nil, just return the entry and restore point."
172 (if item 172 (if item
173 (progn (end-of-line) 173 (progn (end-of-line)
174 (re-search-forward 174 (re-search-forward
175 "\\\\bibitem\\|\\end{thebibliography}") 175 "\\\\bibitem\\|\\\\end{thebibliography}")
176 (1- (match-beginning 0))) 176 (1- (match-beginning 0)))
177 (progn (forward-list 1) (point))) 177 (progn (forward-list 1) (point)))
178 (error (min (point-max) (+ 300 (point))))))) 178 (error (min (point-max) (+ 300 (point)))))))
@@ -447,7 +447,7 @@ If FIELD is empty try \"editor\" field."
447 (setq names (reftex-get-bib-field "editor" entry))) 447 (setq names (reftex-get-bib-field "editor" entry)))
448 (while (string-match "\\band\\b[ \t]*" names) 448 (while (string-match "\\band\\b[ \t]*" names)
449 (setq names (replace-match "\n" nil t names))) 449 (setq names (replace-match "\n" nil t names)))
450 (while (string-match "[\\.a-zA-Z\\-]+\\.[ \t]*\\|,.*\\|[{}]+" names) 450 (while (string-match "[-.a-zA-Z]+\\.[ \t]*\\|,.*\\|[{}]+" names)
451 (setq names (replace-match "" nil t names))) 451 (setq names (replace-match "" nil t names)))
452 (while (string-match "^[ \t]+\\|[ \t]+$" names) 452 (while (string-match "^[ \t]+\\|[ \t]+$" names)
453 (setq names (replace-match "" nil t names))) 453 (setq names (replace-match "" nil t names)))
diff --git a/lisp/textmodes/reftex-ref.el b/lisp/textmodes/reftex-ref.el
index 5833ab32ed2..3ec96aa67db 100644
--- a/lisp/textmodes/reftex-ref.el
+++ b/lisp/textmodes/reftex-ref.el
@@ -308,7 +308,7 @@ also applies `reftex-translate-to-ascii-function' to the string."
308 ;; Replace %escapes in a label prefix 308 ;; Replace %escapes in a label prefix
309 (save-match-data 309 (save-match-data
310 (let (letter (num 0) replace) 310 (let (letter (num 0) replace)
311 (while (string-match "\\%\\([a-zA-Z]\\)" prefix num) 311 (while (string-match "%\\([a-zA-Z]\\)" prefix num)
312 (setq letter (match-string 1 prefix)) 312 (setq letter (match-string 1 prefix))
313 (setq replace 313 (setq replace
314 (save-match-data 314 (save-match-data
diff --git a/lisp/url/url-parse.el b/lisp/url/url-parse.el
index a15ec953f62..1f72f51d769 100644
--- a/lisp/url/url-parse.el
+++ b/lisp/url/url-parse.el
@@ -209,7 +209,7 @@ parses to
209 ;; 3.3. Path 209 ;; 3.3. Path
210 (skip-chars-forward "^?#") 210 (skip-chars-forward "^?#")
211 ;; 3.4. Query 211 ;; 3.4. Query
212 (when (looking-at "?") 212 (when (looking-at "\\?")
213 (skip-chars-forward "^#")) 213 (skip-chars-forward "^#"))
214 (setq file (buffer-substring save-pos (point))) 214 (setq file (buffer-substring save-pos (point)))
215 ;; 3.5 Fragment 215 ;; 3.5 Fragment
diff --git a/lisp/url/url-util.el b/lisp/url/url-util.el
index 1d0ecb4436a..cb80ec6cefb 100644
--- a/lisp/url/url-util.el
+++ b/lisp/url/url-util.el
@@ -503,7 +503,7 @@ WIDTH defaults to the current frame width."
503 (urlobj nil)) 503 (urlobj nil))
504 ;; The first thing that can go are the search strings 504 ;; The first thing that can go are the search strings
505 (if (and (>= str-width fr-width) 505 (if (and (>= str-width fr-width)
506 (string-match "?" url)) 506 (string-match "\\?" url))
507 (setq url (concat (substring url 0 (match-beginning 0)) "?...") 507 (setq url (concat (substring url 0 (match-beginning 0)) "?...")
508 str-width (length url))) 508 str-width (length url)))
509 (if (< str-width fr-width) 509 (if (< str-width fr-width)
diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el
index 2c790a28561..40204404e77 100644
--- a/lisp/vc/diff-mode.el
+++ b/lisp/vc/diff-mode.el
@@ -1065,7 +1065,7 @@ else cover the whole buffer."
1065 " ----\n" hunk)) 1065 " ----\n" hunk))
1066 ;;(goto-char (point-min)) 1066 ;;(goto-char (point-min))
1067 (forward-line 1) 1067 (forward-line 1)
1068 (if (not (save-excursion (re-search-forward "^+" nil t))) 1068 (if (not (save-excursion (re-search-forward "^\\+" nil t)))
1069 (delete-region (point) (point-max)) 1069 (delete-region (point) (point-max))
1070 (let ((modif nil) (delete nil)) 1070 (let ((modif nil) (delete nil))
1071 (if (save-excursion (re-search-forward "^\\+.*\n-" 1071 (if (save-excursion (re-search-forward "^\\+.*\n-"
diff --git a/lisp/vc/vc-bzr.el b/lisp/vc/vc-bzr.el
index e29013cdb4e..ab5a449cd3d 100644
--- a/lisp/vc/vc-bzr.el
+++ b/lisp/vc/vc-bzr.el
@@ -332,7 +332,7 @@ in the repository root directory of FILE."
332 (file-relative-name filename* rootdir)))) 332 (file-relative-name filename* rootdir))))
333 333
334(defvar vc-bzr-error-regexp-alist 334(defvar vc-bzr-error-regexp-alist
335 '(("^\\( M[* ]\\|+N \\|-D \\|\\| \\*\\|R[M ] \\) \\(.+\\)" 2 nil nil 1) 335 '(("^\\( M[* ]\\|\\+N \\|-D \\|\\| \\*\\|R[M ] \\) \\(.+\\)" 2 nil nil 1)
336 ("^C \\(.+\\)" 2) 336 ("^C \\(.+\\)" 2)
337 ("^Text conflict in \\(.+\\)" 1 nil nil 2) 337 ("^Text conflict in \\(.+\\)" 1 nil nil 2)
338 ("^Using saved parent location: \\(.+\\)" 1 nil nil 0)) 338 ("^Using saved parent location: \\(.+\\)" 1 nil nil 0))
diff --git a/lisp/vc/vc-cvs.el b/lisp/vc/vc-cvs.el
index a4ff1cb4cd2..3bbd0ed49b1 100644
--- a/lisp/vc/vc-cvs.el
+++ b/lisp/vc/vc-cvs.el
@@ -910,7 +910,7 @@ essential information. Note that this can never set the `ignored'
910state." 910state."
911 (let (file status missing) 911 (let (file status missing)
912 (goto-char (point-min)) 912 (goto-char (point-min))
913 (while (looking-at "? \\(.*\\)") 913 (while (looking-at "\\? \\(.*\\)")
914 (setq file (expand-file-name (match-string 1))) 914 (setq file (expand-file-name (match-string 1)))
915 (vc-file-setprop file 'vc-state 'unregistered) 915 (vc-file-setprop file 'vc-state 'unregistered)
916 (forward-line 1)) 916 (forward-line 1))
diff --git a/lisp/woman.el b/lisp/woman.el
index 38e083a961a..a351f788ece 100644
--- a/lisp/woman.el
+++ b/lisp/woman.el
@@ -2624,7 +2624,7 @@ If DELETE is non-nil then delete from point."
2624 (t ; Ignore -- leave in buffer 2624 (t ; Ignore -- leave in buffer
2625 ;; This does not work too well, but it's only for debugging! 2625 ;; This does not work too well, but it's only for debugging!
2626 (skip-chars-forward "^ \t") 2626 (skip-chars-forward "^ \t")
2627 (if (looking-at "[ \t]*\\{") (search-forward "\\}")) 2627 (if (looking-at "[ \t]*{") (search-forward "}"))
2628 (forward-line 1)))) 2628 (forward-line 1))))
2629 2629
2630;; request is not used dynamically by any callees. 2630;; request is not used dynamically by any callees.
@@ -2636,7 +2636,7 @@ If DELETE is non-nil then delete from point."
2636 ;; Ignore -- leave in buffer 2636 ;; Ignore -- leave in buffer
2637 ;; This does not work too well, but it's only for debugging! 2637 ;; This does not work too well, but it's only for debugging!
2638 (skip-chars-forward "^ \t") 2638 (skip-chars-forward "^ \t")
2639 (if (looking-at "[ \t]*\\{") (search-forward "\\}")) 2639 (if (looking-at "[ \t]*{") (search-forward "}"))
2640 (forward-line 1))) 2640 (forward-line 1)))
2641 2641
2642(defun woman0-so () 2642(defun woman0-so ()
@@ -3268,7 +3268,7 @@ If optional arg CONCAT is non-nil then join arguments."
3268 (while 3268 (while
3269 ;; Find font requests, paragraph macros and font escapes: 3269 ;; Find font requests, paragraph macros and font escapes:
3270 (re-search-forward 3270 (re-search-forward
3271 "^[.'][ \t]*\\(\\(\\ft\\)\\|\\(.P\\)\\)\\|\\(\\\\f\\)" nil 1) 3271 "^[.'][ \t]*\\(\\(ft\\)\\|\\(.P\\)\\)\\|\\(\\\\f\\)" nil 1)
3272 (let (font beg notfont fescape) 3272 (let (font beg notfont fescape)
3273 ;; Match font indicator and leave point at end of sequence: 3273 ;; Match font indicator and leave point at end of sequence:
3274 (cond ((match-beginning 2) 3274 (cond ((match-beginning 2)
diff --git a/lisp/xdg.el b/lisp/xdg.el
index 65e35b7b35c..e5a3de48289 100644
--- a/lisp/xdg.el
+++ b/lisp/xdg.el
@@ -117,7 +117,7 @@ file:///foo/bar.jpg"
117(defun xdg--substitute-home-env (str) 117(defun xdg--substitute-home-env (str)
118 (if (file-name-absolute-p str) str 118 (if (file-name-absolute-p str) str
119 (save-match-data 119 (save-match-data
120 (and (string-match "^$HOME/" str) 120 (and (string-match "^\\$HOME/" str)
121 (replace-match "~/" t nil str 0))))) 121 (replace-match "~/" t nil str 0)))))
122 122
123(defun xdg--user-dirs-parse-line () 123(defun xdg--user-dirs-parse-line ()