aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuanma Barranquero2008-02-12 14:36:34 +0000
committerJuanma Barranquero2008-02-12 14:36:34 +0000
commit9787268671ebbdea9f731468af84406390cd40c3 (patch)
tree4735754ae289f44f307691ca197fc3580efb2951
parentc91db6f12d39ea9b4abeffcebf185b1779562187 (diff)
downloademacs-9787268671ebbdea9f731468af84406390cd40c3.tar.gz
emacs-9787268671ebbdea9f731468af84406390cd40c3.zip
(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.
-rw-r--r--lisp/ChangeLog11
-rw-r--r--lisp/desktop.el37
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 @@
12008-02-12 Juanma Barranquero <lekktu@gmail.com>
2
3 * uniquify.el (uniquify-buffer-base-name): New function.
4 Suggested by Stefan Monnier <monnier@iro.umontreal.ca>.
5
6 * desktop.el (uniquify-managed): Don't defvar.
7 (desktop-buffer-info): Use `uniquify-buffer-base-name', not
8 `uniquify-managed'. Return also the buffer's base name.
9 (desktop-save): When saving the buffer info, filter out the base name,
10 and save it as buffer name if the buffer is managed by uniquify.
11
12008-02-10 Stefan Monnier <monnier@iro.umontreal.ca> 122008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
2 13
3 * diff-mode.el (diff-beginning-of-file-and-junk): If we're on the 14 * 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 @@
135 135
136;;; Code: 136;;; Code:
137 137
138(defvar uniquify-managed)
139
140(defvar desktop-file-version "206" 138(defvar desktop-file-version "206"
141 "Version number of desktop file format. 139 "Version number of desktop file format.
142Written into the desktop file and used at desktop read to provide 140Written 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."
653(defun desktop-buffer-info (buffer) 651(defun desktop-buffer-info (buffer)
654 (set-buffer buffer) 652 (set-buffer buffer)
655 (list 653 (list
654 ;; base name of the buffer; replaces the buffer name if managed by uniquify
655 (and (fboundp 'uniquify-buffer-base-name) (uniquify-buffer-base-name))
656 ;; basic information 656 ;; basic information
657 (desktop-file-name (buffer-file-name) desktop-dirname) 657 (desktop-file-name (buffer-file-name) desktop-dirname)
658 (if (bound-and-true-p uniquify-managed) 658 (buffer-name)
659 (uniquify-item-base (car uniquify-managed))
660 (buffer-name))
661 major-mode 659 major-mode
662 ;; minor modes 660 ;; minor modes
663 (let (ret) 661 (let (ret)
@@ -886,19 +884,22 @@ See also `desktop-base-file-name'."
886 884
887 (insert "\n;; Buffer section -- buffers listed in same order as in buffer list:\n") 885 (insert "\n;; Buffer section -- buffers listed in same order as in buffer list:\n")
888 (dolist (l (mapcar 'desktop-buffer-info (buffer-list))) 886 (dolist (l (mapcar 'desktop-buffer-info (buffer-list)))
889 (when (apply 'desktop-save-buffer-p l) 887 (let ((base (pop l)))
890 (insert "(" 888 (when (apply 'desktop-save-buffer-p l)
891 (if (or (not (integerp eager)) 889 (insert "("
892 (if (zerop eager) 890 (if (or (not (integerp eager))
893 nil 891 (if (zerop eager)
894 (setq eager (1- eager)))) 892 nil
895 "desktop-create-buffer" 893 (setq eager (1- eager))))
896 "desktop-append-buffer-args") 894 "desktop-create-buffer"
897 " " 895 "desktop-append-buffer-args")
898 desktop-file-version) 896 " "
899 (dolist (e l) 897 desktop-file-version)
900 (insert "\n " (desktop-value-to-string e))) 898 ;; If the base name is non-nil, we save it instead of the buffer name
901 (insert ")\n\n"))) 899 (when base (setcar (nthcdr 1 l) base))
900 (dolist (e l)
901 (insert "\n " (desktop-value-to-string e)))
902 (insert ")\n\n"))))
902 903
903 (setq default-directory desktop-dirname) 904 (setq default-directory desktop-dirname)
904 (let ((coding-system-for-write 'emacs-mule)) 905 (let ((coding-system-for-write 'emacs-mule))