Variable: desktop-buffer-mode-handlers
desktop-buffer-mode-handlers is a variable defined in desktop.el.gz.
Value
((vc-dir-mode . vc-dir-restore-desktop-buffer)
(mh-folder-mode . mh-restore-desktop-buffer)
(todo-mode . todo-restore-desktop-buffer)
(doc-view-mode . doc-view-restore-desktop-buffer)
(dired-mode . dired-restore-desktop-buffer)
(eww-mode . eww-restore-desktop)
(rmail-mode . rmail-restore-desktop-buffer)
(LaTeX-mode . desktop-buffer-preview)
(Info-mode . Info-restore-desktop-buffer))
Documentation
Alist of major mode specific functions to restore a desktop buffer.
Functions listed are called by desktop-create-buffer when desktop-read
evaluates the desktop file. List elements must have the form
(MAJOR-MODE . RESTORE-BUFFER-FUNCTION).
Buffers with a major mode not specified here, are restored by the default
handler desktop-restore-file-buffer.
Handlers are called with argument list
(DESKTOP-BUFFER-FILE-NAME DESKTOP-BUFFER-NAME DESKTOP-BUFFER-MISC)
Furthermore, they may use the following variables:
desktop-file-version
desktop-buffer-major-mode
desktop-buffer-minor-modes
desktop-buffer-point
desktop-buffer-mark
desktop-buffer-read-only
desktop-buffer-locals
If a handler returns a buffer, then the saved mode settings and variable values for that buffer are copied into it.
Modules that define a major mode that needs a special handler should contain code like
(defun foo-restore-desktop-buffer
...
(add-to-list 'desktop-buffer-mode-handlers
'(foo-mode . foo-restore-desktop-buffer))
The major mode function must either be autoloaded, or of the form
"foobar-mode" and defined in library "foobar", so that desktop
can guess how to load the mode's definition.
Source Code
;; Defined in /usr/src/emacs/lisp/desktop.el.gz
;;;###autoload
(defvar desktop-buffer-mode-handlers nil
"Alist of major mode specific functions to restore a desktop buffer.
Functions listed are called by `desktop-create-buffer' when `desktop-read'
evaluates the desktop file. List elements must have the form
(MAJOR-MODE . RESTORE-BUFFER-FUNCTION).
Buffers with a major mode not specified here, are restored by the default
handler `desktop-restore-file-buffer'.
Handlers are called with argument list
(DESKTOP-BUFFER-FILE-NAME DESKTOP-BUFFER-NAME DESKTOP-BUFFER-MISC)
Furthermore, they may use the following variables:
`desktop-file-version'
`desktop-buffer-major-mode'
`desktop-buffer-minor-modes'
`desktop-buffer-point'
`desktop-buffer-mark'
`desktop-buffer-read-only'
`desktop-buffer-locals'
If a handler returns a buffer, then the saved mode settings
and variable values for that buffer are copied into it.
Modules that define a major mode that needs a special handler should contain
code like
(defun foo-restore-desktop-buffer
...
(add-to-list \\='desktop-buffer-mode-handlers
\\='(foo-mode . foo-restore-desktop-buffer))
The major mode function must either be autoloaded, or of the form
\"foobar-mode\" and defined in library \"foobar\", so that desktop
can guess how to load the mode's definition.")