commit eb8dbafff11fded9c96294a0680455bcde70882c (HEAD, refs/remotes/origin/master) Author: Michael Albinus Date: Tue Mar 5 09:36:33 2019 +0100 Test an IPv4 mapped IPv6 address in Tramp * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax) (tramp-test01-file-name-syntax-simplified) (tramp-test01-file-name-syntax-separate): Check also an IPv4 mapped IPv6 address. diff --git a/test/lisp/net/tramp-tests.el b/test/lisp/net/tramp-tests.el index 732b4f313f..f470385be9 100644 --- a/test/lisp/net/tramp-tests.el +++ b/test/lisp/net/tramp-tests.el @@ -237,6 +237,10 @@ properly. BODY shall not contain a timeout." (should (tramp-tramp-file-p "/method:[::1]:")) (should (tramp-tramp-file-p "/method:user@[::1]:")) + ;; Using an IPv4 mapped IPv6 address. + (should (tramp-tramp-file-p "/method:[::ffff:192.168.0.1]:")) + (should (tramp-tramp-file-p "/method:user@[::ffff:192.168.0.1]:")) + ;; Local file name part. (should (tramp-tramp-file-p "/method:::")) (should (tramp-tramp-file-p "/method::/:")) @@ -264,6 +268,7 @@ properly. BODY shall not contain a timeout." (should-not (tramp-tramp-file-p "/1.2.3.4:")) (should-not (tramp-tramp-file-p "/[]:")) (should-not (tramp-tramp-file-p "/[::1]:")) + (should-not (tramp-tramp-file-p "/[::ffff:192.168.0.1]:")) (should-not (tramp-tramp-file-p "/host:/:")) (should-not (tramp-tramp-file-p "/host1|host2:")) (should-not (tramp-tramp-file-p "/user1@host1|user2@host2:")) @@ -312,6 +317,10 @@ properly. BODY shall not contain a timeout." (should (tramp-tramp-file-p "/[::1]:")) (should (tramp-tramp-file-p "/user@[::1]:")) + ;; Using an IPv4 mapped IPv6 address. + (should (tramp-tramp-file-p "/[::ffff:192.168.0.1]:")) + (should (tramp-tramp-file-p "/user@[::ffff:192.168.0.1]:")) + ;; Local file name part. (should (tramp-tramp-file-p "/host::")) (should (tramp-tramp-file-p "/host:/:")) @@ -362,6 +371,10 @@ properly. BODY shall not contain a timeout." (should (tramp-tramp-file-p "/[method/::1]")) (should (tramp-tramp-file-p "/[method/user@::1]")) + ;; Using an IPv4 mapped IPv6 address. + (should (tramp-tramp-file-p "/[method/::ffff:192.168.0.1]")) + (should (tramp-tramp-file-p "/[method/user@::ffff:192.168.0.1]")) + ;; Local file name part. (should (tramp-tramp-file-p "/[method/]")) (should (tramp-tramp-file-p "/[method/]/:")) commit 3c94c7bc02fcacb4a101188dddb0c44d53444178 Author: Paul Eggert Date: Mon Mar 4 18:00:00 2019 -0800 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): diff --git a/admin/admin.el b/admin/admin.el index 90aac3d43d..650cf47b80 100644 --- a/admin/admin.el +++ b/admin/admin.el @@ -144,7 +144,7 @@ Root must be the root of an Emacs source tree." (unless (> (length newversion) 2) ; pretest or release candidate? (with-temp-buffer (insert-file-contents newsfile) - (if (re-search-forward "^\\(+++ *\\|--- *\\)$" nil t) + (if (re-search-forward "^\\(\\+\\+\\+ *\\|--- *\\)$" nil t) (display-warning 'admin "NEWS file still contains temporary markup. Documentation changes might not have been completed!")))) diff --git a/lisp/allout.el b/lisp/allout.el index c2b3187e8a..b3b87e533b 100644 --- a/lisp/allout.el +++ b/lisp/allout.el @@ -5788,7 +5788,7 @@ BULLET string, and a list of TEXT strings for the body." ; "\end{verbatim}" in text, ; it's special: (if (and body-content - (setq bop (string-match "\\end{verbatim}" curr-line))) + (setq bop (string-match "\\\\end{verbatim}" curr-line))) (setq curr-line (concat (substring curr-line 0 bop) ">" (substring curr-line bop)))) diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el index 8de0103019..2afde7ee75 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." (apply #'vector (nreverse files)))) (defun archive-arc-rename-entry (newname descr) - (if (string-match "[:\\\\/]" newname) + (if (string-match "[:\\/]" newname) (error "File names in arc files must not contain a directory component")) (if (> (length newname) 12) (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." (call-process "lsar" nil t nil "-l" (or file copy)) (if copy (delete-file copy)) (goto-char (point-min)) - (re-search-forward "^\\(\s+=+\s?+\\)+\n") + (re-search-forward "^\\(\s+=+\s+\\)+\n") (while (looking-at (concat "^\s+[0-9.]+\s+D?-+\s+" ; Flags "\\([0-9-]+\\)\s+" ; Size "\\([-0-9.%]+\\|-+\\)\s+" ; Ratio diff --git a/lisp/calc/calc-graph.el b/lisp/calc/calc-graph.el index 317f403ead..56f11c6711 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." (eval (intern (concat "var-" (save-excursion - (re-search-backward ":\\(.*\\)\\}") + (re-search-backward ":\\(.*\\)}") (match-string 1)))))) (error nil))) (if yerr @@ -1186,7 +1186,7 @@ This \"dumb\" driver will be present in Gnuplot 3.0." (or (looking-at "{") (error "Can't hide this curve (wrong format)")) (forward-char 1) - (if (looking-at "*") + (if (looking-at "\\*") (if (or (null flag) (<= (prefix-numeric-value flag) 0)) (delete-char 1)) (if (or (null flag) (> (prefix-numeric-value flag) 0)) diff --git a/lisp/calc/calc-help.el b/lisp/calc/calc-help.el index cf7574e738..d9e8fe779b 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." (setq desc (concat "M-" (substring desc 4)))) (while (string-match "^M-# \\(ESC \\|C-\\)" desc) (setq desc (concat "M-# " (substring desc (match-end 0))))) - (if (string-match "\\(DEL\\|\\LFD\\|RET\\|SPC\\|TAB\\)" desc) + (if (string-match "\\(DEL\\|LFD\\|RET\\|SPC\\|TAB\\)" desc) (setq desc (replace-match "<\\&>" nil nil desc))) (if briefly (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 3f55fb15d5..ee107df39c 100644 --- a/lisp/calc/calc-lang.el +++ b/lisp/calc/calc-lang.el @@ -753,8 +753,8 @@ right " \\right)")) ((and (eq (aref func 0) ?\\) (not (or - (string-match "\\hbox{" func) - (string-match "\\text{" func))) + (string-match "\\\\hbox{" func) + (string-match "\\\\text{" func))) (= (length a) 2) (or (Math-realp (nth 1 a)) (memq (car (nth 1 a)) '(var *)))) @@ -1127,7 +1127,7 @@ (math-read-token))))))) (put 'eqn 'math-lang-read - '((eq (string-match "->\\|<-\\|+-\\|\\\\dots\\|~\\|\\^" + '((eq (string-match "->\\|<-\\|\\+-\\|\\\\dots\\|~\\|\\^" math-exp-str math-exp-pos) math-exp-pos) (progn diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el index 7390ea350e..35f13f9656 100644 --- a/lisp/calc/calc.el +++ b/lisp/calc/calc.el @@ -2430,7 +2430,7 @@ the United States." (beep) (and (not (calc-minibuffer-contains "[-+]?\\(1[5-9]\\|[2-9][0-9]\\)#.*")) (search-forward "e" nil t)) - (if (looking-at "+") + (if (looking-at "\\+") (delete-char 1)) (if (looking-at "-") (delete-char 1) diff --git a/lisp/cedet/ede/makefile-edit.el b/lisp/cedet/ede/makefile-edit.el index 7d8a44bd9a..1472108ad5 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." (let ((e (save-excursion (makefile-end-of-command) (point)))) - (while (re-search-forward "\\s-**\\([-a-zA-Z0-9./_@$%(){}]+\\)\\s-*" e t) + (while (re-search-forward "\\s-*\\([-a-zA-Z0-9./_@$%(){}]+\\)\\s-*" e t) (let ((var nil)(varexp nil) (match (buffer-substring-no-properties (match-beginning 1) diff --git a/lisp/cedet/ede/speedbar.el b/lisp/cedet/ede/speedbar.el index cd56228498..a5ccb66664 100644 --- a/lisp/cedet/ede/speedbar.el +++ b/lisp/cedet/ede/speedbar.el @@ -276,7 +276,7 @@ INDENT is the current indentation level." Etags does not support this feature. TEXT will be the button string. TOKEN will be the list, and INDENT is the current indentation level." - (cond ((string-match "+" text) ;we have to expand this file + (cond ((string-match "\\+" text) ;we have to expand this file (speedbar-change-expand-button-char ?-) (speedbar-with-writable (save-excursion diff --git a/lisp/cedet/semantic/sb.el b/lisp/cedet/semantic/sb.el index 6227ac618a..83d11e1658 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." (defun semantic-sb-show-extra (text token indent) "Display additional information about the token as an expansion. TEXT TOKEN and INDENT are the details." - (cond ((string-match "+" text) ;we have to expand this file + (cond ((string-match "\\+" text) ;we have to expand this file (speedbar-change-expand-button-char ?-) (speedbar-with-writable (save-excursion @@ -325,7 +325,7 @@ TEXT TOKEN and INDENT are the details." (defun semantic-sb-expand-group (text token indent) "Expand a group which has semantic tokens. TEXT TOKEN and INDENT are the details." - (cond ((string-match "+" text) ;we have to expand this file + (cond ((string-match "\\+" text) ;we have to expand this file (speedbar-change-expand-button-char ?-) (speedbar-with-writable (save-excursion diff --git a/lisp/comint.el b/lisp/comint.el index a51413dc65..a5fca7ea2a 100644 --- a/lisp/comint.el +++ b/lisp/comint.el @@ -3092,7 +3092,7 @@ interpreter (e.g., the percent notation of cmd.exe on Windows)." (let (env-var-name env-var-val) (save-match-data - (while (string-match "%\\([^\\\\/]*\\)%" name) + (while (string-match "%\\([^\\/]*\\)%" name) (setq env-var-name (match-string 1 name)) (setq env-var-val (or (getenv env-var-name) "")) (setq name (replace-match env-var-val t t name)))))) diff --git a/lisp/dired.el b/lisp/dired.el index 3cb645eea7..98f493ecc6 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.") (put 'dired-actual-switches 'safe-local-variable 'dired-safe-switches-p) -(defvar dired-re-inode-size "[0-9 \t]*[.,0-9]*[BkKMGTPEZY]?[ \t]*" +(defvar dired-re-inode-size "[0-9 \t]*[.,0-9]*[BkKMGTPEZY]?[ \t]*" "Regexp for optional initial inode and file size as made by `ls -i -s'.") ;; 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 708f41237b..9c29297da0 100644 --- a/lisp/emacs-lisp/chart.el +++ b/lisp/emacs-lisp/chart.el @@ -704,7 +704,7 @@ SORT-PRED if desired." (cntlst nil)) (save-excursion (goto-char (point-min)) - (while (re-search-forward "\\-[A-Z][a-z][a-z] +\\(\\w+\\)@\\w+" nil t) + (while (re-search-forward "-[A-Z][a-z][a-z] +\\(\\w+\\)@\\w+" nil t) (let* ((nam (buffer-substring (match-beginning 1) (match-end 1))) (m (member nam nmlst))) (message "Scanned username %s" nam) diff --git a/lisp/emacs-lisp/eieio-opt.el b/lisp/emacs-lisp/eieio-opt.el index e93d317d93..193f92bc2c 100644 --- a/lisp/emacs-lisp/eieio-opt.el +++ b/lisp/emacs-lisp/eieio-opt.el @@ -327,7 +327,7 @@ current expansion depth." (defun eieio-sb-expand (text class indent) "For button TEXT, expand CLASS at the current location. Argument INDENT is the depth of indentation." - (cond ((string-match "+" text) ;we have to expand this file + (cond ((string-match "\\+" text) ;we have to expand this file (speedbar-change-expand-button-char ?-) (speedbar-with-writable (save-excursion diff --git a/lisp/emacs-lisp/eieio-speedbar.el b/lisp/emacs-lisp/eieio-speedbar.el index 52dd6fea3f..2dd9a5eda6 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." (defun eieio-speedbar-object-expand (text token indent) "Expand object represented by TEXT. TOKEN is the object. INDENT is the current indentation level." - (cond ((string-match "+" text) ;we have to expand this file + (cond ((string-match "\\+" text) ;we have to expand this file (speedbar-change-expand-button-char ?-) (oset token expanded t) (speedbar-with-writable diff --git a/lisp/emacs-lisp/rx.el b/lisp/emacs-lisp/rx.el index ca756efb49..f6deb45d44 100644 --- a/lisp/emacs-lisp/rx.el +++ b/lisp/emacs-lisp/rx.el @@ -609,7 +609,7 @@ ARG is optional." (rx-check form) (let ((result (rx-form (cadr form) '!)) case-fold-search) - (cond ((string-match "\\`\\[^" result) + (cond ((string-match "\\`\\[\\^" result) (cond ((equal result "[^]") "[^^]") ((and (= (length result) 4) (null (eq rx-parent '!))) @@ -787,7 +787,7 @@ of all atomic regexps." ((= l 3) (string-match "\\`\\(?:\\\\[cCsS_]\\|\\[[^^]\\]\\)" r)) ((null lax) (cond - ((string-match "\\`\\[^?\]?\\(?:\\[:[a-z]+:]\\|[^]]\\)*\\]\\'" r)) + ((string-match "\\`\\[\\^?]?\\(?:\\[:[a-z]+:]\\|[^]]\\)*]\\'" r)) ((string-match "\\`\\\\(\\(?:[^\\]\\|\\\\[^)]\\)*\\\\)\\'" r))))))) diff --git a/lisp/emulation/viper-ex.el b/lisp/emulation/viper-ex.el index 41c9a3973a..4496f1cf7d 100644 --- a/lisp/emulation/viper-ex.el +++ b/lisp/emulation/viper-ex.el @@ -427,18 +427,18 @@ reversed." (forward-char 1) (setq ex-token-type 'whole)) ((= char ?+) - (cond ((or (looking-at "+[-+]") (looking-at "+[\n|]")) + (cond ((looking-at "\\+[-+\n|]") (forward-char 1) (insert "1") (backward-char 1) (setq ex-token-type 'plus)) - ((looking-at "+[0-9]") + ((looking-at "\\+[0-9]") (forward-char 1) (setq ex-token-type 'plus)) (t (error viper-BadAddress)))) ((= char ?-) - (cond ((or (looking-at "-[-+]") (looking-at "-[\n|]")) + (cond ((looking-at "-[-+\n|]") (forward-char 1) (insert "1") (backward-char 1) @@ -455,7 +455,7 @@ reversed." (while (and (not (eolp)) cont) ;;(re-search-forward "[^/]*/") (re-search-forward "[^/]*\\(/\\|\n\\)") - (if (not (looking-back "[^\\\\]\\(\\\\\\\\\\)*\\\\/" + (if (not (looking-back "[^\\]\\(\\\\\\\\\\)*\\\\/" (line-beginning-position 0))) (setq cont nil)))) (backward-char 1) @@ -469,7 +469,7 @@ reversed." (while (and (not (eolp)) cont) ;;(re-search-forward "[^\\?]*\\?") (re-search-forward "[^\\?]*\\(\\?\\|\n\\)") - (if (not (looking-back "[^\\\\]\\(\\\\\\\\\\)*\\\\\\?" + (if (not (looking-back "[^\\]\\(\\\\\\\\\\)*\\\\\\?" (line-beginning-position 0))) (setq cont nil)) (backward-char 1) @@ -744,7 +744,7 @@ reversed." (error "Global regexp must be inside matching non-alphanumeric chars")) ((= c ??) (error "`?' is not an allowed pattern delimiter here"))) - (if (looking-at "[^\\\\\n]") + (if (looking-at "[^\\\n]") (progn (forward-char 1) (set-mark (point)) @@ -757,7 +757,7 @@ reversed." (error "Missing closing delimiter for global regexp") (goto-char (point-max)))) (if (not (looking-back - (format "[^\\\\]\\(\\\\\\\\\\)*\\\\%c" c) + (format "[^\\]\\(\\\\\\\\\\)*\\\\%c" c) (line-beginning-position 0))) (setq cont nil) ;; we are at an escaped delimiter: unescape it and continue @@ -1686,7 +1686,7 @@ reversed." (message ":set [= ]") (or batch (sit-for 2)) - (while (string-match "^[ \\t\\n]*$" + (while (string-match "^[ \t\n]*$" (setq str (completing-read ":set " ex-variable-alist))) (message ":set [= ]") diff --git a/lisp/epg.el b/lisp/epg.el index dd490ad0b2..e06cc06a7d 100644 --- a/lisp/epg.el +++ b/lisp/epg.el @@ -1144,7 +1144,7 @@ callback data (if any)." (defun epg--status-SIG_CREATED (context string) (if (string-match "\\`\\([DCS]\\) \\([0-9]+\\) \\([0-9]+\\) \ -\\([0-9A-Fa-F][0-9A-Fa-F]\\) \\(.*\\) " string) +\\([0-9A-Fa-f][0-9A-Fa-f]\\) \\(.*\\) " string) (epg-context-set-result-for context 'sign (cons (epg-make-new-signature diff --git a/lisp/erc/erc-speedbar.el b/lisp/erc/erc-speedbar.el index 3d43457dd2..0a1e38fe24 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." t)))) (defun erc-speedbar-expand-server (text server indent) - (cond ((string-match "+" text) + (cond ((string-match "\\+" text) (speedbar-change-expand-button-char ?-) (if (speedbar-with-writable (save-excursion @@ -185,7 +185,7 @@ This will add a speedbar major display mode." "For the line matching TEXT, in CHANNEL, expand or contract a line. INDENT is the current indentation level." (cond - ((string-match "+" text) + ((string-match "\\+" text) (speedbar-change-expand-button-char ?-) (speedbar-with-writable (save-excursion @@ -285,7 +285,7 @@ is only done when the channel is actually expanded already." (erc-speedbar-expand-channel "+" buffer 1))))) (defun erc-speedbar-expand-user (text token indent) - (cond ((string-match "+" text) + (cond ((string-match "\\+" text) (speedbar-change-expand-button-char ?-) (speedbar-with-writable (save-excursion diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el index 101a5a05bf..bcaa3e4525 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." (defun erc-is-message-ctcp-and-not-action-p (message) "Check if MESSAGE is a CTCP message or not." (and (erc-is-message-ctcp-p message) - (not (string-match "^\C-a\\ACTION.*\C-a$" message)))) + (not (string-match "^\C-aACTION.*\C-a$" message)))) (defun erc-format-privmessage (nick msg privp msgp) "Format a PRIVMSG in an insertable fashion." @@ -4491,7 +4491,7 @@ See also: `erc-echo-notice-in-user-buffers', (mapcar #'upcase (cdr (split-string mode))))) erc-channel-banlist))) - ((string-match "^+" mode) + ((string-match "^\\+" mode) ;; Add the banned mask(s) to the ban list (mapc (lambda (mask) diff --git a/lisp/eshell/em-dirs.el b/lisp/eshell/em-dirs.el index 8e79189acf..31588a472a 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.") (defun eshell-parse-drive-letter () "An argument beginning with X:[^/] is a drive letter reference." (when (and (not eshell-current-argument) - (looking-at "\\([A-Za-z]:\\)\\([^/\\\\]\\|\\'\\)")) + (looking-at "\\([A-Za-z]:\\)\\([^/\\]\\|\\'\\)")) (goto-char (match-end 1)) (let* ((letter (match-string 1)) (regexp (concat "\\`" letter)) @@ -307,7 +307,7 @@ Thus, this does not include the current directory.") (if (and (> len 1) (eq (aref path (1- len)) ?/) (not (and (eshell-under-windows-p) - (string-match "\\`[A-Za-z]:[\\\\/]\\'" path)))) + (string-match "\\`[A-Za-z]:[\\/]\\'" path)))) (setq path (substring path 0 (1- (length path))))) (if eshell-pwd-convert-function (funcall eshell-pwd-convert-function path) diff --git a/lisp/find-dired.el b/lisp/find-dired.el index 1935db00f2..ef137be9bb 100644 --- a/lisp/find-dired.el +++ b/lisp/find-dired.el @@ -175,7 +175,7 @@ use in place of \"-ls\" as the final argument." " " args " " (shell-quote-argument ")") " ")) - (if (string-match "\\`\\(.*\\) {} \\(\\\\;\\|+\\)\\'" + (if (string-match "\\`\\(.*\\) {} \\(\\\\;\\|\\+\\)\\'" (car find-ls-option)) (format "%s %s %s" (match-string 1 (car find-ls-option)) diff --git a/lisp/frame.el b/lisp/frame.el index 7fe3282eb5..d71a3fe5e8 100644 --- a/lisp/frame.el +++ b/lisp/frame.el @@ -1072,7 +1072,7 @@ face specs for the new background mode." (default-bg-mode (if (or (window-system frame) (and tty-type - (string-match "^\\(xterm\\|\\rxvt\\|dtterm\\|eterm\\)" + (string-match "^\\(xterm\\|rxvt\\|dtterm\\|eterm\\)" tty-type))) 'light 'dark)) diff --git a/lisp/generic-x.el b/lisp/generic-x.el index 47dfd2822d..c430be78ab 100644 --- a/lisp/generic-x.el +++ b/lisp/generic-x.el @@ -294,7 +294,7 @@ your changes into effect." nil nil ;; Hostname ? user date request return-code number-of-bytes - '(("^\\([-a-zA-z0-9.]+\\) - [-A-Za-z]+ \\(\\[.*\\]\\)" + '(("^\\([-a-zA-Z0-9.]+\\) - [-A-Za-z]+ \\(\\[.*\\]\\)" (1 font-lock-constant-face) (2 font-lock-variable-name-face))) '("access_log\\'") diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 06f7be3da7..fa3abfac58 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el @@ -7378,7 +7378,7 @@ groups." ;; Regexp suggested by Felix Wiemann in <87oeuomcz9.fsf@news2.ososo.de> (defcustom gnus-button-valid-localpart-regexp - "[a-z0-9$%(*-=?[_][^<>\")!;:,{}\n\t @]*" + "[a-z$%(*-=?[_][^<>\")!;:,{}\n\t @]*" "Regular expression that matches a localpart of mail addresses or MIDs." :version "22.1" :group 'gnus-article-buttons diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el index e5574d4f4f..0bd15f3e39 100644 --- a/lisp/gnus/gnus.el +++ b/lisp/gnus/gnus.el @@ -3751,7 +3751,7 @@ just the host name." ;; otherwise collapse to select method. (let* ((colon (string-match ":" group)) (server (and colon (substring group 0 colon))) - (plus (and server (string-match "+" server)))) + (plus (and server (string-match "\\+" server)))) (when server (if plus (setq foreign (substring server (+ 1 plus) diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 0085337940..d490f0ca74 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el @@ -1288,7 +1288,7 @@ called and its result is inserted." ;; According to RFC 822 and its successors, the field name must ;; consist of printable US-ASCII characters other than colon, ;; i.e., decimal 33-56 and 59-126. - '(looking-at "[ \t]\\|[][!\"#$%&'()*+,-./0-9;<=>?@A-Z\\\\^_`a-z{|}~]+:")) + '(looking-at "[ \t]\\|[][!\"#$%&'()*+,-./0-9;<=>?@A-Z\\^_`a-z{|}~]+:")) "Set this non-nil if the system's mailer runs the header and body together. \(This problem exists on Sunos 4 when sendmail is run in remote mode.) The value should be an expression to test whether the problem will diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el index f34930af8e..2d3c140536 100644 --- a/lisp/ibuffer.el +++ b/lisp/ibuffer.el @@ -155,7 +155,7 @@ elisp byte-compiler." (string-match ibuffer-compressed-file-name-regexp buffer-file-name)) font-lock-doc-face) - (20 (string-match "^*" (buffer-name)) font-lock-keyword-face) + (20 (string-match "^\\*" (buffer-name)) font-lock-keyword-face) (25 (and (string-match "^ " (buffer-name)) (null buffer-file-name)) italic) diff --git a/lisp/ido.el b/lisp/ido.el index 8078d184db..c268289a18 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'." (not (and (eq ido-cur-item 'buffer) ido-buffer-disable-smart-matches)) (not ido-enable-regexp) - (not (string-match "$\\'" rex0)) + (not (string-match "\\$\\'" rex0)) (concat "\\`" rex0 (if slash "/" "") "\\'"))) (suffix-re (and do-full slash (not (and (eq ido-cur-item 'buffer) ido-buffer-disable-smart-matches)) (not ido-enable-regexp) - (not (string-match "$\\'" rex0)) + (not (string-match "\\$\\'" rex0)) (concat rex0 "/\\'"))) (prefix-re (and full-re (not ido-enable-prefix) (concat "\\`" rexq))) diff --git a/lisp/info-xref.el b/lisp/info-xref.el index e8750a7db7..c55398b73f 100644 --- a/lisp/info-xref.el +++ b/lisp/info-xref.el @@ -71,7 +71,7 @@ you should set this variable to nil." (defun info-xref-lock-file-p (filename) "Return non-nil if FILENAME is an Emacs lock file. A lock file is \".#foo.txt\" etc per `lock-buffer'." - (string-match "\\(\\`\\|\\/\\)\\.#" filename)) + (string-match "\\(\\`\\|/\\)\\.#" filename)) (defun info-xref-subfile-p (filename) "Return t if FILENAME is an info subfile. diff --git a/lisp/info.el b/lisp/info.el index 6038273c37..c650d88257 100644 --- a/lisp/info.el +++ b/lisp/info.el @@ -1531,7 +1531,7 @@ is non-nil)." (save-restriction (narrow-to-region start (point)) (goto-char (point-min)) - (while (re-search-forward "^* \\([^:\n]+:\\(:\\|[^.\n]+\\).\\)" nil 'move) + (while (re-search-forward "^\\* \\([^:\n]+:\\(:\\|[^.\n]+\\).\\)" nil 'move) ;; Fold case straight away; `member-ignore-case' here wasteful. (let ((x (downcase (match-string 1)))) (if (member x seen) @@ -1602,7 +1602,7 @@ is non-nil)." "Unescape double quotes and backslashes in VALUE." (let ((start 0) (unquote value)) - (while (string-match "[^\\\"]*\\(\\\\\\)[\\\\\"]" unquote start) + (while (string-match "[^\\\"]*\\(\\\\\\)[\\\"]" unquote start) (setq unquote (replace-match "" t t unquote 1)) (setq start (- (match-end 0) 1))) unquote)) @@ -1619,7 +1619,7 @@ escaped (\\\",\\\\)." (let ((start 0) (parameter-alist)) (while (string-match - "\\s *\\([^=]+\\)=\\(?:\\([^\\s \"]+\\)\\|\\(?:\"\\(\\(?:[^\\\"]\\|\\\\[\\\\\"]\\)*\\)\"\\)\\)" + "\\s *\\([^=]+\\)=\\(?:\\([^\\s \"]+\\)\\|\\(?:\"\\(\\(?:[^\\\"]\\|\\\\[\\\"]\\)*\\)\"\\)\\)" parameter-string start) (setq start (match-end 0)) (push (cons (match-string 1 parameter-string) @@ -5204,7 +5204,7 @@ The INDENT level is ignored." TEXT is the text of the button we clicked on, a + or - item. TOKEN is data related to this node (NAME . FILE). INDENT is the current indentation depth." - (cond ((string-match "+" text) ;we have to expand this file + (cond ((string-match "\\+" text) ;we have to expand this file (speedbar-change-expand-button-char ?-) (if (speedbar-with-writable (save-excursion diff --git a/lisp/international/mule.el b/lisp/international/mule.el index 023fcbc5d1..5393958013 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'." ;; (allowing for whitespace at bob). Note: 'DOCTYPE NETSCAPE' is ;; useful for Mozilla bookmark files. (when (and (re-search-forward "\\`[[:space:]\n]*\\(]" size t)) + (re-search-forward "]" size t)) (let* ((match (match-string 2)) (sym (intern (downcase match)))) (if (coding-system-p sym) diff --git a/lisp/isearch.el b/lisp/isearch.el index b9441336f9..6280afebdc 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el @@ -2874,7 +2874,8 @@ See more for options in `search-exit-option'." (or (eq (get this-command 'isearch-move) 'enabled) (and (eq isearch-yank-on-move t) (stringp (nth 1 (interactive-form this-command))) - (string-match-p "^^" (nth 1 (interactive-form this-command)))) + (string-match-p "^\\^" + (nth 1 (interactive-form this-command)))) (and (eq isearch-yank-on-move 'shift) this-command-keys-shift-translated))) (setq this-command-keys-shift-translated nil) diff --git a/lisp/language/ethio-util.el b/lisp/language/ethio-util.el index afc2239fbf..512d49b9c5 100644 --- a/lisp/language/ethio-util.el +++ b/lisp/language/ethio-util.el @@ -804,7 +804,7 @@ The 2nd and 3rd arguments BEGIN and END specify the region." ;; Special Ethiopic punctuation. (goto-char (point-min)) - (while (re-search-forward "\\ce[»\\.\\?]\\|«\\ce" nil t) + (while (re-search-forward "\\ce[»\\.?]\\|«\\ce" nil t) (cond ((= (setq ch (preceding-char)) ?\») (delete-char -1) diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el index 7f7f0e967d..91291b8d33 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." (save-excursion (setq deleted-head (cons (if (and (search-forward (concat rmail-attribute-header ": ") message-end t) - (looking-at "?D")) + (looking-at "\\?D")) ?D ?\s) deleted-head)))) diff --git a/lisp/mh-e/mh-alias.el b/lisp/mh-e/mh-alias.el index 49f55475a7..c6cdfc40c9 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." ;; Two words -> first.last (downcase (format "%s.%s" (match-string 1 string) (match-string 2 string)))) - ((string-match "^\\([-a-zA-Z0-9._]+\\)@[-a-zA-z0-9_]+\\.+[a-zA-Z0-9]+$" + ((string-match "^\\([-a-zA-Z0-9._]+\\)@[-a-zA-Z0-9_]+\\.+[a-zA-Z0-9]+$" string) ;; email only -> downcase username (downcase (match-string 1 string))) diff --git a/lisp/mh-e/mh-comp.el b/lisp/mh-e/mh-comp.el index 706e64dd77..b96ef74538 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', (goto-char (mh-mail-header-end)) (while (re-search-forward - "^#forw \\[\\([^]]+\\)\\] \\(+\\S-+\\) \\(.*\\)$" + "^#forw \\[\\([^]]+\\)\\] \\(\\+\\S-+\\) \\(.*\\)$" (point-max) t) (let ((description (if (equal (match-string 1) "forwarded messages") diff --git a/lisp/mh-e/mh-search.el b/lisp/mh-e/mh-search.el index 1a14f4f3dc..c017baec66 100644 --- a/lisp/mh-e/mh-search.el +++ b/lisp/mh-e/mh-search.el @@ -495,16 +495,16 @@ group of results." (let ((point (point))) (forward-line (if backward-flag 0 1)) (cond ((if backward-flag - (re-search-backward "^+" (point-min) t) - (re-search-forward "^+" (point-max) t)) + (re-search-backward "^\\+" (point-min) t) + (re-search-forward "^\\+" (point-max) t)) (beginning-of-line)) ((and (if backward-flag (goto-char (point-max)) (goto-char (point-min))) nil)) ((if backward-flag - (re-search-backward "^+" (point-min) t) - (re-search-forward "^+" (point-max) t)) + (re-search-backward "^\\+" (point-min) t) + (re-search-forward "^\\+" (point-max) t)) (beginning-of-line)) (t (goto-char point)))))) @@ -1429,7 +1429,7 @@ being the list of messages originally from that folder." (setq which-func-mode t)) (let ((alist ())) (goto-char (point-min)) - (while (re-search-forward "^+" nil t) + (while (re-search-forward "^\\+" nil t) (save-excursion (beginning-of-line) (push (cons (buffer-substring-no-properties diff --git a/lisp/mh-e/mh-xface.el b/lisp/mh-e/mh-xface.el index 9a03fef110..ddb001ac8f 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.") (mh-funcall-if-exists ietf-drums-parse-address from-field)))) (host (and from - (string-match "\\([^+]*\\)\\(+.*\\)?@\\(.*\\)" from) + (string-match "\\([^+]*\\)\\(\\+.*\\)?@\\(.*\\)" from) (downcase (match-string 3 from)))) (user (and host (downcase (match-string 1 from)))) (canonical-address (format "%s@%s" user host)) diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 9fe961d748..c5d714846d 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." ;; We can't reuse env--substitute-vars-regexp because we need to match only ;; potentially-unfinished envvars at end of string. (concat "\\(?:^\\|[^$]\\(?:\\$\\$\\)*\\)" - "$\\([[:alnum:]_]*\\|{\\([^}]*\\)\\)\\'")) + "\\$\\([[:alnum:]_]*\\|{\\([^}]*\\)\\)\\'")) (defun completion--embedded-envvar-table (string _pred action) "Completion table for envvars embedded in a string. diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el index f2ee895049..428bf32947 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.") ;; seem to believe in the F-switch (if (or (and symlink (string-match "@\\'" file)) (and directory (string-match "/\\'" file)) - (and executable (string-match "*\\'" file)) + (and executable (string-match "\\*\\'" file)) (and socket (string-match "=\\'" file))) (setq file (substring file 0 -1))))) (puthash file (or symlink directory) tbl) diff --git a/lisp/net/goto-addr.el b/lisp/net/goto-addr.el index 43659d2820..c25d787391 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." (defvar goto-address-mail-regexp ;; Actually pretty much any char could appear in the username part. -stef - "[-a-zA-Z0-9=._+]+@\\([-a-zA-z0-9_]+\\.\\)+[a-zA-Z0-9]+" + "[-a-zA-Z0-9=._+]+@\\([-a-zA-Z0-9_]+\\.\\)+[a-zA-Z0-9]+" "A regular expression probably matching an e-mail address.") (defvar goto-address-url-regexp @@ -246,7 +246,7 @@ there, then load the URL at or before point." "Find e-mail address around or before point. Then search backwards to beginning of line for the start of an e-mail address. If no e-mail address found, return nil." - (re-search-backward "[^-_A-z0-9.@]" (line-beginning-position) 'lim) + (re-search-backward "[^-_A-Za-z0-9.@]" (line-beginning-position) 'lim) (if (or (looking-at goto-address-mail-regexp) ; already at start (and (re-search-forward goto-address-mail-regexp (line-end-position) 'lim) diff --git a/lisp/net/pop3.el b/lisp/net/pop3.el index cd6a113bff..599e2305f7 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." (goto-char pop3-read-point) (if (looking-at "-ERR") (error "%s" (buffer-substring (point) (- match-end 2))) - (if (not (looking-at "+OK")) + (if (not (looking-at "\\+OK")) (progn (setq pop3-read-point match-end) nil) (setq pop3-read-point match-end) (if return @@ -684,14 +684,14 @@ If NOW, use that time instead." "Send USER information to POP3 server." (pop3-send-command process (format "USER %s" user)) (let ((response (pop3-read-response process t))) - (if (not (and response (string-match "+OK" response))) + (if (not (and response (string-match "\\+OK" response))) (error "USER %s not valid" user)))) (defun pop3-pass (process) "Send authentication information to the server." (pop3-send-command process (format "PASS %s" pop3-password)) (let ((response (pop3-read-response process t))) - (if (not (and response (string-match "+OK" response))) + (if (not (and response (string-match "\\+OK" response))) (pop3-quit process)))) (defun pop3-apop (process user) @@ -704,7 +704,7 @@ If NOW, use that time instead." (let ((hash (md5 (concat pop3-timestamp pass) nil nil 'binary))) (pop3-send-command process (format "APOP %s %s" user hash)) (let ((response (pop3-read-response process t))) - (if (not (and response (string-match "+OK" response))) + (if (not (and response (string-match "\\+OK" response))) (pop3-quit process))))) )) diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 420a72d42e..b35b36eac7 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -870,7 +870,7 @@ Derived from `tramp-prefix-ipv6-format'.") ;; The following regexp is a bit sloppy. But it shall serve our ;; purposes. It covers also IPv4 mapped IPv6 addresses, like in ;; "::ffff:192.168.0.1". -(defconst tramp-ipv6-regexp "\\(?:\\(?:[a-zA-Z0-9]+\\)?:\\)+[a-zA-Z0-9.]+" +(defconst tramp-ipv6-regexp "\\(?:[a-zA-Z0-9]*:\\)+[a-zA-Z0-9.]+" "Regexp matching IPv6 addresses.") (defconst tramp-postfix-ipv6-format-alist @@ -2087,7 +2087,7 @@ Return the string with the replaced variables." (tramp-compat-funcall 'substitute-env-vars filename 'only-defined)) ;; We need an own implementation. (save-match-data - (let ((idx (string-match "$\\(\\w+\\)" filename))) + (let ((idx (string-match "\\$\\(\\w+\\)" filename))) ;; `$' is coded as `$$'. (when (and idx (or (zerop idx) (not (eq ?$ (aref filename (1- idx))))) diff --git a/lisp/nxml/nxml-maint.el b/lisp/nxml/nxml-maint.el index 2570e51af5..2956efb736 100644 --- a/lisp/nxml/nxml-maint.el +++ b/lisp/nxml/nxml-maint.el @@ -34,10 +34,10 @@ (let (lst head) (with-current-buffer (find-file-noselect file) (goto-char (point-min)) - (while (re-search-forward "^ *\\([a-FA-F0-9]\\{2\\}\\)[ \t]+" nil t) + (while (re-search-forward "^ *\\([a-fA-F0-9]\\{2\\}\\)[ \t]+" nil t) (let ((row (match-string 1)) (eol (line-end-position))) - (while (re-search-forward "\\([a-FA-F0-9]\\{2\\}\\)-\\([a-FA-F0-9]\\{2\\}\\)\\|\\([a-FA-F0-9]\\{2\\}\\)" eol t) + (while (re-search-forward "\\([a-fA-F0-9]\\{2\\}\\)-\\([a-fA-F0-9]\\{2\\}\\)\\|\\([a-fA-F0-9]\\{2\\}\\)" eol t) (setq lst (cons (if (match-beginning 3) (concat "#x" row (match-string 3)) diff --git a/lisp/nxml/rng-uri.el b/lisp/nxml/rng-uri.el index 0e458cfd2f..d8f2884f5e 100644 --- a/lisp/nxml/rng-uri.el +++ b/lisp/nxml/rng-uri.el @@ -42,7 +42,7 @@ escape them using %HH." (defun rng-uri-escape-multibyte (uri) "Escape multibyte characters in URI." - (replace-regexp-in-string "[:nonascii:]" + (replace-regexp-in-string "[[:nonascii:]]" 'rng-percent-encode (encode-coding-string uri 'utf-8))) diff --git a/lisp/nxml/rng-xsd.el b/lisp/nxml/rng-xsd.el index 6cd1688fe4..f308b049f3 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 n))) (defun rng-xsd-convert-any-uri (string) - (and (string-match "\\`\\(?:[^%]\\|%[0-9a-fA-F][0-9a-fA-F]\\)?*\\'" string) + (and (string-match "\\`\\(?:[^%]\\|%[0-9a-fA-F][0-9a-fA-F]\\)*\\'" string) (string-match "\\`[^#]*\\(?:#[^#]*\\)?\\'" string) (string-match "\\`\\(?:[a-zA-Z][-+.A-Za-z0-9]*:.+\\|[^:]*\\(?:[#/?].*\\)?\\)\\'" string) string)) diff --git a/lisp/obsolete/pgg.el b/lisp/obsolete/pgg.el index 86f30a3cf9..18b63fc3ee 100644 --- a/lisp/obsolete/pgg.el +++ b/lisp/obsolete/pgg.el @@ -572,7 +572,7 @@ within the region." (with-current-buffer (get-buffer-create pgg-output-buffer) (buffer-disable-undo) (erase-buffer) - (let ((proto (if (string-match "^[a-zA-Z\\+\\.\\\\-]+:" keyserver) + (let ((proto (if (string-match "^[a-zA-Z\\+.-]+:" keyserver) (substring keyserver 0 (1- (match-end 0)))))) (save-excursion (funcall pgg-insert-url-function diff --git a/lisp/obsolete/vip.el b/lisp/obsolete/vip.el index 9260ee92e5..0360db9bca 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." ((looking-at "%") (forward-char 1) (setq ex-token-type "whole")) - ((looking-at "+") - (cond ((or (looking-at "+[-+]") (looking-at "+[\n|]")) + ((looking-at "\\+") + (cond ((looking-at "\\+[-+\n|]") (forward-char 1) (insert "1") (backward-char 1) (setq ex-token-type "plus")) - ((looking-at "+[0-9]") + ((looking-at "\\+[0-9]") (forward-char 1) (setq ex-token-type "plus")) (t (error "Badly formed address")))) ((looking-at "-") - (cond ((or (looking-at "-[-+]") (looking-at "-[\n|]")) + (cond ((looking-at "-[-+\n|]") (forward-char 1) (insert "1") (backward-char 1) @@ -2520,7 +2520,7 @@ a token has type \(command, address, end-mark\) and value." ex-variant t) (forward-char 2) (skip-chars-forward " \t"))) - (if (looking-at "+") + (if (looking-at "\\+") (progn (forward-char 1) (set-mark (point)) diff --git a/lisp/org/ob-core.el b/lisp/org/ob-core.el index 93b8c13aa2..b6c54a92ab 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." (defun org-babel-string-read (cell) "Strip nested \"s from around strings." (org-babel-read (or (and (stringp cell) - (string-match "\\\"\\(.+\\)\\\"" cell) + (string-match "\"\\(.+\\)\"" cell) (match-string 1 cell)) cell) t)) diff --git a/lisp/org/org-agenda.el b/lisp/org/org-agenda.el index 6593c6d8fa..e416f5f062 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 (goto-char (point-min)) (cond ((eq type 'anniversary) - (or (re-search-forward "^*[ \t]+Anniversaries" nil t) + (or (re-search-forward "^\\*[ \t]+Anniversaries" nil t) (progn (or (org-at-heading-p t) (progn diff --git a/lisp/org/org-element.el b/lisp/org/org-element.el index 690dcd139e..04e2fda55e 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 ;; this corner case. (let ((begin (or (car affiliated) (point))) (post-affiliated (point)) - (key (progn (looking-at "[ \t]*#\\+\\(\\S-+*\\):") + (key (progn (looking-at "[ \t]*#\\+\\(\\S-*\\):") (upcase (match-string-no-properties 1)))) (value (org-trim (buffer-substring-no-properties (match-end 0) (point-at-eol)))) diff --git a/lisp/org/org-list.el b/lisp/org/org-list.el index 96c8f55d3a..ef85b402f0 100644 --- a/lisp/org/org-list.el +++ b/lisp/org/org-list.el @@ -2678,7 +2678,7 @@ Return t if successful." (error "Cannot outdent beyond margin") ;; Change bullet if necessary. (when (and (= (+ top-ind offset) 0) - (string-match "*" + (string-match "\\*" (org-list-get-bullet beg struct))) (org-list-set-bullet beg struct (org-list-bullet-string "-"))) diff --git a/lisp/org/org-mhe.el b/lisp/org/org-mhe.el index 969bff3cc6..a37c41ad06 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." "Return the name of the message folder in an index folder buffer." (save-excursion (mh-index-previous-folder) - (if (re-search-forward "^\\(+.*\\)$" nil t) + (if (re-search-forward "^\\(\\+.*\\)$" nil t) (message "%s" (match-string 1))))) (defun org-mhe-get-message-folder () diff --git a/lisp/org/org-mobile.el b/lisp/org/org-mobile.el index 1ff6358403..83dcc7b0d1 100644 --- a/lisp/org/org-mobile.el +++ b/lisp/org/org-mobile.el @@ -845,11 +845,11 @@ If BEG and END are given, only do this in that region." (cl-incf cnt-error) (throw 'next t)) (move-marker bos-marker (point)) - (if (re-search-forward "^** Old value[ \t]*$" eos t) + (if (re-search-forward "^\\*\\* Old value[ \t]*$" eos t) (setq old (buffer-substring (1+ (match-end 0)) (progn (outline-next-heading) (point))))) - (if (re-search-forward "^** New value[ \t]*$" eos t) + (if (re-search-forward "^\\*\\* New value[ \t]*$" eos t) (setq new (buffer-substring (1+ (match-end 0)) (progn (outline-next-heading) diff --git a/lisp/org/org-mouse.el b/lisp/org/org-mouse.el index ac75decb92..a3dcb77554 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." ,@(org-mouse-list-options-menu (mapcar 'car org-startup-options) 'org-mode-restart)))) ((or (eolp) - (and (looking-at "\\( \\|\t\\)\\(+:[0-9a-zA-Z_:]+\\)?\\( \\|\t\\)+$") + (and (looking-at "\\( \\|\t\\)\\(\\+:[0-9a-zA-Z_:]+\\)?\\( \\|\t\\)+$") (looking-back " \\|\t" (- (point) 2) (line-beginning-position)))) (org-mouse-popup-global-menu)) diff --git a/lisp/org/org-plot.el b/lisp/org/org-plot.el index aa34e4011a..a5635e326d 100644 --- a/lisp/org/org-plot.el +++ b/lisp/org/org-plot.el @@ -336,7 +336,7 @@ line directly before or after the table." (insert "\n") (insert-file-contents (plist-get params :script)) (goto-char (point-min)) - (while (re-search-forward "$datafile" nil t) + (while (re-search-forward "\\$datafile" nil t) (replace-match data-file nil nil))) (insert (org-plot/gnuplot-script data-file num-cols params))) ;; Graph table. diff --git a/lisp/org/org-protocol.el b/lisp/org/org-protocol.el index c31ac66bac..016105ef53 100644 --- a/lisp/org/org-protocol.el +++ b/lisp/org/org-protocol.el @@ -331,7 +331,7 @@ returned list." (len 0) dir ret) - (when (string-match "^\\(.*\\)\\(org-protocol:/+[a-zA-z0-9][-_a-zA-z0-9]*:/+\\)\\(.*\\)" trigger) + (when (string-match "^\\(.*\\)\\(org-protocol:/+[a-zA-Z0-9][-_a-zA-Z0-9]*:/+\\)\\(.*\\)" trigger) (setq dir (match-string 1 trigger)) (setq len (length dir)) (setcar l (concat dir (match-string 3 trigger)))) diff --git a/lisp/org/org-table.el b/lisp/org/org-table.el index 765a1ee5c9..b6e864fc9c 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." (- (org-time-string-to-absolute txt) (org-time-string-to-absolute txt-up))) ((string-match org-ts-regexp3 txt) 1) - ((string-match "\\([-+]\\)?\\(?:[0-9]+\\)?\\(?:\.[0-9]+\\)?" txt-up) + ((string-match "\\([-+]\\)?[0-9]*\\(?:\\.[0-9]+\\)?" txt-up) (- (string-to-number txt) (string-to-number (match-string 0 txt-up)))) (t 1))) @@ -2307,7 +2307,7 @@ LOCATION instead." "\n")))) (defsubst org-table-formula-make-cmp-string (a) - (when (string-match "\\`$[<>]" a) + (when (string-match "\\`\\$[<>]" a) (let ((arrow (string-to-char (substring a 1)))) ;; Fake a high number to make sure this is sorted at the end. (setq a (org-table-formula-handle-first/last-rc a)) @@ -2355,7 +2355,7 @@ LOCATION is a buffer position, consider the formulas there." (cond ((not (match-end 2)) m) ;; Is it a column reference? - ((string-match-p "\\`$\\([0-9]+\\|[<>]+\\)\\'" m) m) + ((string-match-p "\\`\\$\\([0-9]+\\|[<>]+\\)\\'" m) m) ;; Since named columns are not possible in ;; LHS, assume this is a named field. (t (match-string 2 string))))) @@ -3216,7 +3216,7 @@ known that the table will be realigned a little later anyway." (cond ((string-match "\\`@-?I+" old-lhs) (user-error "Can't assign to hline relative reference")) - ((string-match "\\`$[<>]" old-lhs) + ((string-match "\\`\\$[<>]" old-lhs) (let ((new (org-table-formula-handle-first/last-rc old-lhs))) (when (assoc new eqlist) @@ -3639,7 +3639,8 @@ Parameters get priority." (setq startline (org-current-line)) (dolist (entry eql) (let* ((type (cond - ((string-match "\\`$\\([0-9]+\\|[<>]+\\)\\'" (car entry)) + ((string-match "\\`\\$\\([0-9]+\\|[<>]+\\)\\'" + (car entry)) 'column) ((equal (string-to-char (car entry)) ?@) 'field) (t 'named))) diff --git a/lisp/org/org.el b/lisp/org/org.el index 8a11a8f75e..3a434d12df 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." ((and (equal type "lisp") (string-match "^/" path)) ;; Planner has a slash, we do not. (setq type "elisp" path (substring path 1))) - ((string-match "^//\\(.?*\\)/\\(<.*>\\)$" path) + ((string-match "^//\\(.*\\)/\\(<.*>\\)$" path) ;; A typical message link. Planner has the id after the final slash, ;; we separate it with a hash mark (setq path (concat (match-string 1 path) "#" @@ -22838,7 +22838,7 @@ assumed to be significant there." (save-excursion (skip-chars-backward "[ \t]") (skip-chars-backward "\\\\") - (looking-at "\\\\\\\\\\($\\|[^\\\\]\\)"))) + (looking-at "\\\\\\\\\\($\\|[^\\]\\)"))) (defun org-fill-paragraph-with-timestamp-nobreak-p () "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 c20536184e..7c9920f64c 100644 --- a/lisp/org/ox-ascii.el +++ b/lisp/org/ox-ascii.el @@ -1474,8 +1474,8 @@ contextual information." (replace-regexp-in-string "-" "•" (replace-regexp-in-string - "+" "⁃" - (replace-regexp-in-string "*" "‣" bul)))))))) + "\\+" "⁃" + (replace-regexp-in-string "\\*" "‣" bul)))))))) (indentation (if (eq list-type 'descriptive) org-ascii-quote-margin (string-width bullet)))) (concat diff --git a/lisp/org/ox-latex.el b/lisp/org/ox-latex.el index d3e6286149..d711530bf7 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." (defun org-latex-clean-invalid-line-breaks (data _backend _info) (replace-regexp-in-string - "\\(\\end{[A-Za-z0-9*]+}\\|^\\)[ \t]*\\\\\\\\[ \t]*$" "\\1" + "\\(\\\\end{[A-Za-z0-9*]+}\\|^\\)[ \t]*\\\\\\\\[ \t]*$" "\\1" data)) diff --git a/lisp/org/ox.el b/lisp/org/ox.el index 8813968332..58bc9b0ffb 100644 --- a/lisp/org/ox.el +++ b/lisp/org/ox.el @@ -3322,7 +3322,7 @@ storing and resolving footnotes. It is created automatically." (setq value (replace-match "" nil nil value))))) (lines (and (string-match - ":lines +\"\\(\\(?:[0-9]+\\)?-\\(?:[0-9]+\\)?\\)\"" + ":lines +\"\\([0-9]*-[0-9]*\\)\"" value) (prog1 (match-string 1 value) (setq value (replace-match "" nil nil value))))) diff --git a/lisp/progmodes/ada-xref.el b/lisp/progmodes/ada-xref.el index 7f0e166328..28c52b0653 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 file, minus extension but with directory, and ${full_current} is replaced by the name including the extension." - (while (string-match "\\(-[^-$IO]*[IO]\\)?${\\([^}]+\\)}" cmd-string) + (while (string-match "\\(-[^-$IO]*[IO]\\)?\\${\\([^}]+\\)}" cmd-string) (let (value (name (match-string 2 cmd-string))) (cond diff --git a/lisp/progmodes/cfengine.el b/lisp/progmodes/cfengine.el index a86cb53ceb..efe648bc03 100644 --- a/lisp/progmodes/cfengine.el +++ b/lisp/progmodes/cfengine.el @@ -852,8 +852,8 @@ This includes those for cfservd as well as cfagent.") ;; Classes. ("^[ \t]*\\([[:alnum:]_().|!]+\\)::" 1 font-lock-function-name-face) ;; Variables. - ("$(\\([[:alnum:]_]+\\))" 1 font-lock-variable-name-face) - ("${\\([[:alnum:]_]+\\)}" 1 font-lock-variable-name-face) + ("\\$(\\([[:alnum:]_]+\\))" 1 font-lock-variable-name-face) + ("\\${\\([[:alnum:]_]+\\)}" 1 font-lock-variable-name-face) ;; Variable definitions. ("\\_<\\([[:alnum:]_]+\\)[ \t]*=[ \t]*(" 1 font-lock-variable-name-face) ;; File, acl &c in group: { token ... } diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el index cb69a43b63..0fe4b106c5 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." (cond ((looking-at "\\(s\\|tr\\)\\>") (or (re-search-forward - "\\=\\w+[ \t]*#\\([^\n\\\\#]\\|\\\\[\\\\#]\\)*#\\([^\n\\\\#]\\|\\\\[\\\\#]\\)*" + "\\=\\w+[ \t]*#\\([^\n\\#]\\|\\\\[\\#]\\)*#\\([^\n\\#]\\|\\\\[\\#]\\)*" lim 'move) (setq stop-in t))) ((looking-at "\\(m\\|q\\([qxwr]\\)?\\)\\>") (or (re-search-forward - "\\=\\w+[ \t]*#\\([^\n\\\\#]\\|\\\\[\\\\#]\\)*#" + "\\=\\w+[ \t]*#\\([^\n\\#]\\|\\\\[\\#]\\)*#" lim 'move) (setq stop-in t))) (t ; It was fair comment @@ -3749,7 +3749,7 @@ the sections using `cperl-pod-head-face', `cperl-pod-face', state-point b nil nil state) state-point b) (if (or (nth 3 state) (nth 4 state) - (looking-at "\\(cut\\|\\end\\)\\>")) + (looking-at "\\(cut\\|end\\)\\>")) (if (or (nth 3 state) (nth 4 state) ignore-max) nil ; Doing a chunk only (message "=cut is not preceded by a POD section") @@ -3762,10 +3762,10 @@ the sections using `cperl-pod-head-face', `cperl-pod-face', b1 nil) ; error condition ;; We do not search to max, since we may be called from ;; some hook of fontification, and max is random - (or (re-search-forward "^\n=\\(cut\\|\\end\\)\\>" stop-point 'toend) + (or (re-search-forward "^\n=\\(cut\\|end\\)\\>" stop-point 'toend) (progn (goto-char b) - (if (re-search-forward "\n=\\(cut\\|\\end\\)\\>" stop-point 'toend) + (if (re-search-forward "\n=\\(cut\\|end\\)\\>" stop-point 'toend) (progn (message "=cut is not preceded by an empty line") (setq b1 t) @@ -5003,7 +5003,7 @@ Returns some position at the last line." ;; Looking at: ;; else { (if (looking-at - "[ \t]*}?[ \t]*\\<\\(\\els\\(e\\|if\\)\\|continue\\|unless\\|if\\|while\\|for\\(each\\)?\\|until\\)\\>\\(\t*\\|[ \t][ \t]+\\)[^ \t\n#]") + "[ \t]*}?[ \t]*\\<\\(els\\(e\\|if\\)\\|continue\\|unless\\|if\\|while\\|for\\(each\\)?\\|until\\)\\>\\(\t*\\|[ \t][ \t]+\\)[^ \t\n#]") (progn (forward-word-strictly 1) (delete-horizontal-space) @@ -5031,7 +5031,7 @@ Returns some position at the last line." ;; Looking at (with or without "}" at start, ending after "({"): ;; } foreach my $var () OR { (if (looking-at - "[ \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]*{") + "[ \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]*{") (progn (setq ml (match-beginning 8)) ; "(" or "{" after control word (re-search-forward "[({]") @@ -7347,7 +7347,7 @@ Currently it is tuned to C and Perl syntax." "-[a-zA-Z]" ; File test "\\\\[a-zA-Z0]" ; Special chars "^=[a-z][a-zA-Z0-9_]*" ; POD sections - "[-!&*+,-./<=>?\\\\^|~]+" ; Operator + "[-!&*+,./<=>?\\^|~]+" ; Operator "[a-zA-Z_0-9:]+" ; symbol or number "x=" "#!") @@ -7364,7 +7364,7 @@ Currently it is tuned to C and Perl syntax." ;; Does not save-excursion ;; Get to the something meaningful (or (eobp) (eolp) (forward-char 1)) - (re-search-backward "[-a-zA-Z0-9_:!&*+,-./<=>?\\\\^|~$%@]" + (re-search-backward "[-a-zA-Z0-9_:!&*+,./<=>?\\^|~$%@]" (point-at-bol) 'to-beg) ;; (cond @@ -7391,8 +7391,8 @@ Currently it is tuned to C and Perl syntax." (forward-char -1)) ((and (looking-at "\\^") (eq (preceding-char) ?\$)) ; $^I (forward-char -1)) - ((looking-at "[-!&*+,-./<=>?\\\\^|~]") - (skip-chars-backward "-!&*+,-./<=>?\\\\^|~") + ((looking-at "[-!&*+,./<=>?\\^|~]") + (skip-chars-backward "-!&*+,./<=>?\\^|~") (cond ((and (eq (preceding-char) ?\$) (not (eq (char-after (- (point) 2)) ?\$))) ; $- @@ -8145,7 +8145,7 @@ prototype \\&SUB Returns prototype of the function given a reference. ;; Protect fragile " ", "#" (if have-x nil (goto-char (1+ b)) - (while (re-search-forward "\\(\\=\\|[^\\\\]\\)\\(\\\\\\\\\\)*[ \t\n#]" e t) ; Need to include (?#) too? + (while (re-search-forward "\\(\\=\\|[^\\]\\)\\(\\\\\\\\\\)*[ \t\n#]" e t) ; Need to include (?#) too? (forward-char -1) (insert "\\") (forward-char 1))) diff --git a/lisp/progmodes/dcl-mode.el b/lisp/progmodes/dcl-mode.el index 17137cf303..d5803c77bb 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. Returns the column offset." (save-excursion (beginning-of-line) - (re-search-forward "^$[ \t]*" nil t) + (re-search-forward "^\\$[ \t]*" nil t) (current-column))) diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el index a2392328ba..c2715be537 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." ;; a textual description of the four rules. (and (string-match "^[^ \t()=,;]+$" tag) ;rule #1 ;; Rules #2 and #4, and a check that there's no explicit name. - (looking-at "[ \t()=,;]?\177\\(?:[0-9]+\\)?,\\(?:[0-9]+\\)?$") + (looking-at "[ \t()=,;]?\177[0-9]*,[0-9]*$") (save-excursion (backward-char (1+ (length tag))) (looking-at "[\n \t()=,;]")))) ;rule #3 diff --git a/lisp/progmodes/fortran.el b/lisp/progmodes/fortran.el index be272c0922..c1a267f4c5 100644 --- a/lisp/progmodes/fortran.el +++ b/lisp/progmodes/fortran.el @@ -2052,7 +2052,7 @@ If ALL is nil, only match comments that start in column > 0." (when (<= (point) bos) (move-to-column (1+ fill-column)) ;; What is this doing??? - (or (re-search-forward "[\t\n,'+-/*)=]" eol t) + (or (re-search-forward "[-\t\n,'+./*)=]" eol t) (goto-char bol))) (if (bolp) (re-search-forward "[ \t]" opoint t)) diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el index b9654dd5c2..75e2deaa4c 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." TEXT is the text of the button we clicked on, a + or - item. TOKEN is data related to this node. INDENT is the current indentation depth." - (cond ((string-match "+" text) ;expand this node + (cond ((string-match "\\+" text) ;expand this node (let* ((var (assoc token gdb-var-list)) (expr (nth 1 var)) (children (nth 2 var))) (if (or (<= (string-to-number children) gdb-max-children) @@ -4153,7 +4153,7 @@ member." (when (not value) (setq value "")) (if (or (not value) - (string-match "\\0x" value)) + (string-match "0x" value)) (add-text-properties 0 (length name) `(mouse-face highlight help-echo "mouse-2: create watch expression" diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el index 3fd2a7e701..a5427dd8b7 100644 --- a/lisp/progmodes/grep.el +++ b/lisp/progmodes/grep.el @@ -457,13 +457,13 @@ abbreviated part can also be toggled with (": \\(.+\\): \\(?:Permission denied\\|No such \\(?:file or directory\\|device or address\\)\\)$" 1 grep-error-face) ;; remove match from grep-regexp-alist before fontifying - ("^Grep[/a-zA-z]* started.*" + ("^Grep[/a-zA-Z]* started.*" (0 '(face nil compilation-message nil help-echo nil mouse-face nil) t)) - ("^Grep[/a-zA-z]* finished with \\(?:\\(\\(?:[0-9]+ \\)?matches found\\)\\|\\(no matches found\\)\\).*" + ("^Grep[/a-zA-Z]* finished with \\(?:\\(\\(?:[0-9]+ \\)?matches found\\)\\|\\(no matches found\\)\\).*" (0 '(face nil compilation-message nil help-echo nil mouse-face nil) t) (1 compilation-info-face nil t) (2 compilation-warning-face nil t)) - ("^Grep[/a-zA-z]* \\(exited abnormally\\|interrupt\\|killed\\|terminated\\)\\(?:.*with code \\([0-9]+\\)\\)?.*" + ("^Grep[/a-zA-Z]* \\(exited abnormally\\|interrupt\\|killed\\|terminated\\)\\(?:.*with code \\([0-9]+\\)\\)?.*" (0 '(face nil compilation-message nil help-echo nil mouse-face nil) t) (1 grep-error-face) (2 grep-error-face nil t)) diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el index d8cae41899..92f5205a6d 100644 --- a/lisp/progmodes/gud.el +++ b/lisp/progmodes/gud.el @@ -2237,7 +2237,7 @@ relative to a classpath directory." (split-string ;; Eliminate any subclass references in the class ;; name string. These start with a "$" - (if (string-match "$.*" p) + (if (string-match "\\$.*" p) (replace-match "" t t p) p) "\\.") "/") ".java")) diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el index 532739daae..f1ec5ceea5 100644 --- a/lisp/progmodes/js.el +++ b/lisp/progmodes/js.el @@ -1838,7 +1838,7 @@ This performs fontification according to `js--class-styles'." (save-excursion (backward-char) (not (looking-at "[/*]/\\|=>"))) (js--looking-at-operator-p) (and (progn (backward-char) - (not (looking-at "+\\+\\|--\\|/[/*]")))))))))) + (not (looking-at "\\+\\+\\|--\\|/[/*]")))))))))) (defun js--skip-term-backward () "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 9c9bee1c51..98b812f52f 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." (defvar m4-font-lock-keywords '(("\\(\\_<\\(m4_\\)?dnl\\_>\\).*$" . font-lock-comment-face) ("\\$[*#@0-9]" . font-lock-variable-name-face) - ("\\$\\@" . font-lock-variable-name-face) + ("\\$@" . font-lock-variable-name-face) ("\\$\\*" . font-lock-variable-name-face) ("\\_<\\(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)) "Default `font-lock-keywords' for M4 mode.") diff --git a/lisp/progmodes/meta-mode.el b/lisp/progmodes/meta-mode.el index 34b8bbbd39..8d3745be7c 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." (let ((count 0)) (narrow-to-region (point) (save-excursion - (re-search-forward "[^\\\\\"]%\\|\n\\|\\'" nil t) + (re-search-forward "[^\\\"]%\\|\n\\|\\'" nil t) (backward-char) (point))) (while (re-search-forward "\\<\\sw+\\>\\|(\\|)" nil t) (save-excursion diff --git a/lisp/progmodes/mixal-mode.el b/lisp/progmodes/mixal-mode.el index 1ea4b33093..a759709b5c 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.") . mixal-font-lock-operation-code-face) (,(regexp-opt mixal-assembly-pseudoinstructions 'words) . mixal-font-lock-assembly-pseudoinstruction-face) - ("^[A-Z0-9a-z]*[ \t]+[A-ZO-9a-z]+[ \t]+\\(=.*=\\)" + ("^[A-Z0-9a-z]*[ \t]+[A-Z0-9a-z]+[ \t]+\\(=.*=\\)" (1 font-lock-constant-face))) "Keyword highlighting specification for `mixal-mode'.") ;; (makunbound 'mixal-font-lock-keywords) diff --git a/lisp/progmodes/opascal.el b/lisp/progmodes/opascal.el index 7cc6882f8b..7d51816bf4 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." (setq dir-name (match-string 1 dir-name) recurse t)) ;; Ensure the trailing slash is removed. - (if (string-match "^\\(.+\\)[\\\\/]$" dir-name) + (if (string-match "^\\(.+\\)[\\/]$" dir-name) (setq dir-name (match-string 1 dir-name))) (opascal-search-directory unit dir-name recurse))) diff --git a/lisp/progmodes/pascal.el b/lisp/progmodes/pascal.el index 81fff826bc..cae514aa75 100644 --- a/lisp/progmodes/pascal.el +++ b/lisp/progmodes/pascal.el @@ -117,7 +117,7 @@ (defconst pascal-beg-block-re "\\<\\(begin\\|case\\|record\\|repeat\\)\\>") (defconst pascal-end-block-re "\\<\\(end\\|until\\)\\>") (defconst pascal-declaration-re "\\<\\(const\\|label\\|type\\|var\\)\\>") -(defconst pascal-progbeg-re "\\<\\program\\>") +(defconst pascal-progbeg-re "\\") (defconst pascal-defun-re "\\<\\(function\\|procedure\\|program\\)\\>") (defconst pascal-sub-block-re "\\<\\(if\\|else\\|for\\|while\\|with\\)\\>") (defconst pascal-noindent-re "\\<\\(begin\\|end\\|until\\|else\\)\\>") diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el index e83778af94..e575d6cc16 100644 --- a/lisp/progmodes/ruby-mode.el +++ b/lisp/progmodes/ruby-mode.el @@ -108,7 +108,7 @@ "Regexp to match the beginning of a heredoc.") (defconst ruby-expression-expansion-re - "\\(?:[^\\]\\|\\=\\)\\(\\\\\\\\\\)*\\(#\\({[^}\n\\\\]*\\(\\\\.[^}\n\\\\]*\\)*}\\|\\(\\$\\|@\\|@@\\)\\(\\w\\|_\\)+\\|\\$[^a-zA-Z \n]\\)\\)")) + "\\(?:[^\\]\\|\\=\\)\\(\\\\\\\\\\)*\\(#\\({[^}\n\\]*\\(\\\\.[^}\n\\]*\\)*}\\|\\(\\$\\|@\\|@@\\)\\(\\w\\|_\\)+\\|\\$[^a-zA-Z \n]\\)\\)")) (defun ruby-here-doc-end-match () "Return a regexp to find the end of a heredoc. @@ -929,9 +929,9 @@ Can be one of `heredoc', `modifier', `expr-qstr', `expr-re'." (goto-char (match-end 0)) (not (looking-at "\\s_"))) ((eq option 'expr-qstr) - (looking-at "[a-zA-Z][a-zA-z0-9_]* +%[^ \t]")) + (looking-at "[a-zA-Z][a-zA-Z0-9_]* +%[^ \t]")) ((eq option 'expr-re) - (looking-at "[a-zA-Z][a-zA-z0-9_]* +/[^ \t]")) + (looking-at "[a-zA-Z][a-zA-Z0-9_]* +/[^ \t]")) (t nil))))))))) (defun ruby-forward-string (term &optional end no-error expand) @@ -1047,7 +1047,7 @@ delimiter." ((looking-at "\\?") ;skip ?char (cond ((and (ruby-expr-beg) - (looking-at "?\\(\\\\C-\\|\\\\M-\\)*\\\\?.")) + (looking-at "\\?\\(\\\\C-\\|\\\\M-\\)*\\\\?.")) (goto-char (match-end 0))) (t (goto-char pnt)))) @@ -1794,8 +1794,8 @@ If the result is do-end block, it will always be multiline." (buffer-substring-no-properties (1+ min) (1- max)))) (setq content (if (equal string-quote "'") - (replace-regexp-in-string "\\\\\"" "\"" (replace-regexp-in-string "\\(\\`\\|[^\\\\]\\)'" "\\1\\\\'" content)) - (replace-regexp-in-string "\\\\'" "'" (replace-regexp-in-string "\\(\\`\\|[^\\\\]\\)\"" "\\1\\\\\"" content)))) + (replace-regexp-in-string "\\\\\"" "\"" (replace-regexp-in-string "\\(\\`\\|[^\\]\\)'" "\\1\\\\'" content)) + (replace-regexp-in-string "\\\\'" "'" (replace-regexp-in-string "\\(\\`\\|[^\\]\\)\"" "\\1\\\\\"" content)))) (let ((orig-point (point))) (delete-region min max) (insert @@ -2178,7 +2178,7 @@ It will be properly highlighted even when the call omits parens.") font-lock-constant-face) nil t)) ;; Special globals. - (,(concat "\\$\\(?:[:\"!@;,/\\._><\\$?~=*&`'+0-9]\\|-[0adFiIlpvw]\\|" + (,(concat "\\$\\(?:[:\"!@;,/._><\\$?~=*&`'+0-9]\\|-[0adFiIlpvw]\\|" (regexp-opt '("LOAD_PATH" "LOADED_FEATURES" "PROGRAM_NAME" "ERROR_INFO" "ERROR_POSITION" "FS" "FIELD_SEPARATOR" diff --git a/lisp/progmodes/sql.el b/lisp/progmodes/sql.el index 2a42e7f451..6d91d84fa7 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.") "Return a docstring for `sql-help' listing loaded SQL products." (let ((doc sql--help-docstring)) ;; Insert FREE software list - (when (string-match "^\\(\\s-*\\)[\\\\][\\\\]FREE\\s-*$" doc 0) + (when (string-match "^\\(\\s-*\\)[\\][\\]FREE\\s-*$" doc 0) (setq doc (replace-match (sql-help-list-products (match-string 1 doc) t) t t doc 0))) ;; Insert non-FREE software list - (when (string-match "^\\(\\s-*\\)[\\\\][\\\\]NONFREE\\s-*$" doc 0) + (when (string-match "^\\(\\s-*\\)[\\][\\]NONFREE\\s-*$" doc 0) (setq doc (replace-match (sql-help-list-products (match-string 1 doc) nil) t t doc 0))) doc)) diff --git a/lisp/progmodes/verilog-mode.el b/lisp/progmodes/verilog-mode.el index a949a461c1..e1003378b2 100644 --- a/lisp/progmodes/verilog-mode.el +++ b/lisp/progmodes/verilog-mode.el @@ -2786,7 +2786,7 @@ find the errors." (defconst verilog-behavioral-block-beg-re (eval-when-compile (verilog-regexp-words '("initial" "final" "always" "always_comb" "always_latch" "always_ff" "function" "task")))) -(defconst verilog-coverpoint-re "\\w+\\s*:\\s*\\(coverpoint\\|cross\\constraint\\)" ) +(defconst verilog-coverpoint-re "\\w+\\s-*:\\s-*\\(coverpoint\\|cross\\constraint\\)" ) (defconst verilog-in-constraint-re ; keywords legal in constraint blocks starting a statement/block (eval-when-compile (verilog-regexp-words '("if" "else" "solve" "foreach")))) @@ -6559,7 +6559,7 @@ Return >0 for nested struct." (skip-chars-forward " \t\n\f") (while (cond - ((looking-at "\\/\\*") + ((looking-at "/\\*") (progn (setq h (point)) (goto-char (match-end 0)) @@ -8952,7 +8952,7 @@ Inserts the list of signals found." (error "%s: Unmatched (* *), at char %d" (verilog-point-text) (point)))) ;; On pins, parse and advance to next pin ;; Looking at pin, but *not* an // Output comment, or ) to end the inst - ((looking-at "\\s-*[a-zA-Z0-9`_$({}\\\\][^,]*") + ((looking-at "\\s-*[a-zA-Z0-9`_$({}\\][^,]*") (goto-char (match-end 0)) (setq verilog-read-sub-decls-gate-ios (or (car iolist) "input") iolist (cdr iolist)) @@ -9357,7 +9357,7 @@ Returns REGEXP and list of ( (signal_name connection_name)... )." ;; Regexp form?? ((looking-at ;; Regexp bug in XEmacs disallows ][ inside [], and wants + last - "\\s-*\\.\\(\\([a-zA-Z0-9`_$+@^.*?|---]\\|[][]\\|\\\\[()|]\\)+\\)\\s-*(\\(.*\\))\\s-*\\(,\\|)\\s-*;\\)") + "\\s-*\\.\\(\\([-a-zA-Z0-9`_$+@^.*?]\\|[][]\\|\\\\[()|]\\)+\\)\\s-*(\\(.*\\))\\s-*\\(,\\|)\\s-*;\\)") (setq rep (match-string-no-properties 3)) (goto-char (match-end 0)) (setq tpl-wild-list diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el index b8297c4847..1dc0c61d06 100644 --- a/lisp/progmodes/vhdl-mode.el +++ b/lisp/progmodes/vhdl-mode.el @@ -2474,7 +2474,7 @@ specified." (defun vhdl-resolve-env-variable (string) "Resolve environment variables in STRING." - (while (string-match "\\(.*\\)${?\\(\\(\\w\\|_\\)+\\)}?\\(.*\\)" string) + (while (string-match "\\(.*\\)\\${?\\(\\(\\w\\|_\\)+\\)}?\\(.*\\)" string) (setq string (concat (match-string 1 string) (getenv (match-string 2 string)) (match-string 4 string)))) @@ -15115,7 +15115,7 @@ otherwise use cached data." (defun vhdl-speedbar-expand-project (text token indent) "Expand/contract the project under the cursor." (cond - ((string-match "+" text) ; expand project + ((string-match "\\+" text) ; expand project (speedbar-change-expand-button-char ?-) (unless (member token vhdl-speedbar-shown-project-list) (setq vhdl-speedbar-shown-project-list @@ -15137,7 +15137,7 @@ otherwise use cached data." (defun vhdl-speedbar-expand-entity (text token indent) "Expand/contract the entity under the cursor." (cond - ((string-match "+" text) ; expand entity + ((string-match "\\+" text) ; expand entity (let* ((key (vhdl-speedbar-line-key indent)) (ent-alist (vhdl-aget vhdl-entity-alist key)) (ent-entry (vhdl-aget ent-alist token)) @@ -15206,7 +15206,7 @@ otherwise use cached data." (defun vhdl-speedbar-expand-architecture (text token indent) "Expand/contract the architecture under the cursor." (cond - ((string-match "+" text) ; expand architecture + ((string-match "\\+" text) ; expand architecture (let* ((key (vhdl-speedbar-line-key (1- indent))) (ent-alist (vhdl-aget vhdl-entity-alist key)) (conf-alist (vhdl-aget vhdl-config-alist key)) @@ -15266,7 +15266,7 @@ otherwise use cached data." (defun vhdl-speedbar-expand-config (text token indent) "Expand/contract the configuration under the cursor." (cond - ((string-match "+" text) ; expand configuration + ((string-match "\\+" text) ; expand configuration (let* ((key (vhdl-speedbar-line-key indent)) (conf-alist (vhdl-aget vhdl-config-alist key)) (conf-entry (vhdl-aget conf-alist token)) @@ -15324,7 +15324,7 @@ otherwise use cached data." (defun vhdl-speedbar-expand-package (text token indent) "Expand/contract the package under the cursor." (cond - ((string-match "+" text) ; expand package + ((string-match "\\+" text) ; expand package (let* ((key (vhdl-speedbar-line-key indent)) (pack-alist (vhdl-aget vhdl-package-alist key)) (pack-entry (vhdl-aget pack-alist token)) @@ -15729,7 +15729,7 @@ NO-POSITION non-nil means do not re-position cursor." (defun vhdl-speedbar-dired (text token indent) "Speedbar click handler for directory expand button in hierarchy mode." - (cond ((string-match "+" text) ; we have to expand this dir + (cond ((string-match "\\+" text) ; we have to expand this dir (setq speedbar-shown-directories (cons (expand-file-name (concat (speedbar-line-directory indent) token "/")) diff --git a/lisp/speedbar.el b/lisp/speedbar.el index 5a8f300195..46b3f2ea90 100644 --- a/lisp/speedbar.el +++ b/lisp/speedbar.el @@ -3353,7 +3353,7 @@ Handles end-of-sublist smartly." Clicking this button expands or contracts a directory. TEXT is the button clicked which has either a + or -. TOKEN is the directory to be expanded. INDENT is the current indentation level." - (cond ((string-match "+" text) ;we have to expand this dir + (cond ((string-match "\\+" text) ;we have to expand this dir (setq speedbar-shown-directories (cons (expand-file-name (concat (speedbar-line-directory indent) token "/")) @@ -3402,7 +3402,7 @@ INDENT is the current indentation level and is unused." The parameter TEXT and TOKEN are required, where TEXT is the button clicked, and TOKEN is the file to expand. INDENT is the current indentation level." - (cond ((string-match "+" text) ;we have to expand this file + (cond ((string-match "\\+" text) ;we have to expand this file (let* ((fn (expand-file-name (concat (speedbar-line-directory indent) token))) (lst (speedbar-fetch-dynamic-tags fn))) @@ -3443,7 +3443,7 @@ INDENT is the current indentation level." "Expand a tag sublist. Imenu will return sub-lists of specialized tag types. Etags does not support this feature. TEXT will be the button string. TOKEN will be the list, and INDENT is the current indentation level." - (cond ((string-match "+" text) ;we have to expand this file + (cond ((string-match "\\+" text) ;we have to expand this file (speedbar-change-expand-button-char ?-) (speedbar-with-writable (save-excursion diff --git a/lisp/textmodes/dns-mode.el b/lisp/textmodes/dns-mode.el index 07463e4e39..b303e1918e 100644 --- a/lisp/textmodes/dns-mode.el +++ b/lisp/textmodes/dns-mode.el @@ -114,9 +114,9 @@ "26.1" 'set) (defcustom dns-mode-font-lock-keywords - `((,(concat "^$" (regexp-opt dns-mode-control-entities)) + `((,(concat "^\\$" (regexp-opt dns-mode-control-entities)) 0 ,dns-mode-control-entity-face) - ("^$[a-z0-9A-Z]+" 0 ,dns-mode-bad-control-entity-face) + ("^\\$[a-z0-9A-Z]+" 0 ,dns-mode-bad-control-entity-face) (,(regexp-opt dns-mode-classes) 0 ,dns-mode-class-face) (,(regexp-opt dns-mode-types) 0 ,dns-mode-type-face)) "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 5e6ea52bff..d18916dfd0 100644 --- a/lisp/textmodes/flyspell.el +++ b/lisp/textmodes/flyspell.el @@ -929,7 +929,7 @@ Mostly we check word delimiters." (or (string= "" ispell-otherchars) (not (looking-at ispell-otherchars))) (or flyspell-consider-dash-as-word-delimiter-flag - (not (looking-at "\\-"))) + (not (looking-at "-"))) 2))))) (format " because : %S\n" (cond @@ -947,7 +947,7 @@ Mostly we check word delimiters." (or (string= "" ispell-otherchars) (not (looking-at ispell-otherchars))) (or flyspell-consider-dash-as-word-delimiter-flag - (not (looking-at "\\-"))))))) + (not (looking-at "-"))))))) ;; Yes because we have reached or typed a word delimiter. 'separator) ((not (integerp flyspell-delay)) diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el index cc8ec2652f..35dae7bc43 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." ;; Error in tex mode when a potential math mode change exists. (if (and replace (listp replace) (= 2 (length replace))) (if (and (eq ispell-parser 'tex) - (string-match "[\\\\][]()[]\\|\\\\begin\\|\\$" + (string-match "[\\][]()[]\\|\\\\begin\\|\\$" (regexp-quote string))) (error "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 851e46ca2d..5b42b25f77 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." (if item (progn (end-of-line) (re-search-forward - "\\\\bibitem\\|\\end{thebibliography}") + "\\\\bibitem\\|\\\\end{thebibliography}") (1- (match-beginning 0))) (progn (forward-list 1) (point))) (error (min (point-max) (+ 300 (point))))))) @@ -447,7 +447,7 @@ If FIELD is empty try \"editor\" field." (setq names (reftex-get-bib-field "editor" entry))) (while (string-match "\\band\\b[ \t]*" names) (setq names (replace-match "\n" nil t names))) - (while (string-match "[\\.a-zA-Z\\-]+\\.[ \t]*\\|,.*\\|[{}]+" names) + (while (string-match "[-.a-zA-Z]+\\.[ \t]*\\|,.*\\|[{}]+" names) (setq names (replace-match "" nil t names))) (while (string-match "^[ \t]+\\|[ \t]+$" names) (setq names (replace-match "" nil t names))) diff --git a/lisp/textmodes/reftex-ref.el b/lisp/textmodes/reftex-ref.el index 5833ab32ed..3ec96aa67d 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." ;; Replace %escapes in a label prefix (save-match-data (let (letter (num 0) replace) - (while (string-match "\\%\\([a-zA-Z]\\)" prefix num) + (while (string-match "%\\([a-zA-Z]\\)" prefix num) (setq letter (match-string 1 prefix)) (setq replace (save-match-data diff --git a/lisp/url/url-parse.el b/lisp/url/url-parse.el index a15ec953f6..1f72f51d76 100644 --- a/lisp/url/url-parse.el +++ b/lisp/url/url-parse.el @@ -209,7 +209,7 @@ parses to ;; 3.3. Path (skip-chars-forward "^?#") ;; 3.4. Query - (when (looking-at "?") + (when (looking-at "\\?") (skip-chars-forward "^#")) (setq file (buffer-substring save-pos (point))) ;; 3.5 Fragment diff --git a/lisp/url/url-util.el b/lisp/url/url-util.el index 1d0ecb4436..cb80ec6cef 100644 --- a/lisp/url/url-util.el +++ b/lisp/url/url-util.el @@ -503,7 +503,7 @@ WIDTH defaults to the current frame width." (urlobj nil)) ;; The first thing that can go are the search strings (if (and (>= str-width fr-width) - (string-match "?" url)) + (string-match "\\?" url)) (setq url (concat (substring url 0 (match-beginning 0)) "?...") str-width (length url))) (if (< str-width fr-width) diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el index 2c790a2856..40204404e7 100644 --- a/lisp/vc/diff-mode.el +++ b/lisp/vc/diff-mode.el @@ -1065,7 +1065,7 @@ else cover the whole buffer." " ----\n" hunk)) ;;(goto-char (point-min)) (forward-line 1) - (if (not (save-excursion (re-search-forward "^+" nil t))) + (if (not (save-excursion (re-search-forward "^\\+" nil t))) (delete-region (point) (point-max)) (let ((modif nil) (delete nil)) (if (save-excursion (re-search-forward "^\\+.*\n-" diff --git a/lisp/vc/vc-bzr.el b/lisp/vc/vc-bzr.el index e29013cdb4..ab5a449cd3 100644 --- a/lisp/vc/vc-bzr.el +++ b/lisp/vc/vc-bzr.el @@ -332,7 +332,7 @@ in the repository root directory of FILE." (file-relative-name filename* rootdir)))) (defvar vc-bzr-error-regexp-alist - '(("^\\( M[* ]\\|+N \\|-D \\|\\| \\*\\|R[M ] \\) \\(.+\\)" 2 nil nil 1) + '(("^\\( M[* ]\\|\\+N \\|-D \\|\\| \\*\\|R[M ] \\) \\(.+\\)" 2 nil nil 1) ("^C \\(.+\\)" 2) ("^Text conflict in \\(.+\\)" 1 nil nil 2) ("^Using saved parent location: \\(.+\\)" 1 nil nil 0)) diff --git a/lisp/vc/vc-cvs.el b/lisp/vc/vc-cvs.el index a4ff1cb4cd..3bbd0ed49b 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' state." (let (file status missing) (goto-char (point-min)) - (while (looking-at "? \\(.*\\)") + (while (looking-at "\\? \\(.*\\)") (setq file (expand-file-name (match-string 1))) (vc-file-setprop file 'vc-state 'unregistered) (forward-line 1)) diff --git a/lisp/woman.el b/lisp/woman.el index 38e083a961..a351f788ec 100644 --- a/lisp/woman.el +++ b/lisp/woman.el @@ -2624,7 +2624,7 @@ If DELETE is non-nil then delete from point." (t ; Ignore -- leave in buffer ;; This does not work too well, but it's only for debugging! (skip-chars-forward "^ \t") - (if (looking-at "[ \t]*\\{") (search-forward "\\}")) + (if (looking-at "[ \t]*{") (search-forward "}")) (forward-line 1)))) ;; request is not used dynamically by any callees. @@ -2636,7 +2636,7 @@ If DELETE is non-nil then delete from point." ;; Ignore -- leave in buffer ;; This does not work too well, but it's only for debugging! (skip-chars-forward "^ \t") - (if (looking-at "[ \t]*\\{") (search-forward "\\}")) + (if (looking-at "[ \t]*{") (search-forward "}")) (forward-line 1))) (defun woman0-so () @@ -3268,7 +3268,7 @@ If optional arg CONCAT is non-nil then join arguments." (while ;; Find font requests, paragraph macros and font escapes: (re-search-forward - "^[.'][ \t]*\\(\\(\\ft\\)\\|\\(.P\\)\\)\\|\\(\\\\f\\)" nil 1) + "^[.'][ \t]*\\(\\(ft\\)\\|\\(.P\\)\\)\\|\\(\\\\f\\)" nil 1) (let (font beg notfont fescape) ;; Match font indicator and leave point at end of sequence: (cond ((match-beginning 2) diff --git a/lisp/xdg.el b/lisp/xdg.el index 65e35b7b35..e5a3de4828 100644 --- a/lisp/xdg.el +++ b/lisp/xdg.el @@ -117,7 +117,7 @@ file:///foo/bar.jpg" (defun xdg--substitute-home-env (str) (if (file-name-absolute-p str) str (save-match-data - (and (string-match "^$HOME/" str) + (and (string-match "^\\$HOME/" str) (replace-match "~/" t nil str 0))))) (defun xdg--user-dirs-parse-line () commit da16ab030159e31056bfdd80e8f2b726e10c854c Author: Charles A. Roelli Date: Mon Mar 4 19:43:25 2019 +0100 Fix diff-mode tests after renaming diff-font-lock-refine This fixes tests broken in my last change, "Merge diff-font-lock-refine and diff-auto-refine-mode into diff-refine" from 2019-02-24. * test/lisp/vc/diff-mode-tests.el (diff-mode-test-font-lock): Bind diff-refine to symbol 'font-lock' instead of binding diff-font-lock-refine to t. (diff-mode-test-font-lock-syntax-one-line): Bind diff-refine to nil instead of binding diff-font-lock-refine to nil. diff --git a/test/lisp/vc/diff-mode-tests.el b/test/lisp/vc/diff-mode-tests.el index 8695d958ba..676d461076 100644 --- a/test/lisp/vc/diff-mode-tests.el +++ b/test/lisp/vc/diff-mode-tests.el @@ -210,7 +210,7 @@ youthfulness (old "hello_world.c") (new "hello_emacs.c") (diff-buffer (get-buffer-create "*Diff*")) - (diff-font-lock-refine t) + (diff-refine 'font-lock) (diff-font-lock-syntax t) diff-beg) (diff-no-select old new '("-u") 'no-async diff-buffer) @@ -271,7 +271,7 @@ youthfulness (old "hello_world_1.c") (new "hello_emacs_1.c") (diff-buffer (get-buffer-create "*Diff*")) - (diff-font-lock-refine nil) + (diff-refine nil) (diff-font-lock-syntax t) diff-beg) (diff-no-select old new '("-u") 'no-async diff-buffer) commit f06405cbf8dde232f8cbe9564a42613dae3dfdc5 Author: Eli Zaretskii Date: Mon Mar 4 19:22:23 2019 +0200 Avoid assertion violations in buf_bytepos_to_charpos * src/marker.c (buf_bytepos_to_charpos): Disable the assertion regarding bytepos always at the head byte of a multibyte sequence. diff --git a/src/marker.c b/src/marker.c index 0b2e1bf5c6..6755993bfa 100644 --- a/src/marker.c +++ b/src/marker.c @@ -332,9 +332,11 @@ buf_bytepos_to_charpos (struct buffer *b, ptrdiff_t bytepos) if (best_above == best_above_byte) return bytepos; +#if 0 /* Check bytepos is not in the middle of a character. */ eassert (bytepos >= BUF_Z_BYTE (b) || CHAR_HEAD_P (BUF_FETCH_BYTE (b, bytepos))); +#endif best_below = BEG; best_below_byte = BEG_BYTE; commit 6a1dcf594a8b6aa72820f04b529aa3454cf3fc61 Author: Eli Zaretskii Date: Mon Mar 4 18:28:18 2019 +0200 Fix invocation with -rv on the command line * lisp/frame.el (frame-set-background-mode): Avoid errors from 'face-spec-match-p' when the face was not yet realized for FRAME. (Bug#34725) diff --git a/lisp/frame.el b/lisp/frame.el index 8a4a0b6639..7fe3282eb5 100644 --- a/lisp/frame.el +++ b/lisp/frame.el @@ -1119,9 +1119,23 @@ face specs for the new background mode." ;; most faces are unmodified). (dolist (face (face-list)) (and (not (get face 'face-override-spec)) - (not (face-spec-match-p face - (face-user-default-spec face) - (selected-frame))) + (not (and + ;; If the face was not yet realized for the + ;; frame, face-spec-match-p will signal an + ;; error, so treat such a missing face as + ;; having a mismatched spec; the call to + ;; face-spec-recalc below will then realize + ;; the face for the frame. This happens + ;; during startup with -rv on the command + ;; line for the initial frame, because frames + ;; are not recorded in the pdump file. + (assq face (frame-face-alist)) + (face-spec-match-p face + (face-user-default-spec face) + ;; FIXME: why selected-frame and + ;; not the frame that is the + ;; argument to this function? + (selected-frame)))) (push face locally-modified-faces))) ;; Now change to the new frame parameters (modify-frame-parameters frame params) commit 4aa74ddd1b332bafbb0c9272086170647b87cb84 Author: Nicolas Petton Date: Mon Mar 4 13:10:45 2019 +0100 * lisp/emacs-lisp/map.el: Bump version to 2.0. diff --git a/lisp/emacs-lisp/map.el b/lisp/emacs-lisp/map.el index 7ec5b39625..f4fff334b9 100644 --- a/lisp/emacs-lisp/map.el +++ b/lisp/emacs-lisp/map.el @@ -4,7 +4,7 @@ ;; Author: Nicolas Petton ;; Keywords: convenience, map, hash-table, alist, array -;; Version: 1.2 +;; Version: 2.0 ;; Package-Requires: ((emacs "25")) ;; Package: map