diff options
| author | Juanma Barranquero | 2008-02-12 14:36:34 +0000 |
|---|---|---|
| committer | Juanma Barranquero | 2008-02-12 14:36:34 +0000 |
| commit | 9787268671ebbdea9f731468af84406390cd40c3 (patch) | |
| tree | 4735754ae289f44f307691ca197fc3580efb2951 | |
| parent | c91db6f12d39ea9b4abeffcebf185b1779562187 (diff) | |
| download | emacs-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/ChangeLog | 11 | ||||
| -rw-r--r-- | 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 @@ | |||
| 1 | 2008-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 | |||
| 1 | 2008-02-10 Stefan Monnier <monnier@iro.umontreal.ca> | 12 | 2008-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. |
| 142 | Written into the desktop file and used at desktop read to provide | 140 | 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." | |||
| 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)) |