changeset 99589:22a0d4deace0

(uniquify-maybe-rerationalize-w/o-cb): Remove uniquify-after-kill-buffer-p dependency. (uniquify-kill-buffer-function): New function. (kill-buffer-hook): Use uniquify-kill-buffer-function. (Bug#1315)
author Glenn Morris <rgm@gnu.org>
date Sat, 15 Nov 2008 22:33:16 +0000
parents a61ecfde8504
children f0b31a4484fa
files lisp/uniquify.el
diffstat 1 files changed, 11 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/uniquify.el	Sat Nov 15 22:29:59 2008 +0000
+++ b/lisp/uniquify.el	Sat Nov 15 22:33:16 2008 +0000
@@ -427,22 +427,27 @@
 
 ;;; Hooks from the rest of Emacs
 
+(defun uniquify-maybe-rerationalize-w/o-cb ()
+  "Re-rationalize buffer names, ignoring current buffer."
+  (and (cdr uniquify-managed)
+       uniquify-buffer-name-style
+       (uniquify-rerationalize-w/o-cb uniquify-managed)))
+
 ;; Buffer deletion
 ;; Rerationalize after a buffer is killed, to reduce coinciding buffer names.
 ;; This mechanism uses `kill-buffer-hook', which runs *before* deletion, so
 ;; it calls `uniquify-rerationalize-w/o-cb' to rerationalize the buffer list
 ;; ignoring the current buffer (which is going to be deleted anyway).
-(defun uniquify-maybe-rerationalize-w/o-cb ()
+(defun uniquify-kill-buffer-function ()
   "Re-rationalize buffer names, ignoring current buffer.
 For use on `kill-buffer-hook'."
-  (if (and (cdr uniquify-managed)
-	   uniquify-buffer-name-style
-	   uniquify-after-kill-buffer-p)
-      (uniquify-rerationalize-w/o-cb uniquify-managed)))
+  (and uniquify-after-kill-buffer-p
+       (uniquify-maybe-rerationalize-w/o-cb)))
 
 ;; Ideally we'd like to add it buffer-locally, but that doesn't work
 ;; because kill-buffer-hook is not permanent-local :-(
-(add-hook 'kill-buffer-hook 'uniquify-maybe-rerationalize-w/o-cb)
+;; FIXME kill-buffer-hook _is_ permanent-local in 22+.
+(add-hook 'kill-buffer-hook 'uniquify-kill-buffer-function)
 
 ;; The logical place to put all this code is in generate-new-buffer-name.
 ;; It's written in C, so we would add a generate-new-buffer-name-function