emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 3c94c7b: Fix regular-expression glitches and typos


From: Paul Eggert
Subject: [Emacs-diffs] master 3c94c7b: Fix regular-expression glitches and typos
Date: Mon, 4 Mar 2019 21:01:04 -0500 (EST)

branch: master
commit 3c94c7bc02fcacb4a101188dddb0c44d53444178
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>

    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):
---
 admin/admin.el                    |  2 +-
 lisp/allout.el                    |  2 +-
 lisp/arc-mode.el                  |  4 ++--
 lisp/calc/calc-graph.el           |  4 ++--
 lisp/calc/calc-help.el            |  2 +-
 lisp/calc/calc-lang.el            |  6 +++---
 lisp/calc/calc.el                 |  2 +-
 lisp/cedet/ede/makefile-edit.el   |  2 +-
 lisp/cedet/ede/speedbar.el        |  2 +-
 lisp/cedet/semantic/sb.el         |  4 ++--
 lisp/comint.el                    |  2 +-
 lisp/dired.el                     |  2 +-
 lisp/emacs-lisp/chart.el          |  2 +-
 lisp/emacs-lisp/eieio-opt.el      |  2 +-
 lisp/emacs-lisp/eieio-speedbar.el |  2 +-
 lisp/emacs-lisp/rx.el             |  4 ++--
 lisp/emulation/viper-ex.el        | 16 ++++++++--------
 lisp/epg.el                       |  2 +-
 lisp/erc/erc-speedbar.el          |  6 +++---
 lisp/erc/erc.el                   |  4 ++--
 lisp/eshell/em-dirs.el            |  4 ++--
 lisp/find-dired.el                |  2 +-
 lisp/frame.el                     |  2 +-
 lisp/generic-x.el                 |  2 +-
 lisp/gnus/gnus-art.el             |  2 +-
 lisp/gnus/gnus.el                 |  2 +-
 lisp/gnus/message.el              |  2 +-
 lisp/ibuffer.el                   |  2 +-
 lisp/ido.el                       |  4 ++--
 lisp/info-xref.el                 |  2 +-
 lisp/info.el                      |  8 ++++----
 lisp/international/mule.el        |  2 +-
 lisp/isearch.el                   |  3 ++-
 lisp/language/ethio-util.el       |  2 +-
 lisp/mail/rmail.el                |  2 +-
 lisp/mh-e/mh-alias.el             |  2 +-
 lisp/mh-e/mh-comp.el              |  2 +-
 lisp/mh-e/mh-search.el            | 10 +++++-----
 lisp/mh-e/mh-xface.el             |  2 +-
 lisp/minibuffer.el                |  2 +-
 lisp/net/ange-ftp.el              |  2 +-
 lisp/net/goto-addr.el             |  4 ++--
 lisp/net/pop3.el                  |  8 ++++----
 lisp/net/tramp.el                 |  4 ++--
 lisp/nxml/nxml-maint.el           |  4 ++--
 lisp/nxml/rng-uri.el              |  2 +-
 lisp/nxml/rng-xsd.el              |  2 +-
 lisp/obsolete/pgg.el              |  2 +-
 lisp/obsolete/vip.el              | 10 +++++-----
 lisp/org/ob-core.el               |  2 +-
 lisp/org/org-agenda.el            |  2 +-
 lisp/org/org-element.el           |  2 +-
 lisp/org/org-list.el              |  2 +-
 lisp/org/org-mhe.el               |  2 +-
 lisp/org/org-mobile.el            |  4 ++--
 lisp/org/org-mouse.el             |  2 +-
 lisp/org/org-plot.el              |  2 +-
 lisp/org/org-protocol.el          |  2 +-
 lisp/org/org-table.el             | 11 ++++++-----
 lisp/org/org.el                   |  4 ++--
 lisp/org/ox-ascii.el              |  4 ++--
 lisp/org/ox-latex.el              |  2 +-
 lisp/org/ox.el                    |  2 +-
 lisp/progmodes/ada-xref.el        |  2 +-
 lisp/progmodes/cfengine.el        |  4 ++--
 lisp/progmodes/cperl-mode.el      | 24 ++++++++++++------------
 lisp/progmodes/dcl-mode.el        |  2 +-
 lisp/progmodes/etags.el           |  2 +-
 lisp/progmodes/fortran.el         |  2 +-
 lisp/progmodes/gdb-mi.el          |  4 ++--
 lisp/progmodes/grep.el            |  6 +++---
 lisp/progmodes/gud.el             |  2 +-
 lisp/progmodes/js.el              |  2 +-
 lisp/progmodes/m4-mode.el         |  2 +-
 lisp/progmodes/meta-mode.el       |  2 +-
 lisp/progmodes/mixal-mode.el      |  2 +-
 lisp/progmodes/opascal.el         |  2 +-
 lisp/progmodes/pascal.el          |  2 +-
 lisp/progmodes/ruby-mode.el       | 14 +++++++-------
 lisp/progmodes/sql.el             |  4 ++--
 lisp/progmodes/verilog-mode.el    |  8 ++++----
 lisp/progmodes/vhdl-mode.el       | 14 +++++++-------
 lisp/speedbar.el                  |  6 +++---
 lisp/textmodes/dns-mode.el        |  4 ++--
 lisp/textmodes/flyspell.el        |  4 ++--
 lisp/textmodes/ispell.el          |  2 +-
 lisp/textmodes/reftex-cite.el     |  4 ++--
 lisp/textmodes/reftex-ref.el      |  2 +-
 lisp/url/url-parse.el             |  2 +-
 lisp/url/url-util.el              |  2 +-
 lisp/vc/diff-mode.el              |  2 +-
 lisp/vc/vc-bzr.el                 |  2 +-
 lisp/vc/vc-cvs.el                 |  2 +-
 lisp/woman.el                     |  6 +++---
 lisp/xdg.el                       |  2 +-
 95 files changed, 177 insertions(+), 175 deletions(-)

