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)
 (rmail-mode . rmail-restore-desktop-buffer)
 (doc-view-mode . doc-view-restore-desktop-buffer)
 (dired-mode . dired-restore-desktop-buffer)
 (eww-mode . eww-restore-desktop)
 (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.

View in manual

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.")