diff options
author | Peter Münster <pm@a16n.net> | 2021-08-18 02:02:02 +0200 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2021-08-19 15:03:23 +0200 |
commit | 63d6e1ffa198d729245eaf51641bfec09ee5e2c4 (patch) | |
tree | ac0ac74511924c6bbcd3c68c0c9dcff5ad0fd7b6 /lisp/image-dired.el | |
parent | 101b3c81b657198ebaf9abdaa0875d1b09d66192 (diff) | |
download | emacs-63d6e1ffa198d729245eaf51641bfec09ee5e2c4.tar.gz emacs-63d6e1ffa198d729245eaf51641bfec09ee5e2c4.tar.bz2 emacs-63d6e1ffa198d729245eaf51641bfec09ee5e2c4.zip |
Avoid problems when one tag/file is a substring of another
* lisp/image-dired.el (image-dired-remove-tag): End of filename is bound
by ";" and end of tag is bound by ";" or end of line.
Diffstat (limited to 'lisp/image-dired.el')
-rw-r--r-- | lisp/image-dired.el | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lisp/image-dired.el b/lisp/image-dired.el index 542701470e9..97fbd7bb1fb 100644 --- a/lisp/image-dired.el +++ b/lisp/image-dired.el @@ -1111,11 +1111,12 @@ FILE-TAGS is an alist in the following form: (error "Files must be a string or a list of strings!"))) (dolist (file files) (goto-char (point-min)) - (when (search-forward-regexp (format "^%s" file) nil t) + (when (search-forward-regexp (format "^%s;" file) nil t) (end-of-line) (setq end (point)) (beginning-of-line) - (when (search-forward-regexp (format "\\(;%s\\)" tag) end t) + (when (search-forward-regexp + (format "\\(;%s\\)\\($\\|;\\)" tag) end t) (delete-region (match-beginning 1) (match-end 1)) ;; Check if file should still be in the database. If ;; it has no tags or comments, it will be removed. |