From e71f1dda1f80feb319d4ce5a69e14d36ec59adfd Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 7 Apr 2019 02:44:37 -0700 Subject: [PATCH] Fix more regexp oddities MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Problems reported by Mattias Engdegård in: https://lists.gnu.org/archive/html/emacs-devel/2019-04/msg00178.html * lisp/progmodes/sh-script.el (sh-get-indent-info): Reorder skip-chars-forward arg so that it does not look like a regexp. * lisp/progmodes/verilog-mode.el (verilog-sk-define-signal): Fix typo: the string is not a regexp. * lisp/vc/log-edit.el (log-edit-goto-eoh): Fix typo: stray ‘:’. * lisp/xml.el (xml-parse-dtd): Avoid ‘-’ right after char class. --- lisp/progmodes/sh-script.el | 3 +-- lisp/progmodes/verilog-mode.el | 2 +- lisp/vc/log-edit.el | 2 +- lisp/xml.el | 4 ++-- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index dd3a6fa411e..853a3500ee1 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el @@ -2905,8 +2905,7 @@ STRING This is ignored for the purposes of calculating (setq align-point (point)))) (or (bobp) (forward-char -1)) - ;; FIXME: This charset looks too much like a regexp. --Stef - (skip-chars-forward "[a-z0-9]*?") + (skip-chars-forward "*0-9?[]a-z") ) ((string-match "[])}]" x) (setq x (sh-safe-forward-sexp -1)) diff --git a/lisp/progmodes/verilog-mode.el b/lisp/progmodes/verilog-mode.el index 7b9c3921fba..916594bdde0 100644 --- a/lisp/progmodes/verilog-mode.el +++ b/lisp/progmodes/verilog-mode.el @@ -14263,7 +14263,7 @@ and the case items." (defun verilog-sk-define-signal () "Insert a definition of signal under point at top of module." (interactive "*") - (let* ((sig-re "[a-zA-Z0-9_]*") + (let* ((sig-re "a-zA-Z0-9_") (v1 (buffer-substring (save-excursion (skip-chars-backward sig-re) diff --git a/lisp/vc/log-edit.el b/lisp/vc/log-edit.el index 8bd1bbddb78..42710dd8dc9 100644 --- a/lisp/vc/log-edit.el +++ b/lisp/vc/log-edit.el @@ -350,7 +350,7 @@ The first subexpression is the actual text of the field.") (defun log-edit-goto-eoh () ;FIXME: Almost rfc822-goto-eoh! (goto-char (point-min)) (when (re-search-forward - "^\\([^[:alpha:]]\\|[[:alnum:]-]+[^[:alnum:]-:]\\)" nil 'move) + "^\\([^[:alpha:]]\\|[[:alnum:]-]+[^[:alnum:]-]\\)" nil 'move) (goto-char (match-beginning 0)))) (defun log-edit--match-first-line (limit) diff --git a/lisp/xml.el b/lisp/xml.el index 2337952f064..b5b923f863e 100644 --- a/lisp/xml.el +++ b/lisp/xml.el @@ -718,10 +718,10 @@ This follows the rule [28] in the XML specifications." (cond ((looking-at "PUBLIC\\s-+") (goto-char (match-end 0)) (unless (or (re-search-forward - "\\=\"\\([[:space:][:alnum:]-'()+,./:=?;!*#@$_%]*\\)\"" + "\\=\"\\([[:space:][:alnum:]'()+,./:=?;!*#@$_%-]*\\)\"" nil t) (re-search-forward - "\\='\\([[:space:][:alnum:]-()+,./:=?;!*#@$_%]*\\)'" + "\\='\\([[:space:][:alnum:]()+,./:=?;!*#@$_%-]*\\)'" nil t)) (error "XML: Missing Public ID")) (let ((pubid (match-string-no-properties 1))) -- 2.39.2