aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1998-03-30 04:29:36 +0000
committerRichard M. Stallman1998-03-30 04:29:36 +0000
commit608b9ed2e4a0c51a69ba3b770e61353079d194c6 (patch)
tree1607460d8daa4133e0f6b96a142482d14f4758a1
parent2974ad46db6d384c9324428313c05d7dc9b1a63a (diff)
downloademacs-608b9ed2e4a0c51a69ba3b770e61353079d194c6.tar.gz
emacs-608b9ed2e4a0c51a69ba3b770e61353079d194c6.zip
(desktop-buffer-info, desktop-buffer-rmail)
(desktop-buffer-mh, desktop-buffer-dired, desktop-buffer-file): Return the buffer produced. (desktop-create-buffer): Use the buffer that was returned.
-rw-r--r--lisp/desktop.el64
1 files changed, 33 insertions, 31 deletions
diff --git a/lisp/desktop.el b/lisp/desktop.el
index 61502a6a828..c49ea6d40f7 100644
--- a/lisp/desktop.el
+++ b/lisp/desktop.el
@@ -542,12 +542,15 @@ to provide correct modes for autoloaded files."
542 (progn 542 (progn
543 (require 'info) 543 (require 'info)
544 (Info-find-node (nth 0 desktop-buffer-misc) (nth 1 desktop-buffer-misc)) 544 (Info-find-node (nth 0 desktop-buffer-misc) (nth 1 desktop-buffer-misc))
545 t))) 545 (current-buffer))))
546;; ---------------------------------------------------------------------------- 546;; ----------------------------------------------------------------------------
547(defun desktop-buffer-rmail () "Load an RMAIL file." 547(defun desktop-buffer-rmail () "Load an RMAIL file."
548 (if (eq 'rmail-mode desktop-buffer-major-mode) 548 (if (eq 'rmail-mode desktop-buffer-major-mode)
549 (condition-case error 549 (condition-case error
550 (progn (rmail-input desktop-buffer-file-name) t) 550 (progn (rmail-input desktop-buffer-file-name)
551 (if (eq major-mode 'rmail-mode)
552 (current-buffer)
553 rmail-buffer))
551 (file-locked 554 (file-locked
552 (kill-buffer (current-buffer)) 555 (kill-buffer (current-buffer))
553 'ignored)))) 556 'ignored))))
@@ -557,16 +560,16 @@ to provide correct modes for autoloaded files."
557 (progn 560 (progn
558 (require 'mh-e) 561 (require 'mh-e)
559 (mh-find-path) 562 (mh-find-path)
560 (mh-visit-folder desktop-buffer-name) 563 (mh-visit-folder desktop-buffer-name)
561 t))) 564 (current-buffer))))
562;; ---------------------------------------------------------------------------- 565;; ----------------------------------------------------------------------------
563(defun desktop-buffer-dired () "Load a directory using dired." 566(defun desktop-buffer-dired () "Load a directory using dired."
564 (if (eq 'dired-mode desktop-buffer-major-mode) 567 (if (eq 'dired-mode desktop-buffer-major-mode)
565 (if (file-directory-p (file-name-directory (car desktop-buffer-misc))) 568 (if (file-directory-p (file-name-directory (car desktop-buffer-misc)))
566 (progn 569 (progn
567 (dired (car desktop-buffer-misc)) 570 (dired (car desktop-buffer-misc))
568 (mapcar 'dired-insert-subdir (cdr desktop-buffer-misc)) 571 (mapcar 'dired-insert-subdir (cdr desktop-buffer-misc))
569 t) 572 (current-buffer))
570 (message "Directory %s no longer exists." (car desktop-buffer-misc)) 573 (message "Directory %s no longer exists." (car desktop-buffer-misc))
571 (sit-for 1) 574 (sit-for 1)
572 'ignored))) 575 'ignored)))
@@ -578,7 +581,7 @@ to provide correct modes for autoloaded files."
578 (y-or-n-p (format 581 (y-or-n-p (format
579 "File \"%s\" no longer exists. Re-create? " 582 "File \"%s\" no longer exists. Re-create? "
580 desktop-buffer-file-name)))) 583 desktop-buffer-file-name))))
581 (progn (find-file desktop-buffer-file-name) t) 584 (progn (find-file desktop-buffer-file-name) (current-buffer))
582 'ignored))) 585 'ignored)))
583;; ---------------------------------------------------------------------------- 586;; ----------------------------------------------------------------------------
584;; Create a buffer, load its file, set is mode, ...; called from Desktop file 587;; Create a buffer, load its file, set is mode, ...; called from Desktop file
@@ -593,31 +596,30 @@ to provide correct modes for autoloaded files."
593 (setq handler (car hlist)) 596 (setq handler (car hlist))
594 (setq result (funcall handler)) 597 (setq result (funcall handler))
595 (setq hlist (cdr hlist))) 598 (setq hlist (cdr hlist)))
596 (if (eq result t) 599 (when (bufferp result)
597 (progn 600 (set-buffer result)
598 (if (not (equal (buffer-name) desktop-buffer-name)) 601 (if (not (equal (buffer-name) desktop-buffer-name))
599 (rename-buffer desktop-buffer-name)) 602 (rename-buffer desktop-buffer-name))
600 (auto-fill-mode (if (nth 0 mim) 1 0)) 603 (auto-fill-mode (if (nth 0 mim) 1 0))
601 (goto-char pt) 604 (goto-char pt)
602 (if (consp mk) 605 (if (consp mk)
606 (progn
607 (set-mark (car mk))
608 (setq mark-active (car (cdr mk))))
609 (set-mark mk))
610 ;; Never override file system if the file really is read-only marked.
611 (if ro (setq buffer-read-only ro))
612 (while locals
613 (let ((this (car locals)))
614 (if (consp this)
615 ;; an entry of this form `(symbol . value)'
603 (progn 616 (progn
604 (set-mark (car mk)) 617 (make-local-variable (car this))
605 (setq mark-active (car (cdr mk)))) 618 (set (car this) (cdr this)))
606 (set-mark mk)) 619 ;; an entry of the form `symbol'
607 ;; Never override file system if the file really is read-only marked. 620 (make-local-variable this)
608 (if ro (setq buffer-read-only ro)) 621 (makunbound this)))
609 (while locals 622 (setq locals (cdr locals))))))
610 (let ((this (car locals)))
611 (if (consp this)
612 ;; an entry of this form `(symbol . value)'
613 (progn
614 (make-local-variable (car this))
615 (set (car this) (cdr this)))
616 ;; an entry of the form `symbol'
617 (make-local-variable this)
618 (makunbound this)))
619 (setq locals (cdr locals)))
620 ))))
621 623
622;; Backward compatibility -- update parameters to 205 standards. 624;; Backward compatibility -- update parameters to 205 standards.
623(defun desktop-buffer (desktop-buffer-file-name desktop-buffer-name 625(defun desktop-buffer (desktop-buffer-file-name desktop-buffer-name