;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\302\303\304\305\306DD\307\310\311\312\313\314\315& \207" [require cl-lib custom-declare-variable purpose-message-on-p funcall function #[0 "\300\207" [nil] 1] "If non-nil, `purpose-message' will produce a message.\nToggling this on will cause Purpose to produce some debug messages." :group purpose :type boolean :package-version (window-purpose . "1.2")] 10) #@250 Produce a message if `purpose-message-on-p' is non-nil. The message is produced with the `message' function. In any case, return the formatted string. FORMAT-STRING and ARGS are passed to `message' or `format' as is. (fn FORMAT-STRING &rest ARGS) (defalias 'purpose-message #[385 "\203\n\301\302#\207\301\303#\207" [purpose-message-on-p apply message format] 6 (#$ . 474)]) #@215 Get KEY's value in ALIST. If no such key, return DEFAULT. When setting KEY's value, if the new value is equal to DEFAULT and REMOVE is non-nil, then delete the KEY instead. (fn KEY ALIST &optional DEFAULT REMOVE) (defalias 'purpose-alist-get #[1026 "\236\211\203\n\211A\207\207" [] 6 (#$ . 863)]) #@146 Set VALUE to be the value associated to KEY in ALIST. This doesn't change the original alist, but returns a modified copy. (fn KEY VALUE ALIST) (defalias 'purpose-alist-set #[771 "B\300\"B\207" [purpose-alist-del] 7 (#$ . 1172)]) #@109 Delete KEY from ALIST. This doesn't change the original alist, but returns a modified copy. (fn KEY ALIST) (defalias 'purpose-alist-del #[514 "\300\301\302\"\"\207" [cl-remove-if make-closure #[257 "\300@=\207" [V0] 3 "\n\n(fn ENTRY)"]] 6 (#$ . 1414)]) #@64 Turn a list of lists (SEQ) to one concatenated list. (fn SEQ) (defalias 'purpose-flatten #[257 "\300\301\"\207" [apply append] 4 (#$ . 1677)]) #@248 Combine ALISTS into one alist. If several alists have the same key, the entry from the first alist with that key is used. Example: (purpose-alist-combine '((a . 1) (b . 2)) '((a . 3) (c . 4))) => '((a . 1) (b . 2) (c . 4)) (fn &rest ALISTS) (defalias 'purpose-alist-combine #[128 "\300\211\2031\211@\211\211\203)\211@\301@\"\204\"\302@A#\262A\266\202\202 \210A\266\202\202\210\207" [nil assoc purpose-alist-set] 10 (#$ . 1829)]) #@134 Return only the values of PLIST, as a list. PLIST is a property list. Example: (plist-values '(:foo 1 :bar 2)) -> (1 2) (fn PLIST) (defalias 'purpose-plist-values #[257 "\300\301\211:\203#@\262\302!\203B\262T\262A\262\202\211\237\207" [0 nil cl-oddp] 7 (#$ . 2288)]) #@124 Like `maphash', but return a list the results of calling FUNCTION for each entry in hash-table TABLE. (fn FUNCTION TABLE) (defalias 'purpose--iter-hash #[514 "\300C\301\302\303#\"\210\211\242\207" [nil maphash make-closure #[514 "\301\300\"\301\242B\240\207" [V0 V1] 6 "\n\n(fn KEY VALUE)"]] 8 (#$ . 2581)]) #@39 Return the current call stack frames. (defalias 'purpose--call-stack #[0 "\300\211\301\302!\211\262\203B\262\211T\262\202\303\304\"\207" [nil 5 backtrace-frame cl-remove-if-not car] 6 (#$ . 2901)]) #@70 Like `purpose--call-stack' but is a list of only the function names. (defalias 'purpose--function-stack #[0 "\300\301\302\303 \"!\207" [butlast mapcar cl-second purpose--call-stack] 4 (#$ . 3116)]) (provide 'window-purpose-utils)