From: Lars Ingebrigtsen Date: Sun, 18 Aug 2019 00:30:42 +0000 (-0700) Subject: Make `browse-url-of-buffer' work from zip files X-Git-Tag: emacs-27.0.90~1574 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ee1c638cff27f3bcdd8936617d67f79fe07d6df1;p=emacs.git 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). --- 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)