]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid problems when one tag/file is a substring of another
authorPeter Münster <pm@a16n.net>
Wed, 18 Aug 2021 00:02:02 +0000 (02:02 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Thu, 19 Aug 2021 13:03:23 +0000 (15:03 +0200)
* 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.

lisp/image-dired.el

index 542701470e9e4c9ec10f5ebf7e365a7268ff5986..97fbd7bb1fbac13587cca8bdc33bc7e8384fc56b 100644 (file)
@@ -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.