diff options
| author | Juanma Barranquero | 2003-06-03 23:35:20 +0000 |
|---|---|---|
| committer | Juanma Barranquero | 2003-06-03 23:35:20 +0000 |
| commit | 73b0b745c3034d7eeda8b88ef5e0f0f31f52af3f (patch) | |
| tree | e819421d99ffc6ecbb285d5d9b3c283c05d8129b | |
| parent | e09f3bff95c2be71cdef75d02e5153cfe68ffd36 (diff) | |
| download | emacs-73b0b745c3034d7eeda8b88ef5e0f0f31f52af3f.tar.gz emacs-73b0b745c3034d7eeda8b88ef5e0f0f31f52af3f.zip | |
(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.
| -rw-r--r-- | lisp/ChangeLog | 13 | ||||
| -rw-r--r-- | 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 @@ | |||
| 1 | 2003-06-04 Lars Hansen <larsh@math.ku.dk> | ||
| 2 | |||
| 3 | * desktop.el (desktop-create-buffer): Undo last change. | ||
| 4 | (desktop-kill, desktop-save, desktop-remove): Use expand-directory | ||
| 5 | rather than concat to construct desktop filename. | ||
| 6 | (desktop-kill, desktop-read, desktop-change-dir): Ensure | ||
| 7 | desktop-dirname is a directory name. | ||
| 8 | (desktop-change-dir): Fix bug when DIR was relative. | ||
| 9 | |||
| 10 | 2003-06-04 Alex Coventry <alex_c@mit.edu> (tiny change) | ||
| 11 | |||
| 12 | * files.el (after-find-file): Fix arguments of call to `sit-for'. | ||
| 13 | |||
| 1 | 2003-06-03 Lute Kamstra <Lute.Kamstra@cwi.nl> | 14 | 2003-06-03 Lute Kamstra <Lute.Kamstra@cwi.nl> |
| 2 | 15 | ||
| 3 | * cus-edit.el (custom-get-fresh-buffer): Test for nonexistence buffer. | 16 | * 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." | |||
| 394 | (when | 394 | (when |
| 395 | (and | 395 | (and |
| 396 | desktop-enable | 396 | desktop-enable |
| 397 | (let ((exists (file-exists-p (concat desktop-dirname desktop-base-file-name)))) | 397 | (let ((exists (file-exists-p (expand-file-name desktop-base-file-name desktop-dirname)))) |
| 398 | (or | 398 | (or |
| 399 | (eq desktop-save 't) | 399 | (eq desktop-save 't) |
| 400 | (and exists (memq desktop-save '(ask-if-new if-exists))) | 400 | (and exists (memq desktop-save '(ask-if-new if-exists))) |
| @@ -405,9 +405,10 @@ is nil, ask the user where to save the desktop." | |||
| 405 | (y-or-n-p "Save desktop? "))))) | 405 | (y-or-n-p "Save desktop? "))))) |
| 406 | (unless desktop-dirname | 406 | (unless desktop-dirname |
| 407 | (setq desktop-dirname | 407 | (setq desktop-dirname |
| 408 | (expand-file-name | 408 | (file-name-as-directory |
| 409 | (call-interactively | 409 | (expand-file-name |
| 410 | (lambda (dir) (interactive "DDirectory for desktop file: ") dir))))) | 410 | (call-interactively |
| 411 | (lambda (dir) (interactive "DDirectory for desktop file: ") dir)))))) | ||
| 411 | (condition-case err | 412 | (condition-case err |
| 412 | (desktop-save desktop-dirname) | 413 | (desktop-save desktop-dirname) |
| 413 | (file-error | 414 | (file-error |
| @@ -583,7 +584,7 @@ DIRNAME must be the directory in which the desktop file will be saved." | |||
| 583 | (run-hooks 'desktop-save-hook) | 584 | (run-hooks 'desktop-save-hook) |
| 584 | (setq dirname (file-name-as-directory (expand-file-name dirname))) | 585 | (setq dirname (file-name-as-directory (expand-file-name dirname))) |
| 585 | (save-excursion | 586 | (save-excursion |
| 586 | (let ((filename (concat dirname desktop-base-file-name)) | 587 | (let ((filename (expand-file-name desktop-base-file-name dirname)) |
| 587 | (info | 588 | (info |
| 588 | (mapcar | 589 | (mapcar |
| 589 | (function | 590 | (function |
| @@ -666,11 +667,10 @@ DIRNAME must be the directory in which the desktop file will be saved." | |||
| 666 | "Delete the Desktop file and inactivate the desktop system." | 667 | "Delete the Desktop file and inactivate the desktop system." |
| 667 | (interactive) | 668 | (interactive) |
| 668 | (if desktop-dirname | 669 | (if desktop-dirname |
| 669 | (let ((filename (concat desktop-dirname desktop-base-file-name))) | 670 | (let ((filename (expand-file-name desktop-base-file-name desktop-dirname))) |
| 670 | (setq desktop-dirname nil) | 671 | (setq desktop-dirname nil) |
| 671 | (if (file-exists-p filename) | 672 | (if (file-exists-p filename) |
| 672 | (delete-file filename))))) | 673 | (delete-file filename))))) |
| 673 | |||
| 674 | ;; ---------------------------------------------------------------------------- | 674 | ;; ---------------------------------------------------------------------------- |
| 675 | ;;;###autoload | 675 | ;;;###autoload |
| 676 | (defun desktop-read () | 676 | (defun desktop-read () |
| @@ -688,7 +688,7 @@ Returns t if it has read a desktop file, nil otherwise." | |||
| 688 | (not | 688 | (not |
| 689 | (file-exists-p (expand-file-name desktop-base-file-name (car dirs))))) | 689 | (file-exists-p (expand-file-name desktop-base-file-name (car dirs))))) |
| 690 | (setq dirs (cdr dirs))) | 690 | (setq dirs (cdr dirs))) |
| 691 | (setq desktop-dirname (and dirs (expand-file-name (car dirs)))) | 691 | (setq desktop-dirname (and dirs (file-name-as-directory (expand-file-name (car dirs))))) |
| 692 | (if desktop-dirname | 692 | (if desktop-dirname |
| 693 | (let ((desktop-first-buffer nil)) | 693 | (let ((desktop-first-buffer nil)) |
| 694 | ;; Evaluate desktop buffer. | 694 | ;; Evaluate desktop buffer. |
| @@ -727,16 +727,16 @@ to provide correct modes for autoloaded files." | |||
| 727 | However, if `desktop-enable' was nil at call, don't save the old desktop. | 727 | However, if `desktop-enable' was nil at call, don't save the old desktop. |
| 728 | This function always sets `desktop-enable' to t." | 728 | This function always sets `desktop-enable' to t." |
| 729 | (interactive "DNew directory: ") | 729 | (interactive "DNew directory: ") |
| 730 | (setq dir (file-name-as-directory (expand-file-name dir desktop-dirname))) | ||
| 730 | (desktop-kill) | 731 | (desktop-kill) |
| 731 | (desktop-clear) | 732 | (desktop-clear) |
| 732 | (cd dir) | ||
| 733 | (setq desktop-enable t) | 733 | (setq desktop-enable t) |
| 734 | (let ((desktop-path '("."))) | 734 | (let ((desktop-path (list dir)) |
| 735 | (desktop-read) | 735 | (default-directory dir)) |
| 736 | ;; Set `desktop-dirname' even in no desktop file was found | 736 | (desktop-read)) |
| 737 | (setq desktop-dirname (expand-file-name dir)))) | 737 | ;; Set `desktop-dirname' even in no desktop file was found |
| 738 | 738 | (setq desktop-dirname dir)) | |
| 739 | ;; ---------------------------------------------------------------------------- | 739 | ;; ---------------------------------------------------------------------------- |
| 740 | ;;;###autoload | 740 | ;;;###autoload |
| 741 | (defun desktop-save-in-load-dir () | 741 | (defun desktop-save-in-load-dir () |
| 742 | "Save desktop in directory from which it was loaded." | 742 | "Save desktop in directory from which it was loaded." |
| @@ -875,7 +875,6 @@ This function always sets `desktop-enable' to t." | |||
| 875 | (let ( | 875 | (let ( |
| 876 | (buffer-list (buffer-list)) | 876 | (buffer-list (buffer-list)) |
| 877 | (hlist desktop-buffer-handlers) | 877 | (hlist desktop-buffer-handlers) |
| 878 | (desktop-first-buffer) | ||
| 879 | (result) | 878 | (result) |
| 880 | (handler) | 879 | (handler) |
| 881 | ) | 880 | ) |
| @@ -909,7 +908,7 @@ This function always sets `desktop-enable' to t." | |||
| 909 | (when (functionp minor-mode) (funcall minor-mode 1))) | 908 | (when (functionp minor-mode) (funcall minor-mode 1))) |
| 910 | desktop-buffer-minor-modes))) | 909 | desktop-buffer-minor-modes))) |
| 911 | ;; Even though point and mark are non-nil when written by `desktop-save' | 910 | ;; Even though point and mark are non-nil when written by `desktop-save' |
| 912 | ;; they may be modified by mandlers wanting to set point or mark themselves. | 911 | ;; they may be modified by handlers wanting to set point or mark themselves. |
| 913 | (when desktop-buffer-point (goto-char desktop-buffer-point)) | 912 | (when desktop-buffer-point (goto-char desktop-buffer-point)) |
| 914 | (when desktop-buffer-mark | 913 | (when desktop-buffer-mark |
| 915 | (if (consp desktop-buffer-mark) | 914 | (if (consp desktop-buffer-mark) |