diff --git a/admin/admin.el b/admin/admin.el
index 90aac3d..650cf47 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 c2b3187..b3b87e5 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 8de0103..2afde7e 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 317f403..56f11c6 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 cf7574e..d9e8fe7 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 3f55fb1..ee107df 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 7390ea3..35f13f9 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 7d8a44b..1472108 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./address@hidden(){}]+\\)\\s-*" e t)
+         (while (re-search-forward 
"\\s-*\\([-a-zA-Z0-9./address@hidden(){}]+\\)\\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 cd56228..a5ccb66 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 6227ac6..83d11e1 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 a51413d..a5fca7e 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 3cb645e..98f493e 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 708f412..9c29297 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 e93d317..193f92b 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 52dd6fe..2dd9a5e 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 ca756ef..f6deb45 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 41c9a39..4496f1c 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  <Variable> [= <Value>]")
     (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 <Variable> [= <Value>]")
diff --git a/lisp/epg.el b/lisp/epg.el
index dd490ad..e06cc06 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 3d43457..0a1e38f 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 101a5a0..bcaa3e4 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 8e79189..31588a4 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 1935db0..ef137be 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 7fe3282..d71a3fe 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 47dfd28..c430be7 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 06f7be3..fa3abfa 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -7378,7 +7378,7 @@ groups."
 
 ;; Regexp suggested by Felix Wiemann in <address@hidden>
 (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 e5574d4..0bd15f3 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 0085337..d490f0c 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;<=>address@hidden|}~]+:"))
+      '(looking-at "[ \t]\\|[][!\"#$%&'()*+,-./0-9;<=>address@hidden|}~]+:"))
   "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 f34930a..2d3c140 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 8078d18..c268289 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 e8750a7..c55398b 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 6038273..c650d88 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 023fcbc..5393958 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]*\\(<!doctype[[:space:]\n]+\\(html\\|netscape\\)\\|<html\\)" 
size t)
-              (re-search-forward 
"<meta\\s-+\\(http-equiv=[\"']?content-type[\"']?\\s-+content=[\"']text/\\sw+;\\s-*\\)?charset=[\"']?\\(.+?\\)[\"'\\s-/>]"
 size t))
