From 54949f0669d9b9b5595091a660f6ec64a7392bdb Mon Sep 17 00:00:00 2001 From: Manuel Giraud Date: Thu, 2 Mar 2023 17:53:26 +0100 Subject: [PATCH 1/2] Fix out of sync counters in image-dired * lisp/image/image-dired.el (image-dired-delete-char): Update thumbnails counter upon deletion. (image-dired--update-header-line): Compute thumbnail index dynamically. (image-dired-insert-thumbnail): Remove now unused image-number text property. (Bug#61922) --- lisp/image/image-dired.el | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/lisp/image/image-dired.el b/lisp/image/image-dired.el index 6ecb307ce12..b13b3e08ce2 100644 --- a/lisp/image/image-dired.el +++ b/lisp/image/image-dired.el @@ -424,11 +424,10 @@ This affects the following commands: (file-name-nondirectory thumb-file))) thumb-file)) -(defun image-dired-insert-thumbnail ( file original-file-name - associated-dired-buffer image-number) +(defun image-dired-insert-thumbnail (file original-file-name + associated-dired-buffer) "Insert thumbnail image FILE. -Add text properties ORIGINAL-FILE-NAME, ASSOCIATED-DIRED-BUFFER -and IMAGE-NUMBER." +Add text properties ORIGINAL-FILE-NAME, ASSOCIATED-DIRED-BUFFER." (let (beg end) (setq beg (point)) (image-dired-insert-image @@ -452,7 +451,6 @@ and IMAGE-NUMBER." 'keymap nil 'original-file-name original-file-name 'associated-dired-buffer associated-dired-buffer - 'image-number image-number 'tags (image-dired-list-tags original-file-name) 'mouse-face 'highlight 'comment (image-dired-get-comment original-file-name))))) @@ -587,8 +585,8 @@ thumbnail buffer to be selected." (dolist (file files) (when (string-match-p (image-dired--file-name-regexp) file) (image-dired-insert-thumbnail - (image-dired--get-create-thumbnail-file file) file dired-buf - (cl-incf image-dired--number-of-thumbnails))))) + (image-dired--get-create-thumbnail-file file) file dired-buf) + (cl-incf image-dired--number-of-thumbnails)))) (if (> image-dired--number-of-thumbnails 0) (if do-not-pop (display-buffer buf) @@ -789,7 +787,10 @@ comment." (let ((file-name (image-dired-original-file-name)) (dired-buf (buffer-name (image-dired-associated-dired-buffer))) (image-count (format "%s/%s" - (get-text-property (point) 'image-number) + ;; Line-up adds one space between two + ;; images: this formula takes this into + ;; account. + (1+ (/ (point) 2)) image-dired--number-of-thumbnails)) (props (string-join (get-text-property (point) 'tags) ", ")) (comment (get-text-property (point) 'comment)) @@ -1127,10 +1128,12 @@ With a negative prefix argument, prompt user for the delay." "Remove current thumbnail from thumbnail buffer and line up." (interactive nil image-dired-thumbnail-mode) (let ((inhibit-read-only t)) - (delete-char 1)) + (delete-char 1) + (cl-decf image-dired--number-of-thumbnails)) (let ((pos (point))) (image-dired--line-up-with-method) - (goto-char pos))) + (goto-char pos) + (image-dired--update-header-line))) (defun image-dired-line-up () "Line up thumbnails according to `image-dired-thumbs-per-row'. From 26740f30469c2b13765f986fa65eca8a3a851ba2 Mon Sep 17 00:00:00 2001 From: Manuel Giraud Date: Thu, 2 Mar 2023 19:16:19 +0100 Subject: [PATCH 2/2] Use a face for DocView SVG * lisp/doc-view.el (doc-view-svg-face): New face for SVG images. (doc-view-insert-image): Use it. (Bug#61816) --- etc/NEWS | 6 ++++++ lisp/doc-view.el | 19 ++++++++----------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index 540b59a628f..13d073c7fb8 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -214,6 +214,12 @@ bound to 'C-c C-d' in 'go-ts-mode'. When this is non-nil, call the 'man' program synchronously rather than asynchronously (which is the default behavior). +** DocView + +--- +*** New face 'doc-view-svg-face'. +This replaces 'doc-view-svg-foreground' and 'doc-view-svg-background'. + * New Modes and Packages in Emacs 30.1 diff --git a/lisp/doc-view.el b/lisp/doc-view.el index 0303fec67a6..b14655fb274 100644 --- a/lisp/doc-view.el +++ b/lisp/doc-view.el @@ -236,17 +236,14 @@ showing only titles and no page number." :type 'boolean :version "29.1") -(defcustom doc-view-svg-background "white" - "Background color for svg images. +(defface doc-view-svg-face '((t :inherit default)) + "Face used for SVG images. Only background and foreground colors +are used. See `doc-view-mupdf-use-svg'." - :type 'color - :version "29.1") + :version "30.1") -(defcustom doc-view-svg-foreground "black" - "Foreground color for svg images. -See `doc-view-mupdf-use-svg'." - :type 'color - :version "29.1") +(make-obsolete 'doc-view-svg-background 'doc-view-svg-face "30.1") +(make-obsolete 'doc-view-svg-foreground 'doc-view-svg-face "30.1") (defcustom doc-view-ghostscript-options '("-dSAFER" ;; Avoid security problems when rendering files from untrusted @@ -1602,8 +1599,8 @@ ARGS is a list of image descriptors." (unless (member :transform-smoothing args) (setq args `(,@args :transform-smoothing t))) (when (eq doc-view--image-type 'svg) - (setq args `(,@args :background ,doc-view-svg-background - :foreground ,doc-view-svg-foreground))) + (setq args `(,@args :background ,(face-background 'doc-view-svg-face) + :foreground ,(face-foreground 'doc-view-svg-face)))) (apply #'create-image file doc-view--image-type nil args)))) (slice (doc-view-current-slice)) (img-width (and image (car (image-size image))))