summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/files.el6
-rw-r--r--lisp/gnus/gnus-uu.el3
-rw-r--r--lisp/international/mule.el9
-rw-r--r--lisp/json.el2
-rw-r--r--lisp/mh-e/mh-xface.el3
-rw-r--r--lisp/net/imap.el3
-rw-r--r--lisp/net/mailcap.el3
-rw-r--r--lisp/progmodes/flymake-proc.el13
-rw-r--r--lisp/simple.el3
-rw-r--r--lisp/subr.el17
10 files changed, 31 insertions, 31 deletions
diff --git a/lisp/files.el b/lisp/files.el
index 093b5f92e58..70d451cccfa 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -1850,6 +1850,10 @@ expand wildcards (if any) and replace the file with multiple files."
The buffer being killed is current while the hook is running.
See `kill-buffer'.
+This hook is not run for internal or temporary buffers created by
+`get-buffer-create' or `generate-new-buffer' with argument
+INHIBIT-BUFFER-HOOKS non-nil.
+
Note: Be careful with let-binding this hook considering it is
frequently used for cleanup.")
@@ -1951,7 +1955,7 @@ this function prepends a \"|\" to the final result if necessary."
(let ((lastname (file-name-nondirectory filename)))
(if (string= lastname "")
(setq lastname filename))
- (generate-new-buffer (if (string-match-p "\\` " lastname)
+ (generate-new-buffer (if (string-prefix-p " " lastname)
(concat "|" lastname)
lastname))))
diff --git a/lisp/gnus/gnus-uu.el b/lisp/gnus/gnus-uu.el
index 5980051ee45..db01fb13527 100644
--- a/lisp/gnus/gnus-uu.el
+++ b/lisp/gnus/gnus-uu.el
@@ -1587,8 +1587,7 @@ Gnus might fail to display all of it.")
(save-excursion
(switch-to-buffer (current-buffer))
(delete-other-windows)
- (let ((buffer (get-buffer-create (generate-new-buffer-name
- "*Warning*"))))
+ (let ((buffer (generate-new-buffer "*Warning*")))
(unless
(unwind-protect
(with-current-buffer buffer
diff --git a/lisp/international/mule.el b/lisp/international/mule.el
index 212e7232b49..6571454dffe 100644
--- a/lisp/international/mule.el
+++ b/lisp/international/mule.el
@@ -307,12 +307,9 @@ Return t if file exists."
(and (null noerror)
(signal 'file-error (list "Cannot open load file" file)))
;; Read file with code conversion, and then eval.
- (let* ((buffer
- ;; We can't use `generate-new-buffer' because files.el
- ;; is not yet loaded.
- (get-buffer-create (generate-new-buffer-name " *load*")))
- (load-in-progress t)
- (source (save-match-data (string-match "\\.el\\'" fullname))))
+ (let ((buffer (generate-new-buffer " *load*"))
+ (load-in-progress t)
+ (source (string-suffix-p ".el" fullname)))
(unless nomessage
(if source
(message "Loading %s (source)..." file)
diff --git a/lisp/json.el b/lisp/json.el
index c2fc1574faa..5f512b94cdc 100644
--- a/lisp/json.el
+++ b/lisp/json.el
@@ -435,7 +435,7 @@ Initialized lazily by `json-encode-string'.")
(concat "\"" (substring-no-properties string) "\"")
(with-current-buffer
(or json--string-buffer
- (with-current-buffer (generate-new-buffer " *json-string*")
+ (with-current-buffer (generate-new-buffer " *json-string*" t)
;; This seems to afford decent performance gains.
(setq-local inhibit-modification-hooks t)
(setq json--string-buffer (current-buffer))))
diff --git a/lisp/mh-e/mh-xface.el b/lisp/mh-e/mh-xface.el
index 909f1fe95d9..65039310e7b 100644
--- a/lisp/mh-e/mh-xface.el
+++ b/lisp/mh-e/mh-xface.el
@@ -425,8 +425,7 @@ After the image is fetched, it is stored in CACHE-FILE. It will
be displayed in a buffer and position specified by MARKER. The
actual display is carried out by the SENTINEL function."
(if mh-wget-executable
- (let ((buffer (get-buffer-create (generate-new-buffer-name
- mh-temp-fetch-buffer)))
+ (let ((buffer (generate-new-buffer mh-temp-fetch-buffer))
(filename (or (mh-funcall-if-exists make-temp-file "mhe-fetch")
(expand-file-name (make-temp-name "~/mhe-fetch")))))
(with-current-buffer buffer
diff --git a/lisp/net/imap.el b/lisp/net/imap.el
index 27c2d869f6b..fe895d7e23d 100644
--- a/lisp/net/imap.el
+++ b/lisp/net/imap.el
@@ -1033,8 +1033,7 @@ necessary. If nil, the buffer name is generated."
(when (funcall (nth 1 (assq stream imap-stream-alist)) buffer)
;; Stream changed?
(if (not (eq imap-default-stream stream))
- (with-current-buffer (get-buffer-create
- (generate-new-buffer-name " *temp*"))
+ (with-current-buffer (generate-new-buffer " *temp*")
(mapc 'make-local-variable imap-local-variables)
(set-buffer-multibyte nil)
(buffer-disable-undo)
diff --git a/lisp/net/mailcap.el b/lisp/net/mailcap.el
index d0f8c1272d7..bc99f02fe33 100644
--- a/lisp/net/mailcap.el
+++ b/lisp/net/mailcap.el
@@ -386,8 +386,7 @@ Gnus might fail to display all of it.")
(when
(save-window-excursion
(delete-other-windows)
- (let ((buffer (get-buffer-create (generate-new-buffer-name
- "*Warning*"))))
+ (let ((buffer (generate-new-buffer "*Warning*")))
(unwind-protect
(with-current-buffer buffer
(insert (substitute-command-keys
diff --git a/lisp/progmodes/flymake-proc.el b/lisp/progmodes/flymake-proc.el
index 744c110f6b0..4975d4f35dd 100644
--- a/lisp/progmodes/flymake-proc.el
+++ b/lisp/progmodes/flymake-proc.el
@@ -431,16 +431,15 @@ instead of reading master file from disk."
(defun flymake-proc--read-file-to-temp-buffer (file-name)
"Insert contents of FILE-NAME into newly created temp buffer."
- (let* ((temp-buffer (get-buffer-create (generate-new-buffer-name (concat "flymake:" (file-name-nondirectory file-name))))))
- (with-current-buffer temp-buffer
- (insert-file-contents file-name))
- temp-buffer))
+ (with-current-buffer (generate-new-buffer
+ (concat "flymake:" (file-name-nondirectory file-name)))
+ (insert-file-contents file-name)
+ (current-buffer)))
(defun flymake-proc--copy-buffer-to-temp-buffer (buffer)
"Copy contents of BUFFER into newly created temp buffer."
- (with-current-buffer
- (get-buffer-create (generate-new-buffer-name
- (concat "flymake:" (buffer-name buffer))))
+ (with-current-buffer (generate-new-buffer
+ (concat "flymake:" (buffer-name buffer)))
(insert-buffer-substring buffer)
(current-buffer)))
diff --git a/lisp/simple.el b/lisp/simple.el
index 9ed7a11de19..b1c949d7c6d 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -4307,8 +4307,7 @@ characters."
(defun shell-command-to-string (command)
"Execute shell command COMMAND and return its output as a string."
(with-output-to-string
- (with-current-buffer
- standard-output
+ (with-current-buffer standard-output
(shell-command command t))))
(defun process-file (program &optional infile buffer display &rest args)
diff --git a/lisp/subr.el b/lisp/subr.el
index 1b2d778454e..7461fa2a15c 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -3701,10 +3701,11 @@ also `with-temp-buffer'."
(when (window-live-p (nth 1 state))
(select-window (nth 1 state) 'norecord)))
-(defun generate-new-buffer (name)
+(defun generate-new-buffer (name &optional inhibit-buffer-hooks)
"Create and return a buffer with a name based on NAME.
-Choose the buffer's name using `generate-new-buffer-name'."
- (get-buffer-create (generate-new-buffer-name name)))
+Choose the buffer's name using `generate-new-buffer-name'.
+See `get-buffer-create' for the meaning of INHIBIT-BUFFER-HOOKS."
+ (get-buffer-create (generate-new-buffer-name name) inhibit-buffer-hooks))
(defmacro with-selected-window (window &rest body)
"Execute the forms in BODY with WINDOW as the selected window.
@@ -3866,12 +3867,14 @@ See the related form `with-temp-buffer-window'."
(defmacro with-temp-file (file &rest body)
"Create a new buffer, evaluate BODY there, and write the buffer to FILE.
The value returned is the value of the last form in BODY.
+The buffer does not run the hooks `kill-buffer-hook',
+`kill-buffer-query-functions', and `buffer-list-update-hook'.
See also `with-temp-buffer'."
(declare (indent 1) (debug t))
(let ((temp-file (make-symbol "temp-file"))
(temp-buffer (make-symbol "temp-buffer")))
`(let ((,temp-file ,file)
- (,temp-buffer (generate-new-buffer " *temp file*")))
+ (,temp-buffer (generate-new-buffer " *temp file*" t)))
(unwind-protect
(prog1
(with-current-buffer ,temp-buffer
@@ -3906,10 +3909,12 @@ Use a MESSAGE of \"\" to temporarily clear the echo area."
(defmacro with-temp-buffer (&rest body)
"Create a temporary buffer, and evaluate BODY there like `progn'.
+The buffer does not run the hooks `kill-buffer-hook',
+`kill-buffer-query-functions', and `buffer-list-update-hook'.
See also `with-temp-file' and `with-output-to-string'."
(declare (indent 0) (debug t))
(let ((temp-buffer (make-symbol "temp-buffer")))
- `(let ((,temp-buffer (generate-new-buffer " *temp*")))
+ `(let ((,temp-buffer (generate-new-buffer " *temp*" t)))
;; `kill-buffer' can change current-buffer in some odd cases.
(with-current-buffer ,temp-buffer
(unwind-protect
@@ -3944,7 +3949,7 @@ of that nature."
(defmacro with-output-to-string (&rest body)
"Execute BODY, return the text it sent to `standard-output', as a string."
(declare (indent 0) (debug t))
- `(let ((standard-output (generate-new-buffer " *string-output*")))
+ `(let ((standard-output (generate-new-buffer " *string-output*" t)))
(unwind-protect
(progn
(let ((standard-output standard-output))