/[emacs]/emacs/lisp/desktop.el
ViewVC logotype

Diff of /emacs/lisp/desktop.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.56 by kifer, Sun Jun 1 17:17:10 2003 UTC revision 1.57 by lektu, Tue Jun 3 23:30:43 2003 UTC
# Line 394  is nil, ask the user where to save the d Line 394  is nil, ask the user where to save the d
394    (when    (when
395      (and      (and
396        desktop-enable        desktop-enable
397        (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))))
398          (or          (or
399            (eq desktop-save 't)            (eq desktop-save 't)
400            (and exists (memq desktop-save '(ask-if-new if-exists)))            (and exists (memq desktop-save '(ask-if-new if-exists)))
# Line 405  is nil, ask the user where to save the d Line 405  is nil, ask the user where to save the d
405              (y-or-n-p "Save desktop? ")))))              (y-or-n-p "Save desktop? ")))))
406      (unless desktop-dirname      (unless desktop-dirname
407        (setq desktop-dirname        (setq desktop-dirname
408          (expand-file-name          (file-name-as-directory
409            (call-interactively            (expand-file-name
410              (lambda (dir) (interactive "DDirectory for desktop file: ") dir)))))              (call-interactively
411                  (lambda (dir) (interactive "DDirectory for desktop file: ") dir))))))
412      (condition-case err      (condition-case err
413        (desktop-save desktop-dirname)        (desktop-save desktop-dirname)
414        (file-error        (file-error
# Line 583  DIRNAME must be the directory in which t Line 584  DIRNAME must be the directory in which t
584    (run-hooks 'desktop-save-hook)    (run-hooks 'desktop-save-hook)
585    (setq dirname (file-name-as-directory (expand-file-name dirname)))    (setq dirname (file-name-as-directory (expand-file-name dirname)))
586    (save-excursion    (save-excursion
587      (let ((filename (concat dirname desktop-base-file-name))      (let ((filename (expand-file-name desktop-base-file-name dirname))
588            (info            (info
589              (mapcar              (mapcar
590                (function                (function
# Line 666  DIRNAME must be the directory in which t Line 667  DIRNAME must be the directory in which t
667    "Delete the Desktop file and inactivate the desktop system."    "Delete the Desktop file and inactivate the desktop system."
668    (interactive)    (interactive)
669    (if desktop-dirname    (if desktop-dirname
670        (let ((filename (concat desktop-dirname desktop-base-file-name)))        (let ((filename (expand-file-name desktop-base-file-name desktop-dirname)))
671          (setq desktop-dirname nil)      (setq desktop-dirname nil)
672          (if (file-exists-p filename)      (if (file-exists-p filename)
673              (delete-file filename)))))          (delete-file filename)))))
   
674  ;; ----------------------------------------------------------------------------  ;; ----------------------------------------------------------------------------
675  ;;;###autoload  ;;;###autoload
676  (defun desktop-read ()  (defun desktop-read ()
# Line 688  Returns t if it has read a desktop file, Line 688  Returns t if it has read a desktop file,
688            (not            (not
689              (file-exists-p (expand-file-name desktop-base-file-name (car dirs)))))              (file-exists-p (expand-file-name desktop-base-file-name (car dirs)))))
690          (setq dirs (cdr dirs)))          (setq dirs (cdr dirs)))
691        (setq desktop-dirname (and dirs (expand-file-name (car dirs))))        (setq desktop-dirname (and dirs (file-name-as-directory (expand-file-name (car dirs)))))
692        (if desktop-dirname        (if desktop-dirname
693          (let ((desktop-first-buffer nil))          (let ((desktop-first-buffer nil))
694            ;; Evaluate desktop buffer.            ;; Evaluate desktop buffer.
# Line 727  to provide correct modes for autoloaded Line 727  to provide correct modes for autoloaded
727  However, if `desktop-enable' was nil at call, don't save the old desktop.  However, if `desktop-enable' was nil at call, don't save the old desktop.
728  This function always sets `desktop-enable' to t."  This function always sets `desktop-enable' to t."
729    (interactive "DNew directory: ")    (interactive "DNew directory: ")
730      (setq dir (file-name-as-directory (expand-file-name dir desktop-dirname)))
731    (desktop-kill)    (desktop-kill)
732    (desktop-clear)    (desktop-clear)
   (cd dir)  
733    (setq desktop-enable t)    (setq desktop-enable t)
734    (let ((desktop-path '(".")))    (let ((desktop-path (list dir))
735      (desktop-read)          (default-directory dir))
736      ;; Set `desktop-dirname' even in no desktop file was found      (desktop-read))
737      (setq desktop-dirname (expand-file-name dir))))    ;; Set `desktop-dirname' even in no desktop file was found
738      (setq desktop-dirname dir))
739  ;; ----------------------------------------------------------------------------    ;; ----------------------------------------------------------------------------
740  ;;;###autoload  ;;;###autoload
741  (defun desktop-save-in-load-dir ()  (defun desktop-save-in-load-dir ()
742    "Save desktop in directory from which it was loaded."    "Save desktop in directory from which it was loaded."
# Line 875  This function always sets `desktop-enabl Line 875  This function always sets `desktop-enabl
875      (let (      (let (
876        (buffer-list (buffer-list))        (buffer-list (buffer-list))
877        (hlist desktop-buffer-handlers)        (hlist desktop-buffer-handlers)
       (desktop-first-buffer)  
878        (result)        (result)
879        (handler)        (handler)
880      )      )
# Line 909  This function always sets `desktop-enabl Line 908  This function always sets `desktop-enabl
908                (when (functionp minor-mode) (funcall minor-mode 1)))                (when (functionp minor-mode) (funcall minor-mode 1)))
909              desktop-buffer-minor-modes)))              desktop-buffer-minor-modes)))
910          ;; Even though point and mark are non-nil when written by `desktop-save'          ;; Even though point and mark are non-nil when written by `desktop-save'
911          ;; 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.
912          (when desktop-buffer-point (goto-char desktop-buffer-point))          (when desktop-buffer-point (goto-char desktop-buffer-point))
913          (when desktop-buffer-mark          (when desktop-buffer-mark
914            (if (consp desktop-buffer-mark)            (if (consp desktop-buffer-mark)

Legend:
Removed from v.1.56  
changed lines
  Added in v.1.57

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26