diff --git a/lisp/browse-url.el b/lisp/browse-url.el
index c81354e2c4e..33259b621fc 100644
--- a/lisp/browse-url.el
+++ b/lisp/browse-url.el
@@ -94,7 +94,8 @@
;; .
;; Free graphical browsers that could be used by `browse-url-generic'
-;; include Chimera , Arena
+;; include Chimera and
+;; , Arena
;; , Amaya
;; , mMosaic
;; (the latter with
@@ -261,7 +262,7 @@ Netscape version 1.1N or later or XMosaic version 2.5 or later."
(defcustom browse-url-netscape-display nil
"*The X display on which Netscape is running if different from
- Emacs's display."
+Emacs's display."
:type 'string
:group 'browse-url)
@@ -373,6 +374,14 @@ These might set the port, for instance."
:type '(repeat (string :tag "Argument"))
:group 'browse-url)
+(defcustom browse-url-temp-dir
+ (or (getenv "TMPDIR") "/tmp")
+ "*The name of a directory in which to store temporary files
+generated by functions like `browse-url-of-region'. You might want to
+set this to somewhere with restricted read permissions for privacy's sake."
+ :type 'string
+ :group 'browse-url)
+
(defvar browse-url-temp-file-list '())
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -389,7 +398,7 @@ These might set the port, for instance."
(defun browse-url-interactive-arg (prompt)
"Read a URL from the minibuffer, prompting with PROMPT.
-Default to the URL at or before point. If invoke with a mouse button,
+Default to the URL at or before point. If invoked with a mouse button,
set point to the position clicked first. Return a list for use in
`interactive' containing the URL and `browse-url-new-window-p' or its
negation if a prefix argument was given."
@@ -468,12 +477,9 @@ narrowed."
(progn
(or browse-url-temp-file-name
(setq browse-url-temp-file-name
- (make-temp-name
- (expand-file-name (buffer-name)
- (or (getenv "TMPDIR") "/tmp")))
- browse-url-temp-file-list
- (cons browse-url-temp-file-name
- browse-url-temp-file-list)))
+ (convert-standard-filename
+ (make-temp-name
+ (expand-file-name "burl" browse-url-temp-dir)))))
(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))))