aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuanma Barranquero2003-06-03 23:35:20 +0000
committerJuanma Barranquero2003-06-03 23:35:20 +0000
commit73b0b745c3034d7eeda8b88ef5e0f0f31f52af3f (patch)
treee819421d99ffc6ecbb285d5d9b3c283c05d8129b
parente09f3bff95c2be71cdef75d02e5153cfe68ffd36 (diff)
downloademacs-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/ChangeLog13
-rw-r--r--lisp/desktop.el39
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 @@
12003-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
102003-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
12003-06-03 Lute Kamstra <Lute.Kamstra@cwi.nl> 142003-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."
727However, if `desktop-enable' was nil at call, don't save the old desktop. 727However, if `desktop-enable' was nil at call, don't save the old desktop.
728This function always sets `desktop-enable' to t." 728This 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)