%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/ |
Current File : //usr/local/share/emacs/27.2/lisp/frameset.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; 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. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (require 'cl-lib) #@67 compiler-macro for inlining `frameset-p'. (fn CL-WHOLE-ARG CL-X) (defalias 'frameset-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block frameset-p (and (vectorp cl-x) (>= (length cl-x) 8) (memq (aref cl-x 0) cl-struct-frameset-tags) t)) nil] 9 (#$ . 426)]) (put 'frameset-p 'compiler-macro 'frameset-p--cmacro) #@13 (fn CL-X) (defalias 'frameset-p #[257 "\301!\205 \211G\302Y\205 \211\303H>\205 \304\207" [cl-struct-frameset-tags vectorp 8 0 t] 3 (#$ . 782)]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put frameset-p side-effect-free error-free put frameset cl-deftype-satisfies] 5) #@73 compiler-macro for inlining `frameset-version'. (fn CL-WHOLE-ARG CL-X) (defalias 'frameset-version--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block frameset-version (progn (or (and (memq (aref cl-x 0) cl-struct-frameset-tags)) (signal 'wrong-type-argument (list 'frameset cl-x))) (aref cl-x 1))) nil] 9 (#$ . 1082)]) (put 'frameset-version 'compiler-macro 'frameset-version--cmacro) #@61 Access slot "version" of `frameset' struct CL-X. (fn CL-X) (defalias 'frameset-version #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-frameset-tags 0 signal wrong-type-argument frameset 1] 5 (#$ . 1510)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put frameset-version side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" frameset-version] 5 "\n\n(fn CL-DO CL-X)"]] 5) #@75 compiler-macro for inlining `frameset-timestamp'. (fn CL-WHOLE-ARG CL-X) (defalias 'frameset-timestamp--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block frameset-timestamp (progn (or (and (memq (aref cl-x 0) cl-struct-frameset-tags)) (signal 'wrong-type-argument (list 'frameset cl-x))) (aref cl-x 2))) nil] 9 (#$ . 1969)]) (put 'frameset-timestamp 'compiler-macro 'frameset-timestamp--cmacro) #@63 Access slot "timestamp" of `frameset' struct CL-X. (fn CL-X) (defalias 'frameset-timestamp #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-frameset-tags 0 signal wrong-type-argument frameset 2] 5 (#$ . 2407)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put frameset-timestamp side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" frameset-timestamp] 5 "\n\n(fn CL-DO CL-X)"]] 5) #@69 compiler-macro for inlining `frameset-app'. (fn CL-WHOLE-ARG CL-X) (defalias 'frameset-app--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block frameset-app (progn (or (and (memq (aref cl-x 0) cl-struct-frameset-tags)) (signal 'wrong-type-argument (list 'frameset cl-x))) (aref cl-x 3))) nil] 9 (#$ . 2874)]) (put 'frameset-app 'compiler-macro 'frameset-app--cmacro) #@57 Access slot "app" of `frameset' struct CL-X. (fn CL-X) (defalias 'frameset-app #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-frameset-tags 0 signal wrong-type-argument frameset 3] 5 (#$ . 3282)]) (byte-code "\300\301\302\303#\300\207" [function-put frameset-app side-effect-free t] 4) #@70 compiler-macro for inlining `frameset-name'. (fn CL-WHOLE-ARG CL-X) (defalias 'frameset-name--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block frameset-name (progn (or (and (memq (aref cl-x 0) cl-struct-frameset-tags)) (signal 'wrong-type-argument (list 'frameset cl-x))) (aref cl-x 4))) nil] 9 (#$ . 3598)]) (put 'frameset-name 'compiler-macro 'frameset-name--cmacro) #@58 Access slot "name" of `frameset' struct CL-X. (fn CL-X) (defalias 'frameset-name #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-frameset-tags 0 signal wrong-type-argument frameset 4] 5 (#$ . 4011)]) (byte-code "\300\301\302\303#\300\207" [function-put frameset-name side-effect-free t] 4) #@77 compiler-macro for inlining `frameset-description'. (fn CL-WHOLE-ARG CL-X) (defalias 'frameset-description--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block frameset-description (progn (or (and (memq (aref cl-x 0) cl-struct-frameset-tags)) (signal 'wrong-type-argument (list 'frameset cl-x))) (aref cl-x 5))) nil] 9 (#$ . 4330)]) (put 'frameset-description 'compiler-macro 'frameset-description--cmacro) #@65 Access slot "description" of `frameset' struct CL-X. (fn CL-X) (defalias 'frameset-description #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-frameset-tags 0 signal wrong-type-argument frameset 5] 5 (#$ . 4778)]) (byte-code "\300\301\302\303#\300\207" [function-put frameset-description side-effect-free t] 4) #@76 compiler-macro for inlining `frameset-properties'. (fn CL-WHOLE-ARG CL-X) (defalias 'frameset-properties--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block frameset-properties (progn (or (and (memq (aref cl-x 0) cl-struct-frameset-tags)) (signal 'wrong-type-argument (list 'frameset cl-x))) (aref cl-x 6))) nil] 9 (#$ . 5118)]) (put 'frameset-properties 'compiler-macro 'frameset-properties--cmacro) #@64 Access slot "properties" of `frameset' struct CL-X. (fn CL-X) (defalias 'frameset-properties #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-frameset-tags 0 signal wrong-type-argument frameset 6] 5 (#$ . 5561)]) (byte-code "\300\301\302\303#\300\207" [function-put frameset-properties side-effect-free t] 4) #@72 compiler-macro for inlining `frameset-states'. (fn CL-WHOLE-ARG CL-X) (defalias 'frameset-states--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block frameset-states (progn (or (and (memq (aref cl-x 0) cl-struct-frameset-tags)) (signal 'wrong-type-argument (list 'frameset cl-x))) (aref cl-x 7))) nil] 9 (#$ . 5898)]) (put 'frameset-states 'compiler-macro 'frameset-states--cmacro) #@60 Access slot "states" of `frameset' struct CL-X. (fn CL-X) (defalias 'frameset-states #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-frameset-tags 0 signal wrong-type-argument frameset 7] 5 (#$ . 6321)]) (byte-code "\300\301\302\303#\300\207" [function-put frameset-states side-effect-free t] 4) #@134 compiler-macro for inlining `frameset--make'. (fn CL-WHOLE &cl-quote &key VERSION TIMESTAMP APP NAME DESCRIPTION PROPERTIES STATES) (defalias 'frameset--make--cmacro #[385 "\300\301\"\206 \302A@\300\303\"\206 \304A@\300\305\"A@\300\306\"A@\300\307\"A@\300\310\"A@\300\311\"A@\211\203a \211@\312>\203I \211AA\262\2026 \313 >A@\203X \314\262\2026 \315\316@\"\210\2026 \210\317\320\321\314\f\314\f\f\f\f\f\f\f&\f\207" [plist-member :version (nil 1) :timestamp (nil (current-time)) :app :name :description :properties :states (:version :timestamp :app :name :description :properties :states :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:version :timestamp :app :name :description :properties :states)" cl--defsubst-expand (version timestamp app name description properties states) (cl-block frameset--make (vector 'frameset version timestamp app name description properties states))] 22 (#$ . 6647)]) (put 'frameset--make 'compiler-macro 'frameset--make--cmacro) #@113 Constructor for objects of type `frameset'. (fn &key VERSION TIMESTAMP APP NAME DESCRIPTION PROPERTIES STATES) (defalias 'frameset--make #[128 "\300\301\"\206 \302A@\300\303\"\206 \304\305 DA@\300\306\"A@\300\307\"A@\300\310\"A@\300\311\"A@\300\312\"A@\211\203d \211@\313>\203L \211AA\262\2029 \314 >A@\203[ \304\262\2029 \315\316@\"\210\2029 \210\317\320&\207" [plist-member :version (nil 1) :timestamp nil current-time :app :name :description :properties :states (:version :timestamp :app :name :description :properties :states :allow-other-keys) :allow-other-keys error "Keyword argument %s not one of (:version :timestamp :app :name :description :properties :states)" vector frameset] 17 (#$ . 7674)]) (byte-code "\300\301\302\303#\304\305\306\307\310\303\311\312\305\307& \210\313\314\315\316#\210\313\317\315\320#\210\313\321\315\322#\210\313\323\315\324#\210\313\325\315\326#\210\313\327\315\330#\210\313\331\315\332#\210\313\333\315\334#\207" [function-put frameset--make side-effect-free t cl-struct-define frameset "A frameset encapsulates a serializable view of a set of frames and windows.\n\nIt contains the following slots, which can be accessed with\n(frameset-SLOT fs) and set with (setf (frameset-SLOT fs) VALUE):\n\n version A read-only version number, identifying the format\n of the frameset struct. Currently its value is 1.\n timestamp A read-only timestamp, the output of `current-time'.\n app A symbol, or a list whose first element is a symbol, which\n identifies the creator of the frameset and related info;\n for example, desktop.el sets this slot to a list\n `(desktop . ,desktop-file-version).\n name A string, the name of the frameset instance.\n description A string, a description for user consumption (to show in\n menus, messages, etc).\n properties A property list, to store both frameset-specific and\n user-defined serializable data.\n states A list of items (FRAME-PARAMETERS . WINDOW-STATE), in no\n particular order. Each item represents a frame to be\n restored. FRAME-PARAMETERS is a frame's parameter alist,\n extracted with (frame-parameters FRAME) and filtered\n through `frameset-filter-params'.\n WINDOW-STATE is the output of `window-state-get' applied\n to the root window of the frame.\n\nTo avoid collisions, it is recommended that applications wanting to add\nprivate serializable data to `properties' either store all info under a\nsingle, distinctive name, or use property names with a well-chosen prefix.\n\nA frameset is intended to be used through the following simple API:\n\n - `frameset-save', the type's constructor, captures all or a subset of the\n live frames, and returns a serializable snapshot of them (a frameset).\n - `frameset-restore' takes a frameset, and restores the frames and windows\n it describes, as faithfully as possible.\n - `frameset-p' is the predicate for the frameset type.\n - `frameset-valid-p' checks a frameset's validity.\n - `frameset-copy' returns a deep copy of a frameset.\n - `frameset-prop' is a `setf'able accessor for the contents of the\n `properties' slot.\n - The `frameset-SLOT' accessors described above." nil vector ((cl-tag-slot) (version 1 :read-only t) (timestamp (current-time) :read-only t) (app nil) (name nil) (description nil) (properties nil) (states nil)) cl-struct-frameset-tags put frameset-p function-documentation "Return non-nil if OBJECT is a frameset, nil otherwise.\n\n(fn OBJECT)" frameset-version "Return the version number of FRAMESET.\n\nIt is an integer that identifies the format of the frameset struct.\nThis slot cannot be modified.\n\n(fn FRAMESET)" frameset-timestamp "Return the creation timestamp of FRAMESET.\n\nThe value is in the format returned by `current-time'.\nThis slot cannot be modified.\n\n(fn FRAMESET)" frameset-app "Return the application identifier for FRAMESET.\n\nThe value is either a symbol, like `my-app', or a list\n(my-app ADDITIONAL-DATA...).\n\n(fn FRAMESET)" frameset-name "Return the name of FRAMESET (a string).\n\n(fn FRAMESET)" frameset-description "Return the description of FRAMESET (a string).\n\n(fn FRAMESET)" frameset-properties "Return the property list of FRAMESET.\n\nThis list is useful to store both frameset-specific and user-defined\nserializable data. The simplest way to access and modify it is\nthrough `frameset-prop' (which see).\n\n(fn FRAMESET)" frameset-states "Return the list of frame states of FRAMESET.\n\nA frame state is a pair (FRAME-PARAMETERS . WINDOW-STATE), where\nFRAME-PARAMETERS is a frame's parameter alist, extracted with\n(frame-parameters FRAME) and filtered through `frameset-filter-params',\nand WINDOW-STATE is the output of `window-state-get' applied to the\nroot window of the frame.\n\nIMPORTANT: Modifying this slot may cause frameset functions to fail,\nunless the type constraints defined above are respected.\n\n(fn FRAMESET)"] 11) #@85 Return a deep copy of FRAMESET. FRAMESET is copied with `copy-tree'. (fn FRAMESET) (defalias 'frameset-copy #[257 "\300\301\"\207" [copy-tree t] 4 (#$ . 12635)]) #@75 Return non-nil if OBJECT is a valid frameset, nil otherwise. (fn OBJECT) (defalias 'frameset-valid-p #[257 "\301!\205\370 \211G\302Y\205\370 \211\303H>\205\370 \211\303H>\204$ \304\305\306D\"\210\211\307H\250\205\370 \211\303H>\204: \304\305\306D\"\210\211\310H:\205\370 \211\303H>\204P \304\305\306D\"\210\211\311H\211?\206e \2119\206e \211:\205e \211@9\262\205\370 \211\303H>\204y \304\305\306D\"\210\211\312H\206\200 \313;\205\370 \211\303H>\204\223 \304\305\306D\"\210\211\314H\206\232 \313;\205\370 \211\303H>\204\255 \304\305\306D\"\210\211\315H<\205\370 \211\303H>\204\303 \304\305\306D\"\210\211\316H\211<\205\341 \317\320\303H>\204\335 \304\305\306D\"\210\316H\"\262\205\370 \211\303H>\204\365 \304\305\306D\"\210\211\307H\207" [cl-struct-frameset-tags vectorp 8 0 signal wrong-type-argument frameset 1 2 3 4 "" 5 6 7 cl-every consp] 8 (#$ . 12805)]) #@88 Setter function for `frameset-prop'. Internal use only. (fn FRAMESET PROPERTY VALUE) (defalias 'frameset--prop-setter #[771 "\301H>\204 \302\303\304D\"\210\211\305\306\301H>\204$ \302\303\304 D\"\210\305H#I\266\207" [cl-struct-frameset-tags 0 signal wrong-type-argument frameset 6 plist-put] 11 (#$ . 13697)]) #@150 Return the value for FRAMESET of PROPERTY. Properties can be set with (setf (frameset-prop FRAMESET PROPERTY) NEW-VALUE) (fn FRAMESET PROPERTY) (defalias 'frameset-prop #[514 "\301\302H>\204 \303\304\305D\"\210\306H\"\207" [cl-struct-frameset-tags plist-get 0 signal wrong-type-argument frameset 6] 7 (#$ . 14032)]) (byte-code "\300\301\302\303#\300\207" [function-put frameset-prop gv-expander #[385 "\300\301\302$\207" [gv--defsetter frameset-prop #[385 "\300\301C\"B\207" [frameset--prop-setter append] 6 "\n\n(fn VAL &rest ARGS)"]] 7 "\n\n(fn DO &rest ARGS)"]] 4) #@138 Minimum set of parameters to filter for live (on-session) framesets. DO NOT MODIFY. See `frameset-filter-alist' for a full description. (defvar frameset-session-filter-alist '((name . :never) (left . frameset-filter-iconified) (minibuffer . frameset-filter-minibuffer) (top . frameset-filter-iconified)) (#$ . 14622)) #@116 Parameters to filter for persistent framesets. DO NOT MODIFY. See `frameset-filter-alist' for a full description. (defvar frameset-persistent-filter-alist (nconc '((background-color . frameset-filter-sanitize-color) (buffer-list . :never) (buffer-predicate . :never) (buried-buffer-list . :never) (client . :never) (delete-before . :never) (font . frameset-filter-font-param) (font-backend . :never) (foreground-color . frameset-filter-sanitize-color) (frameset--text-pixel-height . :save) (frameset--text-pixel-width . :save) (fullscreen . frameset-filter-shelve-param) (GUI:font . frameset-filter-unshelve-param) (GUI:fullscreen . frameset-filter-unshelve-param) (GUI:height . frameset-filter-unshelve-param) (GUI:width . frameset-filter-unshelve-param) (height . frameset-filter-shelve-param) (outer-window-id . :never) (parent-frame . :never) (parent-id . :never) (mouse-wheel-frame . :never) (tty . frameset-filter-tty-to-GUI) (tty-type . frameset-filter-tty-to-GUI) (width . frameset-filter-shelve-param) (window-id . :never) (window-system . :never)) frameset-session-filter-alist) (#$ . 14948)) #@2149 Alist of frame parameters and filtering functions. This alist is the default value of the FILTERS argument of `frameset-save' and `frameset-restore' (which see). Initially, `frameset-filter-alist' is set to, and shares the value of, `frameset-persistent-filter-alist'. You can override any item in this alist by `push'ing a new item onto it. If, for some reason, you intend to modify existing values, do (setq frameset-filter-alist (copy-tree frameset-filter-alist)) before changing anything. On saving, PARAMETERS is the parameter alist of each frame processed, and FILTERED is the parameter alist that gets saved to the frameset. On restoring, PARAMETERS is the parameter alist extracted from the frameset, and FILTERED is the resulting frame parameter alist used to restore the frame. Elements of `frameset-filter-alist' are conses (PARAM . ACTION), where PARAM is a parameter name (a symbol identifying a frame parameter), and ACTION can be: nil The parameter is copied to FILTERED. :never The parameter is never copied to FILTERED. :save The parameter is copied only when saving the frame. :restore The parameter is copied only when restoring the frame. FILTER A filter function. FILTER can be a symbol FILTER-FUN, or a list (FILTER-FUN ARGS...). FILTER-FUN is invoked with (apply FILTER-FUN CURRENT FILTERED PARAMETERS SAVING ARGS) where CURRENT A cons (PARAM . VALUE), where PARAM is the one being filtered and VALUE is its current value. FILTERED The resulting alist (so far). PARAMETERS The complete alist of parameters being filtered, SAVING Non-nil if filtering before saving state, nil if filtering before restoring it. ARGS Any additional arguments specified in the ACTION. FILTER-FUN is allowed to modify items in FILTERED, but no other arguments. It must return: nil Skip CURRENT (do not add it to FILTERED). t Add CURRENT to FILTERED as is. (NEW-PARAM . NEW-VALUE) Add this to FILTERED instead of CURRENT. Frame parameters not on this alist are passed intact, as if they were defined with ACTION = nil. (defvar frameset-filter-alist frameset-persistent-filter-alist (#$ . 16060)) #@311 True when switching to a graphic display. Return non-nil if the parameter alist PARAMETERS describes a frame on a text-only terminal, and the frame is being restored on a graphic display; otherwise return nil. Only meaningful when called from a filtering function in `frameset-filter-alist'. (fn PARAMETERS) (defalias 'frameset-switch-to-gui-p #[257 "\205 \301\236A?\205 A\207" [frameset--target-display display] 3 (#$ . 18292)]) #@314 True when switching to a text-only terminal. Return non-nil if the parameter alist PARAMETERS describes a frame on a graphic display, and the frame is being restored on a text-only terminal; otherwise return nil. Only meaningful when called from a filtering function in `frameset-filter-alist'. (fn PARAMETERS) (defalias 'frameset-switch-to-tty-p #[257 "\205 \301\236A\205 A?\207" [frameset--target-display display] 3 (#$ . 18736)]) #@194 Remove CURRENT when switching from tty to a graphic display. For the meaning of CURRENT, FILTERED, PARAMETERS and SAVING, see `frameset-filter-alist'. (fn CURRENT FILTERED PARAMETERS SAVING) (defalias 'frameset-filter-tty-to-GUI #[1028 "\211\206 \300!?\207" [frameset-switch-to-gui-p] 6 (#$ . 19183)]) #@250 When switching to a GUI frame, remove "unspecified" colors. Useful as a filter function for tty-specific parameters. For the meaning of CURRENT, FILTERED, PARAMETERS and SAVING, see `frameset-filter-alist'. (fn CURRENT FILTERED PARAMETERS SAVING) (defalias 'frameset-filter-sanitize-color #[1028 "\211\206! \301!?\206! A;?\206! \302A\303\304\305#)\266\203?\207" [inhibit-changing-match-data frameset-switch-to-gui-p "^unspecified-[fb]g$" nil t string-match] 11 (#$ . 19496)]) #@341 Force the minibuffer parameter to have a sensible value. When saving, convert (minibuffer . #<window>) to (minibuffer . nil). When restoring, if there are two copies, keep the one pointing to a live window. For the meaning of CURRENT, FILTERED, PARAMETERS and SAVING, see `frameset-filter-alist'. (fn CURRENT FILTERED PARAMETERS SAVING) (defalias 'frameset-filter-minibuffer #[1028 "A\300\203 \301!\203 \302\202- \303\202- \304\236\211\262\203, \301!\203( \211\241\210\300\202- \303\207" [nil windowp (minibuffer) t minibuffer] 8 (#$ . 19988)]) #@312 When switching to a tty frame, save parameter P as PREFIX:P. The parameter can be later restored with `frameset-filter-unshelve-param'. PREFIX defaults to `GUI'. For the meaning of CURRENT, FILTERED, PARAMETERS and SAVING, see `frameset-filter-alist'. (fn CURRENT FILTERED PARAMETERS SAVING &optional PREFIX) (defalias 'frameset-filter-shelve-param #[1284 "\211\204 \300\262\203 \301\207\302!\203) \303\304\305@#!\211\236?\205( \211AB\207\306!\203<