From ee1c638cff27f3bcdd8936617d67f79fe07d6df1 Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Sat, 17 Aug 2019 17:30:42 -0700 Subject: [PATCH] Make `browse-url-of-buffer' work from zip files * lisp/net/browse-url.el (browse-url-of-buffer): Make `C-c C-v' work in HTML buffers visited from zip files and the like (bug#10318). --- lisp/net/browse-url.el | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el index 135f11f03c7..3151dae0aa2 100644 --- a/lisp/net/browse-url.el +++ b/lisp/net/browse-url.el @@ -714,16 +714,18 @@ narrowed." (and (not (buffer-narrowed-p)) (or buffer-file-name (and (boundp 'dired-directory) dired-directory))))) - (or file-name - (progn - (or browse-url-temp-file-name - (setq browse-url-temp-file-name - (convert-standard-filename - (make-temp-file - (expand-file-name "burl" browse-url-temp-dir) - nil ".html")))) - (setq file-name browse-url-temp-file-name) - (write-region (point-min) (point-max) file-name nil 'no-message))) + (when (or (not file-name) + ;; This can happen when we're looking at a file from a + ;; zip file buffer, for instance. + (not (file-exists-p file-name))) + (unless browse-url-temp-file-name + (setq browse-url-temp-file-name + (convert-standard-filename + (make-temp-file + (expand-file-name "burl" browse-url-temp-dir) + nil ".html")))) + (setq file-name browse-url-temp-file-name) + (write-region (point-min) (point-max) file-name nil 'no-message)) (browse-url-of-file file-name)))) (defun browse-url-delete-temp-file (&optional temp-file-name) -- 2.39.5