aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/mail
diff options
context:
space:
mode:
authorMattias EngdegÄrd2020-04-14 12:17:40 +0200
committerMattias EngdegÄrd2020-04-14 12:25:16 +0200
commit4acdd7fe58ae9f94102afeca67b0383141d597da (patch)
tree5c6856ade640eba80849dc0b251f4057e65937d3 /lisp/mail
parent5f36e21fe519fe98784d230dd65ca2af78444d14 (diff)
downloademacs-4acdd7fe58ae9f94102afeca67b0383141d597da.tar.gz
emacs-4acdd7fe58ae9f94102afeca67b0383141d597da.zip
Fix edge case errors in filename-matching regexps
These changes fix actual or latent bugs in regexps that match file names, such as PATTERN arguments to 'directory-files'. See https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg00265.html * admin/authors.el (authors-obsolete-files-regexps) (authors-renamed-files-regexps): * lisp/auth-source-pass.el (auth-source-pass-entries): * lisp/calendar/todo-mode.el (todo-show, todo-find-filtered-items-file) (todo-filter-items, todo-reset-nondiary-marker, todo-reset-done-string) (todo-reset-comment-string, todo-reset-highlight-item): * lisp/cedet/semantic/db-ebrowse.el (semanticdb-load-ebrowse-caches): * lisp/cedet/semantic/texi.el (semantic-texi-associated-files): * lisp/cedet/srecode/map.el (srecode-map-update-map): * lisp/dired.el (dired-re-no-dot): * lisp/emacs-lisp/autoload.el (update-directory-autoloads): * lisp/emacs-lisp/shadow.el (load-path-shadows-find): * lisp/files.el (auto-mode-alist, directory-files-no-dot-files-regexp): * lisp/finder.el (finder-compile-keywords): * lisp/generic-x.el (inetd-conf-generic-mode, named-boot-generic-mode) (resolve-conf-generic-mode, etc-modules-conf-generic-mode): * lisp/gnus/gnus-agent.el (gnus-agent-read-agentview) (gnus-agent-regenerate-group, gnus-agent-update-files-total-fetched-for): * lisp/gnus/gnus-cache.el (gnus-cache-articles-in-group): * lisp/gnus/gnus-score.el (gnus-score-search-global-directories): * lisp/gnus/gnus-util.el (gnus-delete-directory): * lisp/gnus/gnus-uu.el (gnus-uu-dir-files): * lisp/gnus/nndraft.el (nndraft-request-group): * lisp/gnus/nnmh.el (nnmh-request-group, nnmh-request-create-group): (nnmh-request-delete-group, nnmh-active-number, nnmh-update-gnus-unreads): * lisp/gnus/nnspool.el (nnspool-request-group): * lisp/gnus/spam-stat.el (spam-stat-process-directory) (spam-stat-test-directory): * lisp/help-fns.el (help-fns--first-release): * lisp/help.el (view-emacs-news): * lisp/international/quail.el (quail-update-leim-list-file): * lisp/international/titdic-cnv.el (batch-titdic-convert): * lisp/mail/mspools.el (mspools-set-vm-spool-files) (mspools-get-spool-files): * lisp/mail/rmail.el (rmail-secondary-file-regexp) (rmail-speedbar-match-folder-regexp): * lisp/net/ange-ftp.el (ange-ftp-delete-directory): * lisp/net/tramp.el (tramp-use-absolute-autoload-file-names): * lisp/obsolete/gulp.el (gulp-send-requests): * lisp/obsolete/vc-arch.el (vc-arch-trim-revlib): * lisp/org/ob-core.el (org-babel-remove-temporary-directory): * lisp/progmodes/ebnf2ps.el (ebnf-file-suffix-regexp, ebnf-style-database): * lisp/progmodes/executable.el (executable-command-find-posix-p): * lisp/startup.el (command-line): * lisp/textmodes/refer.el (refer-get-bib-files): * lisp/url/url-about.el (url-probe-protocols): * lisp/vc/vc-rcs.el (vc-rcs-register, vc-rcs-unregister): * test/lisp/net/tramp-archive-tests.el (tramp-archive-test19-directory-files-and-attributes): * test/lisp/net/tramp-tests.el (tramp-test19-directory-files-and-attributes): Replace ^ and $ with \` and \', respectively. Use (rx (or (not ".") "...")), translated into "[^.]\\|\\.\\.\\.", to match anything but "." and "..", instead of several incorrect regexps.
Diffstat (limited to 'lisp/mail')
-rw-r--r--lisp/mail/mspools.el4
-rw-r--r--lisp/mail/rmail.el5
2 files changed, 5 insertions, 4 deletions
diff --git a/lisp/mail/mspools.el b/lisp/mail/mspools.el
index 9c0c3fe5ca9..94b0886c75f 100644
--- a/lisp/mail/mspools.el
+++ b/lisp/mail/mspools.el
@@ -223,7 +223,7 @@ your primary spool is. If this fails, set it to something like
223 ;; So I create a vm-spool-files entry for each of those mail drops 223 ;; So I create a vm-spool-files entry for each of those mail drops
224 (mapcar 'file-name-sans-extension 224 (mapcar 'file-name-sans-extension
225 (directory-files mspools-folder-directory nil 225 (directory-files mspools-folder-directory nil
226 (format "^[^.]+\\.%s" mspools-suffix))) 226 (format "\\`[^.]+\\.%s" mspools-suffix)))
227 )) 227 ))
228 )) 228 ))
229 229
@@ -357,7 +357,7 @@ nil."
357 (if (null mspools-folder-directory) 357 (if (null mspools-folder-directory)
358 (error "Set `mspools-folder-directory' to where the spool files are")) 358 (error "Set `mspools-folder-directory' to where the spool files are"))
359 (setq folders (directory-files mspools-folder-directory nil 359 (setq folders (directory-files mspools-folder-directory nil
360 (format "^[^.]+\\.%s$" mspools-suffix))) 360 (format "\\`[^.]+\\.%s\\'" mspools-suffix)))
361 (setq folders (mapcar 'mspools-size-folder folders)) 361 (setq folders (mapcar 'mspools-size-folder folders))
362 (setq folders (delq nil folders)) 362 (setq folders (delq nil folders))
363 (setq mspools-files folders) 363 (setq mspools-files folders)
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index d798ffa0516..3feff803e3e 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -474,7 +474,7 @@ the frame where you have the RMAIL buffer displayed."
474 :type 'directory 474 :type 'directory
475 :group 'rmail-files) 475 :group 'rmail-files)
476;;;###autoload 476;;;###autoload
477(defcustom rmail-secondary-file-regexp (purecopy "\\.xmail$") 477(defcustom rmail-secondary-file-regexp (purecopy "\\.xmail\\'")
478 "Regexp for which files are secondary Rmail files." 478 "Regexp for which files are secondary Rmail files."
479 :type 'regexp 479 :type 'regexp
480 :group 'rmail-files) 480 :group 'rmail-files)
@@ -4354,7 +4354,8 @@ This has an effect only if a summary buffer exists."
4354 (font-lock-fontify-region (point-min) (point-max))))))) 4354 (font-lock-fontify-region (point-min) (point-max)))))))
4355 4355
4356;;; Speedbar support for RMAIL files. 4356;;; Speedbar support for RMAIL files.
4357(defcustom rmail-speedbar-match-folder-regexp "^[A-Z0-9]+\\(\\.[A-Z0-9]+\\)?$" 4357(defcustom rmail-speedbar-match-folder-regexp
4358 "\\`[A-Z0-9]+\\(\\.[A-Z0-9]+\\)?\\'"
4358 "Regexp matching Rmail folder names to be displayed in Speedbar. 4359 "Regexp matching Rmail folder names to be displayed in Speedbar.
4359Enabling this permits Speedbar to display your folders for easy 4360Enabling this permits Speedbar to display your folders for easy
4360browsing, and moving of messages." 4361browsing, and moving of messages."