diff options
| author | Richard M. Stallman | 1998-03-30 04:29:36 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1998-03-30 04:29:36 +0000 |
| commit | 608b9ed2e4a0c51a69ba3b770e61353079d194c6 (patch) | |
| tree | 1607460d8daa4133e0f6b96a142482d14f4758a1 | |
| parent | 2974ad46db6d384c9324428313c05d7dc9b1a63a (diff) | |
| download | emacs-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.el | 64 |
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 |