From 73b0b745c3034d7eeda8b88ef5e0f0f31f52af3f Mon Sep 17 00:00:00 2001 From: Juanma Barranquero Date: Tue, 3 Jun 2003 23:35:20 +0000 Subject: [PATCH] (desktop-create-buffer): Undo last change. (desktop-kill, desktop-save, desktop-remove): Use expand-directory rather than concat to construct desktop filename. (desktop-kill, desktop-read, desktop-change-dir): Ensure desktop-dirname is a directory name. (desktop-change-dir): Fix bug when DIR was relative. --- lisp/ChangeLog | 13 +++++++++++++ lisp/desktop.el | 39 +++++++++++++++++++-------------------- 2 files changed, 32 insertions(+), 20 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a1f4bf53358..b2c79eb4e6e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,16 @@ +2003-06-04 Lars Hansen + + * desktop.el (desktop-create-buffer): Undo last change. + (desktop-kill, desktop-save, desktop-remove): Use expand-directory + rather than concat to construct desktop filename. + (desktop-kill, desktop-read, desktop-change-dir): Ensure + desktop-dirname is a directory name. + (desktop-change-dir): Fix bug when DIR was relative. + +2003-06-04 Alex Coventry (tiny change) + + * files.el (after-find-file): Fix arguments of call to `sit-for'. + 2003-06-03 Lute Kamstra * cus-edit.el (custom-get-fresh-buffer): Test for nonexistence buffer. diff --git a/lisp/desktop.el b/lisp/desktop.el index dbffe85c005..1fc5824da38 100644 --- a/lisp/desktop.el +++ b/lisp/desktop.el @@ -394,7 +394,7 @@ is nil, ask the user where to save the desktop." (when (and desktop-enable - (let ((exists (file-exists-p (concat desktop-dirname desktop-base-file-name)))) + (let ((exists (file-exists-p (expand-file-name desktop-base-file-name desktop-dirname)))) (or (eq desktop-save 't) (and exists (memq desktop-save '(ask-if-new if-exists))) @@ -405,9 +405,10 @@ is nil, ask the user where to save the desktop." (y-or-n-p "Save desktop? "))))) (unless desktop-dirname (setq desktop-dirname - (expand-file-name - (call-interactively - (lambda (dir) (interactive "DDirectory for desktop file: ") dir))))) + (file-name-as-directory + (expand-file-name + (call-interactively + (lambda (dir) (interactive "DDirectory for desktop file: ") dir)))))) (condition-case err (desktop-save desktop-dirname) (file-error @@ -583,7 +584,7 @@ DIRNAME must be the directory in which the desktop file will be saved." (run-hooks 'desktop-save-hook) (setq dirname (file-name-as-directory (expand-file-name dirname))) (save-excursion - (let ((filename (concat dirname desktop-base-file-name)) + (let ((filename (expand-file-name desktop-base-file-name dirname)) (info (mapcar (function @@ -666,11 +667,10 @@ DIRNAME must be the directory in which the desktop file will be saved." "Delete the Desktop file and inactivate the desktop system." (interactive) (if desktop-dirname - (let ((filename (concat desktop-dirname desktop-base-file-name))) - (setq desktop-dirname nil) - (if (file-exists-p filename) - (delete-file filename))))) - + (let ((filename (expand-file-name desktop-base-file-name desktop-dirname))) + (setq desktop-dirname nil) + (if (file-exists-p filename) + (delete-file filename))))) ;; ---------------------------------------------------------------------------- ;;;###autoload (defun desktop-read () @@ -688,7 +688,7 @@ Returns t if it has read a desktop file, nil otherwise." (not (file-exists-p (expand-file-name desktop-base-file-name (car dirs))))) (setq dirs (cdr dirs))) - (setq desktop-dirname (and dirs (expand-file-name (car dirs)))) + (setq desktop-dirname (and dirs (file-name-as-directory (expand-file-name (car dirs))))) (if desktop-dirname (let ((desktop-first-buffer nil)) ;; Evaluate desktop buffer. @@ -727,16 +727,16 @@ to provide correct modes for autoloaded files." However, if `desktop-enable' was nil at call, don't save the old desktop. This function always sets `desktop-enable' to t." (interactive "DNew directory: ") + (setq dir (file-name-as-directory (expand-file-name dir desktop-dirname))) (desktop-kill) (desktop-clear) - (cd dir) (setq desktop-enable t) - (let ((desktop-path '("."))) - (desktop-read) - ;; Set `desktop-dirname' even in no desktop file was found - (setq desktop-dirname (expand-file-name dir)))) - -;; ---------------------------------------------------------------------------- + (let ((desktop-path (list dir)) + (default-directory dir)) + (desktop-read)) + ;; Set `desktop-dirname' even in no desktop file was found + (setq desktop-dirname dir)) + ;; ---------------------------------------------------------------------------- ;;;###autoload (defun desktop-save-in-load-dir () "Save desktop in directory from which it was loaded." @@ -875,7 +875,6 @@ This function always sets `desktop-enable' to t." (let ( (buffer-list (buffer-list)) (hlist desktop-buffer-handlers) - (desktop-first-buffer) (result) (handler) ) @@ -909,7 +908,7 @@ This function always sets `desktop-enable' to t." (when (functionp minor-mode) (funcall minor-mode 1))) desktop-buffer-minor-modes))) ;; Even though point and mark are non-nil when written by `desktop-save' - ;; they may be modified by mandlers wanting to set point or mark themselves. + ;; they may be modified by handlers wanting to set point or mark themselves. (when desktop-buffer-point (goto-char desktop-buffer-point)) (when desktop-buffer-mark (if (consp desktop-buffer-mark) -- 2.39.2