MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 18.191.235.214
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/desktop.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:06:14 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/desktop.el
;;; in Emacs version 24.3.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


#@130 Version number of desktop file format.
Written into the desktop file and used at desktop read to provide
backward compatibility.
(defvar desktop-file-version "206" (#$ . 551))
(byte-code "\302\303\304\305\306\307%\210\310\311\312\304#\210\313\304\211\2034	@\311N\203-\312N\204-\314\312\311N#\210	A\211\204*\315\311\312\316#\210\317\312\304\320\321\322\323\324\306\303\325\326&\207" [prop --dolist-tail-- custom-declare-group desktop nil "Save status of Emacs when you exit." :group frames defvaralias desktop-enable desktop-save-mode (saved-value saved-variable-comment) put make-obsolete-variable "22.1" custom-declare-variable "Non-nil if Desktop-Save mode is enabled.\nSee the command `desktop-save-mode' for a description of this minor mode." :set custom-set-minor-mode :initialize custom-initialize-default :type boolean] 13)
#@368 Toggle desktop saving (Desktop Save mode).
With a prefix argument ARG, enable Desktop Save mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

If Desktop Save mode is enabled, the state of Emacs is saved from
one session to another.  See variable `desktop-save' and function
`desktop-read' for details.
(defalias 'desktop-save-mode #[(&optional arg) "\303 	\304=\203\n?\202\305	!\306V\307\310\n\203\311\202\312\"\210\313\314!\203D\315\302!\210\303 \2037\303 \232\203D\316\317\n\203A\320\202B\321\"\210)\322 \210\n\207" [#1=#:last-message arg desktop-save-mode current-message toggle prefix-numeric-value 0 run-hooks desktop-save-mode-hook desktop-save-mode-on-hook desktop-save-mode-off-hook called-interactively-p any customize-mark-as-set message "Desktop-Save mode %sabled" "en" "dis" force-mode-line-update] 3 (#$ . 1403) (list (or current-prefix-arg 'toggle))])
(byte-code "\301\302\303\304\300!\205\n\303\211%\207" [desktop-save-mode-map add-minor-mode desktop-save-mode nil boundp] 6)
#@58 Disable `desktop-save-mode'.  Provided for use in hooks.
(defalias 'desktop-save-mode-off #[nil "\300\301!\207" [desktop-save-mode 0] 2 (#$ . 2483)])
(byte-code "\302\303\304\305\306\307\310\311\312\313&	\210\302\314\315\316\306\317\310\311\312\320&	\210\321\322\323\324#\210\325\324\211\203F	@\322N\203?\323N\204?\326\323\322N#\210	A\211\204(*\327\322\323\313#\210\302\323\330\331\306\332\310\311&\210\302\333\334\335\306\332\310\311\312\320&	\210\302\336\337\340\306\341\310\311\312\342&	\210\302\343\324\344\306\345\310\311\312\313&	\210\302\346\324\347\306\350\310\311\312\313&	\210\302\351\324\352\306\350\310\311\353\354\312\320&\210\302\355\324\356\306\350\310\311\353\357\312\313&\210\302\360\324\361\306\350\310\311&\210\302\362\363\364\306\365\310\311&\210\302\366\367\370\306\371\310\311\312\313&	\210\302\372\373\374\312\375\306\376\310\311&	\210\302\377\201@\201A\306\201B\310\311&\210\302\201C\324\201D\306\201E\312\342\310\311&	\210\302\201F\201G\201H\306\201I\310\311&\210\302\201J\201K\201L\306\201M\310\311&\210\302\201N\201O\201P\306\201Q\310\311\312\313&	\210\302\201R\201S\201T\306\201U\310\311\312\313&	\210\302\201V\201S\201W\306\345\310\311\312\313&	\210\302\201X\201Y\201Z\306\201[\310\311\312\313&	\207" [prop --dolist-tail-- custom-declare-variable desktop-save 'ask-if-new "Specifies whether the desktop should be saved when it is killed.\nA desktop is killed when the user changes desktop or quits Emacs.\nPossible values are:\n   t             -- always save.\n   ask           -- always ask.\n   ask-if-new    -- ask if no desktop file exists, otherwise just save.\n   ask-if-exists -- ask if desktop file exists, otherwise don't save.\n   if-exists     -- save if desktop file exists, otherwise don't save.\n   nil           -- never save.\nThe desktop is never saved when `desktop-save-mode' is nil.\nThe variables `desktop-dirname' and `desktop-base-file-name'\ndetermine where the desktop is saved." :type (choice (const :tag "Always save" t) (const :tag "Always ask" ask) (const :tag "Ask if desktop file is new, else do save" ask-if-new) (const :tag "Ask if desktop file exists, else don't save" ask-if-exists) (const :tag "Save if desktop file exists, else don't" if-exists) (const :tag "Never save" nil)) :group desktop :version "22.1" desktop-load-locked-desktop 'ask "Specifies whether the desktop should be loaded if locked.\nPossible values are:\n   t    -- load anyway.\n   nil  -- don't load.\n   ask  -- ask the user.\nIf the value is nil, or `ask' and the user chooses not to load the desktop,\nthe normal hook `desktop-not-loaded-hook' is run." (choice (const :tag "Load anyway" t) (const :tag "Don't load" nil) (const :tag "Ask the user" ask)) "22.2" defvaralias desktop-basefilename desktop-base-file-name nil (saved-value saved-variable-comment) put make-obsolete-variable (convert-standard-filename ".emacs.desktop") "Name of file for Emacs desktop, excluding the directory part." file desktop-base-lock-name (convert-standard-filename ".emacs.desktop.lock") "Name of lock file for Emacs desktop, excluding the directory part." desktop-path (list user-emacs-directory "~") "List of directories to search for the desktop file.\nThe base name of the file is specified in `desktop-base-file-name'." (repeat directory) "23.2" desktop-missing-file-warning "If non-nil, offer to recreate the buffer of a deleted file.\nAlso pause for a moment to display message about errors signaled in\n`desktop-buffer-mode-handlers'.\n\nIf nil, just print error messages in the message buffer." boolean desktop-no-desktop-file-hook "Normal hook run when `desktop-read' can't find a desktop file.\nRun in the directory in which the desktop file was sought.\nMay be used to show a dired buffer." hook desktop-not-loaded-hook "Normal hook run when the user declines to re-use a desktop file.\nRun in the directory in which the desktop file was found.\nMay be used to deal with accidental multiple Emacs jobs." :options (desktop-save-mode-off save-buffers-kill-emacs) desktop-after-read-hook "Normal hook run after a successful `desktop-read'.\nMay be used to show a buffer list." (list-buffers) desktop-save-hook "Normal hook run before the desktop is saved in a desktop file.\nRun with the desktop buffer current with only the header present.\nMay be used to add to the desktop code or to truncate history lists,\nfor example." desktop-globals-to-save '(desktop-missing-file-warning tags-file-name tags-table-list search-ring regexp-search-ring register-alist file-name-history) "List of global variables saved by `desktop-save'.\nAn element may be variable name (a symbol) or a cons cell of the form\n(VAR . MAX-SIZE), which means to truncate VAR's value to at most\nMAX-SIZE elements (if the value is a list) before saving the value.\nFeature: Saving `kill-ring' implies saving `kill-ring-yank-pointer'." (repeat (restricted-sexp :match-alternatives (symbolp consp))) desktop-globals-to-clear '(kill-ring kill-ring-yank-pointer search-ring search-ring-yank-pointer regexp-search-ring regexp-search-ring-yank-pointer) "List of global variables that `desktop-clear' will clear.\nAn element may be variable name (a symbol) or a cons cell of the form\n(VAR . FORM).  Symbols are set to nil and for cons cells VAR is set\nto the value obtained by evaluating FORM." (repeat (restricted-sexp :match-alternatives (symbolp consp))) desktop-clear-preserve-buffers '("\\*scratch\\*" "\\*Messages\\*" "\\*server\\*" "\\*tramp/.+\\*" "\\*Warnings\\*") "List of buffers that `desktop-clear' should not delete.\nEach element is a regular expression.  Buffers with a name matched by any of\nthese won't be deleted." "23.3" (repeat string) desktop-locals-to-save '(desktop-locals-to-save truncate-lines case-fold-search case-replace fill-column overwrite-mode change-log-default-name line-number-mode column-number-mode size-indication-mode buffer-file-coding-system indent-tabs-mode tab-width indicate-buffer-boundaries indicate-empty-lines show-trailing-whitespace) "List of local variables to save for each buffer.\nThe variables are saved only when they really are local.  Conventional minor\nmodes are restored automatically; they should not be listed here." (repeat symbol) desktop-buffers-not-to-save "Regexp identifying buffers that are to be excluded from saving." (choice (const :tag "None" nil) regexp) desktop-files-not-to-save "\\(^/[^/:]*:\\|(ftp)$\\)" "Regexp identifying files whose buffers are to be excluded from saving." (choice (const :tag "None" nil) regexp) desktop-modes-not-to-save '(tags-table-mode) "List of major modes whose buffers should not be saved." (repeat symbol) desktop-file-name-format 'absolute "Format in which desktop file names should be saved.\nPossible values are:\n   absolute -- Absolute file name.\n   tilde    -- Relative to ~.\n   local    -- Relative to directory of desktop file." (choice (const absolute) (const tilde) (const local)) desktop-restore-eager t "Number of buffers to restore immediately.\nRemaining buffers are restored lazily (when Emacs is idle).\nIf value is t, all buffers are restored immediately." (choice (const t) integer) desktop-lazy-verbose "Verbose reporting of lazily created buffers." desktop-lazy-idle-delay 5 "Idle delay before starting to create buffers.\nSee `desktop-restore-eager'." integer] 13)
#@598 When non-nil, save buffer status in desktop file.
This variable becomes buffer local when set.

If the value is a function, it is called by `desktop-save' with argument
DESKTOP-DIRNAME to obtain auxiliary information to save in the desktop
file along with the state of the buffer for which it was called.

When file names are returned, they should be formatted using the call
"(desktop-file-name FILE-NAME DESKTOP-DIRNAME)".

Later, when `desktop-read' evaluates the desktop file, auxiliary information
is passed as the argument DESKTOP-BUFFER-MISC to functions in
`desktop-buffer-mode-handlers'.
(defvar desktop-save-buffer nil (#$ . 9834))
(byte-code "\300\301!\210\302\303\301\304#\210\302\305\301\304#\207" [make-variable-buffer-local desktop-save-buffer make-obsolete-variable desktop-buffer-modes-to-save "22.1" desktop-buffer-misc-functions] 4)
#@1122 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))

Furthermore the major mode function must be autoloaded.
(defvar desktop-buffer-mode-handlers nil (#$ . 10694))
(byte-code "\300\301\302\303#\210\304\305\301\306#\210\307\310\311\312\313\314\315\316&\207" [put desktop-buffer-mode-handlers risky-local-variable t make-obsolete-variable desktop-buffer-handlers "22.1" custom-declare-variable desktop-minor-mode-table '((auto-fill-function auto-fill-mode) (vc-mode nil) (vc-dired-mode nil) (erc-track-minor-mode nil) (savehist-mode nil)) "Table mapping minor mode variables to minor mode functions.\nEach entry has the form (NAME RESTORE-FUNCTION).\nNAME is the name of the buffer-local variable indicating that the minor\nmode is active.  RESTORE-FUNCTION is the function to activate the minor mode.\nRESTORE-FUNCTION nil means don't try to restore the minor mode.\nOnly minor modes for which the name of the buffer-local variable\nand the name of the minor mode function are different have to be added to\nthis table.  See also `desktop-minor-mode-handlers'." :type sexp :group desktop] 8)
#@1126 Alist of functions to restore non-standard minor modes.
Functions are called by `desktop-create-buffer' to restore minor modes.
List elements must have the form

   (MINOR-MODE . RESTORE-FUNCTION).

Minor modes not specified here, are restored by the standard minor mode
function.

Handlers are called with argument list

   (DESKTOP-BUFFER-LOCALS)

Furthermore, they may use the following variables:

   desktop-file-version
   desktop-buffer-file-name
   desktop-buffer-name
   desktop-buffer-major-mode
   desktop-buffer-minor-modes
   desktop-buffer-point
   desktop-buffer-mark
   desktop-buffer-read-only
   desktop-buffer-misc

When a handler is called, the buffer has been created and the major mode has
been set, but local variables listed in desktop-buffer-locals has not yet been
created and set.

Modules that define a minor mode that needs a special handler should contain
code like

   (defun foo-desktop-restore
   ...
   (add-to-list 'desktop-minor-mode-handlers
                '(foo-mode . foo-desktop-restore))

Furthermore the minor mode function must be autoloaded.

See also `desktop-minor-mode-table'.
(defvar desktop-minor-mode-handlers nil (#$ . 12806))
(put 'desktop-minor-mode-handlers 'risky-local-variable t)
#@58 The directory in which the desktop file should be saved.
(defvar desktop-dirname nil (#$ . 14050))
#@106 Return the full name of the desktop file in DIRNAME.
DIRNAME omitted or nil means use `desktop-dirname'.
(defalias 'desktop-full-file-name #[(&optional dirname) "\303	\206\n\"\207" [desktop-base-file-name dirname desktop-dirname expand-file-name] 3 (#$ . 14156)])
#@111 Return the full name of the desktop lock file in DIRNAME.
DIRNAME omitted or nil means use `desktop-dirname'.
(defalias 'desktop-full-lock-name #[(&optional dirname) "\303	\206\n\"\207" [desktop-base-lock-name dirname desktop-dirname expand-file-name] 3 (#$ . 14430)])
#@35 *Header to place in Desktop file.
(defconst desktop-header ";; --------------------------------------------------------------------------\n;; Desktop File for Emacs\n;; --------------------------------------------------------------------------\n" (#$ . -14708))
#@68 Hooks run after all buffers are loaded; intended for internal use.
(defvar desktop-delay-hook nil (#$ . 14976))
#@112 When the desktop file was last modified to the knowledge of this Emacs.
Used to detect desktop file conflicts.
(defvar desktop-file-modtime nil (#$ . 15095))
#@197 Return the PID of the Emacs process that owns the desktop file in DIRNAME.
Return nil if no desktop file found or no Emacs process is using it.
DIRNAME omitted or nil means use `desktop-dirname'.
(defalias 'desktop-owner #[(&optional dirname) "\302\303\304	!!\205\302\305\306\217\205)\207" [owner dirname nil file-exists-p desktop-full-lock-name (byte-code "\303\304!rq\210\305\216\306\307	!!\210eb\210\310p!\211+\250\207" [#1=#:temp-buffer dirname owner generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) insert-file-contents-literally desktop-full-lock-name read] 4) ((error))] 3 (#$ . 15260)])
#@124 Record this Emacs process as the owner of the desktop file in DIRNAME.
DIRNAME omitted or nil means use `desktop-dirname'.
(defalias 'desktop-claim-lock #[(&optional dirname) "\301\302\303 !\304\305!#\207" [dirname write-region number-to-string emacs-pid nil desktop-full-lock-name] 5 (#$ . 15932)])
#@102 Remove the lock file for the desktop in DIRNAME.
DIRNAME omitted or nil means use `desktop-dirname'.
(defalias 'desktop-release-lock #[(&optional dirname) "\302!\303	!\205
\304	!)\207" [dirname file desktop-full-lock-name file-exists-p delete-file] 2 (#$ . 16240)])
#@52 Truncate LIST to at most N elements destructively.
(defalias 'desktop-truncate #[(list n) "S	\233\211:\205
\n\303\241)\207" [n list here nil] 3 (#$ . 16515)])
#@242 Empty the Desktop.
This kills all buffers except for internal ones and those with names matched by
a regular expression in the list `desktop-clear-preserve-buffers'.
Furthermore, it clears the variables listed in `desktop-globals-to-clear'.
(defalias 'desktop-clear #[nil "\306 \210\307\211\203.\n@\2119\203\310\311	\312BB!\210\202'\310\311	@	AE!\210\nA\211\204*\313 \314\315\316\317#\320Q\211\203n\321
@!\211\203f\322\f\"\204f\323\232\204a\324H\325=\204f\326
@!\210)
A\211\204?*\327 \207" [desktop-globals-to-clear var --dolist-tail-- desktop-clear-preserve-buffers preserve-regexp buffers desktop-lazy-abort nil eval setq-default (nil) buffer-list "^\\(" mapconcat #[(regexp) "\301\302Q\207" [regexp "\\(" "\\)"] 3] "\\|" "\\)$" buffer-name string-match "" 0 32 kill-buffer delete-other-windows bufname] 7 (#$ . 16684) nil])
(byte-code "\204	\301\302\303\"\210\301\207" [noninteractive add-hook kill-emacs-hook desktop-kill] 3)
#@172 If `desktop-save-mode' is non-nil, do what `desktop-save' says to do.
If the desktop should be saved and `desktop-dirname'
is nil, ask the user where to save the desktop.
(defalias 'desktop-kill #[nil "\203R\304\305 !\n\306=\206:	\203\n\307=\206:	\203'\203'\n\310=\206:\n\311>\2047	\205:\n\312=\205:\313\314!)\203R\204M\315\316\317\320\321\211\306$!!\322\323\324\217\210\325 \326 =\205\\\327 \207" [desktop-save-mode exists desktop-save desktop-dirname file-exists-p desktop-full-file-name t if-exists ask-if-new (ask ask-if-new) ask-if-exists y-or-n-p "Save desktop? " file-name-as-directory expand-file-name read-directory-name "Directory for desktop file: " nil err (desktop-save desktop-dirname t) ((file-error (byte-code "\301\302!\204
\303@A\"\210\301\207" [err yes-or-no-p "Error while saving the desktop.  Ignore? " signal] 3))) emacs-pid desktop-owner desktop-release-lock] 7 (#$ . 17653)])
(defalias 'desktop-list* #[(&rest args) "A\204@\207\237\211A@@BAA\211\203&@	BA\211\204	)\207" [args value] 3])
(defalias 'desktop-buffer-info #[(buffer) "q\210\306\307!\205\307 \310\311 	\"\312 \n\313\314\315\316\317\f\"\"\210)`\320\321!
D\322!\2052	!\323 \313\211\203r@\236\211\203WB\202h@\235\203h@B)A\211\204A+\257\n\207" [buffer desktop-dirname major-mode ret minor-mode-alist mark-active fboundp uniquify-buffer-base-name desktop-file-name buffer-file-name buffer-name nil mapc #[(minor-mode) "\305!\205-J\205-	\236\211\203\n\211A@)\202#\306!\205#\211\205,\307\310\f\"*\207" [minor-mode desktop-minor-mode-table special x value boundp functionp add-to-list ret] 4] mapcar car mark t functionp buffer-local-variables buffer-read-only desktop-save-buffer desktop-locals-to-save ll loclist locals here] 13])
#@238 Convert VALUE to a pair (QUOTE . TXT); (eval (read TXT)) gives VALUE.
TXT is a string that when read and evaluated yields VALUE.
QUOTE may be `may' (value may be quoted),
`must' (value must be quoted), or nil (value must not be quoted).
(defalias 'desktop-internal-v2s #[(value) "\247\204\203\306=\204\307!\203\310\311!B\207;\2033\312!\313\314	G\315	$\210\310\311	!)B\2079\203>\316\311!B\207\317!\203h\315\320\321\"\n\203\\\315\322\323\324\325#\326QB\202f\310\327\323\330\325#\331QB*\207:\203\361\315\211\211.\211/:\203\235\332/@!0\f\204\2140@?0.B.)/A\211/\202x/\203\305\332/!1\f\204\2611@?\f\204\273\333.B.\3061.B.).\237.\f\203\344\315
\203\327\334\202\330\335\323\336.\325#\326QB\202\357\316\337\323\330.\325#\326QB,\207\340!\203\315\341\311!\342\343O\326QB\207\344!\203(\311\345!!\311\346\347!!!23\315\350\351\3523\3532\354\260*B\207\310\355B\207" [value copy special pass1 anynil use-list* t keywordp may prin1-to-string copy-sequence set-text-properties 0 nil must vectorp mapcar #[(el) "\303!\211@\204\304	)\207" [el res special desktop-internal-v2s t] 3] "(vector " mapconcat #[(el) "@\301=\203\f\302AP\207A\207" [el must "'"] 2] " " ")" "[" cdr "]" desktop-internal-v2s (must . ".") "(desktop-list* " "(list " #[(el) "@\301=\203\f\302AP\207A\207" [el must "'"] 2] "(" subrp "(symbol-function '" 7 -1 markerp marker-position buffer-name marker-buffer "(let ((mk (make-marker)))" " (add-hook 'desktop-delay-hook" " (list 'lambda '() (list 'set-marker mk " " (get-buffer " ")))) mk)" "\"Unprintable entity\"" newlist p q\.txt last buf pos] 9 (#$ . 19477)])
#@110 Convert VALUE to a string that when read evaluates to the same value.
Not all types of values are supported.
(defalias 'desktop-value-to-string #[(value) "\306\307\310\n!\211@A\f\311=\203\312
P\202
-\207" [print-escape-newlines float-output-format value quote\.txt quote txt t nil desktop-internal-v2s must "'"] 3 (#$ . 21142)])
#@285 Output a setq statement for variable VAR to the desktop file.
The argument VARSPEC may be the variable name VAR (a symbol),
or a cons cell of the form (VAR . MAX-SIZE),
which means to truncate VAR's value to at most MAX-SIZE elements
(if the value is a list) before saving the value.
(defalias 'desktop-outvar #[(varspec) "\303\211\n:\203\n@\nA\202\n\304	!\205?\250\2033\305V\2033\306	!<\2033\307\306	!\"\210\310\311	!\312\313	J!\314\261*\207" [size var varspec nil boundp 0 eval desktop-truncate "(setq " symbol-name " " desktop-value-to-string ")\n"] 5 (#$ . 21488)])
#@188 Return t if buffer should have its state saved in the desktop file.
FILENAME is the visited file name, BUFNAME is the buffer name, and
MODE is the major mode.

(fn FILENAME BUFNAME MODE)
(defalias 'desktop-save-buffer-p #[(filename bufname mode &rest _dummy) "\306\211\n;\205?\205\307\n\f\"?\205Y
	>?\205Y\2031\n;\2031\307\n\"?\206Y
\310=\203Hr\fq\210\307\n\"\211)?\206Y?\205Y?\205Yr\fq\210\f)*\207" [dired-skip case-fold-search desktop-buffers-not-to-save filename bufname mode nil string-match dired-mode desktop-modes-not-to-save desktop-files-not-to-save default-directory desktop-save-buffer] 3 (#$ . 22082)])
#@140 Convert FILENAME to format specified in `desktop-file-name-format'.
DIRNAME must be the directory in which the desktop file will be saved.
(defalias 'desktop-file-name #[(filename dirname) "\204\304\207	\305=\2036\306\307!\310\"\311\n!\203\n\2024\n\312\230\203'\313\2024\n\314\230\2031\310\2024\313\nP)\207	\315=\203A\306\"\207\307!\207" [filename desktop-file-name-format relative-name dirname nil tilde file-relative-name expand-file-name "~" file-name-absolute-p "./" "~/" "." local] 3 (#$ . 22732)])
#@202 Save the desktop in a desktop file.
Parameter DIRNAME specifies where to save the desktop file.
Optional parameter RELEASE says whether we're done with this desktop.
See also `desktop-base-file-name'.
(defalias 'desktop-save #[(dirname &optional release) "\306\307!!\212\n\310\311\312 !8\203B
\232\204B\313
\2031\314!\314
!V\203-\315\2022\316\2022\317!\204B:?\205>\320\321!\205>:\203M\322 \210\202Y\203V\323 \204Y\324 \210\325\326!;r;q\210\327\216\330<\331\332 \333\334=\333\335>\333\261\210\212\336\337!\210)db\210\340c\210\341\342?\"\210\343?>\203\236\344\345#G@GZ!\346\261\210\347c\210\350\351\352 \"\353A\211B\203$B@\211A\211AA@C\354\355A\"\203\356\f\250\203\327\357\f!\204\333\fS\211\203\333\360\202\334\361\362=\261\210C\203\365C\363\230\204\365AAC\240\210A\353D\211B\203B@D\364\365D!\261\210BA\211B\204*\366c\210)BA\211B\204\257*	E\367F\370ed\312 \353\371%\210)\310\311\312 !8\211++\207" [dirname desktop-dirname desktop-restore-eager new-modtime eager desktop-file-modtime file-name-as-directory expand-file-name 5 file-attributes desktop-full-file-name yes-or-no-p float-time "Desktop file is more recent than the one loaded.  Save anyway? " "Desktop file isn't the one loaded.  Overwrite it? " "Current desktop was not loaded from a file.  Overwrite this desktop file? " error "Desktop file conflict" desktop-release-lock desktop-owner desktop-claim-lock generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1=#:temp-buffer buffer-name kill-buffer] 2)) ";; -*- mode: emacs-lisp; coding: emacs-mule; -*-\n" ";; Created " current-time-string "\n" ";; Desktop file format version " ";; Emacs version " run-hooks desktop-save-hook "\n;; Global section:\n" mapc desktop-outvar kill-ring "(setq kill-ring-yank-pointer (nthcdr " int-to-string " kill-ring))\n" "\n;; Buffer section -- buffers listed in same order as in buffer list:\n" mapcar desktop-buffer-info buffer-list nil apply desktop-save-buffer-p "(" zerop "desktop-create-buffer" "desktop-append-buffer-args" " " "" "\n  " desktop-value-to-string ")\n\n" emacs-mule write-region nomessage release #1# desktop-header desktop-file-version emacs-version desktop-globals-to-save kill-ring-yank-pointer l --dolist-tail-- base e default-directory coding-system-for-write] 12 (#$ . 23260) "DDirectory to save desktop file in: "])
#@93 Delete desktop file in `desktop-dirname'.
This function also sets `desktop-dirname' to nil.
(defalias 'desktop-remove #[nil "\205\302 \303\304	!\205\305	!)\207" [desktop-dirname filename desktop-full-file-name nil file-exists-p delete-file] 2 (#$ . 25654) nil])
#@43 List of args for `desktop-create-buffer'.
(defvar desktop-buffer-args-list nil (#$ . 25929))
(defvar desktop-lazy-timer nil)
#@456 Read and process the desktop file in directory DIRNAME.
Look for a desktop file in DIRNAME, or if DIRNAME is omitted, look in
directories listed in `desktop-path'.  If a desktop file is found, it
is processed and `desktop-after-read-hook' is run.  If no desktop file
is found, clear the desktop and run `desktop-no-desktop-file-hook'.
This function is a no-op when Emacs is running in batch mode.
It returns t if a desktop file was loaded, nil otherwise.
(defalias 'desktop-read #[(&optional dirname) "?\205\306\307\310	GW\203	\206<\n\211\203(\311\312@!!\204(A\211\204\205.@)\206<\n\203;\n@\206<\f!!\311\312 !\203\313\310\211\314 \313123452\203\2136\315>\203\2136\203v\316 \204v\317\320\3212\"!\204\213
7\313\322\323!\210
?\205\207\324\325!)\202\326 \210\327\312 \330\211\211$\210\331\332\312 !882\204\250\313\333\334\217\210\335\3365\337 \237>A\237\"\210\340\337 @!\210\322\341!\210\313!\322\342!\210\324\3434\211\344U\203\323\345\202\324\346\3103W\203\343\320\3473\"\202\344\3459\203\362\320\3509G\"\202\363\345%\210\351\352\353!!\203\336\353!\210\354\355!\210\330-\207\356 \210
7\322\357!\210)\324\360!\210\313\207" [noninteractive dirname desktop-path dirs user-emacs-directory desktop-dirname file-name-as-directory expand-file-name 0 file-exists-p desktop-full-file-name nil desktop-owner (nil ask) daemonp y-or-n-p format "Warning: desktop file appears to be in use by PID %s.\nUsing it may cause conflicts.  Use it anyway? " run-hooks desktop-not-loaded-hook message "Desktop file in use; not loaded." desktop-lazy-abort load t 5 file-attributes (desktop-claim-lock) ((file-error (byte-code "\300\301!\210\302\303!\207" [message "Couldn't record use of desktop file" sit-for 1] 2))) mapc bury-buffer buffer-list switch-to-buffer desktop-delay-hook desktop-after-read-hook "Desktop: %d buffer%s restored%s%s." 1 "" "s" ", %d failed to restore" ", %d to restore lazily" buffer-live-p get-buffer "*Messages*" walk-window-tree #[(window) "\301\302\"\210\303\302\"\207" [window set-window-prev-buffers nil set-window-next-buffers] 3] desktop-clear desktop-no-desktop-file-hook "No desktop file." desktop-save owner desktop-buffer-fail-count desktop-buffer-ok-count desktop-first-buffer desktop-load-locked-desktop default-directory desktop-file-modtime desktop-buffer-args-list] 9 (#$ . 26061) nil])
#@83 Load the `default' start-up library manually.
Also inhibit further loading of it.
(defalias 'desktop-load-default #[nil "?\205\301\302\303\211#\210\303\211\207" [inhibit-default-init load "default" t] 4 (#$ . 28433)])
(make-obsolete 'desktop-load-default 'desktop-save-mode "22.1")
#@191 Change to desktop saved in DIRNAME.
Kill the desktop as specified by variables `desktop-save-mode' and
`desktop-save', then clear the desktop and load the desktop file in
directory DIRNAME.
(defalias 'desktop-change-dir #[(dirname) "\302\303	\"!\304 \210\305 \210\306!\207" [dirname desktop-dirname file-name-as-directory expand-file-name desktop-kill desktop-clear desktop-read] 4 (#$ . 28726) "DChange to directory: "])
#@50 Save the desktop in directory `desktop-dirname'.
(defalias 'desktop-save-in-desktop-dir #[nil "\203\301!\210\202\302\301!\210\303\304\305!\"\207" [desktop-dirname desktop-save call-interactively message "Desktop saved in %s" abbreviate-file-name] 4 (#$ . 29157) nil])
#@36 Revert to the last loaded desktop.
(defalias 'desktop-revert #[nil "\204\301\302!\210\303\304 !\204\301\305!\210\306 \210\307!\207" [desktop-dirname error "Unknown desktop directory" file-exists-p desktop-full-file-name "No desktop file found" desktop-clear desktop-read] 2 (#$ . 29438) nil])
#@24 Restore a file buffer.
(defalias 'desktop-restore-file-buffer #[(buffer-filename _buffer-name _buffer-misc) "\205P\306!\204%\307\310\"\n\203\311	\312P!\202!\313\314	\"\210\315)\205P\315\f\206/\316
\236A\317!\315\320\321\217\210=\204M\322!\203M \210+\207" [buffer-filename msg desktop-missing-file-warning auto-insert coding-system-for-read desktop-buffer-locals file-exists-p format "Desktop: File \"%s\" no longer exists." y-or-n-p " Re-create buffer? " message "%s" nil buffer-file-coding-system find-file-noselect (switch-to-buffer buf) ((error (pop-to-buffer buf))) functionp buf major-mode desktop-buffer-major-mode] 3 (#$ . 29743)])
#@54 Load the file where auto loaded FUNCTION is defined.
(defalias 'desktop-load-file #[(function) "\301!\205\302K\"\207" [function fboundp autoload-do-load] 3 (#$ . 30416)])
(defalias 'desktop-create-buffer #[(file-version buffer-filename buffer-name buffer-majormode buffer-minormodes buffer-point buffer-mark buffer-readonly buffer-misc &optional buffer-locals) "	\n\f
 !\"#$%&'()*+r\306(!\210\307 \310,-\2038, \202<\311\312\313\217).\314.!\203P/T/\202X0T0\315.+\316W\204o\317\320\"\210.\203o\320.!\210.\205[1\204\204+\316W\204\204.1.q\210\302 )\232\204\226\321)\322\"\210'\323\232\203\244\324\325!\210\202\363'\326\232\203\262\324\327!\210\202\363'\3152\2113\203\3623@2\3062!\21024\236A\2115\203\3345\"!\210\202\350\3302!\203\3502\325!\210)3A\2113\204\275*&\203\376\311\331\332\217b\210%\203%:\203\333%@!\210%A@6\202\333%!\210$\203&$7\"\205[\"@\2118:\203F\3348@!\2108@8AL\210\202P\3348!\210\3358!\210)\"A\211\"\204+\315.
\207" [file-version buffer-filename buffer-name buffer-majormode buffer-minormodes buffer-point desktop-load-file buffer-list #[nil "	\236A\206\305\n\f#\207" [desktop-buffer-major-mode desktop-buffer-mode-handlers desktop-buffer-file-name desktop-buffer-name desktop-buffer-misc desktop-restore-file-buffer] 4] err (funcall #1=#:body) ((error (byte-code "\303\304\305	!#\210\n\203\306\307!\210\310\207" [desktop-buffer-name err desktop-missing-file-warning message "Desktop: Can't load buffer %s: %s" error-message-string sit-for 1 nil] 5))) bufferp nil 206 mapc bury-buffer rename-buffer t (t) auto-fill-mode 1 (nil) 0 functionp (eval desktop-buffer-point) ((error (byte-code "\301\302\303!\"\210\304\207" [err message "%s" error-message-string 1] 4))) set-mark make-local-variable makunbound buffer-mark buffer-readonly buffer-misc buffer-locals desktop-buffer-locals desktop-buffer-misc desktop-buffer-read-only desktop-buffer-mark desktop-buffer-point desktop-buffer-minor-modes desktop-buffer-major-mode desktop-buffer-name desktop-buffer-file-name desktop-file-version #1# debug-on-error result desktop-buffer-ok-count desktop-buffer-fail-count desktop-first-buffer minor-mode --dolist-tail-- desktop-minor-mode-handlers handler mark-active buffer-read-only this] 11])
(defalias 'desktop-buffer #[(buffer-filename buffer-name buffer-majormode mim pt mk ro tl fc cfs cr buffer-misc) "\306\307	\nA\f

\310B\311B\312B\313B\314@B\257&\n\207" [buffer-filename buffer-name buffer-majormode mim pt mk desktop-create-buffer 205 truncate-lines fill-column case-fold-search case-replace overwrite-mode ro buffer-misc tl fc cfs cr] 16])
#@110 Append ARGS at end of `desktop-buffer-args-list'.
ARGS must be an argument list for `desktop-create-buffer'.
(defalias 'desktop-append-buffer-args #[(&rest args) "	C\244\n?\205\304\305\306#\211\207" [desktop-buffer-args-list args desktop-lazy-timer desktop-lazy-idle-delay run-with-idle-timer t desktop-idle-create-buffers] 4 (#$ . 33116)])
#@70 Pop args from `desktop-buffer-args-list', create buffer and bury it.
(defalias 'desktop-lazy-create-buffer #[nil "\205QG\211A@\306\n8\307\310	#
\203 \311\312\f\"\210\313\314\211\315\316\n\"\210\317\320!\210\313\321\322!!\210
\205O\311\323\f\314V\203M\324\202N\325#.\207" [desktop-buffer-args-list remaining args buffer-name msg desktop-lazy-verbose 2 format "Desktop lazily opening %s (%s remaining)..." message "%s" nil 0 apply desktop-create-buffer run-hooks desktop-delay-hook bury-buffer get-buffer "%s%s" "done" "failed" desktop-buffer-fail-count desktop-buffer-ok-count desktop-first-buffer] 5 (#$ . 33469)])
#@114 Create buffers until the user does something, then stop.
If there are no buffers left to create, kill the timer.
(defalias 'desktop-idle-create-buffers #[nil "\304\2050	\2050\305 \306\216\307 \210*\310\311!	\204\312!\210\313\314\315!\210\310\316!\210\314\317!\210\202)\207" [repeat desktop-buffer-args-list #1=#:wconfig desktop-lazy-timer 1 current-window-configuration ((set-window-configuration #1#)) desktop-lazy-create-buffer sit-for 0.2 cancel-timer nil message "Lazy desktop load complete" 3 ""] 2 (#$ . 34117)])
#@37 Run the desktop load to completion.
(defalias 'desktop-lazy-complete #[nil "\303	\203\304 \305\216\306 \210*\202\307\310!)\207" [desktop-lazy-verbose desktop-buffer-args-list #1=#:wconfig t current-window-configuration ((set-window-configuration #1#)) desktop-lazy-create-buffer message "Lazy desktop load complete"] 2 (#$ . 34654) nil])
#@36 Abort lazy loading of the desktop.
(defalias 'desktop-lazy-abort #[nil "\203\n\302!\210\303	\205\303\304\305!\205\306\307!\207" [desktop-lazy-timer desktop-buffer-args-list cancel-timer nil called-interactively-p interactive message "Lazy desktop load aborted"] 2 (#$ . 35004) nil])
(byte-code "\300\301\302\"\210\303\304!\207" [add-hook after-init-hook #[nil "\304\211	\235\203\305	\"\306)\n\205\307 \210\310\211\207" [key command-line-args desktop-save-mode inhibit-startup-screen "--no-desktop" delete nil desktop-read t] 4] provide desktop] 3)

MMCT - 2023