From 9787268671ebbdea9f731468af84406390cd40c3 Mon Sep 17 00:00:00 2001 From: Juanma Barranquero Date: Tue, 12 Feb 2008 14:36:34 +0000 Subject: [PATCH] (uniquify-managed): Don't defvar. (desktop-buffer-info): Use `uniquify-buffer-base-name', not `uniquify-managed'. Return also the buffer's base name. (desktop-save): When saving the buffer info, filter out the base name, and save it as buffer name if the buffer is managed by uniquify. --- lisp/ChangeLog | 11 +++++++++++ lisp/desktop.el | 37 +++++++++++++++++++------------------ 2 files changed, 30 insertions(+), 18 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 900489317a7..5b368112454 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,14 @@ +2008-02-12 Juanma Barranquero + + * uniquify.el (uniquify-buffer-base-name): New function. + Suggested by Stefan Monnier . + + * desktop.el (uniquify-managed): Don't defvar. + (desktop-buffer-info): Use `uniquify-buffer-base-name', not + `uniquify-managed'. Return also the buffer's base name. + (desktop-save): When saving the buffer info, filter out the base name, + and save it as buffer name if the buffer is managed by uniquify. + 2008-02-10 Stefan Monnier * diff-mode.el (diff-beginning-of-file-and-junk): If we're on the diff --git a/lisp/desktop.el b/lisp/desktop.el index 2d6f1178079..61db03e8c86 100644 --- a/lisp/desktop.el +++ b/lisp/desktop.el @@ -135,8 +135,6 @@ ;;; Code: -(defvar uniquify-managed) - (defvar desktop-file-version "206" "Version number of desktop file format. Written into the desktop file and used at desktop read to provide @@ -653,11 +651,11 @@ is nil, ask the user where to save the desktop." (defun desktop-buffer-info (buffer) (set-buffer buffer) (list + ;; base name of the buffer; replaces the buffer name if managed by uniquify + (and (fboundp 'uniquify-buffer-base-name) (uniquify-buffer-base-name)) ;; basic information (desktop-file-name (buffer-file-name) desktop-dirname) - (if (bound-and-true-p uniquify-managed) - (uniquify-item-base (car uniquify-managed)) - (buffer-name)) + (buffer-name) major-mode ;; minor modes (let (ret) @@ -886,19 +884,22 @@ See also `desktop-base-file-name'." (insert "\n;; Buffer section -- buffers listed in same order as in buffer list:\n") (dolist (l (mapcar 'desktop-buffer-info (buffer-list))) - (when (apply 'desktop-save-buffer-p l) - (insert "(" - (if (or (not (integerp eager)) - (if (zerop eager) - nil - (setq eager (1- eager)))) - "desktop-create-buffer" - "desktop-append-buffer-args") - " " - desktop-file-version) - (dolist (e l) - (insert "\n " (desktop-value-to-string e))) - (insert ")\n\n"))) + (let ((base (pop l))) + (when (apply 'desktop-save-buffer-p l) + (insert "(" + (if (or (not (integerp eager)) + (if (zerop eager) + nil + (setq eager (1- eager)))) + "desktop-create-buffer" + "desktop-append-buffer-args") + " " + desktop-file-version) + ;; If the base name is non-nil, we save it instead of the buffer name + (when base (setcar (nthcdr 1 l) base)) + (dolist (e l) + (insert "\n " (desktop-value-to-string e))) + (insert ")\n\n")))) (setq default-directory desktop-dirname) (let ((coding-system-for-write 'emacs-mule)) -- 2.39.5