]> git.eshelyaron.com Git - emacs.git/commitdiff
(uniquify-unload-function): New function and var.
authorJuanma Barranquero <lekktu@gmail.com>
Mon, 29 Oct 2007 13:25:08 +0000 (13:25 +0000)
committerJuanma Barranquero <lekktu@gmail.com>
Mon, 29 Oct 2007 13:25:08 +0000 (13:25 +0000)
lisp/uniquify.el

index 0c21fc0eb3b9134d9ab267f3d59c67225668ca23..47388247c2220635abbbd2c29703263c1326994e 100644 (file)
@@ -473,6 +473,26 @@ For use on `kill-buffer-hook'."
         (file-name-nondirectory filename)
         (file-name-directory filename) ad-return-value))))
 
+;;; The End
+
+(defun uniquify-unload-function ()
+  (save-current-buffer
+    (let ((buffers nil))
+      (dolist (buf (buffer-list))
+       (set-buffer buf)
+       (when uniquify-managed
+         (push (cons buf (uniquify-item-base (car uniquify-managed))) buffers)))
+      (dolist (fun '(rename-buffer create-file-buffer))
+       (ad-remove-advice fun 'after (intern (concat (symbol-name fun) "-uniquify")))
+       (ad-update fun))
+      (dolist (buf buffers)
+       (set-buffer (car buf))
+       (rename-buffer (cdr buf) t))))
+  ;; continue standard uploading
+  nil)
+
+(defvar uniquify-unload-function 'uniquify-unload-function)
+
 (provide 'uniquify)
 
 ;; arch-tag: e763faa3-56c9-4903-8eb8-26e1c45a0065