+              (re-search-forward 
"<meta\\s-+\\(http-equiv=[\"']?content-type[\"']?\\s-+content=[\"']text/\\sw+;\\s-*\\)?charset=[\"']?\\(.+?\\)[\"'[:space:]/>]"
 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 b944133..6280afe 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 afc2239..512d49b 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 7f7f0e9..91291b8 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 49f5547..c6cdfc4 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 706e64d..b96ef74 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 1a14f4f..c017bae 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 9a03fef..ddb001a 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 "\\([^+]*\\)\\(+.*\\)address@hidden(.*\\)" 
from)
+                      (string-match 
"\\([^+]*\\)\\(\\+.*\\)address@hidden(.*\\)" from)
                       (downcase (match-string 3 from))))
            (user (and host (downcase (match-string 1 from))))
            (canonical-address (format "address@hidden" user host))
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index 9fe961d..c5d7148 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 f2ee895..428bf32 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 43659d2..c25d787 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
-  "address@hidden([-a-zA-z0-9_]+\\.\\)+[a-zA-Z0-9]+"
+  "address@hidden([-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 "address@hidden" (line-beginning-position) 'lim)
+  (re-search-backward "address@hidden" (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 cd6a113..599e230 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 420a72d..b35b36e 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 2570e51..2956efb 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 0e458cf..d8f2884 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 6cd1688..f308b04 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 86f30a3..18b63fc 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 9260ee9..0360db9 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 93b8c13..b6c54a9 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 6593c6d..e416f5f 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 690dcd1..04e2fda 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 96c8f55..ef85b40 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 969bff3..a37c41a 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 1ff6358..83dcc7b 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 ac75dec..a3dcb77 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 aa34e40..a5635e3 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 c31ac66..016105e 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 765a1ee..b6e864f 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 "address@hidden" 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 8a11a8f..3a434d1 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 c205361..7c9920f 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 d3e6286..d711530 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 8813968..58bc9b0 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 7f0e166..28c52b0 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 a86cb53..efe648b 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 cb69a43..0fe4b10 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_:!&*+,-./<=>?\\\\^|address@hidden"
+  (re-search-backward "[-a-zA-Z0-9_:!&*+,./<=>?\\^|address@hidden"
                      (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 17137cf..d5803c7 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 a239232..c2715be 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 be272c0..c1a267f 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 b9654dd..75e2dea 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 "<complex data type>"))
         (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 3fd2a7e..a5427dd 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 d8cae41..92f5205 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 532739d..f1ec5ce 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 9c9bee1..98b812f 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)
     ("address@hidden" . 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\\|iv
 [...]
   "Default `font-lock-keywords' for M4 mode.")
diff --git a/lisp/progmodes/meta-mode.el b/lisp/progmodes/meta-mode.el
index 34b8bbb..8d3745b 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 1ea4b33..a759709 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 7cc6882..7d51816 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 81fff82..cae514a 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     "\\<program\\>")
 (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 e83778a..e575d6c 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 2a42e7f..6d91d84 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 a949a46..e100337 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-*\\.\\(\\(address@hidden|---]\\|[][]\\|\\\\[()|]\\)+\\)\\s-*(\\(.*\\))\\s-*\\(,\\|)\\s-*;\\)")
+               
"\\s-*\\.\\(\\(address@hidden|[][]\\|\\\\[()|]\\)+\\)\\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 b8297c4..1dc0c61 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 5a8f300..46b3f2e 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 07463e4..b303e19 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 5e6ea52..d18916d 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 cc8ec26..35dae7b 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 851e46c..5b42b25 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 5833ab3..3ec96aa 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 a15ec95..1f72f51 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 1d0ecb4..cb80ec6 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 2c790a2..4020440 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 e29013c..ab5a449 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 a4ff1cb..3bbd0ed 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 38e083a..a351f78 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 65e35b7..e5a3de4 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 ()



reply via email to

[Prev in Thread] Current Thread [Next in Thread]