;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\207" [require cl easymenu] 2) (defvar persp-mode nil) #@38 Something that is not a perspective. (defconst persp-not-persp :nil (#$ . 176)) (byte-code "\300\301!\204 \302\301\303\"\210\300\304!\204\302\304\305\"\210\300\306!\204!\302\306\307\"\210\310\311\312!>\2041\313\312\314\315\316\317%\210\313\320\314\321\322\323\316\312\324\325& \210\326\327\330\331\316\320\332\333\334\335& \210\336\337\340\341\316\320%\210\336\342\343\344\316\320%\210\336\345\346\347#\210\326\350\351\352\316\320\332\353&\210\326\354\355\356\316\320\332\357&\210\326\360\361\362\316\320\332\333&\210\326\363\364\365\316\320\332\366&\210\326\367\314\370\316\320\332\371&\210\326\372\373\374\316\320\332\375&\210\326\376\377\201@\316\320\332\201A&\210\326\201B\201C\201D\316\320\332\201E&\210\326\201F\364\201G\316\320\332\366&\210\326\201H\364\201I\316\320\332\201J&\210\201K\201L\201M\201N\201O\201P\201Q\201R\332\201S& \210\326\201T\201U\201V\316\320\332\201W&\210\326\201X\314\201Y\316\320\332\201Z&\210\326\201[\201\\\201]\316\320\332\201^\334\201_& \210\326\201`\314\201a\316\320\332\366&\210\201b\201`\201c\201d#\207" [fboundp condition-case-unless-debug defalias condition-case-no-debug read-multiple-choice #[(prompt choices) "\303\304\"\211\205\305\306\307\n\310\311\312\n\"O\313\314\315## \"\236)\207" [choices choice-chars prompt mapcar car read-char-choice format "%s(%s): " 0 string-match ": $" mapconcat #[(ch) "\301\302@A@#\207" [ch format "[%c] - %s"] 4] "; "] 9] alist-get #[(key alist &optional default remove) " \236\211\203 \nA\202 )\207" [key alist x default] 3] custom-group symbol-plist session custom-declare-group nil "Emacs' state(opened files, buffers, windows, etc.)" :group environment persp-mode "Customization of the `persp-mode'." :prefix "persp-" :link (url-link :tag "Github page" "https://github.com/Bad-ptr/persp-mode.el") custom-declare-variable persp-nil-name "none" "Name for the nil perspective." :type string :set #[(sym val) "\205X \203S\306\307\n \310#!\211\203\f\211A\242\202#\311\312\313\fGD\"\f\310\211\203K@\n\314!\232\203B\315\"\210A\211\204.,\316\317\310\n$\210\320\"\207" [val persp-mode persp-nil-name *persp-hash* windows frames persp-frames-and-windows-with-persp persp-get-by-name nil signal wrong-number-of-arguments (frames . windows) get-window-persp* set-window-persp* run-hook-with-args persp-renamed-functions custom-set-default win --dolist-tail-- sym] 6] custom-declare-face persp-face-lighter-buffer-not-in-persp ((default :background "#F00" :foreground "#00F" :weight bold)) "Face for the lighter when the current buffer is not in a perspective." persp-face-lighter-nil-persp ((t :inherit bold-italic)) "Face for the lighter when the current perspective is nil." persp-face-lighter-default ((t :inherit italic)) "Default face for the lighter." persp-lighter '(:eval (format (propertize " #%.5s" 'face (let ((persp (get-current-persp))) (if persp (if (persp-contain-buffer-p (current-buffer) persp) 'persp-face-lighter-default 'persp-face-lighter-buffer-not-in-persp) 'persp-face-lighter-nil-persp))) (safe-persp-name (get-current-persp)))) "Defines how the persp-mode show itself in the modeline." sexp persp-save-dir (expand-file-name "persp-confs/" user-emacs-directory) "The directory to/from where perspectives saved/loaded by default.\nAutosave files are saved and loaded to/from this directory." directory persp-auto-save-fname "persp-auto-save" "Name of the file for auto save/load perspectives on the persp-mode\ndeactivation or the emacs shutdown." persp-auto-save-persps-to-their-file t "If t -- then a perspective will be autosaved to a file specified\nin the `persp-file' perspective parameter." boolean persp-auto-save-persps-to-their-file-before-kill "Whether or not perspectives will be saved before killed." (choice (const :tag "Save perspectives which have `persp-file' parameter" :value persp-file) (const :tag "Save all perspectives" :value t) (const :tag "Don't save just kill" :value nil)) persp-auto-save-opt 2 "This variable controls the autosave functionality of the persp-mode:\n0 -- do not auto save;\n1 -- save on the emacs shutdown and only if the persp-mode active;\n2 -- save on the persp-mode deactivation or the emacs shutdown." (choice (const :tag "Do not save" :value 0) (const :tag "Save on exit" :value 1) (const :tag "Save on exit and persp-mode deactivation" :value 2)) persp-auto-save-num-of-backups 3 "How many autosave file backups to keep." integer persp-auto-resume-time 3.0 "Delay time in seconds before loading from the autosave file.\nIf <= 0 -- do not autoresume." float persp-set-last-persp-for-new-frames "If nil new frames will be created with the 'nil' perspective,\notherwise with a last activated perspective." persp-reset-windows-on-nil-window-conf "t -- When a perspective without a window configuration is activated\nthen delete all windows and show the *scratch* buffer;\nfunction -- run that function;\nnil -- do nothing." (choice (const :tag "Delete all windows" :value t) (const :tag "Do nothing" :value nil) (function :tag "Run function" :value (lambda nil nil))) define-widget persp-buffer-list-restriction-choices lazy "Variants of how the buffer-list can be restricted." :offset 4 :tag "\nControl the persp-buffer-list-restricted behaviour" (choice (const :tag "List all buffers" :value -1) (const :tag "List current perspective buffers" :value 0) (const :tag "List buffers that aren't in the perspective" :value 1) (const :tag "List buffers which unique to the perspective" :value 2) (const :tag "List unique buffers, but show all for the nil perspective" :value 2.5) (const :tag "List free buffers" :value 3) (const :tag "List free buffers, but show all for the nil perspective" :value 3.5)) *persp-restrict-buffers-to* 0 "Controls the behaviour of the `persp-buffer-list-restricted' function." (choice persp-buffer-list-restriction-choices (function :tag "\nRun function with frame as an argument" :value (lambda (f) (buffer-list f)))) persp-restrict-buffers-to-if-foreign-buffer "Override the *persp-restrict-buffers-to* if the current buffer is not in the\ncurrent perspective. If nil -- do not override." (choice (const :tag "Do not override" :value nil) persp-buffer-list-restriction-choices (function :tag "\nRun function with frame as an argument" :value (lambda (f) (buffer-list f)))) persp-set-frame-buffer-predicate 'restricted-buffer-list "t -- set the frame's buffer-predicate parameter to a function returning `t'\n for buffers in current persp;\nnil -- do not set the buffer-predicate;\nrestricted-buffer-list -- return t for buffers contained in the list returned\n from the persp-buffer-list-restricted called without arguments;\nnumber -- the same meaning as for the `*persp-restrict-buffers-to*';\nfunction -- use that function as buffer-predicate." (choice (const :tag "\nConstrain to current perspective's buffers." :value t) (const :tag "\nDo not set frames' buffer-predicate parameter." :value nil) (const :tag "\nConstrain with persp-buffer-list-restricted." :value restricted-buffer-list) persp-buffer-list-restriction-choices (function :tag "\nConstrain with a function which take buffer as an argument." :value (lambda (b) b))) #[(sym val) "\306 \"\210 \203D\n\203\307 \207\310 \204?\311 A\204?\312\313!\211\211\314L\210) \211\315\316\317\320\321D\322 D\323FEL\210)\324\325 J\")\207\324\326\307\"\207\307\327!\207" [sym val persp-mode #:--cl-th-- #:v #:v custom-set-default persp-update-frames-buffer-predicate daemonp frame-list make-symbol "--th--" nil lambda #2=(&rest --cl-rest--) apply function #[(#1=#:G1) "\301\302\303\304\305\306\307\310D\311D\312FE#\207" [#1# run-at-time 10 nil lambda #2# apply function #[(#3=#:G0) "\301\302J\"\210\303 \207" [#3# remove-hook emacs-startup-hook persp-update-frames-buffer-predicate] 3] quote --cl-rest--] 9] quote --cl-rest-- add-hook emacs-startup-hook persp-mode-hook t] 8] persp-hook-up-emacs-buffer-completion "If t -- try to restrict read-buffer function of the current completion system." make-obsolete-variable "`persp-set-read-buffer-function', `persp-set-ido-hooks', `persp-interactive-completion-function'" "persp-mode 2.6"] 10) (defalias 'persp-set-read-buffer-function #[(&optional opt) "\203 \303=?\205 \303\211\207 \303=\205\n\211\207" [opt read-buffer-function persp-saved-read-buffer-function persp-read-buffer] 2]) (byte-code "\300\301\302\303#\304\301\305\306#\210\307\301\310\311\312\313\314\315\316\317& \207" [function-put persp-set-read-buffer-function speed -1 put byte-optimizer byte-compile-inline-expand custom-declare-variable nil "If t -- set the read-buffer-function to persp-read-buffer." :group persp-mode :type boolean :set #[(sym val) "\306 \"\210\n\205( \211\203\f\307=?\205'\f\307\211\202'\f\307=\205' \211)\207" [sym val persp-mode opt read-buffer-function persp-saved-read-buffer-function custom-set-default persp-read-buffer] 4]] 11) (defalias 'persp-set-ido-hooks #[(&optional opt) "\203\301\302\303\"\210\301\304\305\"\207\306\302\303\"\210\306\304\305\"\207" [opt add-hook ido-make-buffer-list-hook persp-restrict-ido-buffers ido-setup-hook persp-ido-setup remove-hook] 3]) (byte-code "\300\301\302\303#\304\301\305\306#\210\307\301\310\311\312\313\314\315\316\317& \207" [function-put persp-set-ido-hooks speed -1 put byte-optimizer byte-compile-inline-expand custom-declare-variable nil "If t -- set the ido hooks for buffer list restriction." :group persp-mode :type boolean :set #[(sym val) "\304 \"\210\n\205% \211\203\305\306\307\"\210\305\310\311\"\202$\312\306\307\"\210\312\310\311\")\207" [sym val persp-mode opt custom-set-default add-hook ido-make-buffer-list-hook persp-restrict-ido-buffers ido-setup-hook persp-ido-setup remove-hook] 4]] 11) #@95 The function which is used by the persp-mode to interactivly read user input with completion. (defvar persp-interactive-completion-function 'completing-read (#$ . 9943)) (make-obsolete-variable 'persp-interactive-completion-function "`completing-read-function'" "persp-mode 2.7") (defalias 'persp-update-completion-system #[(&optional system remove) "\204 \204\306\n\307\310\311\312$! \2039\313\304!\2032 \2032\f\314=\2032\311\315\316\317\"\210\315\320\321\")\210\322\323\304\322\"\207\324\311\312\"\210\205d\323\304\"\210 \205d\f\314=\203`\312\325\316\317\"\210\325\320\321\")\210\326\327!\207" [system remove persp-interactive-completion-function persp-hook-up-emacs-buffer-completion persp-interactive-completion-system opt intern "Set the completion system for persp-mode: " ("ido" "completing-read") nil t boundp ido remove-hook ido-make-buffer-list-hook persp-restrict-ido-buffers ido-setup-hook persp-ido-setup completing-read custom-set-default persp-update-completion-system add-hook ido-completing-read persp-set-toggle-read-buffer-filter-keys persp-toggle-read-buffer-filter-keys] 6 nil "i"]) (byte-code "\302\303\304\305\306\307\310\311\312\313& \210\314\303\315\316#\210\317\320\321\322\323\324\325\326\310\327& \210\302\330\331\332\306\307\310\320&\210\302\333\334\335\306\307\310\336&\210\302\337\334\340\306\307\310\341&\210\302\342\334\343\306\307\310\344&\210\302\345\346\347\306\307\310\350\312\351& \210\302\352\331\353\306\307\310\354&\210\314\352\355\356#\210\302\357\331\360\306\307\310\361&\210\302\362\363\364\306\307\310\365\312\366& \210\302\367\331\370\306\307\310\371&\210\372\373\374\363#\210\375\363\211\203\271 @\373N\203\262\374N\204\262\376\374\373N#\210 A\211\204\233*\314\373\374\377#\210\302\374\331\201@\306\307\310\371&\210\302\201A\201B\201C\306\307\310\201D&\210\317\201E\321\201F\323\324\325\201G\310\201H& \210\372\201I\201J\363#\210\375\363\211\203- @\201IN\203&\201JN\204&\376\201J\201IN#\210 A\211\204*\314\201I\201J\201K#\210\302\201J\201L\201F\306\307\310\201E&\210\314\201M\201N\377#\210\302\201O\363\201P\306\307\310\201Q&\210\302\201R\201S\201T\306\307\310\201U&\210\302\201V\201W\201X\306\307\310\201Y\312\201Z& \210\302\201[\363\201\\\306\307\310\201Y\312\201]& \210\302\201^\363\201_\306\307\310\201Y\312\201`& \210\302\201a\201b\201c\306\307\310\201Y&\210\302\201d\201e\201f\306\307\310\201Y&\210\302\201g\201h\201i\306\307\310\201Y&\210\302\201j\363\201k\306\307\310\201Y&\210\302\201l\363\201m\306\307\310\201Y&\210\302\201n\363\201o\306\307\310\201Y&\210\302\201p\363\201q\306\307\310\201Y&\210\302\201r\363\201s\306\307\310\201Y&\210\302\201t\363\201u\306\307\310\201Y&\210\302\201v\363\201w\306\307\310\201Y&\210\302\201x\363\201y\306\307\310\201Y&\210\302\201z\363\201{\306\307\310\201Y&\210\302\201|\201}\201~\306\307\310\201Y&\210\302\201\201\200\201\201\306\307\310\371\312\201\202& \210\302\201\203\331\201\204\306\307\310\201\205&\210\302\201\206\201\207\201\210\306\307\310\201\211&\210\302\201\212\201\213\201\214\306\307\310\201\211&\210\302\201\215\201\216\201\217\306\307\310\201\211&\210\302\201\220\363\201\221\306\307\310\371&\210\302\201\222\363\201\223\306\307\325\201\224\310\201\225& \207" [prop --dolist-tail-- custom-declare-variable persp-interactive-completion-system 'completing-read "What completion system to use." :group persp-mode :type (choice (const :tag "ido" :value ido) (const :tag "completing-read" :value completing-read)) :set #[(sym val) "\203\303 !\207\304\n \"\207" [persp-mode val sym persp-update-completion-system custom-set-default] 3] make-obsolete-variable "`persp-set-read-buffer-function', `persp-set-ido-hooks', `persp-interactive-completion-function'" "persp-mode 2.6" define-widget persp-init-frame-behaviour-choices lazy "Choices of the init-frame behavoiurs for the persp-mode." :offset 4 :tag "\nControl how frames initialized by persp-mode" (choice (const :tag "Restore window-configuration" :value t) (const :tag "Do not restore window-configuration" :value nil) (const :tag "Set persp-ignore-wconf flag for frame" :value persp-ignore-wconf) (const :tag "Set persp-ignore-wconf-once flag for frame" :value persp-ignore-wconf-once) (const :tag "Create a new random auto-perspective for the new frame" :value auto-temp) (const :tag "Create a new perspective for the new frame and prompt for it's name" :value prompt) (string :tag "Use/create the perspective with a name" :value "pfnf") (function :tag "Run this function" :value (lambda (frame &optional new-frame-p) nil))) persp-init-frame-behaviour t "Control the behaviour of how frames initialized." persp-init-new-frame-behaviour-override -1 "Override the `persp-init-frame-behaviour` for new frames." (choice (const :tag "Do not override" : value -1) persp-init-frame-behaviour-choices) persp-interactive-init-frame-behaviour-override "Override the `persp-init-frame-behaviour'\nwhen the `make-frame' was called interactively." (choice (const :tag "Do not override" :value -1) persp-init-frame-behaviour-choices) persp-emacsclient-init-frame-behaviour-override "Override the `persp-init-frame-behaviour' variable for frames created using\nthe emacsclient -[c|t]." (choice (const :tag "Do not override" :value -1) persp-init-frame-behaviour-choices) persp-server-switch-behaviour 'only-file-windows-for-client-frame "Controls the behaviour of the server-switch-hook." (choice (const :tag "Do nothing" :value nil) (const :tag "Leave only windows displaing files for edit\n(files that was supplied as parameters to emacsclient)" :value only-file-windows) (const :tag "For the new frame(created by emacsclient -c ...)\nleave only windows displaing files for edit" :value only-file-windows-for-client-frame) (function :tag "Run this function" :value (lambda (frame buflist) nil))) #[(sym val) "\303 \"\210\n\203\f\304 \207\305\306\304\"\207" [sym val persp-mode custom-set-default persp-update-frame-server-switch-hook add-hook persp-mode-hook] 3] persp-ignore-wconf-of-frames-created-to-edit-file "If t -- set the persp-ignore-wconf frame parameter\nto t for frames that were created by emacsclient with file arguments.\nAlso delete windows not showing that files\n(this is because server-switch-hook runs after after-make-frames);\nIf function -- run that function." (choice (const :tag "Ignore window configuration" :value t) (const :tag "Do as usual" :value nil) (function :tag "Run function" :value (lambda nil nil))) "`persp-emacsclient-frame-to-edit-file-behavoiur'" "persp-mode 2.0" persp-add-buffer-on-find-file "If t -- add a buffer with opened file to current perspective." (choice (const :tag "Always add" :value t) (const :tag "Newer add" :value nil) (const :tag "\nAdd if not matching any predicate from `persp-auto-persp-alist'" :value if-not-autopersp) (const :tag "\nAlways add but do not switch if the buffer matches any predicate from `persp-auto-persp-alist'" :value add-but-not-switch-if-autopersp)) persp-add-buffer-on-after-change-major-mode nil "t -- add the current buffer to the current perspective when\nthe `after-change-major-mode-hook' fires;\nnil -- do not add;\n'free -- add only _free_ buffers;\nfunction -- run that function." (choice (const :tag "Always add" :value t) (const :tag "Don't add" :value nil) (const :tag "\nAdd if the buffer is not already in any other persp" :value free) (function :tag "Run this function" :value (lambda nil nil))) #[(sym val) "\303 \"\210\n\205 \203\304\305\306\307#\207\310\305\306\"\207" [sym val persp-mode custom-set-default add-hook after-change-major-mode-hook persp-after-change-major-mode-h t remove-hook] 4] persp-switch-to-added-buffer "If t then after you add a buffer to the current perspective\nthe currently selected window will be switched to that buffer." boolean defvaralias persp-when-kill-switch-to-buffer-in-perspective persp-when-remove-buffer-switch-to-other-buffer (saved-value saved-variable-comment) put "persp-mode 2.9.7" "If t -- then after a buffer is removed all windows of the current\nperspective which showing that buffer will be switched to some previous buffer\nin the current perspective." persp-remove-buffers-from-nil-persp-behaviour 'ask-to-rem-from-all "What to do when removing a buffer from the nil perspective." (choice (const :tag "Ask to remove from all perspectives" ask-to-rem-from-all) (const :tag "Ask only if buffer belongs to a non-weak perspective" ask-if-in-non-weak-persp) (const :tag "Don't ask" nil) (function :tag "Run this function" (lambda (b-o-ns) b-o-ns))) persp-kill-foreign-buffer-behaviour-choices "What to do when manually killing a buffer that is not in\nthe current perspective." "\nControl the persp-kill-buffer-query-function behaviour." (choice (const :tag "Ask what to do" :value ask) (const :tag "\nDon't ask if a buffer belongs only to weak perspectives" :value dont-ask-weak) (const :tag "Just kill" :value kill) (const :tag "\nDo not suggest foreign buffer to the user(kill buffer)" :value nil) (function :tag "Run function" :value (lambda nil t))) persp-kill-foreign-buffer-action persp-kill-foreign-buffer-behaviour "persp-mode 2.9.6" 'dont-ask-weak persp-kill-foreign-indirect-buffer-behaviour-override "Don't use this" persp-autokill-buffer-on-remove "Kill the buffer if it removed from every(or non weak) perspective." (choice (const :tag "Just kill" :value kill) (const :tag "Kill if buffer belongs only to weak perspectives" :value kill-weak) (const :tag "Do not kill" :value nil)) persp-autokill-persp-when-removed-last-buffer 'hide-auto "Kill the perspective if no buffers left in it." (choice (const :tag "Just kill" :value kill) (const :tag "Kill auto perspectives" :value kill-auto) (const :tag "Hide" :value hide) (const :tag "Hide auto perspectives" :value hide-auto) (const :tag "Do not kill" :value nil) (function :tag "\nRun this function with persp as an argument" :value (lambda (p) p))) persp-common-buffer-filter-functions (list #'(lambda (b) (or (string-prefix-p " " (buffer-name b)) (eq (buffer-local-value 'major-mode b) 'helm-major-mode)))) "The list of functions wich takes a buffer as an argument. If one of these\nfunctions returns a non nil value the buffer considered as 'filtered out'." hook #[(sym val) "\302\303\304 \"\"\207" [sym val custom-set-default mapcar byte-compile] 5] persp-buffer-list-restricted-filter-functions "Additional filters for use inside the `persp-buffer-list-restricted'." #[(sym val) "\302\303\304 \"\"\207" [sym val custom-set-default mapcar byte-compile] 5] persp-add-buffer-on-after-change-major-mode-filter-functions "Additional filters to know which buffers we dont want to add to\nthe current perspective after the `after-change-major-mode-hook' is fired." #[(sym val) "\302\303\304 \"\"\207" [sym val custom-set-default mapcar byte-compile] 5] persp-filter-save-buffers-functions (list #'(lambda (b) (string-prefix-p "*" (buffer-name b)))) "Additional filters to not save unneeded buffers." persp-save-buffer-functions (list #'(lambda (b) (when (persp-buffer-filtered-out-p b persp-filter-save-buffers-functions) 'skip)) #'persp-tramp-save-buffer #'(lambda (b) (when (eq 'dired-mode (buffer-local-value 'major-mode b)) `(def-buffer ,(buffer-name b) ,(buffer-local-value 'default-directory b) ,(buffer-local-value 'major-mode b)))) #'(lambda (b) `(def-buffer ,(buffer-name b) ,(buffer-file-name b) ,(buffer-local-value 'major-mode b)))) "Convert a buffer to a structure that could be saved to a file.\nIf a function return nil -- follow to the next function in the list.\nIf a function return 'skip -- don't save a buffer." persp-load-buffer-functions (list #'persp-buffer-from-savelist) "Restore a buffer from a saved structure.\nIf a function return nil -- follow to the next function in the list.\nIf a function return 'skip -- don't restore a buffer." persp-mode-hook "The hook that's run after the `persp-mode' has been activated." persp-mode-deactivated-hook "Runs when the persp-mode is deactivated." persp-created-functions "Functions to run after a perspective was created.\nThese functions must accept two arguments -- the created perspective\nand the hash in which this perspective will be placed, you can check\nif that hash is the same as `*persp-hash*' or another(when you load\na subset of perspectives(with `persp-load-from-file-by-names') they\nwill be added to a temporary hash)." persp-renamed-functions "Functions to run if a perspective was renamed.\nEach must take three arguments: 1) perspective; 2) old name; 3) new name.\nThese functions only run when renaming a perspective from `*persp-hash*'." persp-before-kill-functions "Functions that runs just before a perspective will be destroyed.\nIt's single argument is the perspective that will be killed." persp-before-switch-functions "Functions that runs before actually switching to a perspective.\nThese functions must take two arguments -- a name of a perspective to switch\n (it could be a name of an nonexistent perspective or it could be the same\nas current) and a frame or a window for which the switching will take place." persp-activated-functions "Functions that runs after a perspective has been activated.\nThese functions must take one argument -- a symbol,\nif it is eq 'frame -- then the perspective is activated for `selected-frame',\nif it is eq 'window -- then the perspective is activated for `selected-window'.\nThe activated perspective is available with `get-current-persp'." persp-before-deactivate-functions "Functions that runs before the current perspective has been deactivated\nfor selected frame or window.\nThese functions must take one argument -- a symbol,\nif it's 'frame -- perspective will be deactivated for the `selected-frame',\nif it's 'window -- perspective will be deactivated for the `selected-window'.\nThe perspective is available with `get-current-persp'." persp-before-save-state-to-file-functions "Functions to run before saving perspectives to a file.\nEach function in this list will be called with 3 arguments:\n1) a file name to which perspectives will be saved;\n2) a hash with perspectives;\n3) a bool argument indicating if the persp-file parameter of perspectives\n must be set." persp-after-load-state-functions (list #'(lambda (file phash persp-names) (when (eq phash *persp-hash*) (persp-update-frames-window-confs persp-names)))) "Functions that runs after perspectives state was loaded.\nThese functions must take 3 arguments:\n1) a file from which the state was loaded;\n2) a hash in which loaded perspectives were placed;\n3) list of names of perspectives that was loaded." persp-use-workgroups (and (version< emacs-version "24.4") (locate-library "workgroups")) "If t -- use the workgroups.el package for saving/restoring\nwindows configurations." #[(sym val) "\303 \"\210\n\205!\304\305!\204\306\305\307\310#\210\304\311!?\205!\306\311\307\312#\207" [sym val persp-use-workgroups custom-set-default fboundp wg-make-wconfig autoload "workgroups" "Return a new Workgroups window config from `selected-frame'." wg-restore-wconfig "Restore WCONFIG in `selected-frame'."] 4] persp-restore-window-conf-method "Defines how to restore window configurations for the new frames:\nt -- the standard action.\nfunction -- run that function." (choice (const :tag "Standard action" :value t) (function :tag "Run function" :value (lambda (frame persp new-frame-p) nil))) persp-window-state-get-function (if persp-use-workgroups #'(lambda (&optional frame rwin) (when (or frame (setq frame (selected-frame))) (with-selected-frame frame (wg-make-wconfig)))) (if (version< emacs-version "24.4") #'(lambda (&optional frame rwin) (when (or rwin (setq rwin (frame-root-window (or frame (selected-frame))))) (when (fboundp 'window-state-get) (window-state-get rwin)))) #'(lambda (&optional frame rwin) (when (or rwin (setq rwin (frame-root-window (or frame (selected-frame))))) (window-state-get rwin t))))) "Function for getting a window configuration of a frame, accept\ntwo optional arguments:\nfirst -- a frame(default is the selected one)\nsecond -- a root window(default is the root window of the selected frame)." function persp-window-state-put-function (if persp-use-workgroups #'(lambda (pwc &optional frame rwin) (when (or frame (setq frame (selected-frame))) (with-selected-frame frame (letf (((symbol-function 'wg-switch-to-window-buffer) #'(lambda (win) "Switch to a buffer determined from WIN's fname and bname.\nReturn the buffer if it was found, nil otherwise." (wg-abind win (fname bname) (cond ((wg-awhen (get-buffer bname) (persp-switch-to-buffer it))) (t (persp-switch-to-buffer wg-default-buffer) nil)))))) (wg-restore-wconfig pwc))))) #'(lambda (pwc &optional frame rwin) (when (or rwin (setq rwin (frame-root-window (or frame (selected-frame))))) (when (fboundp 'window-state-put) (window-state-put pwc rwin t))))) "Function for restoring a window configuration. Accept a window configuration\nobtained by the `persp-window-state-get-function' and two optional arguments:\none -- a frame(default is the selected frame)\nand another -- root window(default is the root window of the selected frame)." persp-buffer-list-function (symbol-function 'buffer-list) "The function that is used mostly internally by persp-mode functions\nto get a list of all buffers." persp-dont-count-weaks-in-restricted-buffer-list "if t -- dont count weak perspectives in `persp-buffer-list-restricted'.\nFor now it makes any effect only if the value of\nthe `*persp-restrict-buffers-to*' and friends is 2, 2.5, 3 or 3.5." persp-auto-persp-alist "Alist of auto-persp definitions." "Auto perspectives" (alist :key-type (string :tag "Name") :value-type (alist :tag "Parameters" :key-type (symbol :tag "Keyword")))] 11) #@91 t if the `initial-buffer-choice' as a function is supported in your emacs, otherwise nil. (defvar persp-is-ibc-as-f-supported (byte-code "\301\302\"?\206\303\304\305\306!\307\"A\236??\207" [emacs-version version< "24.4" function getf symbol-plist initial-buffer-choice custom-type] 4) (#$ . 27760)) #@26 Menu for the persp-mode. (defvar persp-minor-mode-menu nil (#$ . 28068)) #@43 The hash table that contain perspectives. (defvar *persp-hash* nil (#$ . 28147)) #@413 List of perspective names. Used by the `persp-read-persp' and other UI functions, so it can be used to alter the order of perspective names present to user. To achieve that you must add functions to `persp-created-functions', `persp-renamed-functions', `persp-before-kill-functions', `persp-before-switch-functions' and `persp-after-load-state-functions' or just set the `persp-names-sort-before-read-function'. (defvar persp-names-cache (byte-code "\205\301 \207" [*persp-hash* persp-names] 1) (#$ . 28235)) #@174 Function(or nil) to sort `persp-names-cache' before prompting a user for a perspective name(s). The function must take a list of perspective names and return a sorted list. (custom-declare-variable 'persp-names-sort-before-read-function nil '(#$ . 28754) :group 'persp-mode :type '(choice (const :tag "No sort." :value nil) (function :tag "Function" :value #'identity))) #@85 This variable dynamically bound to t inside the `persp-temporarily-display-buffer'. (defvar persp-temporarily-display-buffer nil (#$ . 29131)) #@64 Save the `read-buffer-function' to restore it on deactivation. (defvar persp-saved-read-buffer-function read-buffer-function (#$ . 29280)) #@129 The last activated perspective. New frames will be created with that perspective if `persp-set-last-persp-for-new-frames' is t. (defvar persp-last-persp-name persp-nil-name (#$ . 29426)) #@106 Special variable to handle the case when new frames are switching the selected window to a wrong buffer. (defvar persp-special-last-buffer nil (#$ . 29620)) #@27 Current buffer-predicate. (defvar persp-frame-buffer-predicate nil (#$ . 29783)) #@69 Variable to cache the perspective buffer list for buffer-predicate. (defvar persp-frame-buffer-predicate-buffer-list-cache nil (#$ . 29870)) #@35 Current persp-server-switch-hook. (defvar persp-frame-server-switch-hook nil (#$ . 30017)) #@65 The flag used for toggling buffer filtering during read-buffer. (defvar persp-disable-buffer-restriction-once nil (#$ . 30114)) #@78 List of frames/windows for which the switching of perspectives is inhibited. (defvar persp-inhibit-switch-for nil (#$ . 30248)) #@71 Function to call to exit minibuffer when reading multiple candidates. (defvar persp-read-multiple-exit-minibuffer-function 'exit-minibuffer (#$ . 30382)) #@35 Cache to store buffer properties. (defvar persp-buffer-props-hash (byte-code "\205\n\301\302\303\304\305$\207" [persp-mode make-hash-table :test eq :size 10] 5) (#$ . 30542)) #@40 Backtrace function with base argument. (defvar persp-backtrace-frame-function (byte-code "\301\302\"\203 \303\207\304\207" [emacs-version version< "24.4" #[(nframes &optional base) "\2034\306\307\211\n\204'\310 T\211!A@\211\203' =\203\n\311\211\203\n\2050\f \312Z\\+\2027\f\313\\\211\205?\310 !)\207" [base bt found k nframes i 8 nil backtrace-frame t 3 6] 4] backtrace-frame] 3) (#$ . 30725)) (byte-code "\300\301\302\303\304\305\306\307&\210\310\311!\207" [custom-declare-variable persp-switch-wrap t "Whether `persp-next' and `persp-prev' should wrap." :group persp-mode :type boolean define-prefix-command persp-key-map] 8) #@46 The keymap with a prefix for the persp-mode. (defvar persp-mode-map (make-sparse-keymap) (#$ . 31380)) (byte-code "\301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\313#\210\301\314\315#\210\301\316\317#\210\301\320\321#\210\301\322\323#\210\301\324\325#\210\301\326\327#\210\301\330\331#\210\301\332\333#\210\301\334\335#\210\301\336\337#\210\301\340\341#\210\301\342\343#\210\301\344\345#\210\301\346\347#\210\301\350\351#\207" [persp-key-map define-key "n" persp-next "p" persp-prev "s" persp-frame-switch "S" persp-window-switch "r" persp-rename "c" persp-copy "C" persp-kill "z" persp-save-and-kill "a" persp-add-buffer "b" persp-switch-to-buffer "t" persp-temporarily-display-buffer "i" persp-import-buffers "I" persp-import-win-conf "k" persp-remove-buffer "K" persp-kill-buffer "w" persp-save-state-to-file "W" persp-save-to-file-by-names "l" persp-load-state-from-file "L" persp-load-from-file-by-names "o" #[nil "\300\301!\207" [persp-mode -1] 2 nil nil]] 4) (defalias 'persp-set-keymap-prefix #[(prefix) "\205\302\303!\203\304\305\306 #\210\307 \305#\210\310\303\"\207" [prefix persp-mode-map boundp persp-keymap-prefix substitute-key-definition persp-key-map nil define-key custom-set-default] 4 nil (list (read-key-sequence "Now press a key sequence to be used as the persp-key-map prefix: "))]) #@50 The prefix for activating the persp-mode keymap. (custom-declare-variable 'persp-keymap-prefix '(kbd "C-c p") '(#$ . 32749) :group 'persp-mode :type 'key-sequence :set #[(sym val) "\301!\207" [val persp-set-keymap-prefix] 2]) (defalias 'persp-set-toggle-read-buffer-filter-keys #[(keys) "\302\236 \241\210\303\304 \"\207" [persp-read-multiple-keys keys toggle-persp-buffer-filter custom-set-default persp-toggle-read-buffer-filter-keys] 3 nil (list (read-key-sequence "Now press a key sequence to be used for toggling persp filters during the read-buffer: "))]) (byte-code "\302\303\304\305#\210\306\303\304\307#\210\310\311\312\313\314\315\316\317\320\321& \210\322\323\324\305#\210\325\305\211\203E @\323N\203>\324N\204>\326\324\323N#\210 A\211\204'*\327\323\324\307#\210\310\324\330\331\314\315\320\332\333\334& \207" [prop --dolist-tail-- defalias persp-set-toggle-read-persp-filter-keys persp-set-toggle-read-buffer-filter-keys nil make-obsolete "persp-mode 2.9" custom-declare-variable persp-read-multiple-keys `((toggle-persp-buffer-filter \, (kbd "C-x C-p")) (push-item \, (kbd "C-")) (pop-item \, (kbd "M-"))) "Keybindings to use while prompting for multiple items." :group persp-mode :tag "Keys for reading multiple items" :type (alist :key-type symbol :value-type key-sequence) defvaralias persp-toggle-read-persp-filter-keys persp-toggle-read-buffer-filter-keys (saved-value saved-variable-comment) put make-obsolete-variable (kbd "C-x C-p") "Keysequence to toggle the buffer filtering during read-buffer." key-sequence :set #[(sym val) "\301!\207" [val persp-set-toggle-read-buffer-filter-keys] 2]] 11) #@46 compiler-macro for inlining `perspective-p'. (defalias 'perspective-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block perspective-p (and (memq (type-of cl-x) cl-struct-perspective-tags) t)) nil] 7 (#$ . 34402)]) (put 'perspective-p 'compiler-macro 'perspective-p--cmacro) (defalias 'perspective-p #[(cl-x) "\302! >\205 \303\207" [cl-x cl-struct-perspective-tags type-of t] 2]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put perspective-p side-effect-free error-free put perspective cl-deftype-satisfies] 5) #@43 compiler-macro for inlining `persp-name'. (defalias 'persp-name--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block persp-name (progn (or (perspective-p cl-x) (signal 'wrong-type-argument (list 'perspective cl-x))) (aref cl-x 1))) nil] 7 (#$ . 34996)]) (put 'persp-name 'compiler-macro 'persp-name--cmacro) #@50 Access slot "name" of `perspective' struct CL-X. (defalias 'persp-name #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-perspective-tags type-of signal wrong-type-argument perspective 1] 4 (#$ . 35365)]) (byte-code "\300\301\302\303#\300\207" [function-put persp-name side-effect-free t] 4) #@46 compiler-macro for inlining `persp-buffers'. (defalias 'persp-buffers--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block persp-buffers (progn (or (perspective-p cl-x) (signal 'wrong-type-argument (list 'perspective cl-x))) (aref cl-x 2))) nil] 7 (#$ . 35685)]) (put 'persp-buffers 'compiler-macro 'persp-buffers--cmacro) #@53 Access slot "buffers" of `perspective' struct CL-X. (defalias 'persp-buffers #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-perspective-tags type-of signal wrong-type-argument perspective 2] 4 (#$ . 36069)]) (byte-code "\300\301\302\303#\300\207" [function-put persp-buffers side-effect-free t] 4) #@50 compiler-macro for inlining `persp-window-conf'. (defalias 'persp-window-conf--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block persp-window-conf (progn (or (perspective-p cl-x) (signal 'wrong-type-argument (list 'perspective cl-x))) (aref cl-x 3))) nil] 7 (#$ . 36398)]) (put 'persp-window-conf 'compiler-macro 'persp-window-conf--cmacro) #@57 Access slot "window-conf" of `perspective' struct CL-X. (defalias 'persp-window-conf #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-perspective-tags type-of signal wrong-type-argument perspective 3] 4 (#$ . 36802)]) (byte-code "\300\301\302\303#\300\207" [function-put persp-window-conf side-effect-free t] 4) #@49 compiler-macro for inlining `persp-parameters'. (defalias 'persp-parameters--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block persp-parameters (progn (or (perspective-p cl-x) (signal 'wrong-type-argument (list 'perspective cl-x))) (aref cl-x 4))) nil] 7 (#$ . 37143)]) (put 'persp-parameters 'compiler-macro 'persp-parameters--cmacro) #@56 Access slot "parameters" of `perspective' struct CL-X. (defalias 'persp-parameters #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-perspective-tags type-of signal wrong-type-argument perspective 4] 4 (#$ . 37542)]) (byte-code "\300\301\302\303#\300\207" [function-put persp-parameters side-effect-free t] 4) #@43 compiler-macro for inlining `persp-weak'. (defalias 'persp-weak--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block persp-weak (progn (or (perspective-p cl-x) (signal 'wrong-type-argument (list 'perspective cl-x))) (aref cl-x 5))) nil] 7 (#$ . 37880)]) (put 'persp-weak 'compiler-macro 'persp-weak--cmacro) #@50 Access slot "weak" of `perspective' struct CL-X. (defalias 'persp-weak #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-perspective-tags type-of signal wrong-type-argument perspective 5] 4 (#$ . 38249)]) (byte-code "\300\301\302\303#\300\207" [function-put persp-weak side-effect-free t] 4) #@43 compiler-macro for inlining `persp-auto'. (defalias 'persp-auto--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block persp-auto (progn (or (perspective-p cl-x) (signal 'wrong-type-argument (list 'perspective cl-x))) (aref cl-x 6))) nil] 7 (#$ . 38569)]) (put 'persp-auto 'compiler-macro 'persp-auto--cmacro) #@50 Access slot "auto" of `perspective' struct CL-X. (defalias 'persp-auto #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-perspective-tags type-of signal wrong-type-argument perspective 6] 4 (#$ . 38938)]) (byte-code "\300\301\302\303#\300\207" [function-put persp-auto side-effect-free t] 4) #@45 compiler-macro for inlining `persp-hidden'. (defalias 'persp-hidden--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block persp-hidden (progn (or (perspective-p cl-x) (signal 'wrong-type-argument (list 'perspective cl-x))) (aref cl-x 7))) nil] 7 (#$ . 39258)]) (put 'persp-hidden 'compiler-macro 'persp-hidden--cmacro) #@52 Access slot "hidden" of `perspective' struct CL-X. (defalias 'persp-hidden #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-perspective-tags type-of signal wrong-type-argument perspective 7] 4 (#$ . 39637)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put persp-hidden side-effect-free t defalias copy-perspective copy-sequence] 4) #@126 compiler-macro for inlining `make-persp'. (fn CL-WHOLE &cl-quote &key NAME BUFFERS WINDOW-CONF PARAMETERS WEAK AUTO HIDDEN) (defalias 'make-persp--cmacro #[(cl-whole &rest #1=#:--cl-rest--) "\306\307\"\206\310A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@\306\315\"A@\306\316\"A@\203j@\317>\203QAA\211\202<\320>A@\203`\321\211\202<\322\323@\"\210\202:)\324\325\326\321\321 \n \f &\f.\207" [#1# name buffers window-conf parameters weak plist-member :name (nil "") :buffers :window-conf :parameters :weak :auto :hidden (:name :buffers :window-conf :parameters :weak :auto :hidden :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:name :buffers :window-conf :parameters :weak :auto :hidden)" cl--defsubst-expand (name buffers window-conf parameters weak auto hidden) (cl-block make-persp (record 'perspective name buffers window-conf parameters weak auto hidden)) auto hidden #2=#:--cl-keys-- cl-whole] 14 (#$ . 40014)]) (put 'make-persp 'compiler-macro 'make-persp--cmacro) #@112 Constructor for objects of type `perspective'. (fn &key NAME BUFFERS WINDOW-CONF PARAMETERS WEAK AUTO HIDDEN) (defalias 'make-persp #[(&rest #1=#:--cl-rest--) "\306\307\"\206\310A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@\306\315\"A@\306\316\"A@\203j@\317>\203QAA\211\202<\320>A@\203`\321\211\202<\322\323@\"\210\202:)\324\325 \n \f &.\207" [#1# name buffers window-conf parameters weak plist-member :name (nil "") :buffers :window-conf :parameters :weak :auto :hidden (:name :buffers :window-conf :parameters :weak :auto :hidden :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:name :buffers :window-conf :parameters :weak :auto :hidden)" record perspective auto hidden #2=#:--cl-keys--] 10 (#$ . 41076)]) (byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303& \207" [function-put make-persp side-effect-free t cl-struct-define perspective nil cl-structure-object record ((cl-tag-slot) (name "") (buffers nil) (window-conf nil) (parameters nil) (weak nil) (auto nil) (hidden nil)) cl-struct-perspective-tags] 11) (defalias 'persp-p #[(obj) "?\206\302! >\205\303\207" [obj cl-struct-perspective-tags type-of t] 2]) #@49 Window configuration for the `nil' perspective. (defvar persp-nil-wconf nil (#$ . 42305)) #@38 Parameters of the `nil' perspective. (defvar persp-nil-parameters nil (#$ . 42401)) #@41 Hidden filed for the `nil' perspective. (defvar persp-nil-hidden nil (#$ . 42491)) (defalias 'persp-buffer-list #[(&optional frame window) "\302\303 \"!\207" [frame window safe-persp-buffers get-current-persp] 4]) #@167 (fn &optional (FRAME (selected-frame)) (OPTION *persp-restrict-buffers-to*) (OPTION-FOREIGN-OVERRIDE persp-restrict-buffers-to-if-foreign-buffer) SURE-NOT-KILLING) (defalias 'persp-buffer-list-restricted #[(&rest #1=#:--cl-rest--) "\203\f\211A\242\202\306 \203\211A\242\202\n\203)\211A\242\202*\f\211A\242&\203@\307\310\311\312G\\D\"\210 \204G\306  \204M\313\314 !'p(\315('\"?) \203i)\203i \316 !\203u !\202\216 \317U\203\206'\204\204\320\202\205\321 \322U\203\227'\204\225\320\202\226\323 \324\267\202D* !\202E'\203\304\325\326'!+>\204\274\307\327\330'D\"\210'\321H!\202E* !\202E'\205\362\325\326'!+>\204\343\307\327\330'D\"\210'\321H!,\331\332* !\")-\315('\"\204\n(\333(-\334\335$B--)\202E\331\336'\2032\325\326'!+>\204*\307\327\330'D\"\210'\321H!\2026* !\"\202E\331\337* !\"\202E\340./\203S\331\341.\".&\204\213'\203\21309\203\2131\203\213\342\3430!\340\3442\345#)\266\203\203\213(.>\204\213(.B..).\207" [#1# frame *persp-restrict-buffers-to* option persp-restrict-buffers-to-if-foreign-buffer option-foreign-override selected-frame signal wrong-number-of-arguments persp-buffer-list-restricted 4 0 get-current-persp persp-contain-buffer-p functionp 2.5 -1 2 3.5 3 #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (-1 157 0 164 1 203 2 272 3 314)) copy-list type-of wrong-type-argument perspective delete-if #[(b) " >\211\205\n\211A@\240\210\n\211AA\241\210\303)\207" [b pbs cns t] 3] delete* :count 1 #[(b) "\303 \n#\207" [b cpersp persp-dont-count-weaks-in-restricted-buffer-list persp-buffer-in-other-p*] 4] #[(b) "\203 \303 \"\206\304 \n#\207" [cpersp b persp-dont-count-weaks-in-restricted-buffer-list persp-contain-buffer-p persp-buffer-in-other-p*] 4] nil #[(b) "\302 \"\207" [b persp-buffer-list-restricted-filter-functions persp-buffer-filtered-out-p] 3] "^.*?kill-buffer.*?$" symbol-name t string-match sure-not-killing cpersp curbuf cb-foreign persp-buffer-list-function cl-struct-perspective-tags pbs ret bl persp-buffer-list-restricted-filter-functions this-command persp-kill-foreign-buffer-behaviour inhibit-changing-match-data] 8 (#$ . 42713)]) #@205 (fn (&key (BUFFER-LIST-FUNCTION persp-buffer-list-function) (RESTRICTION *persp-restrict-buffers-to*) (RESTRICTION-FOREIGN-OVERRIDE persp-restrict-buffers-to-if-foreign-buffer) SORTP CACHE) &rest BODY) (defalias 'with-persp-buffer-list '(macro . #[(&rest body) "\203\f\211A\242\202\306\307\310GD\"\311 \312\"\206\313\nDA@\311 \314\"\206+\313\fDA@\311 \315\"\2069\313DA@#\311 \316\"A@$\311 \317\"A@% &&\203\200&@\320>\203g&AA\211&\202R\321 >A@\203v\313\211&\202R\322\323&@\"\210\202P)\324'$\203\225\325'\326\327$DDE'\330\304 D\331#D%\205\243\332BB\333\334\335\336\337%\203\273\340\341\211\342\341'EF\202\275'EDDCBBE.\207" [body #1=#:--cl-rest-- persp-buffer-list-function buffer-list-function *persp-restrict-buffers-to* restriction signal wrong-number-of-arguments with-persp-buffer-list plist-member :buffer-list-function nil :restriction :restriction-foreign-override :sortp :cache (:buffer-list-function :restriction :restriction-foreign-override :sortp :cache :allow-other-keys) :allow-other-keys error "Keyword argument %s not one of (:buffer-list-function :restriction :restriction-foreign-override :sortp :cache)" (persp-buffer-list-restricted frame) sort with-no-warnings quote let persp-restrict-buffers-to-if-foreign-buffer (persp-buffer-list-cache) letf (symbol-function 'buffer-list) function lambda (&optional frame) if persp-buffer-list-cache setq restriction-foreign-override sortp cache #2=#:--cl-keys-- pblf-body] 14 (#$ . 44958)])) #@52 (fn (&key MULTIPLE (DEFAULT-MODE t)) &rest BODY) (defalias 'with-persp-read-buffer '(macro . #[(&rest body) "\203\f\211A\242\202\305\306\307GD\"\310 \311\"A@\310 \312\"\206#\313A@ \f\203R\f@\314>\203;\fAA\211\202)\315 >A@\203I\316\211\202)\317\320\f@\"\210\202()\321\322+BB\207" [body #1=#:--cl-rest-- multiple default-mode #2=#:--cl-keys-- signal wrong-number-of-arguments with-persp-read-buffer plist-member :multiple :default-mode (nil t) (:multiple :default-mode :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:multiple :default-mode)" let ((read-buffer-function #'persp-read-buffer))] 5 (#$ . 46464)])) (defalias 'with-persp-ido-hooks '(macro . #[(&rest body) "\301\302\303BBB\207" [body let ((ido-make-buffer-list-hook ido-make-buffer-list-hook) (ido-setup-hook ido-setup-hook)) (persp-set-ido-hooks t)] 4])) (defalias 'safe-persp-name #[(p) "\203\303! >\204\304\305\306D\"\210\307H\207\n\207" [p cl-struct-perspective-tags persp-nil-name type-of signal wrong-type-argument perspective 1] 4]) (defalias 'safe-persp-buffers #[(p) "\203\303! >\204\304\305\306D\"\210\307H\207\n \207" [p cl-struct-perspective-tags persp-buffer-list-function type-of signal wrong-type-argument perspective 2] 4]) (defalias 'safe-persp-window-conf #[(p) "\203\303! >\204\304\305\306D\"\210\307H\207\n\207" [p cl-struct-perspective-tags persp-nil-wconf type-of signal wrong-type-argument perspective 3] 4]) (defalias 'safe-persp-parameters #[(p) "\203\303! >\204\304\305\306D\"\210\307H\207\n\207" [p cl-struct-perspective-tags persp-nil-parameters type-of signal wrong-type-argument perspective 4] 4]) (defalias 'safe-persp-weak #[(p) "\203\302! >\204\303\304\305D\"\210\306H\207\307\207" [p cl-struct-perspective-tags type-of signal wrong-type-argument perspective 5 t] 4]) (defalias 'safe-persp-auto #[(p) "\205\302! >\204\303\304\305D\"\210\306H\207" [p cl-struct-perspective-tags type-of signal wrong-type-argument perspective 6] 4]) (defalias 'safe-persp-hidden #[(p) "\203\303! >\204\304\305\306D\"\210\307H\207\n\207" [p cl-struct-perspective-tags persp-nil-hidden type-of signal wrong-type-argument perspective 7] 4]) #@52 (fn ALIST &optional (PERSP (get-current-persp))) (defalias 'modify-persp-parameters #[(alist &rest #1=#:--cl-rest--) "\203\f\211A\242\202\306 \203\307\310\311\312G\\D\"\210\n\313\211 :\203> @\211\211A\242\314 \f #\210 A\211\202$,\313\207" [#1# persp alist #2=#:--cl-var-- value name get-current-persp signal wrong-number-of-arguments modify-persp-parameters 2 nil set-persp-parameter] 6 (#$ . 48694)]) #@63 (fn PARAM-NAME &optional VALUE (PERSP (get-current-persp))) (defalias 'set-persp-parameter #[(param-name &optional value &rest #1=#:--cl-rest--) "\203\f\211A\242\202\306 \203\307\310\311\312G\\D\"\210\313 ! \n\236\211\203/\f \241\202d \203W\314 !>\204C\307\315\316 D\"\210 \211\317 \nBB\266\203I)\202d \nBB\266\203\211+\207" [#1# persp params param-name old-cons value get-current-persp signal wrong-number-of-arguments set-persp-parameter 3 safe-persp-parameters type-of wrong-type-argument perspective 4 cl-struct-perspective-tags #2=#:v persp-nil-parameters] 8 (#$ . 49124)]) #@57 (fn PARAM-NAME &optional (PERSP (get-current-persp))) (defalias 'persp-parameter #[(param-name &rest #1=#:--cl-rest--) "\203\f\211A\242\202\303 \203\304\305\306\307G\\D\"\210\310\n\311 !\")\207" [#1# persp param-name get-current-persp signal wrong-number-of-arguments persp-parameter 2 alist-get safe-persp-parameters] 5 (#$ . 49743)]) #@57 (fn PARAM-NAME &optional (PERSP (get-current-persp))) (defalias 'delete-persp-parameter #[(param-name &rest #1=#:--cl-rest--) "\203\f\211A\242\202\306 \203\307\310\311\312G\\D\"\210\n??\205t\n9\205t \203l\313 ! >\204;\307\314\315 D\"\210 \211\316\317\n\313 ! >\204P\307\314\315 D\"\210 \316H\236\313 ! >\204c\307\314\315 D\"\210 \316H\"I)\202t\317\n \236 \"\211)\207" [#1# persp param-name cl-struct-perspective-tags #2=#:v persp-nil-parameters get-current-persp signal wrong-number-of-arguments delete-persp-parameter 2 type-of wrong-type-argument perspective 4 delq] 9 (#$ . 50098)]) (defalias 'persp--buffer-in-persps #[(buf) "\302\303 \"\236A\207" [buf persp-buffer-props-hash persp-buffer-in-persps gethash] 4]) (defalias 'persp--buffer-in-persps-set #[(buf persps) "\306 \"\307\n\236\211\203 \211 \241)\202#\307 B\211\nB\310\n #*\207" [buf persp-buffer-props-hash buf-props cons #1=#:v persps gethash persp-buffer-in-persps puthash] 5]) (defalias 'persp--buffer-in-persps-add #[(buf persp) "\302 \303!B\"\207" [buf persp persp--buffer-in-persps-set persp--buffer-in-persps] 5]) (defalias 'persp--buffer-in-persps-remove #[(buf persp) "\302\303 \304!\"\"\207" [buf persp persp--buffer-in-persps-set delq persp--buffer-in-persps] 6]) (defalias 'persp-mode-start-and-remove-from-make-frame-hook #[(f) "\300\301!\210\302\303\304\"\207" [persp-mode 1 remove-hook after-make-frame-functions persp-mode-start-and-remove-from-make-frame-hook] 3]) (defalias 'persp-asave-on-exit #[(&optional interactive-query) "\2059 \305V\2038\3061\307 0\207\310\311\n\"\210 \204)\312 \204$\313 \210\312 \204+\314\f\2035\315\316!\2026\317)\207\317\207" [persp-mode persp-auto-save-opt err noninteractive interactive-query 0 (debug error) persp-save-state-to-file message "[persp-mode] Error: Can not autosave perspectives -- %s" persp-frame-list-without-daemon make-frame nil yes-or-no-p "persp-mode can not save perspectives, do you want to exit anyway?" t] 3]) (defalias 'persp-kill-emacs-h #[nil "\300\301!\207" [persp-asave-on-exit nil] 2]) (defalias 'persp-kill-emacs-query-function #[nil "\203\301\302!\205\303\304\305\"\210\302\207\302\207" [persp-mode persp-asave-on-exit t remove-hook kill-emacs-hook persp-kill-emacs-h] 3]) (defalias 'persp-special-last-buffer-make-current #[nil "p\211\207" [persp-special-last-buffer] 2]) (defalias 'persp-auto-persp-parameters #[(name) "\302 \"A\207" [name persp-auto-persp-alist assoc] 3]) (defalias 'persp--auto-persp-pickup-buffer #[(a-p-def buffer) "\303\304\"\305 !\205 \n!)\207" [a-p-def action buffer alist-get :main-action functionp] 3]) (defalias 'persp-auto-persp-pickup-bufferlist-for #[(name bufferlist) "\303!\211\205\304\305\306 \"\n\")\207" [name a-p-def bufferlist persp-auto-persp-parameters mapc apply-partially persp--auto-persp-pickup-buffer] 5]) (defalias 'persp-auto-persps-pickup-bufferlist #[(bufferlist) "\301\302\303\304\"\"\207" [persp-auto-persp-alist mapc #[(name) "\302 \"\207" [name bufferlist persp-auto-persp-pickup-bufferlist-for] 3] mapcar car] 5]) (defalias 'persp-auto-persp-pickup-buffers-for #[(name) "\302 \"\207" [name persp-buffer-list-function persp-auto-persp-pickup-bufferlist-for] 3]) (defalias 'persp-auto-persps-pickup-buffers #[nil "\301 !\207" [persp-buffer-list-function persp-auto-persps-pickup-bufferlist] 2 nil nil]) (defalias 'persp-buffer-match-auto-persp-p #[(buffer-or-name) "\304!\305\306\307 \310\311$\242*\207" [buffer-or-name pred buffer persp-auto-persp-alist persp-get-buffer-or-null nil find-if #[(a-p-def) "\303\304\"\211\205\f \n!\207" [a-p-def pred buffer alist-get :generated-predicate] 3] :key cdr] 5]) (defalias 'persp-auto-persps-for-buffer #[(buffer-or-name) "\303!\304\305\n\306\307$)\207" [buffer-or-name buffer persp-auto-persp-alist persp-get-buffer-or-null remove-if #[(pred) " !\207" [pred buffer] 2] :key #[(a-p-cons) "\301\302A\"\207" [a-p-cons alist-get :generated-predicate] 3]] 5]) (defalias 'persp-auto-persp-activate-hooks #[(name) "\302\303\304!\"\305\306 \")\207" [name hooks alist-get :hooks persp-auto-persp-parameters mapc #[(hook-cons) "\301@A\"\207" [hook-cons add-hook] 3]] 4]) (defalias 'persp-auto-persp-deactivate-hooks #[(name) "\302\303\304!\"\305\306 \")\207" [name hooks alist-get :hooks persp-auto-persp-parameters mapc #[(hook-cons) "\301@A\"\207" [hook-cons remove-hook] 3]] 4]) (defalias 'persp-auto-persps-activate-hooks #[nil "\301\302\303\304\"\"\207" [persp-auto-persp-alist mapc persp-auto-persp-activate-hooks mapcar car] 5]) (defalias 'persp-auto-persps-deactivate-hooks #[nil "\301\302\303\304\"\"\207" [persp-auto-persp-alist mapc persp-auto-persp-deactivate-hooks mapcar car] 5]) (defalias 'persp--generate-predicate-loop-any-all #[(items-list condition &rest body) "\203{\306\211\307!\203C\202)<\203'\310!\203#C\202)\202)C\211@\311=\211\2037A@<\203P@\312=\211\203HA \204P\313D\314\315\316\317\320\321\n\203`\322 D\202a EEDE\323\324\325\n\203t\322\fD\202u\f BBE+\207\323\326 BB\207" [items-list noquote all condition cnd body nil functionp persp-regexp-p :noquote :all quote member-if function lambda (item) setq cond-result not let (cond-result) when (cond-result)] 9]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put persp--generate-predicate-loop-any-all speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@150 (fn &key BUFFER-NAME FILE-NAME MODE MODE-NAME MINOR-MODE MINOR-MODE-NAME PREDICATE (TRUE-VALUE (if predicate \='cond-result t)) &allow-other-keys) (defalias 'persp--generate-buffer-predicate #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@5\306\315\"A@6\306\316\"\206F\3176\203D\320\202E\321DA@\211786\2036\3228C9:\211;\203\371\317\211<=\323;!\203u;C\202\220;<\203\215\324;!\203\210;C\202\220;\202\220;C\211;@\325=\211<\203\242;A@;;<\203\303;@\326=\211=\203\270;A;<\204\303\327;D;\330\331\332\333\334\320=\203\325\335:D\202\327:EED;E>\336\337\340=\203\356\335>D\202\360>9BBE+\202\377\336\3419BB+8\n\203\265\n\3428C9:\211;\203\254\317\211<=\323;!\203(;C\202C;<\203@\324;!\203;;C\202C;\202C;C\211;@\325=\211<\203U;A@;;<\203v;@\326=\211=\203k;A;<\204v\327;D;\330\331\332\333\334\320=\203\210\335:D\202\212:EED;E>\336\337\340=\203\241\335>D\202\243>9BBE+\202\262\336\3419BB+8 \203h \3438C9:\211;\203_\317\211<=\323;!\203\333;C\202\366;<\203\363\324;!\203\356;C\202\366;\202\366;C\211;@\325=\211<\203;A@;;<\203);@\326=\211=\203;A;<\204)\327;D;\330\331\332\333\334\320=\203;\335:D\202=:EED;E>\336\337\340=\203T\335>D\202V>9BBE+\202e\336\3419BB+85\203\3135\336\344\345\346\321C9:\211;\203\317\211<=\323;!\203\222;C\202\255;<\203\252\324;!\203\245;C\202\255;\202\255;C\211;@\325=\211<\203\277;A@;;<\203\340;@\326=\211=\203\325;A;<\204\340\327;D;\330\331\332\333\334\320=\203\362\335:D\202\364:EED;E>\336\337\340=\203 \335>D\202 >9BBE+\202\336\3419BB+E8C9:\211;\203\302\317\211<=\323;!\203>;C\202Y;<\203V\324;!\203Q;C\202Y;\202Y;C\211;@\325=\211<\203k;A@;;<\203\214;@\326=\211=\203\201;A;<\204\214\327;D;\330\331\332\333\334\320=\203\236\335:D\202\240:EED;E>\336\337\340=\203\267\335>D\202\271>9BBE+\202\310\336\3419BB+8 \2034 \347\350\351\336\352\353\354\321C9:\211;\203z\317\211<=\323;!\203\366;C\202;<\203\324;!\203 ;C\202;\202;C\211;@\325=\211<\203#;A@;;<\203D;@\326=\211=\2039;A;<\204D\327;D;\330\331\332\333\334\320=\203V\335:D\202X:EED;E>\336\337\340=\203o\335>D\202q>9BBE+\202\200\336\3419BB+ED\355BBB8C9:\211;\203+\317\211<=\323;!\203\247;C\202\302;<\203\277\324;!\203\272;C\202\302;\202\302;C\211;@\325=\211<\203\324;A@;;<\203\365;@\326=\211=\203\352;A;<\204\365\327;D;\330\331\332\333\334\320=\203\335:D\202 :EED;E>\336\337\340=\203 \335>D\202\">9BBE+\2021\336\3419BB+8\f\203\347\f\3568C9:\211;\203\336\317\211<=\323;!\203Z;C\202u;<\203r\324;!\203m;C\202u;\202u;C\211;@\325=\211<\203\207;A@;;<\203\250;@\326=\211=\203\235;A;<\204\250\327;D;\330\331\332\333\334\320=\203\272\335:D\202\274:EED;E>\336\337\340=\203\323\335>D\202\325>9BBE+\202\344\336\3419BB+8 \203\232 \3578C9:\211;\203\221\317\211<=\323;!\203 ;C\202(;<\203%\324;!\203 ;C\202(;\202(;C\211;@\325=\211<\203:;A@;;<\203[;@\326=\211=\203P;A;<\204[\327;D;\330\331\332\333\334\320=\203m\335:D\202o:EED;E>\336\337\340=\203\206\335>D\202\210>9BBE+\202\227\336\3419BB+8\360\332\361\340\362\363\3648EEE!. \207" [#1# buffer-name file-name mode mode-name minor-mode plist-member :buffer-name :file-name :mode :mode-name :minor-mode :minor-mode-name :predicate :true-value nil cond-result t (apply item buffer rest-args) functionp persp-regexp-p :noquote :all quote member-if function lambda (item) setq not let (cond-result) when (cond-result) (persp-string-match-p item (buffer-file-name buffer)) (persp-string-match-p item (buffer-name buffer)) ((regexp item)) (:noquote minor-mode-alist) (persp-string-match-p regexp (format-mode-line item)) cond ((symbolp item) (bound-and-true-p item)) (persp-regexp-p item) ((regexp item)) (:noquote minor-mode-list) (and (bound-and-true-p item) (persp-string-match-p regexp item)) ((t nil)) (persp-string-match-p item (format-mode-line mode-name)) (cond ((symbolp item) (eq item major-mode)) ((persp-regexp-p item) (persp-string-match-p item (symbol-name major-mode))) (t nil)) eval (buffer &rest rest-args) (buffer-live-p buffer) with-current-buffer buffer minor-mode-name predicate true-value predicate-body body condition items-list noquote all cnd] 15 (#$ . 55511)]) (defalias 'persp--auto-persp-default-on-match #[(state) "\301\302\303\"\302\304\"\305\211$\210\207" [state persp-add-buffer alist-get buffer persp nil] 5]) (defalias 'persp--auto-persp-default-after-match #[(state) "\306\304\"\306\307\"\306\310\"\306\311\"\211\203U \2044\312\f! >\204+\313\314\315\fD\"\210\f\211\316\317I\210)\n\203P\312\f! >\204G\313\314\315\fD\"\210\f\211\320\317I\210)\321 \f\"\210,\306\322\"\306\323\"\324!\210\325>\204\212\326\267\202\205\327!\210\202\212\330!\210\202\212\331!\210\203\226\332\306\333\"!\210*\207" [state parameters weak noauto persp cl-struct-perspective-tags alist-get :noauto :weak :parameters type-of signal wrong-type-argument perspective 6 t 5 modify-persp-parameters persp-name :switch persp-unhide 'nil #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (window 117 frame 125)) persp-window-switch persp-frame-switch persp-switch persp-switch-to-buffer buffer #1=#:v #2=#:v switch] 7]) #@239 (fn NAME &rest KEYARGS &key BUFFER-NAME FILE-NAME MODE MODE-NAME MINOR-MODE MINOR-MODE-NAME PREDICATE HOOKS DYN-ENV GET-NAME GET-BUFFER GET-PERSP SWITCH PARAMETERS NOAUTO WEAK USER-DATA ON-MATCH AFTER-MATCH DONT-PICK-UP-BUFFERS DELETE) (defalias 'persp-def-auto-persp #[(name &rest keyargs) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@@\306\315\"A@A\306\316\"A@B\306\317\"A@C\306\320\"A@D\306\321\"A@E\306\322\"A@F\306\323\"A@G\306\324\"A@H\306\325\"A@I\306\326\"A@J\306\327\"A@K\306\330\"A@L\306\331\"A@M\306\332\"A@N\306\333\"A@OPP\203\326P@\334>\203\275PAA\211P\202\250\335>A@\203\314\336\211P\202\250\337\340P@\"\210\202\246)O\203\366\341QR\"S\342Q!\210\343SR\"\211R)\202+\336\211\211\211\211TUVWXY\336\211Z[\336\\Y:\203hY\211\\\211A\\\242Z\\@\211[\203^Z\332=\204^Z\344[!\203VZ\311=\204VZ\313=\204V\345[!\204V[\202X[BXBXYAA\211Y\202,D\204\206\320\346\347\350\351\352\353QE\354BB\355BBB!BXBXF\204\223\322\356BXBXE\204\240\321\357BXBXL\204\255\330\360BXBXM\204\272\331\361BXBXB\203\305B:\204-B\204\327 \205\325\362\363 !\364P!BB\204 \203\352\362\363 !\364P!\202 \203\370\362\363 !\364P!\202\f\204A\204 \203 \365\202\n\203\366\202\365BB\203$B:\204$BCB\316BBXBX\367\370A\2038\202=\371\372BB\"W\373WBXBX\374\347\375\376C\377\201e\201f\201gQDDDC\201hBBEE!T\201iTBXBXB\203\357\316X\236]B\336^\211_\203\356_@^\201j\336`a\346\347\201k\201l\201m\201n\201o\201pTDD\336\201p^D\201qBBBBEE!*V]\201O^]A\"\241\210^VBb]\211cbcAB\241\210*_A\211_\204\212+\341QR\"\211d\203 \342Q!\210dX\241\210\202QXB\211dRBR)\201rQ!\210N?\205*\201sQ!-.\207" [keyargs buffer-name file-name mode mode-name minor-mode plist-member :buffer-name :file-name :mode :mode-name :minor-mode :minor-mode-name :predicate :hooks :dyn-env :get-name :get-buffer :get-persp :switch :parameters :noauto :weak :user-data :on-match :after-match :dont-pick-up-buffers :delete (:buffer-name :file-name :mode :mode-name :minor-mode :minor-mode-name :predicate :hooks :dyn-env :get-name :get-buffer :get-persp :switch :parameters :noauto :weak :user-data :on-match :after-match :dont-pick-up-buffers :delete :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:buffer-name :file-name :mode :mode-name :minor-mode :minor-mode-name :predicate :hooks :dyn-env :get-name :get-buffer :get-persp :switch :parameters :noauto :weak :user-data :on-match :after-match :dont-pick-up-buffers :delete)" assoc persp-auto-persp-deactivate-hooks delq functionp byte-code-function-p byte-compile lambda (state) push cons 'persp-name (state) (state) #[(state) "\302\303\"\211\203\304\305 !BB)\207" [state name alist-get persp-name persp persp-add-new] 4] #[(state) "\301pBB\211\207" [state buffer] 3] persp--auto-persp-default-on-match persp--auto-persp-default-after-match intern symbol-name "-hook" after-change-major-mode-hook find-file-hook apply persp--generate-buffer-predicate :true-value (car rest-args) :generated-predicate eval (&optional buffer hook hook-args) let let* minor-mode-name predicate hooks dyn-env get-name get-buffer get-persp switch parameters noauto weak user-data on-match after-match dont-pick-up-buffers delete #1=#:--cl-keys-- name persp-auto-persp-alist ap-cons main-action hook-body generated-hook generated-predicate auto-persp-parameters #2=#:--cl-var-- key val #3=#:--cl-var-- aparams-hooks hook --dolist-tail-- byte-compile-warnings warning-minimum-level #4=#:x #5=#:v auto-persp-definition state copy-alist persp-auto-persp-parameters ((push (cons 'hook hook) state) (push (cons 'hook-args hook-args) state) (if buffer (push (cons 'buffer buffer) state) (let ((get-buffer (alist-get :get-buffer state))) (setq state (funcall get-buffer state)))) (when (setq state (funcall (alist-get :generated-predicate state) (alist-get 'buffer state) state)) (with-current-buffer (alist-get 'buffer state) (let ((get-name (alist-get :get-name state))) (setq state (funcall get-name state))) (let ((get-persp (alist-get :get-persp state))) (setq state (funcall get-persp state))) (let ((on-match (alist-get :on-match state))) (when on-match (setq state (funcall on-match state)) (let ((after-match (alist-get :after-match state))) (when after-match (setq state (funcall after-match state))))))))) :main-action :emergency (&rest hook-args) when persp-mode funcall with-no-warnings quote (hook-args) persp-auto-persp-activate-hooks persp-auto-persp-pickup-buffers-for] 11 (#$ . 61057)]) (byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias def-auto-persp persp-def-auto-persp nil make-obsolete "persp-mode 2.9.6"] 4) #@199 (fn &rest KEYARGS &key BUFFER-NAME FILE-NAME MODE MODE-NAME MINOR-MODE MINOR-MODE-NAME PREDICATE TAG-SYMBOL SAVE-VARS SAVE-FUNCTION LOAD-FUNCTION AFTER-LOAD-FUNCTION MODE-RESTORE-FUNCTION APPEND) (defalias 'persp-def-buffer-save/load #[(&rest keyargs) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@@\306\315\"A@A\306\316\"A@B\306\317\"A@C\306\320\"A@D\306\321\"A@E\306\322\"A@F\306\323\"A@G\306\324\"A@HII\203\236I@\325>\203\205IAA\211I\202p\326>A@\203\224\327\211I\202p\330\331I@\"\210\202n)\332\333\"\327\211JKLC\203\320C<\204\273CCC \204\303\f\203\320\334C>\204\320\334CBCB\204\330\335B\336\337\340\341\342\343\344\345\346C\347\350CMN\211O\203\207\327\211PQ\351O!\203OC\202O<\203\352O!\203OC\202O\202OC\211O@\353=\211P\2030OA@OO<\203QO@\354=\211Q\203FOAOP\204Q\355ODO\356\343\344\357\360\361Q\203c\362ND\202eNEEDOER\336\363\364Q\203|\362RD\202~RMBBE+\202\215\336\365MBB+\366BBED\367BBEDCD\203\262\370\371\355DDD\341\355BD\372BBBB\202\272\373\355BD\374BBEK\364\370\371\355LDD\375BBKEK\344\376\377\201S\201T\336\201UG\205\364\201V\201W\201X\371\355GDDE\201YBB\201Z\201[\201\\\371\355FDDD\201]BB\201^BBFFEJ\201_\201`\201a\344\201bKE!H#\210\201_\201c\201a\344\201d\364\201e\201f\355BDE\336\201g\371\355JDDDCE\203j\370\371\355EDD\201h\201g\371\355FDD\257\202m\201iEEE!H#.\207" [keyargs buffer-name file-name mode mode-name minor-mode plist-member :buffer-name :file-name :mode :mode-name :minor-mode :minor-mode-name :predicate :tag-symbol :save-vars :save-function :load-function :after-load-function :mode-restore-function :append (:buffer-name :file-name :mode :mode-name :minor-mode :minor-mode-name :predicate :tag-symbol :save-vars :save-function :load-function :after-load-function :mode-restore-function :append :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:buffer-name :file-name :mode :mode-name :minor-mode :minor-mode-name :predicate :tag-symbol :save-vars :save-function :load-function :after-load-function :mode-restore-function :append)" apply persp--generate-buffer-predicate major-mode def-buffer-with-vars let vars-list with-current-buffer buffer delete-if-not function lambda (lvar) and (if (persp-regexp-p item) (persp-string-match-p item (symbol-name lvar)) (eq item lvar)) t functionp persp-regexp-p :noquote :all quote member-if (item) setq cond-result not (cond-result) when (cond-result) ((persp-elisp-object-readable-p (symbol-value lvar))) ((buffer-local-variables) :key #'car-safe) funcall with-no-warnings (vars-list) list ((buffer-name buffer) vars-list) (buffer) (savelist) destructuring-bind minor-mode-name predicate tag-symbol save-vars save-function load-function after-load-function mode-restore-function append #1=#:--cl-keys-- load-fun save-body generated-save-predicate body condition items-list noquote all cnd (buffer-name vars-list &rest _rest) (cdr savelist) ((buf-file (alist-get 'buffer-file-name vars-list)) (buf-mmode (alist-get 'major-mode vars-list))) push cons 'persp-load-buffer-mode-restore-function (vars-list) lexical-let (persp-loaded-buffer (persp-buffer-from-savelist (list 'def-buffer buffer-name buf-file buf-mmode (list (cons 'local-vars vars-list))))) persp-after-load-function (persp-after-load-lambda) ((when (and persp-loaded-buffer persp-after-load-function) (setq persp-after-load-lambda #'(lambda (&rest pall-args) (apply persp-after-load-function persp-loaded-buffer pall-args) (remove-hook 'persp-after-load-state-functions persp-after-load-lambda))) (add-hook 'persp-after-load-state-functions persp-after-load-lambda t)) persp-loaded-buffer) add-hook persp-save-buffer-functions eval (buffer) persp-load-buffer-functions (savelist) eq (car savelist) default-load-fun savelist (funcall default-load-fun savelist)] 18 (#$ . 65856)]) (byte-code "\300\301\302\303#\210\304\301\302\305#\210\306\307\303\310\311\312\313\314\315\316\317\307\320\307& \207" [defalias def-persp-buffer-save/load persp-def-buffer-save/load nil make-obsolete "persp-mode 2.9.6" custom-declare-variable persp-mode "Non-nil if Persp mode is enabled.\nSee the `persp-mode' command\nfor a description of this minor mode.\nSetting this variable directly does not take effect;\neither customize it (see the info node `Easy Customization')\nor call the function `persp-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :type boolean :require :group] 14) #@729 Toggle the persp-mode. When active, keeps track of multiple 'perspectives', named collections of buffers and window configurations. Here is a keymap of this minor mode: \{persp-mode-map} This is a minor mode. If called interactively, toggle the `Persp mode' mode. If the prefix argument is positive, enable the mode, and if it is zero or negative, disable the mode. If called from Lisp, toggle the mode if ARG is `toggle'. Enable the mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, evaluate `(default-value 'persp-mode)'. The mode's hook is called both when the mode is enabled and when it is disabled. (defalias 'persp-mode #[(&optional arg) "\306 \307\303 \310=\203\311\303!?\202\" \247\203! \312W\203!\313\202\"\314\"\210\315\302!\2039\316\303\n\"\311\303!\2039\303\nB \203Y \317=\204G\f\204\361\313\320\321\322\"\210@\204f\323 \203p\324 A\204p\325 A=\203p\320\326\327\"\210\313\202\361\330\331\332\333\334$\330\331\335\333\334$B\313C\336DBD\337 \210\340E!\210\320\321\341\"\210\320\342\343\"\210\320\344\345\"\210\320\346\347\"\210\320\326\350\"\210\320\351\352\"\210\320\353\354\"\210\320\355\356\"\210\320\357\360\"\210\320\361\362\"\210F\211G\203\326\320\363\364\"\210\320\365\366\"\202\337\367\363\364\"\210\367\365\366\")\210H\211G\203\374I\370=?\205IJ\370\211I\202I\370=\205J\211I)\210\371K!\210\3721\373\374\375 \"0\210\202&L\376\377L\")\210\201Q\201R!\2035\201SM\201T \210N\201UV\203Q\201VN\313\201W#\210\202\361\367\321\322\"\210\202\361\201X\201Y!\210O\312V\203m\201Z \210\367\321\341\"\210\367\342\343\"\210\367\344\345\"\210\367\346\347\"\210\367\326\350\"\210\367\351\352\"\210\367\353\354\"\210\367\355\356\"\210\367\357\360\"\210\367\361\362\"\210\313G\367\363\364\"\210\367\365\366\")\210\313GI\370=\205\274J\211I)\210\201[\314!\210\371\313\314\"\210\201\\ \210\201Q\201R!\203\335\201]M\316\201^D\236D\"D\313\211B\313C\201X\201_\311\303!\203\201`\202\201a\"\210\201b\201c!\203A\201d\303!\210\306 \203$\306 \232\203A\201eP\376\201f\311\303!\2039\201g\202<\201hP#\210))\201i \210\311\303!\207" [#1=#:last-message arg global-minor-modes persp-mode *persp-hash* persp-special-last-buffer current-message set-default toggle default-value 1 nil t boundp delq persp-force-restart add-hook find-file-hook persp-special-last-buffer-make-current daemonp frame-list selected-frame after-make-frame-functions persp-mode-start-and-remove-from-make-frame-hook make-hash-table :test equal :size 10 eq (persp . writable) persp-add-minor-mode-menu persp-add-new persp-add-or-not-on-find-file kill-buffer-query-functions persp-kill-buffer-query-function kill-buffer-hook persp-kill-buffer-h before-make-frame-hook persp-before-make-frame persp-init-new-frame delete-frame-functions persp-delete-frame kill-emacs-query-functions persp-kill-emacs-query-function kill-emacs-hook persp-kill-emacs-h server-switch-hook persp-server-switch after-change-major-mode-hook persp-after-change-major-mode-h ido-make-buffer-list-hook persp-restrict-ido-buffers ido-setup-hook persp-ido-setup remove-hook persp-read-buffer persp-update-completion-system (debug error) mapc persp-init-frame persp-frame-list-without-daemon message "[persp-mode] Error: Can not initialize frame -- %s" noninteractive terminal-frame persp-buffer-props-hash persp-names-cache window-persistent-parameters persp-nil-name persp-set-ido-hooks opt persp-set-read-buffer-function read-buffer-function persp-saved-read-buffer-function persp-interactive-completion-system err tabbar-buffer-list-function persp-auto-resume-time persp-auto-save-opt local fboundp tabbar-mode persp-buffer-list persp-auto-persps-activate-hooks 0 run-at-time #[nil "\303\304\305\"\210\306V\205&\3071\310 0\210\202\311\312 \")\210\313\n!\205&\314\n!\207" [persp-auto-resume-time err persp-special-last-buffer remove-hook find-file-hook persp-special-last-buffer-make-current 0 (debug error) persp-load-state-from-file message "[persp-mode] Error: Can not autoresume perspectives -- %s" persp-get-buffer-or-null persp-switch-to-buffer] 3] run-hooks persp-mode-deactivated-hook persp-save-state-to-file persp-update-frames-buffer-predicate persp-auto-persps-deactivate-hooks tabbar-buffer-list persp persp-mode-hook persp-mode-on-hook persp-mode-off-hook called-interactively-p any customize-mark-as-set "" "Persp mode %sabled%s" "en" "dis" force-mode-line-update] 6 (#$ . 70410) (list (if current-prefix-arg (prefix-numeric-value current-prefix-arg) 'toggle))]) (defvar persp-mode-hook nil) (byte-code "\301\302N\204\f\303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\313\310\211%\207" [persp-mode-map persp-mode-hook variable-documentation put "Hook run after entering or leaving `persp-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode persp-mode (:eval persp-lighter)] 6) (defalias 'persp--kill-buffer-query-function-foreign-check #[(persp buf) "\306 !\203 \202\303 \307\267\202\202#\310\n\311\"\202 \312\n!\203'\313\202\303\314 \315\316\317\n!\320 !\321\322\323\n!\"$\324\325\326\327\330\257\314 +,\331+!\203R\332 +\n\333+!=\204q\334\335,\236\334\336,\236\334\337,\236,\"\"\",\340\f,\"*\211-\203\207-\211A-\242\202\217\341\342\343-GD\"\211.\344\267\202\301\345\202\302\313\202\302\346\347\345\350 $\210\313\202\302\346\347\345\351 $\210\345\202\302\346\347\345\352\n %\210\345\202\302\311,)\207" [persp-kill-foreign-buffer-behaviour opt buf persp prompt curwin functionp #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (kill 19 nil 19 dont-ask-weak 22)) persp-buffer-free-p t persp-buffer-filtered-out-p kill selected-window format "You are going to kill a buffer(%s) which is not in the current(%s) perspective. It will be removed from %s perspectives and then killed.\nWhat do you really want to do? " buffer-name safe-persp-name mapcar persp-name persp--buffer-in-persps (113 "do nothing") (107 "kill") (75 "kill and close window") (99 "close window") (115 "switch to another buffer") minibuffer-window-active-p minibuffer-selected-window window-buffer delq 75 99 115 read-multiple-choice signal wrong-number-of-arguments (char &rest _) #s(hash-table size 7 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (113 151 7 151 27 151 107 155 75 159 99 170 115 181)) nil run-at-time 1 #[(ww) "\301!\205 \302!\207" [ww window-live-p delete-window] 2] #[(ww) "\301!\205 \302!\207" [ww window-live-p delete-window] 2] #[(bb ww) "\303!r\304\216\305 @\306\"\210\307\n\"+\207" [ww save-selected-window--state bb internal--before-with-selected-window #[nil "\301!\207" [save-selected-window--state internal--after-with-selected-window] 2] select-window norecord persp-set-another-buffer-for-window] 3] cwin variants _ char] 10]) #@191 This must be the last hook in the `kill-buffer-query-functions'. Otherwise if next function in the list returns nil -- the buffer will not be killed, but just removed from a perspective(s). (defalias 'persp-kill-buffer-query-function #[nil "\203[p\305 !\203X\306 \211\203\307 \n\"\203\310\202\"\311\n \"\211\312\267\202S\313\314\313 \"\210)\315\202T\316 \n\"\203E\314\n \"\210\313\202T\317 !\203O\305 !\210\315\202T\313*\202Y\315)\207\315\207" [persp-mode buffer persp foreign-check persp-autokill-buffer-on-remove persp--buffer-in-persps get-current-persp persp-contain-buffer-p not-foreign persp--kill-buffer-query-function-foreign-check #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (kill 41 not-foreign 53)) nil persp--remove-buffer-2 t persp-buffer-in-other-p* buffer-live-p] 4 (#$ . 77492)]) (defalias 'persp-kill-buffer-h #[nil "p \205\305!\205\306\n?\205 \307\306\"*)\207" [buffer persp-mode persp-set-frame-buffer-predicate persp-when-remove-buffer-switch-to-other-buffer persp-autokill-buffer-on-remove persp--buffer-in-persps nil persp--remove-buffer-2] 3]) (defalias 'persp--restore-buffer-on-find-file #[nil "\301!\203\302\303 \206\304 \"\210\305\306\307\310\"\207" [persp-special-last-buffer buffer-live-p set-window-buffer get-buffer-window selected-window nil remove-hook window-configuration-change-hook persp--restore-buffer-on-find-file] 3]) (defalias 'persp-add-or-not-on-find-file #[nil "\305\306\"?\n\307\267\202A\310\202M\311p!?\211\204% \204%\312 \313\314\315\"\210 )\202B \204E\311p!\203E\316\312 \313\314\315\"\210\202E\316\205M\317p\320 ?\310$)\207" [persp-backtrace-frame-function no-select persp-add-buffer-on-find-file ret persp-special-last-buffer 0 find-file #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (quote 12 nil 12 if-not-autopersp 16 add-but-not-switch-if-autopersp 42)) nil persp-buffer-match-auto-persp-p window-buffer add-hook window-configuration-change-hook persp--restore-buffer-on-find-file t persp-add-buffer get-current-persp] 6]) (defalias 'persp-after-change-major-mode-h #[nil "p\303!\210 \304\267\202\305\202)\306!\202\307\205)\310\n\"?\205)\311\312 \305\211$)\207" [buf persp-add-buffer-on-after-change-major-mode persp-add-buffer-on-after-change-major-mode-filter-functions persp-find-and-set-persps-for-buffer #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (quote 12 nil 12 free 16)) nil persp-buffer-free-p t persp-buffer-filtered-out-p persp-add-buffer get-current-persp] 5]) (defalias 'persp-server-switch #[nil "\3051.\306 \307\301\"\211\205+\310\311\n!\312\313\314#)\266\203\204& !\210\315\301\312#*0\207\316\317\f\")\207" [frame persp-server-switch-hook last-command inhibit-changing-match-data err (debug error) selected-frame frame-parameter "^.*magit.*$" symbol-name nil t string-match set-frame-parameter message "[persp-mode] Error: error in server-switch-hook -- %s"] 8]) #@70 (fn NAME &optional (PHASH *persp-hash*) (DEFAULT persp-not-persp)) (defalias 'persp-get-by-name #[(name &rest #1=#:--cl-rest--) "\203\f\211A\242\202 \203\211A\242\202 \203*\306\307\310\311G\\D\"\210\312 \n\f#*\207" [#1# *persp-hash* phash persp-not-persp default name signal wrong-number-of-arguments persp-get-by-name 3 gethash] 5 (#$ . 80532)]) #@44 (fn NAME &optional (PHASH *persp-hash*)) (defalias 'persp-with-name-exists-p #[(name &rest #1=#:--cl-rest--) "\203\f\211A\242\202 \203\304\305\306\307G\\D\"\210\310\311 \n\"!)\207" [#1# *persp-hash* phash name signal wrong-number-of-arguments persp-with-name-exists-p 2 persp-p persp-get-by-name] 5 (#$ . 80905)]) #@44 (fn NAME &optional (PHASH *persp-hash*)) (defalias 'persp-by-name-and-exists #[(name &rest #1=#:--cl-rest--) "\203\f\211A\242\202 \203\305\306\307\310G\\D\"\210\311 \n\"\312\f!\f*B\207" [#1# *persp-hash* phash name persp signal wrong-number-of-arguments persp-by-name-and-exists 2 persp-get-by-name persp-p] 5 (#$ . 81238)]) #@44 (fn &optional NAME (PHASH *persp-hash*)) (defalias 'persp-gen-random-name #[(&optional name &rest #1=#:--cl-rest--) "\203\f\211A\242\202 \203\305\306\307\310G\\D\"\210 \204%\311\312 ! \313\f\n\"\2039\314\315 \312\316!#\202'\f*\207" [#1# *persp-hash* phash name nname signal wrong-number-of-arguments persp-gen-random-name 2 number-to-string random persp-with-name-exists-p format "%s:%s" 9] 5 (#$ . 81583)]) (defalias 'persp-is-frame-daemons-frame #[(f) "\302 \205 =\207" [f terminal-frame daemonp] 2]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put persp-is-frame-daemons-frame speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@53 Return a list of frames without the daemon's frame. (defalias 'persp-frame-list-without-daemon #[nil "\300 \203 \301\302!\207\303 \207" [daemonp filtered-frame-list #[(f) "\302 \205\n =)?\207" [f terminal-frame daemonp] 2] frame-list] 2 (#$ . 82268)]) (defalias 'set-frame-persp #[(persp &optional frame) "\302\301 #\207" [frame persp set-frame-parameter] 4]) (defalias 'get-frame-persp #[(&optional frame) "\301\302\"\207" [frame frame-parameter persp] 3]) #@51 (fn &optional (PHASH *persp-hash*) (REVERSE t)) (defalias 'persp-names #[(&rest #1=#:--cl-rest--) "\203\f\211A\242\202 \203\211A\242\202\305\203*\306\307\310\311G\\D\"\210\312\313\314\n\"\210 \203:\f\237\202;\f+\207" [#1# *persp-hash* phash reverse ret t signal wrong-number-of-arguments persp-names 2 nil maphash #[(k p) " B\211\207" [k ret] 2]] 5 (#$ . 82739)]) (defalias 'set-window-persp* #[(persp-name &optional window) "\205 \302 \303#\207" [persp-name window set-window-parameter persp] 4]) (defalias 'get-window-persp* #[(&optional window) "\301\302\"\207" [window window-parameter persp] 3]) (defalias 'set-window-persp #[(persp &optional window) "\303!\n\304 !=\203\305!\202\306\307\n!\")\207" [window frame persp window-frame get-frame-persp clear-window-persp set-window-persp* safe-persp-name] 3]) (defalias 'window-persp-set-p #[(&optional window) "\301!\207" [window get-window-persp*] 2]) (defalias 'get-window-persp #[(&optional window) "\304!\211\205&\305 !\211\203\n\211A\242\202\306\307\310\nGD\"\211\205%\n*)\207" [window pn p e get-window-persp* persp-by-name-and-exists signal wrong-number-of-arguments (e . p)] 5]) (defalias 'clear-window-persp #[(&optional window) "\301\302\303#\207" [window set-window-parameter persp nil] 4]) (defalias 'get-current-persp #[(&optional frame window) "\304 p\305\216\306\n\206\304 \307\"\210\310 !\203\311 !\202 \312\n!+\207" [#1=#:old-buffer #2=#:old-frame frame window selected-frame #[nil "\302!\203 \303\304\"\210\305 !\205 q\207" [#2# #1# frame-live-p select-frame norecord buffer-live-p] 3] select-frame norecord window-persp-set-p get-window-persp get-frame-persp] 3]) (defalias 'set-current-persp #[(persp) "\301 \203 \302!\207\303!\207" [persp window-persp-set-p set-window-persp set-frame-persp] 2]) (defalias 'persp-names-current-frame-fast-ordered #[nil "\301!\207" [persp-names-cache copy-list] 2]) #@111 compiler-macro for inlining `persp-names-sorted'. (fn CL-WHOLE-ARG &cl-quote &optional (PHASH *persp-hash*)) (defalias 'persp-names-sorted--cmacro #[(_cl-whole-arg &rest #1=#:--cl-rest--) "\203\f\211A\242\202 \302\203\303\304\305\306G\\D\"\210\307\310\311\312\211\211 &)\207" [#1# phash *persp-hash* signal wrong-number-of-arguments persp-names-sorted--cmacro 2 cl--defsubst-expand (phash) (cl-block persp-names-sorted (sort (persp-names phash nil) #'string<)) nil] 7 (#$ . 84683)]) (put 'persp-names-sorted 'compiler-macro 'persp-names-sorted--cmacro) #@39 (fn &optional (PHASH *persp-hash*)) (defalias 'persp-names-sorted #[(&rest #1=#:--cl-rest--) "\203\f\211A\242\202 \203\303\304\305GTD\"\210\306\307\n\310\"\311\")\207" [#1# *persp-hash* phash signal wrong-number-of-arguments persp-names-sorted sort persp-names nil string<] 4 (#$ . 85254)]) (make-obsolete 'persp-names-sorted "it will be removed." "persp-mode 2.9.6") (defalias 'persp-group-by #[(keyf lst &optional reverse) "\303\304\305 \"\210\n\203\306\307\"\237\202)\207" [result lst reverse nil mapc #[(pd) " !\305\n \"\211\203\f \fAB\241\202\n CB B\211*\207" [keyf pd key result kv assoc] 4] mapcar #[(gr) "\211\203 \211A\242\202\303\304\305 GD\"\211 \237*B\207" [gr pd key signal wrong-number-of-arguments (key . pd)] 5]] 3]) (defalias 'persp-regexp-p #[(obj) ";\206 :\205 A;\207" [obj] 1]) (defalias 'persp-string-match-p #[(regexp string &optional start) "\203 :\204 \305BA \n\305\306#)\266\203@\307=\203(\f?\202)\f)\207" [regexp string start inhibit-changing-match-data ret t string-match :not] 7]) #@60 (fn &optional (PHASH *persp-hash*) NAMES-REGEXP REVERSE) (defalias 'persp-persps #[(&rest #1=#:--cl-rest--) "\203\f\211A\242\202 \211A\242\211A\242\203(\306\307\310\311G\\D\"\210 \2035 :\2045\312 B\313\314\315\n\"\210\f\203E \237\202F ,\207" [#1# *persp-hash* phash names-regexp reverse ret signal wrong-number-of-arguments persp-persps 3 t nil maphash #[(k p) "\203\304 \"\205\n B\211\207\n B\211\207" [names-regexp k p ret persp-string-match-p] 3]] 5 (#$ . 86325)]) #@45 (fn &optional PERSP (PHASH *persp-hash*)) (defalias 'persp-other-not-hidden-persps #[(&optional persp &rest #1=#:--cl-rest--) "\203\f\211A\242\202 \203\304\305\306\307G\\D\"\210\310\311\312 \313\n!\"\")\207" [#1# *persp-hash* phash persp signal wrong-number-of-arguments persp-other-not-hidden-persps 2 delete-if safe-persp-hidden delq persp-persps] 6 (#$ . 86831)]) #@108 (fn &optional (BUFF-OR-NAME (current-buffer)) (PERSP (get-current-persp)) (PHASH *persp-hash*) DEL-WEAK) (defalias 'persp-other-persps-with-buffer-except-nil #[(&rest #1=#:--cl-rest--) "\203\f\211A\242\202 p\203\211A\242\202\306 \203)\211A\242\202* \211A\242\203?\307\310\311\312G\\D\"\210\313 !\314\211\203j\315\316\317\"\320\n\320\314\321\f!\"\"\322\323$ \203j\324\325\".\207" [#1# buff-or-name persp *persp-hash* phash del-weak get-current-persp signal wrong-number-of-arguments persp-other-persps-with-buffer-except-nil 4 persp-get-buffer-or-null nil delete-if-not apply-partially memq delq persp-persps :key persp-buffers delete-if persp-weak ret buf] 9 (#$ . 87218)]) #@87 (fn &optional (BUFF-OR-NAME (current-buffer)) (PERSP (get-current-persp)) DEL-WEAK) (defalias 'persp-other-persps-with-buffer-except-nil* #[(&rest #1=#:--cl-rest--) "\203\f\211A\242\202 p\203\211A\242\202\305 \211A\242\2031\306\307\310\311G\\D\"\210\312\313 !!\n\203@\314\n\f\" \203I\315\316\f\"\f,\207" [#1# buff-or-name persp del-weak persps get-current-persp signal wrong-number-of-arguments persp-other-persps-with-buffer-except-nil* 3 persp--buffer-in-persps persp-get-buffer-or-null remq remove-if persp-weak] 5 (#$ . 87943)]) #@108 (fn &optional (BUFF-OR-NAME (current-buffer)) (PERSP (get-current-persp)) (PHASH *persp-hash*) DEL-WEAK) (defalias 'persp-buffer-in-other-p #[(&rest #1=#:--cl-rest--) "\203\f\211A\242\202 p\203\211A\242\202\306 \203)\211A\242\202* \211A\242\203?\307\310\311\312G\\D\"\210\313 \n\f $,\207" [#1# buff-or-name persp *persp-hash* phash del-weak get-current-persp signal wrong-number-of-arguments persp-buffer-in-other-p 4 persp-other-persps-with-buffer-except-nil] 5 (#$ . 88510)]) #@87 (fn &optional (BUFF-OR-NAME (current-buffer)) (PERSP (get-current-persp)) DEL-WEAK) (defalias 'persp-buffer-in-other-p* #[(&rest #1=#:--cl-rest--) "\203\f\211A\242\202 p\203\211A\242\202\304 \211A\242\2031\305\306\307\310G\\D\"\210\311 \n #+\207" [#1# buff-or-name persp del-weak get-current-persp signal wrong-number-of-arguments persp-buffer-in-other-p* 3 persp-other-persps-with-buffer-except-nil*] 5 (#$ . 89022)]) #@44 (fn &optional (PERSP (get-frame-persp))) (defalias 'persp-frames-with-persp #[(&rest #1=#:--cl-rest--) "\203\f\211A\242\202\302 \203\303\304\305GTD\"\210\306\307\310 \"\311 \312\302$)\207" [#1# persp get-frame-persp signal wrong-number-of-arguments persp-frames-with-persp delete-if-not apply-partially eq persp-frame-list-without-daemon :key] 5 (#$ . 89469)]) #@46 (fn &optional (PERSP (get-current-persp))) (defalias 'persp-frames-and-windows-with-persp #[(&rest #1=#:--cl-rest--) "\203\f\211A\242\202\306 \203\307\310\311GTD\"\210\312\211\313 \312\211\203l @ \314\f!=\2038\f B\315\f\316\"\312\211\203d @\317!\203] \320!=\203]\nB A\211\204D* A\211\204)* \n+B\207" [#1# persp windows frames frame --dolist-tail-- get-current-persp signal wrong-number-of-arguments persp-frames-and-windows-with-persp nil persp-frame-list-without-daemon get-frame-persp window-list no-minibuf window-persp-set-p get-window-persp window] 5 (#$ . 89849)]) #@65 (fn &key FUNC REGEXP BLIST NOASK (REST-ARGS nil REST-ARGS-P)) (defalias 'persp-do-buffer-list-by-regexp #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"\211\205* A@\314+,,\203_,@\315>\203F,AA\211,\2021\316>A@\203U\317\211,\2021\320\321,@\"\210\202/) \204~\322\323-\324\314$\211.\203}.\325\230\204}\326.!) \205\316\n\204\212\327\330!\n\205\316 \204\231\331\332\333\334\"! \205\316 \204\247\332\335\334\"+\336\337\340\n\"\341\342 \"\343\344$\211\205\316\f\204\312\345\346\347 \350\344 \351##!\205\316\341\352 \".\207" [#1# func regexp blist noask rest-args-p plist-member :func :regexp :blist :noask :rest-args t (:func :regexp :blist :noask :rest-args :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:func :regexp :blist :noask :rest-args)" completing-read "What function to apply: " functionp "" read read-regexp "Regexp: " eval read--expression "Buffer list expression: " "nil" "Rest arguments: " remove-if-not apply-partially persp-string-match-p mapcar get-buffer :key buffer-name y-or-n-p format "Do %s on these buffers:\n%s?\n" mapconcat ", " #[(b) "\303 \n#\207" [func b rest-args apply] 4] rest-args #2=#:--cl-keys-- obarray fs] 9 (#$ . 90466) nil]) #@44 Switch to next perspective (to the right). (defalias 'persp-next #[nil "\305 \211G\211\306=\307\310\311 !\"\211\204\312\202:\n\203\"\312\202: SU\2034\f\205:\313@!\202:\313 T8!,\207" [persp-list persp-list-length only-perspective\? pos persp-switch-wrap persp-names-current-frame-fast-ordered 1 position safe-persp-name get-current-persp nil persp-switch] 4 (#$ . 91752) nil]) #@47 Switch to previous perspective (to the left). (defalias 'persp-prev #[nil "\305 \211G\211\306=\307\310\311 !\"\211\204\312\202;\n\203\"\312\202; \313U\2035\f\205;\314 S8!\202;\314 S8!,\207" [persp-list persp-list-length only-perspective\? pos persp-switch-wrap persp-names-current-frame-fast-ordered 1 position safe-persp-name get-current-persp nil 0 persp-switch] 4 (#$ . 92150) nil]) #@152 Insert `PERSP' to `PHASH'. If we adding to the `*persp-hash*' add entries to the mode menu. Return `PERSP'. (fn PERSP &optional (PHASH *persp-hash*)) (defalias 'persp-add #[(persp &rest #1=#:--cl-rest--) "\203\f\211A\242\202 \203\305\306\307\310G\\D\"\210\311 !\312\f \n#\210\n =\2030\313 !\210) )\207" [#1# *persp-hash* phash persp name signal wrong-number-of-arguments persp-add 2 safe-persp-name puthash persp-add-to-menu] 5 (#$ . 92558)]) #@285 Remove a perspective with name `NAME' from `PHASH'. Save it's state before removing. If we removing from the `*persp-hash*' remove also the menu entries. Switch all frames with that perspective to another one. Return the removed perspective. (fn NAME &optional (PHASH *persp-hash*)) (defalias 'persp-remove-by-name #[(name &rest #1=#:--cl-rest--) "\203\f\211A\242\202 \203\306\307\310\311G\\D\"\210 \2041\312\313\314\n =\205-\315\316 !\317\211%\320 \n\"\f\321!\203\304\322!\210\n =\203W\204W\323\324!\210\202\304\n =\203\277\325!\210\326!\211\203v\211A\242\202~\306\307\327GD\"\314\211\203\236@\330!\210A\211\204\213*\314 \211\203\276@ \331  \"\210A\211\204\252,\332 \n\"\210+\207" [#1# *persp-hash* phash name persp-nil-name persp-to-switch signal wrong-number-of-arguments persp-remove-by-name 2 persp-read-persp "to remove" nil safe-persp-name get-current-persp t persp-get-by-name persp-p persp-save-state message "[persp-mode] Error: Can't remove the 'nil' perspective" persp-remove-from-menu persp-frames-and-windows-with-persp (frames . windows) clear-window-persp persp-frame-switch remhash persp windows frames w --dolist-tail-- f] 7 (#$ . 93022) "i"]) #@142 Create a new perspective with the given `NAME'. Add it to `PHASH'. Return the created perspective. (fn NAME &optional (PHASH *persp-hash*)) (defalias 'persp-add-new #[(name &rest #1=#:--cl-rest--) "\203\f\211A\242\202 \203\306\307\310\311G\\D\"\210 \203k \312\232\204k\313 \n\"\211\2037\f\211A\242\202>\306\307\314\fGD\"\211\203G\f\202g \232?\205Z\315\316 \317\211\211\211\211\211&\320\f\n\"\210\321\322\f\n#\210\f*\202p\323\324!\210\317)\207" [#1# *persp-hash* phash name p e signal wrong-number-of-arguments persp-add-new 2 "" persp-by-name-and-exists (e . p) record perspective nil persp-add run-hook-with-args persp-created-functions message "[persp-mode] Error: Can't create a perspective with empty name." persp-nil-name] 10 (#$ . 94271) "sA name for the new perspective: "]) (defalias 'persp-find-and-set-persps-for-buffer #[(&optional buffer-or-name) "\203\n\301!\202 p\302\303\304!\"\210\305\306\307\310\"\311\312\313 \"\314\315$\"\207" [buffer-or-name persp-get-buffer-or-null mapc #[(p) "\205\n\302 \303\211$\207" [p buffer-or-name persp-add-buffer nil] 5] persp--buffer-in-persps persp--buffer-in-persps-set delete-if-not apply-partially memq delq nil persp-persps :key persp-buffers] 7]) #@86 (fn &optional (BUFF-OR-NAME (current-buffer)) (PERSP (get-current-persp)) DELWEAK) (defalias 'persp-contain-buffer-p #[(&rest #1=#:--cl-rest--) "\203\f\211A\242\202 p\203\211A\242\202\305 \211A\242\2031\306\307\310\311G\\D\"\210 \2058\312\n!?\205Z\n\203Y\313 !\314\n!\f>\204R\306\315\316\nD\"\210\n\317H>\202Z\320+\207" [#1# buff-or-name persp delweak cl-struct-perspective-tags get-current-persp signal wrong-number-of-arguments persp-contain-buffer-p 3 safe-persp-weak persp-get-buffer-or-null type-of wrong-type-argument perspective 2 t] 5 (#$ . 95516)]) #@86 (fn &optional (BUFF-OR-NAME (current-buffer)) (PERSP (get-current-persp)) DELWEAK) (defalias 'persp-contain-buffer-p* #[(&rest #1=#:--cl-rest--) "\203\f\211A\242\202 p\203\211A\242\202\304 \211A\242\2031\305\306\307\310G\\D\"\210 \2058\311\n!?\205K\n\203J\n\312\313 !!>\202K\314+\207" [#1# buff-or-name persp delweak get-current-persp signal wrong-number-of-arguments persp-contain-buffer-p* 3 safe-persp-weak persp--buffer-in-persps persp-get-buffer-or-null t] 5 (#$ . 96107)]) #@160 (fn &optional BUFFS-OR-NAMES (PERSP (get-current-persp)) (SWITCHORNO persp-switch-to-added-buffer) (CALLED-INTERACTIVELY-P (called-interactively-p \='any))) (defalias 'persp-add-buffer #[(&optional buffs-or-names &rest #1=#:--cl-rest--) "\203\f\211A\242\202\306 \203\211A\242\202\n\203)\211A\242\202,\304\307!\203;\310\311\312\313G\\D\"\210\f\203F \203F ?\204f\f\205d\314\315\316\317 \205\\\320\321Qp\322\315\322%*<\204qC\323\324\"\210+\207" [#1# persp persp-switch-to-added-buffer switchorno called-interactively-p current-prefix-arg get-current-persp any signal wrong-number-of-arguments persp-add-buffer 4 1 nil persp-read-buffer "Add buffers to the perspective" " and switch to first added buffer" ": " t mapc #[(bon) "\306!\n\203: \203:\307 \n\"\204.\310\n! >\204\"\311\312\313\nD\"\210\n\211\314 \f\314HBI\210)\315 \n\"\204:\316 \n\"\210 \203M \203M\n\317 =\203M\320 !\210 )\207" [bon buffer persp cl-struct-perspective-tags #2=#:v switchorno persp-get-buffer-or-null persp-contain-buffer-p type-of signal wrong-type-argument perspective 2 persp-contain-buffer-p* persp--buffer-in-persps-add get-current-persp persp-switch-to-buffer] 6] buffs-or-names persp-restrict-buffers-to-if-foreign-buffer *persp-restrict-buffers-to*] 6 (#$ . 96619) "i"]) #@53 (fn &optional REGEXP (PERSP (get-current-persp))) (defalias 'persp-add-buffers-by-regexp #[(&optional regexp &rest #1=#:--cl-rest--) "\203\f\211A\242\202\303 \203\304\305\306\307G\\D\"\210 \2052\310\311\n\312\313\314 \315D\316\317\320 \321\"&)\207" [#1# persp regexp get-current-persp signal wrong-number-of-arguments persp-add-buffers-by-regexp 2 persp-do-buffer-list-by-regexp :regexp :func persp-add-buffer :rest-args nil :blist persp-buffer-list-restricted selected-frame 1] 11 (#$ . 97939) nil]) #@88 (fn &optional BUFF-OR-NAME (CALLED-INTERACTIVELY-P (called-interactively-p \='any))) (defalias 'persp-temporarily-display-buffer #[(&optional buff-or-name &rest #1=#:--cl-rest--) "\203\f\211A\242\202\301\306!\203\307\310\302\311G\\D\"\210\312 \204T \203R \2034\f\2034\313\2025\314 \313U\205<\315\316 \313U\203J\317\202K\320\321\312#*\202Sp\322 !\211\205\207\323 \211\203\201\324\"\203\201\321\211\325\321\211\211\211&\210*)\326\312\"+\207" [#1# called-interactively-p persp-temporarily-display-buffer buff-or-name current-prefix-arg *persp-restrict-buffers-to* any signal wrong-number-of-arguments 2 t 0 1 -1 persp-read-buffer "Remove a buffer from the perspective, but still display it: " "Temporarily display a buffer, not adding it to the current perspective: " nil persp-get-buffer-or-null get-current-persp persp-contain-buffer-p* persp-remove-buffer persp-switch-to-buffer persp-restrict-buffers-to-if-foreign-buffer buffer persp persp-autokill-persp-when-removed-last-buffer persp-autokill-buffer-on-remove] 8 (#$ . 98461) "i"]) (defalias 'persp--buffer-do-auto-action-if-needed #[(buffer) "\205\302 \303=\"\205\304\305 !)\207" [persp-autokill-buffer-on-remove buffer persp-buffer-free-p kill-weak nil persp-kill-buffer] 4]) (defalias 'persp--remove-buffer-1 #[(buffer &optional persp) "\203? \203 \305\n\"\210\306\n\"\210\307! >\204!\310\311\312D\"\210\211\313\314\n\307! >\2046\310\311\312D\"\210\313H\"I\210)\207\315\316\317\n\"\320\n\"\"\207" [persp persp-when-remove-buffer-switch-to-other-buffer buffer cl-struct-perspective-tags #1=#:v persp-switch-to-prev-buffer persp--buffer-in-persps-remove type-of signal wrong-type-argument perspective 2 delq mapcar apply-partially persp--remove-buffer-1 persp-other-persps-with-buffer-except-nil] 9]) (defalias 'persp--remove-buffer-2 #[(&optional persp buffer-or-name) "\203\n\303!\202 p\211\203\304 \n\"\210\305 !\210\306\n!\210 )\207" [buffer-or-name buffer persp persp-get-buffer-or-null persp--remove-buffer-1 persp--buffer-do-auto-action-if-needed persp--do-auto-action-if-needed] 4]) (defalias 'persp--remove-buffers-from-nil-p #[(buffs-or-names) "\302!\203\n !\2079\2037\303\267\2025\304\305 \"\203#\306\307\310 \"!\207\311\207\304\312 \"\2033\306\307\310 \"!\207\311\207\311\207\311\207" [persp-remove-buffers-from-nil-persp-behaviour buffs-or-names functionp #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (ask-to-rem-from-all 21 ask-if-in-non-weak-persp 37)) find-if-not persp-buffer-free-p yes-or-no-p format "Remove %s buffers from all perspectives?" t #[(bon) "\301\302\"\207" [bon persp-buffer-free-p t] 3]] 4]) #@406 Remove BUFFS-OR-NAMES(which may be a single buffer or a list of buffers) from the PERSP. On success return removed buffers otherwise nil. (fn &optional BUFFS-OR-NAMES (PERSP (get-current-persp)) (REM-FROM-NIL-OPT persp-remove-buffers-from-nil-persp-behaviour) (SWITCH persp-when-remove-buffer-switch-to-other-buffer) CALLED-FROM-KILL-BUFFER-HOOK (CALLED-INTERACTIVELY-P (called-interactively-p \='any))) (defalias 'persp-remove-buffer #[(&optional buffs-or-names &rest #1=#:--cl-rest--) "\203\f\211A\242\202\306 \203\211A\242\202\n\203)\211A\242\202*\f\211A\242\203>\211A\242\202A\307\310!\203Q\311\312\313\314G\\D\"\210<\204\\C\204z\203w\315\316\317\320p\321\316\321%*\202xp \204\205\322!\205\242\203\225\203\225?\202\227\323\324\325 \"\")-\207" [#1# persp persp-remove-buffers-from-nil-persp-behaviour rem-from-nil-opt persp-when-remove-buffer-switch-to-other-buffer switch get-current-persp called-interactively-p any signal wrong-number-of-arguments persp-remove-buffer 6 0 nil persp-read-buffer "Remove buffers from the perspective: " t persp--remove-buffers-from-nil-p mapcar apply-partially persp--remove-buffer-2 called-from-kill-buffer-hook buffs-or-names persp-restrict-buffers-to-if-foreign-buffer *persp-restrict-buffers-to* current-prefix-arg persp-autokill-buffer-on-remove] 6 (#$ . 101177) "i"]) #@68 Kill buffers, read buffer with restriction to current perspective. (defalias 'persp-kill-buffer #[(&optional buffers-or-names) "<\204C\301\302\303\304\"\"\210\207" [buffers-or-names mapc kill-buffer remove-if-not persp-get-buffer-or-null] 5 (#$ . 102569) (list (let ((*persp-restrict-buffers-to* 0) persp-restrict-buffers-to-if-foreign-buffer) (if persp-mode (persp-read-buffer "Kill buffers: " (current-buffer) t nil t) (read-buffer "Kill buffer: " (current-buffer) t))))]) #@72 Switch to buffer, read buffer with restriction to current perspective. (defalias 'persp-switch-to-buffer #[(buffer-or-name &optional norecord force-same-window) "\205\303\304!!\205\305 \n#\207" [buffer-or-name norecord force-same-window persp-get-buffer-or-null get-buffer switch-to-buffer] 4 (#$ . 103057) (list (let ((*persp-restrict-buffers-to* 0) persp-restrict-buffers-to-if-foreign-buffer) (if persp-mode (let ((dflt (other-buffer (current-buffer)))) (if (memq dflt (safe-persp-buffers (get-current-persp))) nil (progn (macroexp--funcall-if-compiled '#[0 "\301\302\300\"\207" ["`psetq' is an obsolete alias (as of 27.1); use `cl-psetq' instead." byte-compile-warn "%s"] 3]) (progn (setq dflt (current-buffer)) nil))) (persp-read-buffer "Switch to buffer: " dflt t)) (read-buffer-to-switch "Switch to buffer: "))))]) #@53 (fn &optional REGEXP (PERSP (get-current-persp))) (defalias 'persp-remove-buffers-by-regexp #[(&optional regexp &rest #1=#:--cl-rest--) "\203\f\211A\242\202\304 \203\305\306\307\310G\\D\"\210 \205>\311\312\n\313\314\315\316 ! >\2046\305\317\320 D\"\210 \310H\321 C&)\207" [#1# persp regexp cl-struct-perspective-tags get-current-persp signal wrong-number-of-arguments persp-remove-buffers-by-regexp 2 persp-do-buffer-list-by-regexp :regexp :func persp-remove-buffer :blist type-of wrong-type-argument perspective :rest-args] 10 (#$ . 103892) nil]) #@60 (fn PERSP-FROM &optional (PERSP-TO (get-current-persp))) (defalias 'persp-import-buffers-from #[(persp-from &rest #1=#:--cl-rest--) "\203\f\211A\242\202\303 \203\304\305\306\307G\\D\"\210 \203*\310\311\312\n!\"\202-\313\314!)\207" [#1# persp-to persp-from get-current-persp signal wrong-number-of-arguments persp-import-buffers-from 2 mapc #[(b) "\302 \303\211$\207" [b persp-to persp-add-buffer nil] 5] safe-persp-buffers message "[persp-mode] Error: Can't import buffers to the 'nil' perspective, cause it already contain all buffers."] 5 (#$ . 104462)]) #@145 Import buffers from perspectives with the given names to another one. (fn NAMES &optional (PERSP-TO (get-current-persp)) (PHASH *persp-hash*)) (defalias 'persp-import-buffers #[(names &rest #1=#:--cl-rest--) "\203\f\211A\242\202\305 \203\211A\242\202\n\203+\306\307\310\311G\\D\"\210\f<\2043\fC\f\204A\312\313\314\315\314\315\314&\316\317\320\321\f\"\"*\207" [#1# persp-to *persp-hash* phash names get-current-persp signal wrong-number-of-arguments persp-import-buffers 3 persp-read-persp "to import buffers from" t nil mapc #[(persp-from) "\302 \"\207" [persp-from persp-to persp-import-buffers-from] 3] mapcar #[(pn) "\302 \"\207" [pn phash persp-get-by-name] 3]] 7 (#$ . 105042) "i"]) #@92 (fn NAME &optional (PERSP-TO (get-current-persp)) (PHASH *persp-hash*) NO-UPDATE-FRAMES) (defalias 'persp-import-win-conf #[(name &rest #1=#:--cl-rest--) "\203\f\211A\242\202\306 \203\211A\242\202\n\211A\242\2031\307\310\311\312G\\D\"\210 \204?\313\314\315\211\316\315\316&\317 \" =\206Q\320!??\205\233 \203x\321 !>\204i\307\322\323 D\"\210 \211\324\325!I\210)\202\220\321!>\204\212\307\322\323D\"\210\324H\f?\205\233\326\327 !C!,\207" [#1# persp-to *persp-hash* phash no-update-frames name get-current-persp signal wrong-number-of-arguments persp-import-win-conf 4 persp-read-persp "to import window configuration from" nil t persp-get-by-name persp-p type-of wrong-type-argument perspective 3 safe-persp-window-conf persp-update-frames-window-confs safe-persp-name persp-from cl-struct-perspective-tags #2=#:v persp-nil-wconf] 8 (#$ . 105762) "i"]) #@91 (fn NEW-NAME &optional SWITCH (CALLED-INTERACTIVELY-P (called-interactively-p \='any))) (defalias 'persp-copy #[(new-name &optional switch &rest #1=#:--cl-rest--) "\203\f\211A\242\202\301\306!\203\307\310\311\312G\\D\"\210\n\204&\313\314!\n\315 \235\2036\316\317\n\"\210\320\202Q\321\n!\322  \205_\f\203\\\323\324\f! >\204U\307\325\326\fD\"\210\f\327H!\202_\330\f!4 \205P \203\3045\203\304\3206\331\332\333\334\"\2117\203\2067\211A7\242\202\216\307\310\3357GD\"\2118\336\267\202\274\337\202\275\340\202\275\341\202\275\342\343\344\345p\346\320\346\347&\"6\350\202\275\351\202\275\320\202\275\320*4\")4\352\f!\210\324 ! >\204\327\307\325\326 D\"\210 \2119\312\353\f!I\210)\324 ! >\204\361\307\325\326 D\"\210 \211:\354\323\355\f!!I\210)\324 ! >\204 \307\325\326 D\"\210 \211;\356\f\205(\324\f! >\204%\307\325\326\fD\"\210\f\356HI\210)\3574 \320\211$\210<\360\267\202K\361\n!\210\202O\362\n!\210\202O\202O\363\n!\210 +)\207" [#1# called-interactively-p new-name new-persp current-persp cl-struct-perspective-tags any signal wrong-number-of-arguments persp-copy 3 read-string "Copy current persp with name: " persp-names message "[persp-mode] Error: There is already a perspective with that name %s" nil persp-add-new get-current-persp copy-list type-of wrong-type-argument perspective 2 safe-persp-buffers delete-if-not read-multiple-choice "What buffers to copy? " ((97 "all") (100 "displayed") (102 "free and displayed") (70 "free") (99 "choose") (110 "none")) (char &rest _) #s(hash-table size 6 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (100 150 102 154 70 158 99 162 110 180 97 184)) #[(b) "\301\302\"\207" [b get-buffer-window-list no-minibuf] 3] #[(b) "\301\302\"\206 \303\304\"\207" [b persp-buffer-free-p t get-buffer-window-list no-minibuf] 3] #[(b) "\301\302\"\207" [b persp-buffer-free-p t] 3] mapcar get-buffer persp-read-buffer "" t push #[(b) " >\207" [b choosen-buffers] 2] not persp-save-state safe-persp-window-conf 4 safe-persp-parameters 5 persp-add-buffer #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (window 314 frame 321 no-switch 328)) persp-window-switch persp-frame-switch persp-switch new-buffers current-prefix-arg choosen-buffers _ char #2=#:v #3=#:v #4=#:v switch] 11 (#$ . 106675) "i"]) #@252 Like `get-buffer', but constrained to the perspective's list of buffers. Return the buffer if it's in the perspective or the first buffer from the perspective buffers or nil. (fn &optional (BUFF-OR-NAME (current-buffer)) (PERSP (get-current-persp))) (defalias 'persp-get-buffer #[(&rest #1=#:--cl-rest--) "\203\f\211A\242\202 p\203\211A\242\202\304 \203+\305\306\307\310G\\D\"\210\311 !\312 \313\n!\"\206<\313\n!@+\207" [#1# buff-or-name persp buffer get-current-persp signal wrong-number-of-arguments persp-get-buffer 2 persp-get-buffer-or-null find safe-persp-buffers] 5 (#$ . 109027)]) #@51 Safely return a buffer or the nil without errors. (defalias 'persp-get-buffer-or-null #[(buff-or-name) ";\204 \302!\203\303!\304 !\205 )\207\305\207" [buff-or-name buf bufferp get-buffer buffer-live-p nil] 2 (#$ . 109642)]) (defalias 'persp-buffer-filtered-out-p #[(buff-or-name &rest filters) "\203\n B\202 \303\n!\304\305\"\207" [filters persp-common-buffer-filter-functions buff-or-name get-buffer find-if #[(filter) "\302!\203\n !\207\303\304\"\207" [filter buff-or-name functionp find-if #[(f) " !\207" [f buff-or-name] 2]] 3]] 3]) (defalias 'persp-buffer-free-p #[(&optional buff-or-name del-weak) "\204p\303\304!!\211\203\n\205\305\306 \"?\202\307)\207" [buff-or-name persps del-weak persp--buffer-in-persps persp-get-buffer-or-null find-if-not persp-weak t] 4]) #@120 (fn &optional (OLD-BUFF-OR-NAME (current-buffer)) (WINDOW (selected-window)) (PERSP (get-current-persp nil window))) (defalias 'persp-set-another-buffer-for-window #[(&rest #1=#:--cl-rest--) "\203\f\211A\242\202 p\203\211A\242\202\306 \203)\211A\242\202-\307\310\n\"\203<\311\312\313\314G\\D\"\210\315\n!?\205~\316 ! \203Q\317\f!\202_\320\321\322\323\324\325\n!\"\326\n!\"\"\327\n\330!\203o\206|\331\332\n!\333\"@\206|\334 @\"*+\207" [#1# old-buff-or-name window persp old-buf persp-set-frame-buffer-predicate selected-window get-current-persp nil signal wrong-number-of-arguments persp-set-another-buffer-for-window 3 window-minibuffer-p persp-get-buffer-or-null other-buffer find-if #[(bc) "\303!\205 =?\205\304\n\"\207" [bc old-buf persp bufferp persp-contain-buffer-p] 3] append mapcar car window-prev-buffers window-next-buffers set-window-buffer buffer-live-p persp-buffer-list-restricted window-frame 2.5 buffer-list new-buf] 7 (#$ . 110453)]) #@224 Switch all windows in all frames with a perspective displaying that buffer to some previous buffer in the perspective. Return that old buffer. (fn &optional (OLD-BUFF-OR-NAME (current-buffer)) (PERSP (get-current-persp))) (defalias 'persp-switch-to-prev-buffer #[(&rest #1=#:--cl-rest--) "\203\f\211A\242\202 p\203\211A\242\202\306 \203+\307\310\311\312G\\D\"\210\313 !\314\n!\211\203?\f\211A\242\202F\307\310\315\fGD\"\f\316\211\203e@\317 \"\210A\211\204Q* \316\211\203\242@\320 \321#\316\211\203\230@\317 \"\210A\211\204\204*A\211\204p, +\207" [#1# old-buff-or-name persp old-buf windows frames get-current-persp signal wrong-number-of-arguments persp-switch-to-prev-buffer 2 persp-get-buffer-or-null persp-frames-and-windows-with-persp (frames . windows) nil persp-set-another-buffer-for-window get-buffer-window-list no-minibuf w --dolist-tail-- f] 6 (#$ . 111456)]) #@128 compiler-macro for inlining `persp-filter-out-bad-buffers'. (fn CL-WHOLE-ARG &cl-quote &optional (PERSP (get-current-persp))) (defalias 'persp-filter-out-bad-buffers--cmacro #[(_cl-whole-arg &rest #1=#:--cl-rest--) "\203\f\211A\242\202 \302\203\303\304\305\306G\\D\"\210\307\310\311\312\211\211 &)\207" [#1# persp (get-current-persp) signal wrong-number-of-arguments persp-filter-out-bad-buffers--cmacro 2 cl--defsubst-expand (persp) (cl-block persp-filter-out-bad-buffers (when persp (setf (persp-buffers persp) (delete-if-not #'persp-get-buffer-or-null (persp-buffers persp))))) nil] 7 (#$ . 112406)]) (put 'persp-filter-out-bad-buffers 'compiler-macro 'persp-filter-out-bad-buffers--cmacro) #@46 (fn &optional (PERSP (get-current-persp))) (defalias 'persp-filter-out-bad-buffers #[(&rest #1=#:--cl-rest--) "\203\f\211A\242\202\304 \203\305\306\307GTD\"\210 \205J\310 !\n>\204/\305\311\312 D\"\210 \211\313\314\315\310 !\n>\204D\305\311\312 D\"\210 \313H\"I))\207" [#1# persp cl-struct-perspective-tags #2=#:v get-current-persp signal wrong-number-of-arguments persp-filter-out-bad-buffers type-of wrong-type-argument perspective 2 delete-if-not persp-get-buffer-or-null] 9 (#$ . 113118)]) (defalias 'persp-hide #[(names) "<\204C\204\303\304\305\306\307 !\305$\307 \310\311\"\312\n!\203)\313\n!@\314\315 \"*\207" [names hidden-persps persp-to-switch persp-read-persp "to hide" t safe-persp-name get-current-persp mapcar #[(pn) "\305!\306 !\203* \203(\307 !\n>\204\310\311\312 D\"\210 \211\313\314I\210)\202*\314 )\207" [pn persp cl-struct-perspective-tags #1=#:v persp-nil-hidden persp-get-by-name persp-p type-of signal wrong-type-argument perspective 7 t] 5] safe-persp-hidden persp-other-not-hidden-persps mapc #[(p) "\306!\205Q\307!\211\203 \211A\242\202\310\311\312 GD\" \313\211\2034\f@\314 !\210\fA\211\204&*\n\313\211\205P\f@\315\316! \"\210\fA\211\204=\313,\207" [p windows frames w --dolist-tail-- f persp-p persp-frames-and-windows-with-persp signal wrong-number-of-arguments (frames . windows) nil clear-window-persp persp-frame-switch safe-persp-name persp-to-switch] 5]] 5 nil "i"]) (defalias 'persp-unhide #[(names) "<\204C\204#\302\303\304\305\306 \"\"\307\310\311 @\311\312\211 \311&)\205+\313\314\"\207" [names hidden-persps mapcar safe-persp-name delete-if-not safe-persp-hidden persp-persps persp-read-persp "to unhide" t nil mapc #[(pn) "\305!\306 !\205* \203'\307 !\n>\204\310\311\312 D\"\210 \211\313\314I)\202*\314\211)\207" [pn persp cl-struct-perspective-tags #1=#:v persp-nil-hidden persp-get-by-name persp-p type-of signal wrong-type-argument perspective 7 nil] 5]] 9 nil "i"]) #@99 (fn NAMES &optional DONT-KILL-BUFFERS (CALLED-INTERACTIVELY-P (called-interactively-p \='any))) (defalias 'persp-kill #[(names &optional dont-kill-buffers &rest #1=#:--cl-rest--) "\203\f\211A\242\202\301\305!\203\306\307\310\311G\\D\"\210 \203)\n\203) ?\f<\2041\fC\f\204E\312\313 \205<\314P\315\316\317 !\315$\320\321\f\")\207" [#1# called-interactively-p current-prefix-arg dont-kill-buffers names any signal wrong-number-of-arguments persp-kill 3 persp-read-persp "to kill" " not killing buffers" t safe-persp-name get-current-persp mapc #[(pn) "\306!\307 !\205m\n\203 \204\310\311!\205m\312\313 \"\f\313=\2044\f\314>\203.\315\2024 \2044  \203B\316 C\317\315%\210)\320\321 \"\210\315\203^\315\322\323\324 !\"\210)\202e\322\325\324 !\"\210) \205m\326!)\207" [pn persp called-interactively-p pfile persp-auto-save-persps-to-their-file-before-kill persp-auto-save-fname persp-get-by-name persp-p yes-or-no-p "Really kill the 'nil' perspective (It'l kill all buffers)?" persp-parameter persp-file 'nil nil persp-save-to-file-by-names t run-hook-with-args persp-before-kill-functions mapc #[(b) "\302 \303\211\304\211&\207" [b persp persp-remove-buffer t nil] 7] safe-persp-buffers #[(b) "\302 \303\211\304\211&\207" [b persp persp-remove-buffer t nil] 7] persp-remove-by-name *persp-hash* persp-autokill-persp-when-removed-last-buffer dont-kill-buffers persp-autokill-buffer-on-remove] 6]] 5 (#$ . 115119) "i"]) (defalias 'persp-kill-without-buffers #[(names) "\301\302\303#\207" [names persp-kill t nil] 4 nil "i"]) #@99 (fn NAMES &optional DONT-KILL-BUFFERS (CALLED-INTERACTIVELY-P (called-interactively-p \='any))) (defalias 'persp-save-and-kill #[(names &optional dont-kill-buffers &rest #1=#:--cl-rest--) "\203\f\211A\242\202\301\306!\203\307\310\311\312G\\D\"\210 \203)\n\203) ?\f<\2041\fC\f\204E\313\314 \205<\315P\316\317\320 !\316$\321\322\323\324\325$\326\327\330\331\f\"\"\210\332 \333$*\207" [#1# called-interactively-p current-prefix-arg dont-kill-buffers names temphash any signal wrong-number-of-arguments persp-save-and-kill 3 persp-read-persp "to save and kill" " not killing buffers" t safe-persp-name get-current-persp make-hash-table :test equal :size 10 mapc #[(p) "\302 \"\207" [p temphash persp-add] 3] mapcar #[(pn) "\301!\207" [pn persp-get-by-name] 2] persp-save-state-to-file yes persp-auto-save-fname persp-auto-save-persps-to-their-file] 5 (#$ . 116695) "i"]) #@156 Change the name field of the `PERSP'. Return old name on success, otherwise nil. (fn NEW-NAME &optional (PERSP (get-current-persp)) (PHASH *persp-hash*)) (defalias 'persp-rename #[(new-name &rest #1=#:--cl-rest--) "\203\f\211A\242\202\306 \203\211A\242\202\n\203+\307\310\311\312G\\D\"\210 \203\242\313\f \"\314 !\f\204D\315\316 \317Q!\320!\204\230\f\203\230 \f\232\204\230 \n=\203_\321 !\210\322 \"\210\323 ! >\204t\307\324\325 D\"\210 \211!\326\fI\210)\327\f #\210 \n=\203\224\330 !\210\331\332 \f$\210 \202\236\333\334\f\"\210\335*\202\247\333\336!\210\335*\207" [#1# persp *persp-hash* phash new-name old-name get-current-persp signal wrong-number-of-arguments persp-rename 3 persp-get-by-name safe-persp-name read-string "New name for the " " perspective: " persp-p persp-remove-from-menu remhash type-of wrong-type-argument perspective 1 puthash persp-add-to-menu run-hook-with-args persp-renamed-functions message "[persp-mode] Error: There is already a perspective with that name: %s." nil "[persp-mode] Error: You can't rename the `nil' perspective, use M-x: customize-variable RET persp-nil-name RET" opersp cl-struct-perspective-tags #2=#:v] 6 (#$ . 117597) "i"]) #@233 Switch to the perspective with name `NAME'. If there is no perspective with that name it will be created. Return `NAME'. (fn NAME &optional FRAME (WINDOW (selected-window)) (CALLED-INTERACTIVELY-P (called-interactively-p \='any))) (defalias 'persp-switch #[(name &optional frame &rest #1=#:--cl-rest--) "\203\f\211A\242\202\306 \203\211A\242\202\302\307!\203-\310\311\312\313G\\D\"\210\305\314 !\204=\n\203B\f\203B\301\202J \204J\315 ! \301=\203X\316 \"\202]\317 \"+\207" [#1# window called-interactively-p switch-type current-prefix-arg frame selected-window any signal wrong-number-of-arguments persp-switch 4 window-persp-set-p window-frame persp-window-switch persp-frame-switch name] 5 (#$ . 118819) "i"]) #@48 (fn NAME &optional (FRAME (selected-frame))) (defalias 'persp-frame-switch #[(name &rest #1=#:--cl-rest--) "\203\f\211A\242\202\304 \203\305\306\307\310G\\D\"\210\n\204+\311\312\313\211\211\211\314& >\204C\315\316\n #\210 B\317\320\n! \"\210)\n)\207" [#1# frame name persp-inhibit-switch-for selected-frame signal wrong-number-of-arguments persp-frame-switch 2 persp-read-persp "to switch(in frame)" nil t run-hook-with-args persp-before-switch-functions persp-activate persp-add-new] 7 (#$ . 119569) "i"]) #@50 (fn NAME &optional (WINDOW (selected-window))) (defalias 'persp-window-switch #[(name &rest #1=#:--cl-rest--) "\203\f\211A\242\202\304 \203\305\306\307\310G\\D\"\210\n\204+\311\312\313\211\211\211\314& >\204C\315\316\n #\210 B\317\320\n! \"\210)\n)\207" [#1# window name persp-inhibit-switch-for selected-window signal wrong-number-of-arguments persp-window-switch 2 persp-read-persp "to switch(in window)" nil t run-hook-with-args persp-before-switch-functions persp-activate persp-add-new] 7 (#$ . 120102) "i"]) (defalias 'persp-before-make-frame #[nil "\304\203 \206\n\n!\305 !\204\203\n\306\n!\307 \310\311#)\207" [persp-set-last-persp-for-new-frames persp-last-persp-name persp-nil-name persp persp-get-by-name persp-p persp-add-new persp-save-state nil t] 4]) (defalias 'persp--do-auto-action-if-needed #[(persp) "\302!\205R \205R\303!?\205R\304 !\203 !\207 \305=\204- \306=\2033\302!\2033\307\310!!\207 \311=\204K \312=\204K \313=\205R\302!\205R\314\310!\315\211#\207" [persp persp-autokill-persp-when-removed-last-buffer safe-persp-auto safe-persp-buffers functionp hide hide-auto persp-hide safe-persp-name t kill kill-auto persp-kill nil] 4]) (defalias 'persp--deactivate #[(frame-or-window &optional new-persp) "\306\307 !\203:\310 !\211\n=\204_\311 p\312\216\313 \314\"\210\315\316\317\"\210+\320 \2033\321!\232\2025?\"\210\202_\322 !\203_\323 !\211\n=\204_\324 !r\325\216\326@\314\"\210\315\316\327\"\210+ B\330!*\207" [persp frame-or-window new-persp #1=#:old-buffer #2=#:old-frame persp-set-last-persp-for-new-frames nil framep get-frame-persp selected-frame #[nil "\302!\203 \303\304\"\210\305 !\205 q\207" [#2# #1# frame-live-p select-frame norecord buffer-live-p] 3] select-frame norecord run-hook-with-args persp-before-deactivate-functions frame persp-frame-save-state safe-persp-name windowp get-window-persp internal--before-with-selected-window #[nil "\301!\207" [save-selected-window--state internal--after-with-selected-window] 2] select-window window persp--do-auto-action-if-needed persp-last-persp-name save-selected-window--state persp-inhibit-switch-for] 5]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put persp--deactivate speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@71 (fn PERSP &optional (FRAME-OR-WINDOW (selected-frame)) NEW-FRAME-P) (defalias 'persp-activate #[(persp &rest #1=#:--cl-rest--) "\203\f\211A\242\202\306 \211A\242\203#\307\310\311\312G\\D\"\210 \205-\313\211\314 !\203:\315 !\316\202F\317 !\203F\320 !\321\n\204Q\f =?\205,\n\204\311 '\313\314 !\203\230\315 !\211'=\204\276\306 p()\322\216\323 \324\"\210\325\326\316\"\210+\327 *\203\221\330 !+\232\202\223 ?\"\210\202\276\317 !\203\276\320 !\211'=\204\276\331 !,r\332\216\333,@\324\"\210\325\326\321\"\210+ -B-\334 !,\210 \335\267\202+\330 !+\336 \"\210.\203\344\337 \n#\210\306 p/0\340\216\323 \324\"\210\325\341\316\"+\202,\342 \"\210\343 !1\3441 \"\204\3451 #\210)\331 !,r\346\216\333,@\324\"\210\325\341\321\"+\202,\313**\207" [#1# frame-or-window new-frame-p type old-persp persp selected-frame signal wrong-number-of-arguments persp-activate 3 nil framep get-frame-persp frame windowp get-window-persp window #[nil "\302!\203 \303\304\"\210\305 !\205 q\207" [#2=#:old-frame #3=#:old-buffer frame-live-p select-frame norecord buffer-live-p] 3] select-frame norecord run-hook-with-args persp-before-deactivate-functions persp-frame-save-state safe-persp-name internal--before-with-selected-window #[nil "\301!\207" [save-selected-window--state internal--after-with-selected-window] 2] select-window persp--do-auto-action-if-needed #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (frame 207 window 250)) set-frame-persp persp-restore-window-conf #[nil "\302!\203 \303\304\"\210\305 !\205 q\207" [#4=#:old-frame #5=#:old-buffer frame-live-p select-frame norecord buffer-live-p] 3] persp-activated-functions set-window-persp window-buffer persp-contain-buffer-p persp-set-another-buffer-for-window #[nil "\301!\207" [save-selected-window--state internal--after-with-selected-window] 2] new-persp #3# #2# persp-set-last-persp-for-new-frames persp-last-persp-name save-selected-window--state persp-inhibit-switch-for persp-init-frame-behaviour #5# #4# cbuf] 5 (#$ . 122423)]) (defalias 'persp-init-new-frame #[(frame) "\3021\303\304\305\306\"#0\207\307\310 \")\207" [frame err (debug error) persp-init-frame t frame-parameter client message "[persp-mode] Error: Can not initialize frame -- %s"] 6]) (defalias 'persp-init-frame #[(frame &optional new-frame-p client) "\203 \306=\204 \202.\n\307=\203 \306=\204 \202.\f\203, \306=\204, \202.  \310\211!\"\311 !\203G #\f\"\210\202\372 ;\203Z \"\312\"!!\202\372 9\203\325 \313\267\202\255\314 \"\312\"!\211!\203\372\315!!$>\204\207\316\317\320!D\"\210!\211%\321\322I\210)\202\372\323#!\210\324\325\310\211\211\211\322&\"\312\"!!\202\372&\203\267'\206\271(\"\326\"!!\327!!\204\372(\"\312\"!!\202\372&\203\337'\206\341(\"\326\"!!\327!!\204\372(\"\312\"!!\"\2051\330#\331\"\210\203\332#!\210\333#!\210 \334=\204\" \335=\203*\336# \322#\210\337!#\f#+\207" [client persp-emacsclient-init-frame-behaviour-override this-command persp-interactive-init-frame-behaviour-override new-frame-p persp-init-new-frame-behaviour-override -1 make-frame nil functionp persp-add-new #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (auto-temp 103 prompt 148)) persp-gen-random-name type-of signal wrong-type-argument perspective 6 t select-frame persp-read-persp "to switch" persp-get-by-name persp-p modify-frame-parameters ((persp)) persp-set-frame-buffer-predicate persp-set-frame-server-switch-hook persp-ignore-wconf persp-ignore-wconf-once set-frame-parameter persp-activate persp-init-frame-behaviour persp persp-name frame cl-struct-perspective-tags #1=#:v persp-set-last-persp-for-new-frames persp-last-persp-name persp-nil-name] 8]) (defalias 'persp-delete-frame #[(frame) "\3061u \307\310 !\203D\311 !\211\n=\204i\312 p\313\216\314 \315\"\210\316\317\300\"\210+\320 \203=\321\f!\232\202?\f?\"\210\202i\322 !\203i\323 !\211\n=\204i\324 !r\325\216\326@\315\"\210\316\317\327\"\210+ B\330\f!,0\207 \331\332 \")\207" [frame persp-not-persp new-persp frame-or-window persp #1=#:old-buffer (debug error) nil framep get-frame-persp selected-frame #[nil "\302!\203 \303\304\"\210\305 !\205 q\207" [#2=#:old-frame #1# frame-live-p select-frame norecord buffer-live-p] 3] select-frame norecord run-hook-with-args persp-before-deactivate-functions persp-frame-save-state safe-persp-name windowp get-window-persp internal--before-with-selected-window #[nil "\301!\207" [save-selected-window--state internal--after-with-selected-window] 2] select-window window persp--do-auto-action-if-needed message "[persp-mode] Error: Can not deactivate frame -- %s" #2# persp-set-last-persp-for-new-frames persp-last-persp-name save-selected-window--state persp-inhibit-switch-for err] 4]) #@80 (fn &optional (PERSP (get-frame-persp)) (EXFRAME (selected-frame)) FOR-SAVE) (defalias 'find-other-frame-with-persp #[(&rest #1=#:--cl-rest--) "\203\f\211A\242\202\305 \203\211A\242\202\306 \211A\242\2032\307\310\311\312G\\D\"\210\313\n\314 !\"\315\316\f\",\207" [#1# persp exframe for-save flist get-frame-persp selected-frame signal wrong-number-of-arguments find-other-frame-with-persp 3 delq persp-frames-with-persp find-if #[(f) "\205! \203\303\304\"?\205!\303\305\"?\202\306\205!\n\307!=\207" [f for-save persp frame-parameter persp-ignore-wconf persp-ignore-wconf-once t get-frame-persp] 3]] 5 (#$ . 127321)]) (defalias 'persp-add-minor-mode-menu #[nil "\301\302!\210\303\304\305\306$\207" [persp-mode-map (lambda (def-tmp-var) (defvar persp-minor-mode-menu def-tmp-var #1="The menu for the `persp-mode'.")) nil easy-menu-do-define persp-minor-mode-menu #1# ("Perspectives" "-")] 5]) (defalias 'persp-remove-from-menu #[(persp) "\304!\305 \n\306\307$\310 \311 #\210\205\310 \312 #)\207" [persp name persp-names-cache persp-minor-mode-menu safe-persp-name delete* :count 1 easy-menu-remove-item nil ("kill")] 5]) (defalias 'persp-add-to-menu #[(persp) "\306!\307\n C\"\310\311!\211\211 L\210)\312 \313\314 J\315\316\317\320\321\322D\323 D\324FF\"#\210\205D\312 \325\314 J\315\316\326\320\321\327D\323 D\324FF\"#*\207" [persp name persp-names-cache #1=#:--cl-str_name-- #2=#:v persp-minor-mode-menu safe-persp-name append make-symbol "--str_name--" easy-menu-add-item nil vector lambda (&rest --cl-rest--) (interactive) apply function #[(#3=#:G2) "\301J!\207" [#3# persp-switch] 2] quote --cl-rest-- ("kill") (interactive) #[(#4=#:G3) "\301J!\207" [#4# persp-kill] 2]] 13]) #@135 Read perspective name(s). (fn &optional ACTION MULTIPLE DEFAULT REQUIRE-MATCH DELNIL DELCUR PERSP-LIST SHOW-HIDDEN (DEFAULT-MODE t)) (defalias 'persp-read-persp #[(&optional action multiple default require-match delnil delcur persp-list show-hidden &rest #1=#:--cl-rest--) "\203\f\211A\242\202 \306\203\307\310\311\312G\\D\"\210\n\203$\n !\f\2030\313\314\315 \"\2022\315  \203?\316/\f\317\320$0\203N\316\321\322 !\f\317\320$1\204Z\323\324\f\325\326$2\203i2\f\235\204i\3272\32734\203\250\330 \327\211\331\3325\"\331\3335\"\327\2116789:;<\211=\f\235\203\241\334=P\211=\202\222\335\327>?\336\216\337\340?\306#\210<\203\240@\3414\205\276\342A\205\304\343A2\203\323\3442\345Q\202\324\3463\205\342\347\350\3513\343#\352Q\353\260\f\327B\327\2112&><\354\267\202~>\203G>\f\235\203G3\203>=\230\203\327<\202=\fB<\203G4\355=\2034\3563>C\"3\202;>3B3\316>\f\317\320$=2<\203\260 \211<\202\2623\211A3\242C3\204l\316=\f\317\320$\3272C\203vC\fB) \211<\202\262>\203\231>=\230\204\231>\f\235\203\231>3B3\327\211<\204\265+3.\202\342@\3414\205\261\342A\205\267\343A2\203\306\3442\345Q\202\307\3463\205\325\347\350\3513\343#\352Q\353\260\f\327B\327\2112&*\207" [#1# default-mode persp-names-sort-before-read-function persp-names-cache persp-list delnil t signal wrong-number-of-arguments persp-read-persp 9 delete-if-not #[(pn) " \235\207" [pn persp-list] 2] persp-names-current-frame-fast-ordered delete* :count 1 safe-persp-name get-current-persp delete-if safe-persp-hidden :key persp-get-by-name nil "[>done<]" alist-get push-item pop-item ">" #[nil "\306 \307!\2055 \204\310\311\"\206\n \204\310\f\"\312\f\313#\210 \204/\310 \"\312 \314#\207" [mb-local-key-map exit-minibuffer-function persp-read-multiple-exit-minibuffer-function push-keys-backup push-keys pop-keys-backup current-local-map keymapp lookup-key " " define-key #[nil "\302 \207" [not-finished exit-minibuffer-function push] 1 nil nil] #[nil "\302 \207" [not-finished exit-minibuffer-function pop] 1 nil nil] pop-keys] 4] #[nil "\306\307\"\210\310 !\205$\311 \n\"\203\312 \n #\210\311 \f\"\205$\312 \f #\207" [persp-minibuffer-setup mb-local-key-map push-keys push-keys-backup pop-keys pop-keys-backup remove-hook minibuffer-setup-hook keymapp lookup-key define-key] 4] add-hook minibuffer-setup-hook "Perspective name" "s" " " " (default " ")" "" "< " mapconcat identity " > " ": " #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (push 248 pop 339)) reverse append persp-nil-name delcur show-hidden default retlst multiple persp-read-multiple-keys pop-keys-backup push-keys-backup pop-keys push-keys mb-local-key-map exit-minibuffer-function not-finished done_str cp persp-minibuffer-setup persp-interactive-completion-function action require-match last-item] 12 (#$ . 129058)]) (byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias persp-prompt persp-read-persp nil make-obsolete "persp-mode 2.9"] 4) (defalias 'persp--set-frame-buffer-predicate-buffer-list-cache #[(buflist) "\211\211\204 \302\303\304\305\306#\210\207" [buflist persp-frame-buffer-predicate-buffer-list-cache :nil run-at-time 2 nil #[nil "\301\211\207" [persp-frame-buffer-predicate-buffer-list-cache nil] 2]] 5]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put persp--set-frame-buffer-predicate-buffer-list-cache speed -1 put byte-optimizer byte-compile-inline-expand] 5) (defalias 'persp--get-frame-buffer-predicate-buffer-list-cache '(macro . #[(buflist) "\301\302\303\304DF\207" [buflist if persp-frame-buffer-predicate-buffer-list-cache (if (eq :nil persp-frame-buffer-predicate-buffer-list-cache) nil persp-frame-buffer-predicate-buffer-list-cache) persp--set-frame-buffer-predicate-buffer-list-cache] 5])) (defalias 'persp-generate-frame-buffer-predicate #[(opt) "\205X\301\302\303\304\305\306\307!\203\310\311\312DD\313BB\202U\247\203=\314\315DC\316\317\320\314\321\322\323\324BBBDC\325BBDEE\202U9\203T\326\267\202P\306\202U\327\202U\330\202U\306FE!\207" [opt eval lambda (b) if (string-prefix-p " *temp*" (buffer-name (current-buffer))) t functionp funcall with-no-warnings quote (b) let *persp-restrict-buffers-to* memq b persp--get-frame-buffer-predicate-buffer-list-cache ret persp-buffer-list-restricted (selected-frame) (persp-restrict-buffers-to-if-foreign-buffer t) ((if (get-current-persp) ret (delete-if #'persp-buffer-filtered-out-p ret))) #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (quote 72 nil 72 restricted-buffer-list 76)) (progn (memq b (persp--get-frame-buffer-predicate-buffer-list-cache (let ((ret (persp-buffer-list-restricted (selected-frame) *persp-restrict-buffers-to* persp-restrict-buffers-to-if-foreign-buffer t))) (if (get-current-persp) ret (delete-if #'persp-buffer-filtered-out-p ret)))))) (memq b (persp--get-frame-buffer-predicate-buffer-list-cache (let ((ret (safe-persp-buffers (get-current-persp)))) (if (get-current-persp) ret (delete-if #'persp-buffer-filtered-out-p ret)))))] 17]) (defalias 'persp-set-frame-buffer-predicate #[(frame &optional off) "\306\307\"\306\310\"\306\311\"\312 \2035\313\307\312#\210\313\311\312#\210\n =\203+ \202,\n\313\310\f#\202\235\204@\314!\203\231\313\307\n =\203R \202U\n\211#\210 \315>\203b\202z\316\317\320\321\322\323DD\324BB\321\322\323 DD\325BBEE\2119\204\213\326\312\327\f!*\313\311\f#\210\313\310\f#\202\235\330\331\",\207" [frame last-persp-pred cur-pred old-pred new-pred off frame-parameter persp-buffer-predicate-old buffer-predicate persp-buffer-predicate-generated nil set-frame-parameter persp-generate-frame-buffer-predicate 'nil lambda (b) and funcall with-no-warnings quote (b) (b) :emergency byte-compile persp-set-frame-buffer-predicate t persp-frame-buffer-predicate byte-compile-warnings warning-minimum-level] 9]) (defalias 'persp-update-frames-buffer-predicate #[(&optional off) "\204\n\302\303\304!\210\305\306\307 \"\207" [off persp-frame-buffer-predicate nil persp-update-frames-buffer-predicate t mapc #[(f) "\302 \"\207" [f off persp-set-frame-buffer-predicate] 3] persp-frame-list-without-daemon] 3]) (defalias 'persp-generate-frame-server-switch-hook #[(opt) "\205-\301\302\303\304!\203\305\306\307DD\310BB\202+\311\312\313\267\202)\314\202*\315\202*\316EE!\207" [opt eval lambda (frame) functionp funcall with-no-warnings quote (frame) let* ((frame-client (frame-parameter frame 'client)) (frame-client-bl (when (processp frame-client) (process-get frame-client 'buffers)))) #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (only-file-windows 33 only-file-windows-for-client-frame 37)) (if frame-client (when frame-client-bl (mapc #'(lambda (w) (unless (memq (window-buffer w) frame-client-bl) (delete-window w))) (window-list frame 'no-minibuf))) (let (frame-server-bl) (mapc #'(lambda (proc) (setq frame-server-bl (append frame-server-bl (process-get proc 'buffers)))) (server-clients-with 'frame nil)) (when frame-server-bl (mapc #'(lambda (w) (unless (memq (window-buffer w) frame-server-bl) (delete-window w))) (window-list frame 'no-minibuf))))) (when frame-client-bl (mapc #'(lambda (w) (unless (memq (window-buffer w) frame-client-bl) (delete-window w))) (window-list frame 'no-minibuf))) nil] 7]) (defalias 'persp-set-frame-server-switch-hook #[(frame) "\302\303\"\205\f\304\305 #\207" [frame persp-frame-server-switch-hook frame-parameter client set-frame-parameter persp-server-switch-hook] 4]) (defalias 'persp-update-frame-server-switch-hook #[nil "\302!\303\304\305 \"\207" [persp-server-switch-behaviour persp-frame-server-switch-hook persp-generate-frame-server-switch-hook mapc persp-set-frame-server-switch-hook persp-frame-list-without-daemon] 3]) (defalias 'persp-ido-setup #[nil "\302=\205 \303\211\207" [ido-cur-item persp-disable-buffer-restriction-once buffer nil] 2]) #@29 Support for the `ido-mode'. (defalias 'persp-restrict-ido-buffers #[nil "\203\306\307\310\311\312\311#\"\202\306\307\310 \"\313 \314\f\311\211\2039@\315 #\210 TA\211\204#+\316\n\317\"\211*\207" [persp-disable-buffer-restriction-once indices buffer-names-sorted i ido-temp-list elt mapcar buffer-name persp-buffer-list-restricted nil -1 make-hash-table 0 puthash sort #[(a b) "\303 \304#\303\n \304#W\207" [a indices b gethash 10000] 5] --dolist-tail--] 7 (#$ . 137105)]) (defalias 'ido-toggle-persp-filter #[nil "? \304\305 \207" [persp-disable-buffer-restriction-once ido-text ido-text-init ido-exit refresh exit-minibuffer] 1 nil nil]) #@113 Read buffers with restriction. (fn PROMPT &optional DEFAULT REQUIRE-MATCH PREDICATE MULTIPLE (DEFAULT-MODE t)) (defalias 'persp-read-buffer #[(prompt &optional default require-match predicate multiple &rest #1=#:--cl-rest--) "\203\f\211A\242\202 \306\203\307\310\311\312G\\D\"\210\313 \203< ;\204<\314 !\203:\315 !\203:\316 !\202<\313\f\203J\317\f\320\306#@\202L\321\322\316\323 \"\313\21101\3242 3\325\3264\"5\325\3274\"6\313\21178\325\3304\"9\313\211:;\313<\331=\332>2 \235\203\231\3332P\2112\202\212\334\216 \203\251 \235\204\251 B?\203\264\335\336>\"\210\335\336=\"\2103\203\263@\f \205\312\337 \340Q1\205\330\341\342\3431\344#\345Q\346R AB\313\211 &03\347\267\202\2210\203;0 \235\203;1\203\f02\230\203\3133\2022 B3\203;?\350=\203)\35110C\"1\202001B1\3520 \353\354$23\203\272 \2113\202\2741\211A1\242C1\204_\3522 \353\354$\313C\203iC B) \2113\202\274\n?\355\356\322\316\n\203\202D \202\207\355\357\323 \"\"\" \2113\202\2740\203\25402\230\204\2540 \235\203\25401B1\313\2113\204\277?\203\2751\202\3001@.\207" [#1# default-mode persp-disable-buffer-restriction-once default prompt buffer-names t signal wrong-number-of-arguments persp-read-buffer 6 nil bufferp buffer-live-p buffer-name split-string ": *$" "Please provide a buffer name: " mapcar persp-buffer-list-restricted "[>done<]" alist-get push-item pop-item toggle-persp-buffer-filter #[nil "\305 \306!\205$ \204\307\310\"\206\n \204\307\f\"\311\f\312#\207" [mb-local-key-map exit-minibuffer-function persp-read-multiple-exit-minibuffer-function toggle-filter-keys-backup toggle-filter-keys current-local-map keymapp lookup-key " " define-key #[nil "\302 \207" [not-finished exit-minibuffer-function toggle-filter] 1 nil nil]] 4] #[nil "\305!\205# \204\306\n\"\307\n\310#\210 \204\306\f\"\307\f\311#\207" [mb-local-key-map push-keys-backup push-keys pop-keys-backup pop-keys keymapp lookup-key define-key #[nil "\302 \207" [not-finished exit-minibuffer-function push] 1 nil nil] #[nil "\302 \207" [not-finished exit-minibuffer-function pop] 1 nil nil]] 4] ">" #[nil "\306\307\"\210\306\307 \"\210\310\n!\203A \2031\311\n\f\"\203!\312\n\f #\210\311\n\f\"\2031\312\n\f #\210\311\n\"\203A\312\n#\210\313\211\207" [persp-multiple-minibuffer-setup persp-minibuffer-setup mb-local-key-map multiple push-keys push-keys-backup remove-hook minibuffer-setup-hook keymapp lookup-key define-key nil pop-keys pop-keys-backup toggle-filter-keys toggle-filter-keys-backup persp-disable-buffer-restriction-once] 4] add-hook minibuffer-setup-hook "(default " ")" "< " mapconcat identity " " " >" ": " #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (push 237 pop 327 toggle-filter 369)) reverse append delete* :count 1 delete-if #[(bn) " \235\207" [bn retlst] 2] persp-buffer-filtered-out-p cp retlst done_str not-finished persp-read-multiple-keys push-keys pop-keys push-keys-backup pop-keys-backup toggle-filter-keys toggle-filter-keys-backup exit-minibuffer-function mb-local-key-map persp-minibuffer-setup persp-multiple-minibuffer-setup multiple persp-interactive-completion-function predicate require-match last-item persp-buffer-list-function] 9 (#$ . 137779)]) (defalias 'persp-delete-other-windows #[nil "\304 \305\306\"\2036\307\310\311\"\310\312\310 :\2033 @\305\306\"\204,\310\211\2033 A\211\202 ,\205=\313!)\207" [win #1=#:--cl-var-- #2=#:--cl-var-- #3=#:--cl-var-- selected-window window-parameter window-side window-list nil 1 t delete-other-windows] 4]) #@87 (fn &optional (FRAME (selected-frame)) (PERSP (get-frame-persp frame)) NEW-FRAME-P) (defalias 'persp-restore-window-conf #[(&rest #1=#:--cl-rest--) "\203\f\211A\242\202\306 \203\211A\242\202\307 !\211A\242\2033\310\311\312\313G\\D\"\210 \2059\314 \315\"?\2059\314 \316\"\211\203N\317 \316\320#\210\f)?\2059 \203\\\321\322!\210\306 p*\323\216\324 \325\"\210\326\n!\327\211\330\211\211\211\331\332\333!\205{+,-./0123+\203\226\333\334!\210\335\216\3364!\203\2504 \n #\20273\203\370\337 \210\340\320\211\"\210\3411\30453 \"0\210\202\3506\342\3436\"\210\344 7\3457!8\3468\n\"?\205\346\34787\n#+\210 \20579\2057\350\211:\2027;\2057\336;!\203\n; \2027\337 \210\340\320\211\"\210\351\n!<\344 =\345=!><\2056><>?\2056\347>=\n#+. +\207" [#1# frame persp new-frame-p old-piw #2=#:old-buffer selected-frame get-frame-persp signal wrong-number-of-arguments persp-restore-window-conf 3 frame-parameter persp-ignore-wconf persp-ignore-wconf-once set-frame-parameter nil sit-for 0.01 #[nil "\302!\203 \303\304\"\210\305 !\205 q\207" [#3=#:old-frame #2# frame-live-p select-frame norecord buffer-live-p] 3] select-frame norecord safe-persp-window-conf 2 1 t boundp golden-ratio-mode -1 #[nil "\205\301\302!\207" [gr-mode golden-ratio-mode 1] 2] functionp persp-delete-other-windows set-window-dedicated-p (debug error) message "[persp-mode] Warning: Can not restore the window configuration, because of the error -- %s" selected-window window-buffer persp-contain-buffer-p persp-set-another-buffer-for-window #[nil "\207" [persp-special-last-buffer] 1] safe-persp-buffers #3# gr-mode window-resize-pixelwise window-min-width window-min-height window-safe-min-width window-safe-min-height split-height-threshold split-width-threshold pwc persp-restore-window-conf-method persp-window-state-put-function err cw cwb persp-is-ibc-as-f-supported initial-buffer-choice persp-reset-windows-on-nil-window-conf pbs w wb] 11 (#$ . 141447)]) #@73 (fn &optional (FRAME (selected-frame)) SET-PERSP-SPECIAL-LAST-BUFFER) (defalias 'persp-frame-save-state #[(&rest #1=#:--cl-rest--) "\203\f\211A\242\202\306 \211A\242\203#\307\310\311\312G\\D\"\210\313 !\205\213 \314 \2053 \f=)?\205\213\315 \316\"?\205\213\315 \317\"?\205\213\320 !\306 p\321\216\322 \323\"\210\n\203a\324 \210 \203\203\325 !>\204u\307\326\327 D\"\210 \211\330 !I)\202\212 !\211,*\207" [#1# frame set-persp-special-last-buffer f terminal-frame persp selected-frame signal wrong-number-of-arguments persp-frame-save-state 2 frame-live-p daemonp frame-parameter persp-ignore-wconf persp-ignore-wconf-once get-frame-persp #[nil "\302!\203 \303\304\"\210\305 !\205 q\207" [#2=#:old-frame #3=#:old-buffer frame-live-p select-frame norecord buffer-live-p] 3] select-frame norecord persp-special-last-buffer-make-current type-of wrong-type-argument perspective 3 #3# #2# cl-struct-perspective-tags #4=#:v persp-window-state-get-function persp-nil-wconf] 6 (#$ . 143461)]) #@79 (fn &optional (PERSP (get-frame-persp)) EXFR SET-PERSP-SPECIAL-LAST-BUFFER) (defalias 'persp-save-state #[(&rest #1=#:--cl-rest--) "\203\f\211A\242\202\305 \211A\242\211A\242\203)\306\307\310\311G\\D\"\210\312 \211\n=\2034\313\f\203@ \305\f!=\204F\314 \n\315#\f\205N\316\f \",\207" [#1# persp exfr set-persp-special-last-buffer frame get-frame-persp signal wrong-number-of-arguments persp-save-state 3 selected-frame nil find-other-frame-with-persp t persp-frame-save-state] 6 (#$ . 144493)]) (defalias 'persp-buffers-to-savelist #[(persp) "\304\305\306\307\310 \203\311 !\n>\204\312\313\314 D\"\210 \315H\202$\316\317 \"\")\"\207" [find-ret persp cl-struct-perspective-tags persp-buffer-list-function delete-if symbolp nil mapcar #[(b) "\302\303\304 \305\306$\210\207" [find-ret persp-save-buffer-functions nil find-if #[(sl) "\205\211\207" [sl find-ret] 2] :key #[(s-f) "rq\210 !)\207" [b s-f] 2]] 5] type-of signal wrong-type-argument perspective 2 delete-if-not persp-buffer-free-p] 8]) (defalias 'persp-window-conf-to-savelist #[(persp) "\303\204 \304 \305\"?\205\306\n!D\207" [persp-use-workgroups emacs-version persp def-wconf version< "24.4" safe-persp-window-conf] 4]) (defalias 'persp-elisp-object-readable-p #[(obj) "\304\211\n;\206\305\306\n!\304\307\310#)\266\203?*\207" [print-level print-length obj inhibit-changing-match-data nil "#<.*?>" prin1-to-string t string-match] 7]) (defalias 'persp-parameters-to-savelist #[(persp) "\301\302\303\304!\"D\207" [persp def-params remove-if #[(param) "\302!?\205\303\304\305 !#\205\306\207" [param persp persp-elisp-object-readable-p message "[persp-mode] Info: The parameter %S of the perspective %s can't be saved." safe-persp-name t] 5] safe-persp-parameters] 5]) (defalias 'persp-to-savelist #[(persp) "\302\205\303! >\204\304\305\306D\"\210\307H\310!\311!\312!\313!\314!\315!\257\207" [persp cl-struct-perspective-tags def-persp type-of signal wrong-type-argument perspective 1 persp-buffers-to-savelist persp-window-conf-to-savelist persp-parameters-to-savelist safe-persp-weak safe-persp-auto safe-persp-hidden] 9]) (defalias 'persps-to-savelist #[(&optional phash names-regexp) "\303\304\305\306\307\310\" =\203\303\311\312 \"\202\313\206 \n\314#\"\"\207" [phash *persp-hash* names-regexp mapcar persp-to-savelist delete-if apply-partially persp-parameter dont-save-to-file #[(pn) "\203 \303 \"\205\304 \n\305#\207" [names-regexp pn *persp-hash* persp-string-match-p persp-get-by-name nil] 4] persp-names-current-frame-fast-ordered persp-persps t] 8]) (defalias 'persp-save-with-backups #[(fname) "\306 !\nP\230\203i \307V\203i \211S\310 V\204X\311 !P\f\307V\203-\311\f!\202.\312P\313!\203N\313!\203F\314!\210\315\316#\210* S\fS\202*\313!\203i\315\211\311\310!P\316#\210\317\320\"\210\316\207" [fname persp-save-dir persp-auto-save-fname persp-auto-save-num-of-backups prev cur expand-file-name 0 1 number-to-string "" file-exists-p delete-file rename-file t write-file nil pf cf] 5]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put persp-save-with-backups speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@180 (fn &optional (FNAME persp-auto-save-fname) (PHASH *persp-hash*) (RESPECT-PERSP-FILE-PARAMETER persp-auto-save-persps-to-their-file) (KEEP-OTHERS-IN-NON-PARAMETRIC-FILE \='no)) (defalias 'persp-save-state-to-file #[(&rest #1=#:--cl-rest--) "\203\f\211A\242\202 \203\211A\242\202 \203(\211A\242\202) 5\2037\211A\242\2028\3066\203H\307\310\311\312G\\D\"\210\3132\220\n;\205\217\f\205\217\314\315\n!!\316W\203h\317\320!\210\321\313\322\"\210\323\n!\206r\3247!\2118\315\n!P9\3258!\203\211\3268!\204\223\317\327!\210\3308\331\"\210\3258!\203\241\3268!\204\253\317\3328\"\210\322\202\216\333\334\335\f!\"\210\336\337\n\f5$\2105\203\344\340\341\342\343\"\335\f\322\"\"\203\344\322\211\333\344\345\341\342\343\"\335\f\322\331#\331#\"*\202\216\346\347\331\":r:q\210\350\216\351 \210\352 \210eb\210\353c\210\354 \210\322\211;<\355\356\f!!*c\2109\211\3247! P\230\203\207=\357V\203\207=\211S>?\316?V\204v\n\360?!P\n>\357V\203G\360>!\202H\361P@A\325@!\203h\325A!\203`\362A!\210\363@A\331#\210*?S?>S>\202+*\325\n!\203\207\363\n\211\360\316!P\331#\210\364\n\322\"\210,\331*0,\207" [#1# persp-auto-save-fname fname *persp-hash* phash persp-auto-save-persps-to-their-file no signal wrong-number-of-arguments persp-save-state-to-file 4 --cl-block-persp-save-state-to-file-- string-width file-name-nondirectory 1 message "[persp-mode] Error: You must provide nonempty filename to save perspectives." throw nil file-name-directory expand-file-name file-exists-p file-directory-p "[persp-mode] Info: Trying to create the `persp-conf-dir'." make-directory t "[persp-mode] Error: Can't save perspectives -- `persp-save-dir' does not exists or not a directory %S." mapc persp-save-state persp-persps run-hook-with-args persp-before-save-state-to-file-functions member-if apply-partially persp-parameter persp-file #[(gr) "\211\203 \211A\242\202\306\307\310 GD\"\311\312 \"\n\203)\313\n\f \314\315%\2021\313 \f \315%+\207" [gr pl pfname names phash p-save-file signal wrong-number-of-arguments (pfname . pl) mapcar safe-persp-name persp-save-to-file-by-names yes nil keep-others-in-non-parametric-file] 7] persp-group-by generate-new-buffer " *temp*" #[nil "\301!\205 \302!\207" [#2=#:temp-buffer buffer-name kill-buffer] 2] buffer-disable-undo erase-buffer ";; -*- mode: emacs-lisp; eval: (progn (pp-buffer) (indent-buffer)) -*-" newline prin1-to-string persps-to-savelist 0 number-to-string "" delete-file rename-file write-file respect-persp-file-parameter keep-others-in-non-parametric-file persp-save-dir p-save-dir p-save-file #2# print-level print-length persp-auto-save-num-of-backups prev cur pf cf] 9 (#$ . 147719) (list (read-file-name "Save perspectives to a file: " persp-save-dir ""))]) #@144 (fn &optional (FNAME persp-auto-save-fname) (PHASH *persp-hash*) NAMES KEEP-OTHERS (CALLED-INTERACTIVELY-P (called-interactively-p \='any))) (defalias 'persp-save-to-file-by-names #[(&rest #1=#:--cl-rest--) "\203\f\211A\242\202 \203\211A\242\202 \211A\242\211A\2420\2035\211A\242\2028\306\307!\203H\310\311\312\313G\\D\"\210 \204\\\314\315\316\317\320 !\321\322\211\211\211\323& \n\203e\203n\324\325\326 \"1\" \205\3440\204\212\327\n!\203\207\330\331!\203\207\332\202\210\3330\334\335\336\337\340$2\3413!4\322543260\332=\204\2610\321=\203\317\342\3437 \"8\344\n6\345\346 !B#\210\347\3507 \351\352$5)\353\354\342\355 \"\"\210\356\n6\322#\210\353\3575\"--\207" [#1# persp-auto-save-fname fname *persp-hash* phash names called-interactively-p any signal wrong-number-of-arguments persp-save-to-file-by-names 5 persp-read-persp "to save" reverse safe-persp-name get-current-persp t nil push read-file-name format "Save a subset of perspectives%s to a file: " file-exists-p yes-or-no-p "Keep other perspectives in the file?" yes no make-hash-table :test equal :size 10 copy-tree mapcar #[(b) "\301!B\207" [b persp--buffer-in-persps] 3] persp-load-state-from-file :not regexp-opt delete-if #[(bcons) "\211\203 \211A\242\202\303\304\305 GD\"\211\205 \306\n \"\210\307*\207" [bcons buf-persps buf signal wrong-number-of-arguments (buf . buf-persps) persp--buffer-in-persps-set t] 5] :key #[(b) " \236\207" [b bufferlist-pre] 2] mapc #[(p) "\304 \"\210\205\n\205\305\306 #\207" [p temphash persp-auto-save-persps-to-their-file fname persp-add set-persp-parameter persp-file] 4] #[(pn) "\302 \"\207" [pn phash persp-get-by-name] 3] persp-save-state-to-file kill-buffer keep-others persp-save-dir persp-nil-wconf persp-nil-parameters persp-nil-hidden bufferlist-diff temphash persp-buffer-list-function bufferlist-pre] 10 (#$ . 150512) nil]) (defalias 'persp-tramp-save-buffer #[(b) "\306!\307\310!\204\311\310\312\313#\205\237\314 !\205\237\315 !\312\316 !\203\235\307\317!\2042\311\317\312\313#\205\236\320\321!\205\236\3221C\321 !0\202E\210\312\211\205\236\f\n\203\230\n@\323!\324!\325! \326!! \"\211\205y# \327!!\330U\203\211$\202\216%!P\260\nA-\202L )\202\236 *\211\205\256\331\332! \333\334\"F*\207" [b buf-f-name tmh dissected-f-name tramp-prefix-format persp-tramp-file-name buffer-file-name featurep tramp require nil t tramp-tramp-file-p tramp-dissect-file-name tramp-file-name-hop tramp-sh fboundp tramp-compute-multi-hops (debug error) tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname string-width 0 def-buffer buffer-name buffer-local-value major-mode hop method user host filename tramp-postfix-method-format tramp-postfix-user-format tramp-postfix-hop-format tramp-postfix-host-format] 9]) (defalias 'persp-update-frames-window-confs #[(&optional persp-names) "\301\302\203\303\304\305 \306\307$\202\305 \"\207" [persp-names mapc persp-restore-window-conf delete-if-not #[(pn) " \235\207" [pn persp-names] 2] persp-frame-list-without-daemon :key #[(f) "\301\302!!\207" [f safe-persp-name get-frame-persp] 3]] 7]) (defalias 'persp-car-as-fun-cdr-as-args '(macro . #[(lst) "\302\303!\304\305 DD\306\307 DD\310\311\312\313\314D\315BBB\316DEDE)\317BB\207" [kar lst gensym "lst-car" let* car-safe args cdr-safe fun or condition-case-unless-debug err symbol-function ((error nil)) symbol-value ((if (functionp fun) (apply fun args) (message "[persp-mode] Error: %s is not a function." fun)))] 9])) (defalias 'persp-buffer-from-savelist #[(savelist) "@\301=\2057\306\307\242\243\3101 K0\202\210\202\"\206$ J\311 !\2032\312 \f\"\2026\313\314 \"-\207" [savelist def-buffer persp-add-buffer-on-find-file #1=#:lst-car0 args fun nil #[(name fname mode &optional parameters) "\306!\211\203+\n\203I\n\307 !\230\204I\310\n!\203!\311\n!\202I\312\313\n\"\210\314\202I\n\203<\310\n!\203<\311\n!\202I\n\203E\312\313\n\"\210\315!\316 !\203\234r q\210\317\320\321\322 \"\"\210\323\304!\203|\324\304!\203|\325\f!\203|\f !\210\317\326\321\322 \"\"\210\202\233\325 !\203\233 =\204\233\327=\204\233 \210\317\330\321\322 \"\"\210) )\207" [name buf fname parameters persp-load-buffer-mode-restore-function mode persp-get-buffer-or-null buffer-file-name file-exists-p find-file-noselect message "[persp-mode] Warning: The file %s no longer exists." nil get-buffer-create buffer-live-p mapc #[(varcons) "\211\203 \211A\242\202\303\304\305 GD\"\211\306=\206\n\307=?\205(\310\n! L*\207" [varcons vvalue vname signal wrong-number-of-arguments (vname . vvalue) buffer-file-name major-mode make-local-variable] 5] alist-get local-vars boundp variable-binding-locus functionp #[(varcons) "\211\203 \211A\242\202\303\304\305 GD\"\211\306=\206\n\307=?\205(\310\n! L*\207" [varcons vvalue vname signal wrong-number-of-arguments (vname . vvalue) buffer-file-name major-mode make-local-variable] 5] not-loaded-yet #[(varcons) "\211\203 \211A\242\202\303\304\305 GD\"\211\306=\206\n\307=?\205(\310\n! L*\207" [varcons vvalue vname signal wrong-number-of-arguments (vname . vvalue) buffer-file-name major-mode make-local-variable] 5] major-mode] 6] (debug error) functionp apply message "[persp-mode] Error: %s is not a function."] 3]) (defalias 'persp-buffers-from-savelist-0 #[(savelist) "\302\303\304\305\306 \")\"\207" [find-ret savelist delete-if-not persp-get-buffer-or-null nil mapcar #[(saved-buf) "\302\303\304 \305\306$\210\207" [find-ret persp-load-buffer-functions nil find-if #[(lb) "\205\211\207" [lb find-ret] 2] :key #[(l-f) " !\207" [l-f saved-buf] 2]] 5]] 5]) (defalias 'persp-window-conf-from-savelist-0 #[(savelist) "\305 \242 \243\3061\nK0\202\210\202\206\nJ\307\f!\203)\310\f \"\202-\311\312\f\",\207" [def-wconf savelist #1=#:lst-car1 args fun identity (debug error) functionp apply message "[persp-mode] Error: %s is not a function."] 3]) (defalias 'persp-parameters-from-savelist-0 #[(savelist) "\305 \242 \243\3061\nK0\202\210\202\206\nJ\307\f!\203)\310\f \"\202-\311\312\f\",\207" [def-params savelist #1=#:lst-car2 args fun identity (debug error) functionp apply message "[persp-mode] Error: %s is not a function."] 3]) (defalias 'persp-from-savelist-0 #[(savelist phash persp-file) "\305 \242 \243\3061\nK0\202\210\202\206\nJ\307\f!\203)\310\f \"\202-\311\312\f\",\207" [def-persp savelist #1=#:lst-car3 args fun #[(name dbufs dwc &optional dparams weak auto hidden) "\206 \306\n \"\307\310\311 !\"\210\f\2035\312\f!>\204&\313\314\315\fD\"\210\f\211\316\317!I\210)\202;\317!\320\321!\f\"\210\f\203{\312\f!>\204W\313\314\315\fD\"\210\f\211\322I\210)\312\f!>\204q\313\314\315\fD\"\210\f\211\323I\210)\f\203\234\312\f!>\204\217\313\314\315\fD\"\210\f\211 \324!I\210)\202\240!\"\203\254\325\326\f#\210\n*\207" [name persp-nil-name pname phash persp dbufs persp-add-new mapc #[(b) "\302 \303\211$\207" [b persp persp-add-buffer nil] 5] persp-buffers-from-savelist-0 type-of signal wrong-type-argument perspective 3 persp-window-conf-from-savelist-0 modify-persp-parameters persp-parameters-from-savelist-0 5 6 7 set-persp-parameter persp-file cl-struct-perspective-tags #2=#:v dwc persp-nil-wconf dparams #3=#:v weak #4=#:v auto #5=#:v hidden persp-nil-hidden] 5] (debug error) functionp apply message "[persp-mode] Error: %s is not a function."] 3]) (defalias 'persps-from-savelist-0 #[(savelist phash persp-file set-persp-file names-regexp) "\203 :\204 \302B\303\304\203\305\306\307\" \310\311$\202 \"\207" [names-regexp savelist t mapcar #[(pd) "\304 \n\205 #\207" [pd phash set-persp-file persp-file persp-from-savelist-0] 4] delete-if-not apply-partially persp-string-match-p :key #[(pd) "A@\206 \207" [pd persp-nil-name] 1]] 7]) (defalias 'persp-names-from-savelist-0 #[(savelist) "\301\302\"\207" [savelist mapcar #[(pd) "A@\206 \207" [pd persp-nil-name] 1]] 3]) (defalias 'persps-savelist-version-string #[(savelist) "@\211@\303=\203 A@\206\304\305\306\n\"\n\304=\203 \202\"A*D\207" [savelist version-list version def-persp-save-format-version 0 format "%S"] 4]) (defalias 'persp-dispatch-loadf-version #[(funsym savelist) "\306!\211G\307U\203 \211A\242\202\310\311\312 GD\" \242\313\314\f!\315\nQ!\316 !\2033 D\202;\317\320\n\"\210\321 D,\207" [savelist #1=#:--cl-rest-- version s-list funsym funame persps-savelist-version-string 2 signal wrong-number-of-arguments (version s-list) intern symbol-name "-" fboundp message "[persp-mode] Warning: Can not find load function for this version: %S." nil] 5]) (defalias 'persps-from-savelist #[(savelist phash persp-file set-persp-file names-regexp) "\306\307\"\211G\310U\203 \211A\242\202\311\312\313 GD\" \242\n\203<\n \f %\314\315 \f$\210)\202C\316\317 #\210\320+\207" [savelist #1=#:--cl-rest-- fun s-list phash persp-file persp-dispatch-loadf-version persps-from-savelist 2 signal wrong-number-of-arguments (fun s-list) run-hook-with-args persp-after-load-state-functions message "[persp-mode] Error: Can not load perspectives from savelist: %s\n loaded from %s" nil set-persp-file names-regexp persp-names] 7]) (defalias 'persp-list-persp-names-in-file #[(fname) "\205V\306!\205V\307\310\311\"r q\210\312\216\313 \210\314\315\211\211\311%\210eb\210\316p!+\317\320\n\"\211G\321U\203< \211A\242\202C\322\323\324 GD\" \242\f\203Q\f !\202U\325\326\",\207" [fname #1=#:temp-buffer pslist #2=#:--cl-rest-- fun s-list file-exists-p generate-new-buffer " *temp*" t #[nil "\301!\205 \302!\207" [#1# buffer-name kill-buffer] 2] buffer-disable-undo insert-file-contents nil read persp-dispatch-loadf-version persp-names-from-savelist 2 signal wrong-number-of-arguments (fun s-list) message "[persp-mode] Error: Can not list perspective names in file %S."] 7]) #@97 (fn &optional (FNAME persp-auto-save-fname) (PHASH *persp-hash*) NAMES-REGEXP SET-PERSP-FILE) (defalias 'persp-load-state-from-file #[(&rest #1=#:--cl-rest--) "\203\f\211A\242\202 \203\211A\242\202 \211A\242\211A\242\2037\306\307\310\311G\\D\"\210\n\205\212\312\n!\206E\313!\314\n!P\315!\204\\\316\317\"\210\320\202\211\321\322\323\"rq\210\324\216\325 \210\326\320\211\211\323%\210eb\210\327p!+\330\f %)),\207" [#1# persp-auto-save-fname fname *persp-hash* phash names-regexp signal wrong-number-of-arguments persp-load-state-from-file 4 file-name-directory expand-file-name file-name-nondirectory file-exists-p message "[persp-mode] Error: No such file -- %S." nil generate-new-buffer " *temp*" t #[nil "\301!\205 \302!\207" [#2=#:temp-buffer buffer-name kill-buffer] 2] buffer-disable-undo insert-file-contents read persps-from-savelist set-persp-file persp-save-dir p-save-file #2# readed-list] 6 (#$ . 160477) (list (read-file-name "Load perspectives from a file: " persp-save-dir))]) #@75 (fn &optional (FNAME persp-auto-save-fname) (PHASH *persp-hash*) NAMES) (defalias 'persp-load-from-file-by-names #[(&rest #1=#:--cl-rest--) "\203\f\211A\242\202 \203\211A\242\202 \211A\242\2030\306\307\310\311G\\D\"\210 \204Y\312\n!\206>\313!\314\n!P\315!\316\317\320\321\322\321\211\321\323& * \205j\324 !\325\n\f\322$)+\207" [#1# persp-auto-save-fname fname *persp-hash* phash names signal wrong-number-of-arguments persp-load-from-file-by-names 3 file-name-directory expand-file-name file-name-nondirectory persp-list-persp-names-in-file persp-read-persp "to load" reverse nil t push regexp-opt persp-load-state-from-file persp-save-dir p-save-file available-names names-regexp] 10 (#$ . 161528) (list (read-file-name "Load a subset of perspectives from a file: " persp-save-dir))]) (provide 'persp-mode)