]> git.eshelyaron.com Git - emacs.git/commitdiff
(uniquify-managed): Don't defvar.
authorJuanma Barranquero <lekktu@gmail.com>
Tue, 12 Feb 2008 14:36:34 +0000 (14:36 +0000)
committerJuanma Barranquero <lekktu@gmail.com>
Tue, 12 Feb 2008 14:36:34 +0000 (14:36 +0000)
(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
lisp/desktop.el

index 900489317a7a2213da4ed9cf8276d54e3e5b26e5..5b3681124546c9d5875db511c7e72dcbd52c367e 100644 (file)
@@ -1,3 +1,14 @@
+2008-02-12  Juanma Barranquero  <lekktu@gmail.com>
+
+       * uniquify.el (uniquify-buffer-base-name): New function.
+       Suggested by Stefan Monnier <monnier@iro.umontreal.ca>.
+
+       * 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  <monnier@iro.umontreal.ca>
 
        * diff-mode.el (diff-beginning-of-file-and-junk): If we're on the
index 2d6f1178079c82b8ee39ea50359308d8fef00a6a..61db03e8c8690b0dbc60857a052fbeff1573280d 100644 (file)
 
 ;;; 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))