403Webshell
Server IP : 217.160.0.212  /  Your IP : 216.73.216.141
Web Server : Apache
System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64
User : sws1073854427 ( 1073854427)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/share/emacs/28.2/lisp/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/emacs/28.2/lisp/filesets.elc
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.



(defvar filesets-version "1.8.4")
(defvar filesets-homepage "http://members.a1.net/t.link/CompEmacsFilesets.html")
(byte-code "\300\301!\210\300\302!\207" [require cl-lib seq] 2)
#@26 The whole filesets menu.
(defvar filesets-menu-cache nil (#$ . 263))
#@34 Filesets' cached version number.
(defvar filesets-cache-version nil (#$ . 338))
#@31 Filesets' cached system name.
(defvar filesets-cache-hostname nil (#$ . 424))
#@50 A plist containing files and their ingroup data.
(defvar filesets-ingroup-cache nil (#$ . 508))
#@68 List of files already processed when searching for included files.
(defvar filesets-ingroup-files nil (#$ . 610))
#@52 Non-nil means some fileset definition has changed.
(defvar filesets-has-changed-flag t (#$ . 730))
#@46 An association list with filesets menu data.
(defvar filesets-submenus nil (#$ . 835))
#@43 A list of buffers with updated menu bars.
(defvar filesets-updated-buffers nil (#$ . 928))
#@83 Non-nil means use cached data.
See `filesets-menu-ensure-use-cached' for details.
(defvar filesets-menu-use-cached-flag nil (#$ . 1025))
#@41 Non-nil means the cache needs updating.
(defvar filesets-update-cache-file-flag nil (#$ . 1168))
#@76 List of custom variables for which the next `set-default' will be ignored.
(defvar filesets-ignore-next-set-default nil (#$ . 1271))
#@101 Non-nil means the current buffer is an output buffer created by filesets.
Is buffer local variable.
(defvar filesets-output-buffer-flag nil (#$ . 1411))
#@73 An integer defining the level of verbosity.
0 means no messages at all.
(defvar filesets-verbosity 1 (#$ . 1570))
#@762 Make sure (X)Emacs uses filesets' cache.

Well, if you use XEmacs (prior to 21.5?) custom.el is loaded after
init.el.  This means that settings saved in the cache file (see
`filesets-menu-cache-file') will be overwritten by custom.el.  In order
to ensure the use of the cache file, set this variable to t -- which is
the default for XEmacs prior to 21.5.  If you want to change this value
put "(setq filesets-menu-ensure-use-cached VALUE)" into your startup
file -- before loading filesets.el.

So, when should you think about setting this value to t?  If filesets.el
is loaded before user customizations.  Thus, if (require \='filesets)
precedes the `custom-set-variables' command or, for XEmacs, if init.el
is loaded before custom.el, set this variable to t.
(defvar filesets-menu-ensure-use-cached nil (#$ . 1691))
#@129 Remove all elements not conforming to COND-FN from list LST.
COND-FN takes one argument: the current element.

(fn LST COND-FN)
(defalias 'filesets-filter-list #[514 "\300\211\203\211@!\203\211B\262A\266\202\202\210\211\237\207" [nil] 7 (#$ . 2516)])
#@88 Return the tail of LST for the head of which FSOM-PRED is non-nil.

(fn FSOM-PRED LST)
(defalias 'filesets-ormap #[514 "\211\300\203\211\204@!\203\262\202A\262\202\207" [nil] 6 (#$ . 2785)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\210\300\306\307\303#\210\304\306\307\305#\210\300\310\311\303#\210\304\310\311\305#\207" [defalias filesets-some cl-some nil make-obsolete "28.1" filesets-member cl-member filesets-sublist seq-subseq] 4)
#@89 Select one command from CMD-LIST -- a string with space separated names.

(fn CMD-LIST)
(defalias 'filesets-select-command #[257 "\301\302\303#!\211\304\232?\205\305\306GSO!\207" [null-device shell-command-to-string format "which --skip-alias %s 2> %s | head -n 1" "" file-name-nondirectory 0] 6 (#$ . 3254)])
#@29 Call "which CMD".

(fn CMD)
(defalias 'filesets-which-command #[257 "\300\301\302\"!\207" [shell-command-to-string format "which %s"] 5 (#$ . 3576)])
#@73 Call "which CMD" and return non-nil if the command was found.

(fn CMD)
(defalias 'filesets-which-command-p #[257 "\301\302\"\303!\304\305\306#)\266\203\205\211\207" [inhibit-changing-match-data format "\\(/[^/]+\\)?/%s" filesets-which-command nil t string-match] 8 (#$ . 3733)])
#@100 Show a message only if LEVEL is greater or equal then `filesets-verbosity'.

(fn LEVEL &rest ARGS)
(defalias 'filesets-message #[385 "\301!X\205\f\302\303\"\207" [filesets-verbosity abs apply message] 5 (#$ . 4028)])
#@32 Save filesets' customizations.
(defalias 'filesets-save-config #[0 "\300 \207" [customize-save-customized] 1 (#$ . 4255) nil])
#@83 Reset the cached values for one or all filesets.

(fn &optional FILESET NO-CACHE)
(defalias 'filesets-reset-fileset #[512 "\205	\303\304#\305\n\206\211?\211\207" [filesets-submenus filesets-has-changed-flag filesets-update-cache-file-flag lax-plist-put nil t] 6 (#$ . 4388)])
#@53 Set-default wrapper function.

(fn FILESET VAR VAL)
(defalias 'filesets-set-config #[771 "\300!\210\301\"\207" [filesets-reset-fileset customize-set-variable] 6 (#$ . 4679)])
#@346 Set-default wrapper function used in conjunction with `defcustom'.
If SYM is in the list `filesets-ignore-next-set-default', delete
it from that list, and return nil.  Otherwise, set the value of
SYM to VAL and return t.  If INIT-FLAG is non-nil, set with
`custom-initialize-set', otherwise with `set-default'.

(fn SYM VAL &optional INIT-FLAG)
(defalias 'filesets-set-default #[770 "\235\211\203\301\"\202 \203\302\"\210\202 \303\"\210\211?\207" [filesets-ignore-next-set-default delete custom-initialize-set set-default] 7 (#$ . 4864)])
#@86 Call `filesets-set-default' and reset cached data (i.e. rebuild menu).

(fn SYM VAL)
(defalias 'filesets-set-default! #[514 "\300\"\205	\301 \207" [filesets-set-default filesets-reset-fileset] 5 (#$ . 5425)])
#@78 Call `filesets-set-default' and reset filesets' standard menu.

(fn SYM VAL)
(defalias 'filesets-set-default+ #[514 "\301\"\205\n\302\211\207" [filesets-has-changed-flag filesets-set-default t] 5 (#$ . 5643)])
#@52 Set the default for `filesets-data'.

(fn SYM VAL)
(defalias 'filesets-data-set-default #[514 "\203	\301\202(\302\303!\203(\304\305\"\211\211\203&\211@\306@!\210A\266\202\202\266\307\"\207" [filesets-menu-use-cached-flag nil default-boundp filesets-data filesets-filter-list #[257 "\211@A\301\"\211?\206A\232?\207" [filesets-data assoc] 6 "\n\n(fn X)"] filesets-reset-fileset filesets-set-default] 7 (#$ . 5863)])
(byte-code "\300\301\302\303\304\305\306\307\310\311&	\210\312\313\314\315\316DD\317\320\321\322\323&\210\312\324\314\315\325DD\326\320\321\322\327\310\330&	\210\312\331\314\315\332DD\333\320\321\322\334\310\330&	\210\312\335\314\315\336DD\337\320\321\322\340&\210\312\341\314\315\342DD\343\320\344\322\345&\210\312\346\314\315\347DD\350\320\344\322\323&\210\312\351\314\315\352DD\353\320\321\322\354&\210\355\351\356\357#\210\312\360\314\315\361DD\362\320\321\322\363&\210\364\365\366\302#\210\367\211\203\267\211@\365N\203\260\366N\204\260\355\366\365N#\210A\266\202\202\226\210\370\365\366\371#\210\312\366\314\315\372DD\373\320\321\322\374&\210\312\375\314\315\376DD\377\320\321\322\345&\210\312\201@\314\315\201ADD\201B\320\321\322\345&\210\312\201C\314\315\201DDD\201E\320\321\322\201F&\210\312\201G\314\315\201HDD\201I\320\321\322\201F&\210\312\201J\314\315\201KDD\201L\320\321\322\201M&\210\312\201N\314\315\201ODD\201P\320\321\322\201Q&\210\312\201R\314\315\201SDD\201T\320\321\322\201U&\210\312\201V\314\315\201WDD\201X\320\321\322\201Y&\210\312\201Z\314\315\201[DD\201\\\320\321\322\345&\210\312\201]\314\315\201^DD\201_\320\321\322\345&\210\312\201`\314\315\201aDD\201b\320\321\322\345&\210\312\201c\314\315\201dDD\201e\320\321\322\201F&\210\312\201f\314\315\201gDD\201h\320\201i\322\201j&\210\355\201f\356\357#\210\312\201k\314\315\201lDD\201m\320\321\322\201n&\210\355\201k\356\357#\210\312\201o\314\315\201pDD\201q\320\321\322\201r&\210\355\201o\356\357#\210\312\201s\314\315\201tDD\201u\320\201v\322\201w&\210\355\201s\356\357#\210\312\201x\314\315\201yDD\201z\320\321\322\201F&\207" [custom-declare-group filesets nil "The fileset swapper." :prefix "filesets-" :group convenience :version "22.1" custom-declare-variable filesets-menu-name funcall function #[0 "\300\207" ["Filesets"] 1 #1=""] "Filesets' menu name." :set filesets-set-default :type string filesets-menu-path #[0 "\300\207" [("File")] 1 #1#] "The menu under which the filesets menu should be inserted.\nSee `easy-menu-add-item' for documentation." (choice (const :tag "Top Level" nil) (sexp :tag "Menu Path")) "23.1" filesets-menu-before #[0 "\300\207" ["Open File..."] 1 #1#] "The name of a menu before which this menu should be added.\nSee `easy-menu-add-item' for documentation." (choice (string :tag "Name") (const :tag "Last" nil)) filesets-menu-in-menu #[0 "\300\207" [nil] 1 #1#] "Use that instead of `current-menubar' as the menu to change.\nSee `easy-menu-add-item' for documentation." sexp filesets-menu-shortcuts-flag #[0 "\300\207" [t] 1 #1#] "Non-nil means to prepend menus with hopefully unique shortcuts." filesets-set-default! boolean filesets-menu-shortcuts-marker #[0 "\300\207" ["%_"] 1 #1#] "String for marking menu shortcuts." filesets-menu-cache-file #[0 "\300\301!\207" [locate-user-emacs-file "filesets-cache.el"] 2 #1#] "File to be used for saving the filesets menu between sessions.\nSet this to \"\", to disable caching of menus.\nDon't forget to check out `filesets-menu-ensure-use-cached'." file put risky-local-variable t filesets-menu-cache-contents #[0 "\300\207" [(filesets-be-docile-flag filesets-submenus filesets-menu-cache filesets-ingroup-cache)] 1 #1#] "Stuff we want to save in `filesets-menu-cache-file'.\n\nPossible uses: don't save configuration data in the main startup files\nbut in filesets's own cache.  In this case add `filesets-data' to this\nlist.\n\nThere is a second reason for putting `filesets-data' on this list.  If\nyou frequently add and remove buffers on the fly to :files filesets, you\ndon't need to save your customizations if `filesets-data' is being\nmirrored in the cache file.  In this case the version in the cache file\nis the current one, and the version in your startup file will be\nsilently updated later on.\n\nIf you want caching to work properly, at least `filesets-submenus',\n`filesets-menu-cache', and `filesets-ingroup-cache' should be in this\nlist.\n\nDon't forget to check out `filesets-menu-ensure-use-cached'." (repeat (choice :tag "Variable" (const :tag "filesets-submenus" :value filesets-submenus) (const :tag "filesets-menu-cache" :value filesets-menu-cache) (const :tag "filesets-ingroup-cache" :value filesets-ingroup-cache) (const :tag "filesets-data" :value filesets-data) (const :tag "filesets-external-viewers" :value filesets-external-viewers) (const :tag "filesets-ingroup-patterns" :value filesets-ingroup-patterns) (const :tag "filesets-be-docile-flag" :value filesets-be-docile-flag) (sexp :tag "Other" :value nil))) defvaralias filesets-cache-fill-content-hooks filesets-cache-fill-content-hook (saved-value saved-variable-comment) make-obsolete-variable "24.3" #[0 "\300\207" [nil] 1 #1#] "Hook run when writing the contents of filesets' cache file.\n\nThe hook is called with the cache file as current buffer and the cursor\nat the last position.  I.e. each hook has to make sure that the cursor is\nat the last position.\n\nPossible uses: If you don't want to save `filesets-data' in your normal\nconfiguration file, you can add a something like this\n\n	(lambda ()\n	      (insert (format \"(setq-default filesets-data \\='%S)\"\n			      filesets-data))\n	      (newline 2))\n\nto this hook.\n\nDon't forget to check out `filesets-menu-ensure-use-cached'." hook filesets-cache-hostname-flag #[0 "\300\207" [nil] 1 #1#] "Non-nil means cache the hostname.\nIf the current name differs from the cached one,\nrebuild the menu and create a new cache file." filesets-cache-save-often-flag #[0 "\300\207" [nil] 1 #1#] "Non-nil means save buffer on every change of the filesets menu.\nIf this variable is set to nil and if Emacs crashes, the cache and\nfilesets-data could get out of sync.  Set this to t if this happens from\ntime to time or if the fileset cache causes troubles." filesets-max-submenu-length #[0 "\300\207" [25] 1 #1#] "Maximum length of submenus.\nSet this value to 0 to turn menu splitting off.  BTW, parts of submenus\nwill not be rewrapped if their length exceeds this value." integer filesets-max-entry-length #[0 "\300\207" [50] 1 #1#] "Truncate names of split submenus to this length." filesets-browse-dir-function #[0 "\300\207" [dired] 1 #1#] "A function or command used for browsing directories.\nWhen using an external command, \"%s\" will be replaced with the\ndirectory's name.\n\nNote: You have to manually rebuild the menu if you change this value." (choice :tag "Function:" (const :tag "dired" :value dired) (list :tag "Command" :value (#1# "%s") (string :tag "Name") (string :tag "Arguments")) (function :tag "Function" :value nil)) filesets-open-file-function #[0 "\300\207" [filesets-find-or-display-file] 1 #1#] "The function used for opening files.\n\n`filesets-find-or-display-file' ... Filesets' default function for\nvisiting files.  This function checks if an external viewer is defined\nfor a specific file type.  Either this viewer, if defined, or\n`find-file' will be used to visit a file.\n\n`filesets-find-file' ... An alternative function that always uses\n`find-file'.  If `filesets-be-docile-flag' is true, a file, which isn't\nreadable, will not be opened.\n\nCaveat: Changes will take effect only after rebuilding the menu." (choice :tag "Function:" (const :tag "filesets-find-or-display-file" :value filesets-find-or-display-file) (const :tag "filesets-find-file" :value filesets-find-file) (function :tag "Function" :value nil)) filesets-save-buffer-function #[0 "\300\207" [save-buffer] 1 #1#] "The function used to save a buffer.\nCaveat: Changes will take effect after rebuilding the menu." (choice :tag "Function:" (const :tag "save-buffer" :value save-buffer) (function :tag "Function" :value nil)) filesets-find-file-delay #[0 "\300\207" [0] 1 #1#] "Delay before calling `find-file'.\nThis is for calls via `filesets-find-or-display-file'\nor `filesets-find-file'.\n\nSet this to 0, if you don't use XEmacs's buffer tabs." number filesets-be-docile-flag #[0 "\300\207" [nil] 1 #1#] "Non-nil means don't complain if a file or a directory doesn't exist.\nThis is useful if you want to use the same startup files in different\ncomputer environments." filesets-sort-menu-flag #[0 "\300\207" [t] 1 #1#] "Non-nil means sort the filesets menu alphabetically." filesets-sort-case-sensitive-flag #[0 "\300\207" [t] 1 #1#] "Non-nil means sorting of the filesets menu is case sensitive." filesets-tree-max-level #[0 "\300\207" [3] 1 #1#] "Maximum scan depth for directory trees.\nA :tree fileset is defined by a base directory the contents of which\nwill be recursively added to the menu.  `filesets-tree-max-level' tells\nup to which level the directory structure should be scanned/listed,\ni.e. how deep the menu should be.  Try something like\n\n	(\"HOME -- only one level\"\n	 (:tree \"~\" \"^[^.].*[^~]$\")\n	 (:tree-max-level 1)\n	 (:filter-dirs-flag t))\n	(\"HOME -- up to 3 levels\"\n	 (:tree \"~\" \"^[^.].*[^~]$\")\n	 (:tree-max-level 3)\n	 (:filter-dirs-flag t))\n\nand it should become clear what this option is about.  In any case,\nincluding directory trees to the menu can take a lot of memory." filesets-commands #[0 "\300\207" [(("Isearch" multi-isearch-files (filesets-cmd-isearch-getargs)) ("Isearch (regexp)" multi-isearch-files-regexp (filesets-cmd-isearch-getargs)) ("Query Replace" perform-replace (filesets-cmd-query-replace-getargs)) ("Query Replace (regexp)" perform-replace (filesets-cmd-query-replace-regexp-getargs)) ("Grep <<selection>>" "grep" ("-n " filesets-get-quoted-selection " " "<<file-name>>")) ("Run Shell Command" filesets-cmd-shell-command (filesets-cmd-shell-command-getargs)))] 1 #1#] "Commands to run on filesets.\nAn association list of names, functions, and an argument list (or a\nfunction that returns one) to be run on a filesets' files.\n\nThe argument <file-name> or <<file-name>> (quoted) will be replaced with\nthe filename." filesets-set-default+ (repeat :tag "Commands" (list :tag "Definition" :value (#1#) (string "Name") (choice :tag "Command" (string :tag "String") (function :tag "Function")) (repeat :tag "Argument List" (choice :tag "Arguments" (sexp :tag "Sexp" :value nil) (string :tag "File Name" :value "<file-name>") (string :tag "Quoted File Name" :value "<<file-name>>") (function :tag "Function" :value nil))))) filesets-external-viewers #[0 "\300\301\302\303BB\304\305\306BB\307\310\311BB\312\313\314BB\315\316\317BB\257\207" [(".\\..?html?\\'" browse-url ((:ignore-on-open-all t))) ".\\.pdf\\'" "xpdf" (((:ignore-on-open-all t) (:ignore-on-read-text t))) ".\\.e?ps\\(?:\\.gz\\)?\\'" "ggv" (((:ignore-on-open-all t) (:ignore-on-read-text t))) ".\\.dvi\\'" "xdvi" (((:ignore-on-open-all t) (:ignore-on-read-text t))) ".\\.doc\\'" "antiword" (((:capture-output t) (:ignore-on-read-text t))) ".\\.\\(tiff\\|xpm\\|gif\\|pgn\\)\\'" "gqview" (((:ignore-on-open-all t) (:ignore-on-read-text t)))] 8 #1#] "Alist of file patterns and external viewers.\nThis is intended for use with `filesets-find-or-display-file'.\n\nHas the form ((FILE-PATTERN VIEWER PROPERTIES) ...), VIEWER being either a\nfunction or a command name as string.\n\nProperties is an association list determining filesets' behavior in\nseveral conditions.  Choose one from this list:\n\n:ignore-on-open-all ... Don't open files of this type automatically --\ni.e. on open-all-files-events or when running commands\n\n:capture-output ... capture an external viewer output\n\n:constraintp FUNCTION ... use this viewer only if FUNCTION returns non-nil\n\n:open-hook FUNCTIONs ... run FUNCTIONs after spawning the viewer -- mainly\nuseful in conjunction with :capture-output\n\n:args (FORMAT-STRING or SYMBOL or FUNCTION) ... a list of arguments\n(defaults to (list \"%S\")) when using shell commands\n\nAvoid modifying this variable and achieve minor speed-ups by setting the\nvariables my-ps-viewer, my-pdf-viewer, my-dvi-viewer, my-pic-viewer.\n\nIn order to view pdf or rtf files in an Emacs buffer, you could use these:\n\n\n      (\"^.+\\\\.pdf\\\\\\='\" \"pdftotext\"\n       ((:capture-output t)\n	(:args (\"%S - | fmt -w \" window-width))\n	(:ignore-on-read-text t)\n	(:constraintp (lambda ()\n			(and (filesets-which-command-p \"pdftotext\")\n			     (filesets-which-command-p \"fmt\"))))))\n      (\"^.+\\\\.rtf\\\\\\='\" \"rtf2htm\"\n       ((:capture-output t)\n	(:args (\"%S 2> /dev/null | w3m -dump -T text/html\"))\n	(:ignore-on-read-text t)\n	(:constraintp (lambda ()\n			(and (filesets-which-command-p \"rtf2htm\")\n			     (filesets-which-command-p \"w3m\"))))))" (repeat :tag "Viewer" (list :tag "Definition" :value ("^.+\\.suffix$" #1#) (regexp :tag "Pattern") (choice :tag "Viewer" (symbol :tag "Function" :value nil) (string :tag "Program" :value #1#)) (repeat :tag "Properties" (choice (list :tag ":constraintp" :value (:constraintp) (const :format #1# :value :constraintp) (function :tag "Function")) (list :tag ":constraint-flag (obsolete)" :value (:constraint-flag) (const :format #1# :value :constraint-flag) (sexp :tag "Symbol")) (list :tag ":ignore-on-open-all" :value (:ignore-on-open-all t) (const :format #1# :value :ignore-on-open-all) (boolean :tag "Boolean")) (list :tag ":ignore-on-read-text" :value (:ignore-on-read-text t) (const :format #1# :value :ignore-on-read-text) (boolean :tag "Boolean")) (list :tag ":args" :value (:args) (const :format #1# :value :args) (repeat :tag "List" (choice :tag "Arguments" (string :tag "String" :value #1#) (symbol :tag "Symbol" :value nil) (function :tag "Function" :value nil)))) (list :tag ":open-hook" :value (:open-hook) (const :format #1# :value :open-hook) (hook :tag "Hook")) (list :tag ":capture-output" :value (:capture-output t) (const :format #1# :value :capture-output) (boolean :tag "Boolean")))))) filesets-ingroup-patterns #[0 "\300\207" [(("^.+\\.tex$" t (((:name "Package") (:pattern "\\\\usepackage\\W*\\(\\[[^]]*\\]\\W*\\)?{\\W*\\(.+\\)\\W*}") (:match-number 2) (:stub-flag t) (:get-file-name (lambda (master file) (filesets-which-file master (concat file ".sty") (filesets-convert-path-list (or (getenv "MY_TEXINPUTS") (getenv "TEXINPUTS"))))))) ((:name "Include") (:pattern "\\\\include\\W*{\\W*\\(.+\\)\\W*}") (:get-file-name (lambda (master file) (filesets-which-file master (concat file ".tex") (filesets-convert-path-list (or (getenv "MY_TEXINPUTS") (getenv "TEXINPUTS")))))) (:scan-depth 5)) ((:name "Input") (:pattern "\\\\input\\W*{\\W*\\(.+\\)\\W*}") (:stubp (lambda (a b) (not (filesets-files-in-same-directory-p a b)))) (:get-file-name (lambda (master file) (filesets-which-file master (concat file ".tex") (filesets-convert-path-list (or (getenv "MY_TEXINPUTS") (getenv "TEXINPUTS")))))) (:scan-depth 5)) ((:name "Bibliography") (:pattern "\\\\bibliography\\W*{\\W*\\(.+\\)\\W*}") (:get-file-name (lambda (master file) (filesets-which-file master (concat file ".bib") (filesets-convert-path-list (or (getenv "MY_BIBINPUTS") (getenv "BIBINPUTS"))))))))) ("^.+\\.el$" t (((:name "Require") (:pattern "(require\\W+'\\(.+\\))") (:stubp (lambda (a b) (not (filesets-files-in-same-directory-p a b)))) (:get-file-name (lambda (master file) (filesets-which-file master (concat file ".el") load-path)))) ((:name "Load") (:pattern "(load\\(-library\\)?\\W+\"\\(.+\\)\")") (:match-number 2) (:get-file-name (lambda (master file) (filesets-which-file master file load-path)))))) ("^\\([A-ZÄÖÜ][a-zäöüß]+\\([A-ZÄÖÜ][a-zäöüß]+\\)+\\)$" t (((:pattern "\\<\\([A-ZÄÖÜ][a-zäöüß]+\\([A-ZÄÖÜ][a-zäöüß]+\\)+\\)\\>") (:scan-depth 5) (:stubp (lambda (a b) (not (filesets-files-in-same-directory-p a b)))) (:case-sensitive t) (:get-file-name (lambda (master file) (filesets-which-file master file (if (boundp 'emacs-wiki-directories) emacs-wiki-directories nil))))))))] 1 #1#] "Inclusion group definitions.\n\nDefine how to find included file according to a file's mode (being\ndefined by a file pattern).\n\nA valid entry has the form (FILE-PATTERN REMOVE-DUPLICATES-FLAG\nCMD-DEF1 ...), CMD-DEF1 being a plist containing the fields :pattern\n(mandatory), :name, :get-file-name, :match-number, :scan-depth,\n:preprocess, :case-sensitive.\n\nFile Pattern ... A regexp matching the file's name for which the\nfollowing rules should be applied.\n\nRemove Duplicates ... If t, only the first occurrence of an included\nfile is retained.  (See below for a full explanation.)\n\n:name STRING ... This pattern's name.\n\n:pattern REGEXP ... A regexp matching the command.  This regexp has to\ninclude a group that holds the name of the included file.\n\n:get-file-name FUNCTION (default: `filesets-which-file') ... A function\nthat takes two arguments (the path of the master file and the name\nof the included file) and returns a valid path or nil -- if the\nsubfile can't be found.\n\n:match-number INTEGER (default: 1) ... The number of the match/group\nin the pattern holding the subfile's name.  0 refers the whole\nmatch, 1 to the first group.\n\n:stubp FUNCTION ... If (FUNCTION MASTER INCLUDED-FILE) returns non-nil,\nINCLUDED-FILE is a stub -- see below.\n\n:stub-flag ... Files of this type are stubs -- see below.\n\n:scan-depth INTEGER (default: 0) ... Whether included files should be\nrescanned.  Set this to 0 to disable re-scanning of included file.\n\n:preprocess FUNCTION ... A function modifying a buffer holding the\nmaster file so that pattern matching becomes easier.  This is usually\nused to narrow a buffer to the relevant region.  This function could also\nbe destructive and simply delete non-relevant text.\n\n:case-sensitive BOOLEAN (default: nil) ... Whether a pattern is\ncase-sensitive or not.\n\n\nStubs:\n\nFirst, a stub is a file that shows up in the menu but will not be\nincluded in an ingroup's file listing -- i.e. filesets will never\noperate on this file automatically.  Secondly, in opposition to normal\nfiles stubs are not scanned for new inclusion groups.  This is useful if\nyou want to have quick access to library headers.\n\nIn the menu, an asterisk is appended to the stub's name.\n\n\nRemove Duplicates:\n\nE.g. File A and file B refer to file X; X refers to A.  If\nyou choose not to remove duplicates the tree would look like:\n\n    M + A - X - A ...\n        B - X - A ...\n\nAs you can see, there is some chance that you run in circles.\nNevertheless, up to some degree this could still be what you want.\n\nWith duplicates removed, it would be:\n\n    M + A - X\n        B" (repeat :tag "Include" (list :tag "Definition" :value ("^.+\\.suffix$" t) (regexp :tag "File Pattern" :value "^.+\\.suffix$") (boolean :tag "Remove Duplicates" :value t) (repeat :tag "Commands" (repeat :tag "Command" (choice :tag "Definition" (list :tag ":name" :value (:name #1#) (const :format #1# :value :name) (string :tag "String")) (list :tag ":pattern" :value (:pattern "\\<CMD\\W*\\(.+\\)\\>") (const :format #1# :value :pattern) (regexp :tag "RegExp")) (list :tag ":get-file-name" :value (:get-file-name) (const :format #1# :value :get-file-name) (function :tag "Function")) (list :tag ":match-number" :value (:match-number 1) (const :format #1# :value :match-number) (integer :tag "Integer")) (list :tag ":stub-flag" :value (:stub-flag t) (const :format #1# :value :stub-flag) (boolean :tag "Boolean")) (list :tag ":stubp" :value (:stubp) (const :format #1# :value :stubp) (function :tag "Function")) (list :tag ":scan-depth" :value (:scan-depth 0) (const :format #1# :value :scan-depth) (integer :tag "Integer")) (list :tag ":case-sensitive" :value (:case-sensitive) (const :format #1# :value :case-sensitive) (boolean :tag "Boolean")) (list :tag ":preprocess" :value (:preprocess) (const :format #1# :value :preprocess) (function :tag "Function"))))))) filesets-data #[0 "\300\207" [nil] 1 #1#] "Fileset definitions.\n\nA fileset is either a list of files, a file pattern, a base directory\nand a search pattern (for files), or a base file.  Changes to this\nvariable will take effect after rebuilding the menu.\n\nCaveat: Fileset names have to be unique.\n\nExample definition:\n      \\='((\"My Wiki\"\n	 (:ingroup \"~/Etc/My-Wiki/WikiContents\"))\n	(\"My Homepage\"\n	 (:pattern \"~/public_html/\" \"^.+\\\\.html$\")\n	 (:open filesets-find-file))\n	(\"User Configuration\"\n	 (:files \"~/.xinitrc\"\n		 \"~/.bashrc\"\n		 \"~/.bash_profile\"))\n	(\"HOME\"\n	 (:tree \"~\" \"^[^.].*[^~]$\")\n	 (:filter-dirs-flag t)))\n\n`filesets-data' is a list of (NAME-AS-STRING . DEFINITION), DEFINITION\nbeing an association list with the fields:\n\n:files FILE-1 .. FILE-N ... a list of files belonging to a fileset.\n\n:ingroup FILE-NAME ... an inclusion group's base file.\n\n:tree ROOT-DIR PATTERN ... a base directory and a file pattern.\n\n:pattern DIR PATTERN ... a base directory and a regexp matching\n                         files in that directory.  Usually,\n                         PATTERN has the form `^REGEXP$'.  Unlike\n                         :tree, this form does not descend\n                         recursively into subdirectories.\n\n:filter-dirs-flag BOOLEAN ... is only used in conjunction with :tree.\n\n:tree-max-level INTEGER ... recurse into directories this many levels\n(see `filesets-tree-max-level' for a full explanation).\n\n:dormant-flag BOOLEAN ... non-nil means don't show this item in the\nmenu; dormant filesets can still be manipulated via commands available\nfrom the minibuffer -- e.g. `filesets-open', `filesets-close', or\n`filesets-run-cmd'.\n\n:dormant-p FUNCTION ... a function returning :dormant-flag.\n\n:open FUNCTION ... the function used to open file belonging to this\nfileset.  The function takes a file name as argument.\n\n:save FUNCTION ... the function used to save file belonging to this\nfileset; it takes no arguments, but works on the current buffer.\n\nEither :files, :pattern, :tree, or :ingroup must be supplied.  :files\noverrules :tree, :tree overrules :pattern, :pattern overrules :ingroup,\ni.e. these tags are mutually exclusive.  The fields :open and :save are\noptional.\n\nIn conjunction with the :tree tag, :save is void.  :open refers to the\nfunction used for opening files in a directory, not for opening the\ndirectory.  For browsing directories, `filesets-browse-dir-function'\nis used.\n\nBefore using :ingroup, make sure that the file type is already\ndefined in `filesets-ingroup-patterns'." filesets-data-set-default (repeat (cons :tag "Fileset" (string :tag "Name" :value #1#) (repeat :tag "Data" (choice :tag "Type" :value nil (list :tag "Pattern" :value (:pattern "~/" "^.+\\.suffix$") (const :format #1# :value :pattern) (directory :tag "Dir") (regexp :tag "Pattern")) (cons :tag "Files" :value (:files) (const :format #1# :value :files) (repeat :tag "Files" file)) (list :tag "Single File" :value (:file "~/") (const :format #1# :value :file) (file :tag "File")) (list :tag "Inclusion group" :value (:ingroup "~/") (const :format #1# :value :ingroup) (file :tag "File" :value "~/")) (list :tag "Directory Tree" :value (:tree "~/" "^.+\\.suffix$") (const :format #1# :value :tree) (directory :tag "Dir") (regexp :tag "Pattern")) (list :tag "Filter directories" :value (:filter-dirs-flag) (const :format #1# :value :filter-dirs-flag) (boolean :tag "Boolean" :value nil)) (list :tag "Scanning depth" :value (:tree-max-level 3) (const :format #1# :value :tree-max-level) (integer :tag "Integer")) (list :tag "Verbosity" :value (:verbosity 1) (const :format #1# :value :verbosity) (integer :tag "Integer")) (list :tag "Conceal fileset (Flag)" :value (:dormant-flag) (const :format #1# :value :dormant-flag) (boolean :tag "Boolean")) (list :tag "Conceal fileset (Function)" :value (:dormant-p) (const :format #1# :value :dormant-p) (function :tag "Function")) (list :tag "Save function" :value (:save) (const :format #1# :value :save) (function :tag "Function")) (list :tag "Open function" :value (:open) (const :format #1# :value :open) (function :tag "Function")))))) filesets-query-user-limit #[0 "\300\207" [15] 1 #1#] "Query the user before opening a fileset with that many files."] 10)
#@133 Remove non-directory names from a list of strings.
If NEGATIVE is non-nil, remove all directory names.

(fn LST &optional NEGATIVE)
(defalias 'filesets-filter-dir-names #[513 "\300\301\302\"\"\207" [filesets-filter-list make-closure #[257 "\302\303\304\305#)\266\203?\2051\300\203$\306\303\304\305#)\266\203?\207\306\303\304\305#)\266\203\207" [V0 inhibit-changing-match-data "^\\.+/$" nil t string-match "[:/\\]$"] 8 "\n\n(fn X)"]] 7 (#$ . 30280)])
#@212 Return a sorted copy of LST, LST being a list of strings.
If `filesets-sort-menu-flag' is nil, return LST itself.

ACCESS-FN ... function to get the string value of LST's elements.

(fn LST &optional ACCESS-FN)
(defalias 'filesets-conditional-sort #[513 "\203\211\206	\302	\203\303\304\"\202\303\305\"\306\307!\"\207\207" [filesets-sort-menu-flag filesets-sort-case-sensitive-flag identity make-closure #[514 "\300!\300!\231\207" [V0] 5 "\n\n(fn A B)"] #[514 "\300!\226\300!\226\231\207" [V0] 5 "\n\n(fn A B)"] sort copy-sequence] 7 (#$ . 30756)])
#@281 Get WHAT (:files or :dirs) in DIR.
If PATTERN is provided return only those entries matching this
regular expression.
If MATCH-DIRS-FLAG is non-nil, also match directory entries.
Return full path if FULL-FLAG is non-nil.

(fn DIR &optional PATTERN WHAT FULL-FLAG MATCH-DIRS-FLAG)
(defalias 'filesets-directory-files #[1281 "\302\303\304#\210\305!\203\263\306\211\307\310\"\211\203\233\211@\311\306\312\313#)\266\203\204\224\314\306\312\313#)\266\203\203d\203T\203T\306\312\313#)\266\203\203\224\302\315\316$\210\211B\262\202\224\203z\306\312\313#)\266\203\203\224\302\315\317$\210\203\217\320	!P\202\220\211B\262A\266\202\202\210\321\267\202\252\322!\207\322!\207\323\322!\322!\"\207	\203\300\302\324\325#\210\306\207\326\327\"\207" [inhibit-changing-match-data filesets-be-docile-flag filesets-message 2 "Filesets: scanning %S" file-exists-p nil file-name-all-completions "" "^\\.+/$" t string-match "[:/\\]$" 5 "Filesets: matched dir %S with pattern %S" "Filesets: matched file %S with pattern %S" file-name-as-directory #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (:dirs 162 :files 166)) filesets-conditional-sort append 1 "Filesets: %S doesn't exist" error "Filesets: %s does not exist"] 16 (#$ . 31328)])
#@33 Return TXT in quotes.

(fn TXT)
(defalias 'filesets-quote #[257 "\300\300Q\207" ["\""] 4 (#$ . 32658)])
#@70 Get the text between mark and point -- i.e. the selection or region.
(defalias 'filesets-get-selection #[0 "\300 `\203^]{\207\301\302!\207" [mark error "No selection"] 5 (#$ . 32769)])
#@47 Return the currently selected text in quotes.
(defalias 'filesets-get-quoted-selection #[0 "\300\301 !\207" [filesets-quote filesets-get-selection] 2 (#$ . 32967)])
#@50 Create menu shortcuts based on number N.

(fn N)
(defalias 'filesets-get-shortcut #[257 "\301S\302\"\204\303\207\211\304X\203\305!\306P\207\211\307X\203$\310\311\312\\\"\207\211\302X\2050\310\311\313\\\"\207" [filesets-menu-shortcuts-flag mod 51 "" 9 number-to-string " " 35 format "%c " 87 -3] 6 (#$ . 33138)])
#@58 Compare two filenames A and B after expansion.

(fn A B)
(defalias 'filesets-files-equalp #[514 "\300!\300!\232\207" [expand-file-name] 5 (#$ . 33467)])
#@58 Compare two filenames A and B after expansion.

(fn A B)
(defalias 'filesets-files-in-same-directory-p #[514 "\300\301!!\300\301!!\232\207" [file-name-directory expand-file-name] 6 (#$ . 33628)])
#@58 Return a path-list given as STRING as list.

(fn STRING)
(defalias 'filesets-convert-path-list #[257 "\211\205\301\302\303\"\"\207" [path-separator mapcar file-name-as-directory split-string] 6 (#$ . 33834)])
#@105 Search for a FILENAME relative to a MASTER file in PATH-LIST.

(fn MASTER FILENAME &optional PATH-LIST)
(defalias 'filesets-which-file #[770 "\300!P\301!\203\f\207\302\303\304\"\"\207" [file-name-directory file-exists-p cl-some make-closure #[257 "\301!\302!\205\303\304\305#\306\307\310\300#\"\207" [V0 file-name-as-directory file-exists-p filesets-directory-files nil :files cl-some make-closure #[257 "\300\302!\232\205\301P\207" [V0 V1 file-name-nondirectory] 4 "\n\n(fn FILE)"]] 8 "\n\n(fn DIR)"]] 8 (#$ . 34054)])
#@71 Get ENTRY's (representing an external viewer) properties.

(fn ENTRY)
(defalias 'filesets-eviewer-get-props #[257 "\3008\207" [2] 3 (#$ . 34597)])
#@14 

(fn ENTRY)
(defalias 'filesets-eviewer-constraint-p #[257 "\300!\301\236\302\236\203A@ \207\211\203$\303\304A@\"\210\305A@\306\"\207\306\207" [filesets-eviewer-get-props :constraintp :constraint-flag message "Obsolete :constraint-flag %S, use :constraintp instead" eval t] 7 (#$ . 34751)])
#@46 Find an external viewer for FILE.

(fn FILE)
(defalias 'filesets-get-external-viewer #[257 "\301!\302\303\304\"\"\207" [filesets-external-viewers file-name-nondirectory cl-some make-closure #[257 "\211@\300\302\303\304#)\266\203\205\305!\205\211\207" [V0 inhibit-changing-match-data nil t string-match filesets-eviewer-constraint-p] 8 "\n\n(fn ENTRY)"]] 6 (#$ . 35059)])
#@60 Get the external viewer definition called NAME.

(fn NAME)
(defalias 'filesets-get-external-viewer-by-name #[257 "\211\205\301\302\303\"\"\207" [filesets-external-viewers cl-some make-closure #[257 "\211A@\300\230\205\301!\205\211\207" [V0 filesets-eviewer-constraint-p] 3 "\n\n(fn ENTRY)"]] 5 (#$ . 35448)])
#@469 Return non-nil if a file of a specific type has special flags/tags.

Events (corresponding tag):

on-open-all (:ignore-on-open-all) ... Exclude files of this when opening
a fileset

on-grep (:ignore-on-read-text) ... Exclude files of this when running
the "Grep <<selection>>" command

on-capture-output (:capture-output) ... Capture output of an external viewer

on-ls ... Not used

on-cmd ... Not used

on-close-all ... Not used

(fn FILENAME EVENT &optional ENTRY)
(defalias 'filesets-filetype-property #[770 "\300\206\301!!\302\303\267\202!\304\202\"\305\202\"\306\202\"\306\202\"\306\306\307$\207" [filesets-eviewer-get-props filesets-get-external-viewer filesets-alist-get #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (on-open-all 17 on-grep 21 on-cmd 25 on-close-all 29)) :ignore-on-open-all :ignore-on-read-text nil t] 9 (#$ . 35773)])
#@96 Return PROPERTY for filename -- use ENTRY if provided.

(fn PROPERTY FILENAME &optional ENTRY)
(defalias 'filesets-filetype-get-prop #[770 "\300\206\301!!\211\205\302\303\304$\207" [filesets-eviewer-get-props filesets-get-external-viewer filesets-alist-get nil t] 9 (#$ . 36674)])
#@60 Reset a buffer's filename if the buffer is being modified.
(defalias 'filesets-reset-filename-on-change #[0 "\205\301\302\303\"\207" [filesets-output-buffer-flag set-visited-file-name nil t] 3 (#$ . 36969)])
#@163 Start an external viewer for FILE.
Use the viewer defined in EV-ENTRY (a valid element of
`filesets-external-viewers') if provided.

(fn FILE &optional EV-ENTRY)
(defalias 'filesets-spawn-external-viewer #[513 "\302!\206\n\303!\211\203\267\211A@\304\305#\304\306#\304\307#\211\2032\310\311\312\"\313#\2027\314\315\"\262\316!\203J\203J!\202r\316!\203Y!\210\317\202r\203h\320\314\321#!\202r\322\314\323#!\210\317\203\251\324\314\325\n#!\210\211c\210\326\300!\210\327\330\327\"\210\316!\203\233 \210\202\240\331\332\"\210\333\317!\210\327eb\207\316!\203\262 \207\331\332\"\207\334\335!\207" [filesets-output-buffer-flag buffer-read-only expand-file-name filesets-get-external-viewer filesets-filetype-get-prop :capture-output :open-hook :args mapconcat make-closure #[257 "\211;\203\n\301\300\"\207\301\302\303!\203 \202\"\207" [V0 format "%S" functionp] 5 "\n\n(fn THIS)"] "" format "%S" functionp nil shell-command-to-string "%s %s" shell-command "%s %s&" switch-to-buffer "Filesets: %s %s" make-local-variable t set-visited-file-name mapc funcall set-buffer-modified-p error "Filesets: general error when spawning external viewer"] 14 (#$ . 37187)])
#@174 Call `find-file' after a possible delay (see `filesets-find-file-delay').
If `filesets-be-docile-flag' is true, a file, which isn't readable, will
not be opened.

(fn FILE)
(defalias 'filesets-find-file #[257 "\302!\204?\205\303	!\210\304!\207" [filesets-be-docile-flag filesets-find-file-delay file-readable-p sit-for find-file] 3 (#$ . 38415)])
#@96 Visit FILE using an external VIEWER or open it in an Emacs buffer.

(fn &optional FILE VIEWER)
(defalias 'filesets-find-or-display-file #[512 "\206\n\300\301\302\211$\303!\206\304!\305\306\307$\210\211\203#\310\"\207\311!\207" [read-file-name "Find file: " nil filesets-get-external-viewer-by-name filesets-get-external-viewer filesets-message 3 "Filesets: view %S using %s" filesets-spawn-external-viewer filesets-find-file] 9 (#$ . 38775) nil])
#@59 Select a viewer and call `filesets-find-or-display-file'.
(defalias 'filesets-find-file-using #[0 "\301\302\"\303\304\305\306$\211\205\307\305\310\"A@\"\207" [filesets-external-viewers mapcar #[257 "\211A@\300\301\"D\207" [format "%s"] 5 "\n\n(fn THIS)"] completing-read "Using viewer: " nil t filesets-find-or-display-file assoc] 7 (#$ . 39241) nil])
#@80 Get the directory browser's name as defined in `filesets-browse-dir-function'.
(defalias 'filesets-browser-name #[0 "<\203@\207\207" [filesets-browse-dir-function] 1 (#$ . 39607)])
#@60 Browse DIR using `filesets-browse-dir-function'.

(fn DIR)
(defalias 'filesets-browse-dir #[257 "\301!\203\n!\207@\302A@\303!\"\304\305\306\"r\211q\210\307\310\"\216\311\312P\313$*\207" [filesets-browse-dir-function functionp format expand-file-name generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	\302\300!\207" [V0 buffer-name kill-buffer] 2] start-process "Filesets:" "*Filesets external directory browser*"] 9 (#$ . 39799)])
#@51 Get SOMETHING's name (Don't ask).

(fn SOMETHING)
(defalias 'filesets-get-fileset-name #[257 "\211<\203\211@\207\207" [] 2 (#$ . 40262)])
#@63 Access to `filesets-data'.  Get the ENTRY's name.

(fn ENTRY)
(defalias 'filesets-data-get-name #[257 "\211@\207" [] 2 (#$ . 40408)])
#@71 Access to `filesets-data'.  Get the ENTRY's data section.

(fn ENTRY)
(defalias 'filesets-data-get-data #[257 "\211A\207" [] 2 (#$ . 40548)])
#@156 Get KEY's value in the association list ALIST.
Return DEFAULT if not found.  Return (car VALUE) if CARP is non-nil.

(fn ALIST KEY &optional DEFAULT CARP)
(defalias 'filesets-alist-get #[1026 "\300\"\211\203\203\211A@\207\211A\207\203\207\301\207" [assoc nil] 7 (#$ . 40697)])
#@170 Extract the value for KEY in the data part of fileset ENTRY.
Return DEFAULT if not found.  Return (car VALUE) if CARP is non-nil.

(fn ENTRY KEY &optional DEFAULT CARP)
(defalias 'filesets-data-get #[1026 "\300\301!$\207" [filesets-alist-get filesets-data-get-data] 9 (#$ . 40992)])
#@80 Set the VALUE for KEY in the data part of fileset ENTRY.

(fn ENTRY KEY VALUE)
(defalias 'filesets-data-set #[771 "\300!\301\"\211\203\211\241\207BB\241\207" [filesets-data-get-data assoc] 8 (#$ . 41285)])
#@108 Return fileset ENTRY's mode: :files, :file, :tree, :pattern, or :ingroup.
See `filesets-data'.

(fn ENTRY)
(defalias 'filesets-entry-mode #[257 "\300!\301\302\303\"\304\"\207" [filesets-data-get-data cl-some make-closure #[257 "\301\300\"\205\211\207" [V0 assoc] 4 "\n\n(fn X)"] (:files :tree :pattern :ingroup :file)] 6 (#$ . 41508)])
#@146 Get the open-function for FILESET-NAME.
Use FILESET-ENTRY for finding the open function, if provided.

(fn FILESET-NAME &optional FILESET-ENTRY)
(defalias 'filesets-entry-get-open-fn #[513 "\301\206\302!\303\304$\207" [filesets-open-file-function filesets-data-get filesets-get-fileset-from-name :open t] 7 (#$ . 41856)])
#@146 Get the save-function for FILESET-NAME.
Use FILESET-ENTRY for finding the save function, if provided.

(fn FILESET-NAME &optional FILESET-ENTRY)
(defalias 'filesets-entry-get-save-fn #[513 "\301\206\302!\303\304$\207" [filesets-save-buffer-function filesets-data-get filesets-get-fileset-from-name :save t] 7 (#$ . 42190)])
#@50 Get the file list for fileset ENTRY.

(fn ENTRY)
(defalias 'filesets-entry-get-files #[257 "\300\301\"\207" [filesets-data-get :files] 4 (#$ . 42525)])
#@73 Set the file list for fileset ENTRY.

(fn ENTRY DATA &optional ANYWAYS)
(defalias 'filesets-entry-set-files #[770 "\300!\204\211\205\301\302#\207" [filesets-entry-get-files filesets-data-set :files] 8 (#$ . 42684)])
#@52 Get verbosity level for fileset ENTRY.

(fn ENTRY)
(defalias 'filesets-entry-get-verbosity #[257 "\300\301\302\303$\207" [filesets-data-get :verbosity 1 t] 6 (#$ . 42914)])
#@52 Get the single file for fileset ENTRY.

(fn ENTRY)
(defalias 'filesets-entry-get-file #[257 "\300\301\302\303$\207" [filesets-data-get :file nil t] 6 (#$ . 43094)])
#@70 Get the base directory + file pattern for fileset ENTRY.

(fn ENTRY)
(defalias 'filesets-entry-get-pattern #[257 "\300\301\"\207" [filesets-data-get :pattern] 4 (#$ . 43266)])
#@43 Get the file pattern for LIST.

(fn LIST)
(defalias 'filesets-entry-get-pattern--pattern #[257 "\211G\300U\203\f\301@!\207\211A@\207" [1 file-name-nondirectory] 3 (#$ . 43449)])
#@58 Get a file pattern's base directory for LIST.

(fn LIST)
(defalias 'filesets-entry-get-pattern--dir #[257 "\211G\300U\203\f\301@!\207\211@\207" [1 file-name-directory] 3 (#$ . 43635)])
#@53 Get the tree pattern for fileset ENTRY.

(fn ENTRY)
(defalias 'filesets-entry-get-tree #[257 "\300\301\"\207" [filesets-data-get :tree] 4 (#$ . 43828)])
#@49 Get dormant flag for fileset ENTRY.

(fn ENTRY)
(defalias 'filesets-entry-get-dormant-flag #[257 "\300\301\302\303$\211\203
\211 \207\300\304\302\303$\207" [filesets-data-get :dormant-p nil t :dormant-flag] 7 (#$ . 43988)])
#@53 Get filter-dirs-flag for fileset ENTRY.

(fn ENTRY)
(defalias 'filesets-entry-get-filter-dirs-flag #[257 "\300\301\302\303$\207" [filesets-data-get :filter-dirs-flag nil t] 6 (#$ . 44221)])
#@64 Get maximal tree scanning depth for fileset ENTRY.

(fn ENTRY)
(defalias 'filesets-entry-get-tree-max-level #[257 "\300\301\302\303$\207" [filesets-data-get :tree-max-level nil t] 6 (#$ . 44418)])
#@50 Get the base file for fileset ENTRY.

(fn ENTRY)
(defalias 'filesets-entry-get-master #[257 "\300\301\302\303$\207" [filesets-data-get :ingroup nil t] 6 (#$ . 44622)])
#@160 Open FILE-NAME using OPEN-FUNCTION.
If OPEN-FUNCTION is nil, its value will be deduced from FILESET-NAME.

(fn OPEN-FUNCTION FILE-NAME &optional FILESET-NAME)
(defalias 'filesets-file-open #[770 "\206\300!\301!\203\211!\207\302\303\"\207" [filesets-entry-get-open-fn file-readable-p message "Filesets: Couldn't open `%s'"] 7 (#$ . 44798)])
#@219 Close BUFFER.
First, save the buffer's contents using SAVE-FUNCTION.  Then, kill buffer
if `buffer-modified-p' returns nil.

SAVE-FUNCTION takes no argument, but works on the current buffer.

(fn SAVE-FUNCTION BUFFER)
(defalias 'filesets-file-close #[514 "r\211q\210\300 \203\f \210\300 ?\205\301!)\207" [buffer-modified-p kill-buffer] 4 (#$ . 45154)])
#@60 Get fileset definition for NAME.

(fn NAME &optional MODE)
(defalias 'filesets-get-fileset-from-name #[513 "\211\301>\203\207\302\"\207" [filesets-data (:tree :ingroup) assoc] 5 (#$ . 45518)])
#@60 Get `filesets-commands' entry for CMD-NAME.

(fn CMD-NAME)
(defalias 'filesets-cmd-get-def #[257 "\301\"\207" [filesets-commands assoc] 4 (#$ . 45722)])
#@17 

(fn CMD-NAME)
(defalias 'filesets-cmd-get-args #[257 "\300\301\302!\3038\262\"\207" [mapcan #[257 "\2119\203\300!\203\211 \211<\203\207\211C\207\211C\207" [fboundp] 3 "\n\n(fn THIS)"] filesets-cmd-get-def 2] 6 (#$ . 45883)])
#@17 

(fn CMD-NAME)
(defalias 'filesets-cmd-get-fn #[257 "\300!\211A@\207" [filesets-cmd-get-def] 3 (#$ . 46126)])
#@56 Show OUTPUT of CMD (a shell command).

(fn CMD OUTPUT)
(defalias 'filesets-cmd-show-result #[514 "\300\301!\210\302 \210\303c\210c\210\304 \210\211c\210\304 \207" [pop-to-buffer "*Filesets: Shell Command Output*" end-of-buffer "*** " newline] 4 (#$ . 46244)])
#@148 Helper function for `filesets-run-cmd'.  Apply FORMAT-FN to arg.
Replace <file-name> or <<file-name>> with filename.

(fn ARG &optional FORMAT-FN)
(defalias 'filesets-run-cmd--repl-fn #[513 "\211\300\267\202\301 \202\302\301 !\202!\207" [#s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("<file-name>" 7 "<<file-name>>" 12)) buffer-file-name shell-quote-argument] 5 (#$ . 46512)])
#@90 Run CMD-NAME (see `filesets-commands') on FILESET.

(fn &optional CMD-NAME FILESET MODE)
(defalias 'filesets-run-cmd #[768 "\206\n\303\304\305\306$\206\303\307	\305\306$\205\250\211\205\250\310\232\203&\311\202'\312\203?\313=\2047\314=\203?\315#\202F\315\316!#\211\205\246\317!\320!)\321>\203^\322\"\207\211\203\241\211@\212\214\323!\211\203\230eb\210;\203\212\324\325\326#\326Q\327\330!\"\266\202\2319\203\230\322\331\332\"\"\210\210*A\266\202\202_\305\262\266\202\266\202\207" [filesets-commands filesets-data filesets--files completing-read "Select command: " nil t "Select fileset: " "Grep <<selection>>" on-grep on-cmd :ingroup :tree filesets-get-filelist filesets-get-fileset-from-name filesets-cmd-get-fn filesets-cmd-get-args (multi-isearch-files multi-isearch-files-regexp) apply filesets-find-file mapconcat #[257 "\300\301\"\207" [filesets-run-cmd--repl-fn #[257 "\300\301\"\207" [format "%s"] 4 "\n\n(fn THIS)"]] 4 "\n\n(fn THIS)"] " " filesets-cmd-show-result shell-command-to-string mapcan #[257 "\300\301\"\207" [filesets-run-cmd--repl-fn list] 4 "\n\n(fn THIS)"]] 18 (#$ . 46946) nil])
#@31 Create filesets command menu.
(defalias 'filesets-get-cmd-menu #[0 "\301\302\303\"B\207" [filesets-commands "+ Commands" mapcar #[257 "\211@\300\301D\"\207" [vector filesets-run-cmd] 6 "\n\n(fn THIS)"]] 4 (#$ . 48112)])
#@63 Get arguments for `query-replace' and `query-replace-regexp'.
(defalias 'filesets-cmd-query-replace-getargs #[0 "\301\302\303\304#\211@A@\304\303\3058\303\257\207" [multi-query-replace-map query-replace-read-args "Filesets query replace" nil t 2] 8 (#$ . 48341)])
#@63 Get arguments for `query-replace' and `query-replace-regexp'.
(defalias 'filesets-cmd-query-replace-regexp-getargs #[0 "\301\302\303\211#\211@A@\303\211\3048\305\257\207" [multi-query-replace-map query-replace-read-args "Filesets query replace" t 2 nil] 8 (#$ . 48615)])
#@75 Get arguments for `multi-isearch-files' and `multi-isearch-files-regexp'.
(defalias 'filesets-cmd-isearch-getargs #[0 "\301\300!\205C\207" [filesets--files boundp] 2 (#$ . 48896)])
#@49 Get arguments for `filesets-cmd-shell-command'.
(defalias 'filesets-cmd-shell-command-getargs #[0 "\300\301\302\303#\207" [read-string "Shell command (%s = file): " "%s" shell-command-history] 4 (#$ . 49086)])
#@49 Wrapper function for `shell-command'.

(fn TXT)
(defalias 'filesets-cmd-shell-command #[257 "\300 \203\301\302!\211\203\303 \210\211\262\202\304\211\205.\305\306\307 !\"\310\311\"\210\312\313!\"\262\207" [buffer-modified-p y-or-n-p "Save buffer? " save-buffer t format shell-quote-argument buffer-file-name message "Filesets: %s" filesets-cmd-show-result shell-command-to-string] 7 (#$ . 49302)])
#@121 Get all files for fileset ENTRY.
Assume MODE (see `filesets-entry-mode'), if provided.

(fn ENTRY &optional MODE EVENT)
(defalias 'filesets-get-filelist #[769 "\206\301!\211\302\267\202s\303!\202t\304!C\202t\305;\203$\202'\306!!\211\307!B\262\202t\310!\211@A@\311!\206B\312\313\n%\266\204\202t\314!\211\203i\315!\316!\317\320\321$\266\202\202n\322\323\"\262\202t\324\325\326\327\"\"\207" [filesets-tree-max-level filesets-entry-mode #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (:files 13 :file 19 :ingroup 26 :tree 50 :pattern 81)) filesets-entry-get-files filesets-entry-get-file expand-file-name filesets-entry-get-master filesets-ingroup-cache-get filesets-entry-get-tree filesets-entry-get-tree-max-level filesets-files-under 0 filesets-entry-get-pattern filesets-entry-get-pattern--dir filesets-entry-get-pattern--pattern filesets-directory-files :files t error "Filesets: malformed entry: %s" nil filesets-filter-list make-closure #[257 "\301\300\"?\207" [V0 filesets-filetype-property] 4 "\n\n(fn FILE)"]] 14 (#$ . 49719)])
#@320 Files under DIR that match PATT.
LEVEL is the current level under DIR.
DEPTH is the maximal tree scanning depth for ENTRY.
ENTRY is a fileset.
DIR is a directory.
PATT is a regexp that included file names must match.
RELATIVEP non-nil means use relative file names.

(fn LEVEL DEPTH ENTRY DIR PATT &optional RELATIVEP)
(defalias 'filesets-files-under #[1541 "\300U\204\fW\2058\301!\302\303?\304\n!%\305!\305\306\307\310\311\312
&\"#\313\"\266\203\207" [0 file-name-as-directory filesets-directory-files nil filesets-entry-get-filter-dirs-flag filesets-filter-dir-names apply append mapcar make-closure #[257 "\305!\304P\306\300T\301\302\303%\207" [V0 V1 V2 V3 V4 file-name-as-directory filesets-files-under] 9 "\n\n(fn SUBDIR)"] t] 21 (#$ . 50843)])
#@128 Open the fileset called NAME.
Use LOOKUP-NAME for searching additional data if provided.

(fn &optional MODE NAME LOOKUP-NAME)
(defalias 'filesets-open #[768 "\206\n\302\303\304\305$\306\"\203\306!\202\211\206 \307!\203Y\310\311#\211G\312\304\"	X\204@\313\314\315\n#!\203U\211\203S\211@\316\"\210A\266\202\202A\304\207\317\320!\207\321\322\"\207" [filesets-data filesets-query-user-limit completing-read "Open fileset: " nil t filesets-get-fileset-from-name filesets-entry-mode filesets-get-filelist on-open-all filesets-entry-get-open-fn y-or-n-p format "Filesets: Open all %d files in %s? " filesets-file-open message "Filesets: canceled" error "Filesets: Unknown fileset: %s"] 15 (#$ . 51627) nil])
#@156 Close all buffers belonging to the fileset called NAME.
Use LOOKUP-NAME for deducing the save-function, if provided.

(fn &optional MODE NAME LOOKUP-NAME)
(defalias 'filesets-close #[768 "\206\n\301\302\303\304$\305\"\203\305!\202\211\206 \306!\203J\307\310#\311\303\"\211\203H\211@\312!\211\203@\313\"\210\210A\266\202\202.\303\207\314\315\"\207" [filesets-data completing-read "Close fileset: " nil t filesets-get-fileset-from-name filesets-entry-mode filesets-get-filelist on-close-all filesets-entry-get-save-fn get-file-buffer filesets-file-close error "Filesets: Unknown fileset: %s"] 15 (#$ . 52367) nil])
#@137 Add BUFFER (or current buffer) to the fileset called NAME.
If no fileset name is provided, prompt for NAME.

(fn &optional NAME BUFFER)
(defalias 'filesets-add-buffer #[512 "\211\206p\206\301\302\303\"\304#\305\"\206>\306\307\310\"!\205>\211\311D\211\235\2030\266\2025\211B\210\312\313\314!\"\210@\211\205{\315!\316!\317\320\321$\211\203Y\312\322#\207\323!\324=\203s\203s\325B\326#\210\327\300#\207\312\330#\266\203\207" [filesets-data completing-read format-message "Add `%s' to fileset: " nil assoc y-or-n-p format "Fileset %s does not exist.  Create it?" (:files) message substitute-command-keys "Fileset %s created.  Call `\\[filesets-save-config]' to save." filesets-entry-get-files buffer-file-name cl-member :test filesets-files-equalp "Filesets: `%s' is already in `%s'" filesets-entry-mode :files filesets-entry-set-files t filesets-set-config "Filesets: Can't add `%s' to fileset `%s'"] 12 (#$ . 53015) nil])
#@142 Remove BUFFER (or current buffer) from the fileset called NAME.
If no fileset name is provided, prompt for NAME.

(fn &optional NAME BUFFER)
(defalias 'filesets-remove-buffer #[512 "\211\206p\206\301\302\303\"\304\305$\306\"\211\205M\307!\310!\311\312\313$\203E\203E\211\203E\314\315@\"BC\241\210\316\300#\207\317\320#\266\203\207" [filesets-data completing-read format-message "Remove `%s' from fileset: " nil t assoc filesets-entry-get-files buffer-file-name cl-member :test filesets-files-equalp :files delete filesets-set-config message "Filesets: Can't remove `%s' from fileset `%s'"] 13 (#$ . 53983) nil])
#@64 Change fileset NAME's mode from :pattern to :files.

(fn NAME)
(defalias 'filesets-convert-patterns #[257 "\301\"\211\205 \302!\303\304\"\205\305\306#\210\307\300#\266\202\207" [filesets-data assoc filesets-entry-get-pattern filesets-get-filelist :pattern filesets-entry-set-files t filesets-set-config] 8 (#$ . 54630) nil])
#@28 Customize `filesets-data'.
(defalias 'filesets-edit #[0 "\300\301!\207" [customize-variable filesets-data] 2 (#$ . 54973) nil])
#@31 Customize the filesets group.
(defalias 'filesets-customize #[0 "\300\301!\207" [customize-group filesets] 2 (#$ . 55107) nil])
#@41 Display filesets's version information.
(defalias 'filesets-info #[0 "\301\302\303\"!\205\304 \207" [filesets-version y-or-n-p format "Filesets v%s: visit homepage? " filesets-goto-homepage] 4 (#$ . 55241) nil])
#@26 Show filesets's website.
(defalias 'filesets-goto-homepage #[0 "\301!\207" [filesets-homepage browse-url] 2 (#$ . 55462) nil])
#@75 Remake a submenu's shortcut when wrapping long menus.

(fn COUNT SUBMENU)
(defalias 'filesets-remake-shortcut #[514 "\300!\301\234\302\303OP<\203\211AB\207\304\305\306\303\"A@D\"\207" [filesets-get-shortcut 0 2 nil apply vector append] 9 (#$ . 55596)])
#@41 Split long submenus.

(fn SUBMENU-BODY)
(defalias 'filesets-wrap-submenu #[257 "\211G\303U\204\211X\203\207\304\305\306!\245!\307\303\211V\204\264\203\264\310\211\\	Y\2056\211\262#\211\203\243\311G\307U\203X	\203T\312@\"C\202\240\202\240\313!\314\211\203\210\211@\303\234A\204n\314\202o\315P	\203|\316\304O\202}P\262\210\211A\262\202]\210\211G\nV\203\231\211\303\nO\317P\202\232\211\262PBC\"\262\210A\262T\262\211\\\262\202\266\207" [filesets-max-submenu-length filesets-menu-shortcuts-flag filesets-max-entry-length 0 nil ceiling float 1 seq-subseq append filesets-remake-shortcut filesets-get-shortcut "" ", " 2 " ..."] 18 (#$ . 55863)])
#@256 Get submenu epilog for SOMETHING (usually a fileset).
If mode is :tree or :ingroup, SOMETHING is some weird construct and
LOOKUP-NAME is used as lookup name for retrieving fileset specific settings.

(fn SOMETHING &optional MODE LOOKUP-NAME REBUILD-FLAG)
(defalias 'filesets-get-menu-epilog #[1025 "\300\267\202\301\302\303\304\305D\305	D\305DF\"\302\306\307\310\305\nD\305\nDF\"\302\311\312\313 \"\314\305\n@DD\"\205B\302\315\316\305	DD\"CBBBB\207\301\302\303\304\305D\305	D\305DF\"\302\306\307\310\305\nD\305\nDF\"\205u\302\315\316\305DD\"CBBB\207\301\302\303\304\305D\305	DE\"\302\306\307\310\305\nD\305\nDF\"\302\311\312\313 \"\314\317\320\321\f\322\"!!D\"\205\265\302\315\316\305	DD\"CBBBB\207\301\302\303\304\305D\305	DE\"\302\306\307\310\305\nD\305\nDF\"\302\323\324\305\nD\325BB\"\302\326\327\305D\330BB\"\205\372\302\315\316\305\nDD\"CBBBBB\207\331\332\"\207" [#s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (:tree 6 :ingroup 71 :pattern 121 :files 186)) "---" vector "Close all files" filesets-close quote "Run Command" filesets-run-cmd nil format "Browse with `%s'" filesets-browser-name filesets-browse-dir "Rebuild this submenu" filesets-rebuild-this-submenu filesets-entry-get-pattern--dir filesets-entry-get-pattern filesets-get-fileset-from-name :pattern "Add current buffer" filesets-add-buffer ((current-buffer)) "Remove current buffer" filesets-remove-buffer ((current-buffer)) error "Filesets: malformed definition of %s"] 15 (#$ . 56574)])
#@94 Access to `filesets-ingroup-patterns'.  Extract data section.

(fn MASTER POS &optional FUN)
(defalias 'filesets-ingroup-get-data #[770 "\301!\206\302\303\304\305$\"\207" [filesets-ingroup-patterns file-name-nondirectory #[514 ";\205\211;\205\301\302\303#)\266\203\207" [inhibit-changing-match-data nil t string-match] 9 "\n\n(fn A B)"] cl-some make-closure #[257 "\302@\301\"\205\3008\207" [V0 V1 V2] 4 "\n\n(fn X)"]] 11 (#$ . 58125)])
#@72 Access to `filesets-ingroup-patterns'.  Extract patterns.

(fn MASTER)
(defalias 'filesets-ingroup-get-pattern #[257 "\300\301\"\207" [filesets-ingroup-get-data 2] 4 (#$ . 58592)])
#@86 Access to `filesets-ingroup-patterns'.  Extract remove-duplicates-flag.

(fn MASTER)
(defalias 'filesets-ingroup-get-remdupl-p #[257 "\300\301\"\207" [filesets-ingroup-get-data 1] 4 (#$ . 58780)])
#@96 Helper function for `filesets-ingroup-collect'.  Find pattern PATT.

(fn PATT CASE-SENSITIVEP)
(defalias 'filesets-ingroup-collect-finder #[514 "\211?\301\302\303#)\207" [case-fold-search re-search-forward nil t] 6 (#$ . 58984)])
#@50 Access to `filesets-ingroup-cache'.

(fn MASTER)
(defalias 'filesets-ingroup-cache-get #[257 "\301\"\207" [filesets-ingroup-cache lax-plist-get] 4 (#$ . 59222)])
#@55 Access to `filesets-ingroup-cache'.

(fn MASTER FILE)
(defalias 'filesets-ingroup-cache-put #[514 "\301!\205\f\302!B\303#\211\207" [filesets-ingroup-cache expand-file-name filesets-ingroup-cache-get lax-plist-put] 8 (#$ . 59392)])
#@115 Helper function for `filesets-ingroup-collect'.  Collect file names.

(fn FS &optional REMDUPL-FLAG MASTER DEPTH)
(defalias 'filesets-ingroup-collect-files #[1025 "\206\301!\206\302!\303\304\"\210\305\306\307#\210\310!\311\304\203'\211\203%\211@\312\313\304\314$\312\315\316\314$\312\317\304\314$\312\320\321\314$\206L\312\322\311\314$\312\323\304\314$\312\324\325\314$\312\326\304\314$\312	\327\304\314$\304\211\n\204y\330\331
\"\266\f\202\311W\204\332\333\314\"r\211q\210\334\335\"\216\336!\210eb\210	\203\236	 \210\337\f\"\203\340	!\"\211\203\375\211\235\204\375\203\311\341\342\343$\204\375?\205\336\203\335\"?\202\336\314T\262B\262B\211\203\367\303\"\210B\262\210\266\202\236*\210\211\203
\344\334\345
%\237\"\244\262\266A\266\202\202#\207\305\306\346#\207" [filesets-ingroup-files filesets-entry-get-master filesets-ingroup-get-remdupl-p filesets-ingroup-cache-put nil filesets-message 2 "Filesets: parsing %S" filesets-ingroup-get-pattern 0 filesets-alist-get :pattern t :name "" :preprocess :match-number 1 :scan-depth :case-sensitive :get-file-name filesets-which-file :stubp :stub-flag error "Filesets: malformed :ingroup definition %s" generate-new-buffer " *temp*" make-closure #[0 "\301\300!\205	\302\300!\207" [V0 buffer-name kill-buffer] 2] insert-file-contents filesets-ingroup-collect-finder match-string cl-member :test filesets-files-equalp mapcar #[257 "\211\302D\304\300\301\303S$B\207" [V0 V1 V2 V3 filesets-ingroup-collect-files] 7 "\n\n(fn THIS)"] "Filesets: no patterns defined for %S"] 30 (#$ . 59639)])
#@190 Helper function for `filesets-ingroup-collect'.  Build the menu.
FS is a fileset's name.  FLIST is a list returned by
`filesets-ingroup-collect-files'.

(fn FS FLIST &optional OTHER-COUNT)
(defalias 'filesets-ingroup-collect-build-menu #[770 "\205\300C\301\302\303%\"\266\202\207" [0 mapcan make-closure #[257 "\302\211\242T\240\210\211<\203\211@\202\211\304D<\205A@A@\305\301\203(\203-\302\242\202.\301!\2039\304\232\203=\304\202A\306\307\"\310!Q\203\210\211\311\312\310!P\313\314\315D\315\303DF\"\316\311\317\320\315\nD\315\303DF\"\316\321\322C\323\324\325\300#\f\"\262\326\n\327\303#\"BBBBBC\207\311\317\320\315D\315\303DF\"C\207" [V0 V1 V2 V3 "" filesets-get-shortcut format "%s: " file-name-nondirectory vector "Inclusion Group: " filesets-open ':ingroup quote "---" filesets-file-open nil append 0 mapcar make-closure #[257 "\301\211\242T\240\210\302\300C\301\242#\211G\303U\203\211@\207\207" [V0 V1 filesets-ingroup-collect-build-menu 1] 5 "\n\n(fn THIS)"] filesets-get-menu-epilog :ingroup] 18 "\n\n(fn THIS)"]] 12 (#$ . 61291)])
#@81 Collect names of included files and build submenu.

(fn FS REMDUPL-FLAG MASTER)
(defalias 'filesets-ingroup-collect #[771 "\300\301\"\210\302\303\304#\210\305\306#\"\207" [filesets-ingroup-cache-put nil filesets-message 2 "Filesets: parsing %S" filesets-ingroup-collect-build-menu filesets-ingroup-collect-files] 9 (#$ . 62388)])
#@68 Build a :ingroup submenu for file MASTER.

(fn LOOKUP-NAME MASTER)
(defalias 'filesets-build-ingroup-submenu #[514 "\302!\203\303!C\304#\207	\203\305\306\"\210\307\207\310\306\"\207" [filesets-ingroup-files filesets-be-docile-flag file-readable-p filesets-ingroup-get-remdupl-p filesets-ingroup-collect message "Filesets: can't parse %s" nil error] 7 (#$ . 62730)])
#@122 Helper function for `filesets-build-dir-submenu'.

(fn LEVEL DEPTH ENTRY LOOKUP-NAME DIR PATT FD &optional REBUILD-FLAG)
(defalias 'filesets-build-dir-submenu-now #[2055 "\300U\204W\205\206\301!\302\303\n\300U\203\202)\304\301\305\306!!!PP\307\310\311	DD\nF\"\312B\313\314\211%\315!\300C\316\317\320
\n&	\"\315\321\"\316\317\322\n$\"\323\324\323\"!\325D\310$#\266\210\207" [0 file-name-as-directory vector "Tree: " ".../" file-name-nondirectory directory-file-name filesets-open :tree quote ("---") filesets-directory-files nil filesets-filter-dir-names mapcar make-closure #[257 "\307\211\242T\240\210\310!\306P\311\300T\301\302\303\304\305&\312\307\242!P\203%\211B\207\313\314D\"\207" [V0 V1 V2 V3 V4 V5 V6 V7 file-name-as-directory filesets-build-dir-submenu-now filesets-get-shortcut vector filesets-browse-dir] 11 "\n\n(fn X)"] t #[257 "\302\211\242T\240\210\303\304\302\242!P\305\306\307\301PD\307\300DF\"\207" [V0 V1 V2 vector filesets-get-shortcut filesets-file-open nil quote] 8 "\n\n(fn X)"] append filesets-wrap-submenu filesets-get-menu-epilog] 24 (#$ . 63116)])
#@157 Build a `:tree' submenu named LOOKUP-NAME.
It has base directory DIR including all files matching PATT for
filesets ENTRY.

(fn ENTRY LOOKUP-NAME DIR PATT)
(defalias 'filesets-build-dir-submenu #[1028 "\301!\302!\206\n\303\304\305&\207" [filesets-tree-max-level filesets-entry-get-filter-dirs-flag filesets-entry-get-tree-max-level filesets-build-dir-submenu-now 0 t] 15 (#$ . 64272)])
#@119 Build submenu for the fileset ENTRY named LOOKUP-NAME.
Construct a shortcut from COUNT.

(fn COUNT LOOKUP-NAME ENTRY)
(defalias 'filesets-build-submenu #[771 "\206\301!\302\303\"\210\304!\305!\306!P\307=\2035\310!\311\312\313\314D\314\nDF\"\262\202\211\315\267\202\f\316\317#\320!\321\322\323B\"\324C\311\325\n\fE\"\326\327\330\331\332\333#	\"!\334

\335$\"BB\266\204\202
\336!\311\337\340!P\325\314D\314D\314DF\"\326\311\312\313\314D\314
DF\"\326\327\330\341\f\"!\334\f\335$\"BBBB\262\202
\342!\211@A@\343		$\266\203\202
\316\344#\324C\311\345P\325\314	D\314DE\"\326\327\330\331\332\346
#\347\340\"\"!\334
\335$\"BB\266\202\202
\313B)\207" [filesets-verbosity filesets-data-get-name message "Filesets: %s" filesets-entry-mode filesets-entry-get-verbosity filesets-get-shortcut :file filesets-entry-get-file vector filesets-file-open nil quote #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (:pattern 60 :ingroup 119 :tree 187 :files 209)) filesets-get-filelist on-ls filesets-entry-get-pattern apply concat "Pattern: " 0 filesets-open "---" append filesets-wrap-submenu mapcar make-closure #[257 "\301\211\242T\240\210\302\303\301\242!\304!P\305\306\307D\307\300DF\"\207" [V0 V1 vector filesets-get-shortcut file-name-nondirectory filesets-file-open nil quote] 8 "\n\n(fn X)"] filesets-get-menu-epilog t filesets-entry-get-master "Inclusion Group: " file-name-nondirectory filesets-build-ingroup-submenu filesets-entry-get-tree filesets-build-dir-submenu on-open-all "Files: " #[257 "\301\211\242T\240\210\302\303\301\242!\304!P\305\306\307D\307\300DF\"\207" [V0 V1 vector filesets-get-shortcut file-name-nondirectory filesets-file-open nil quote] 8 "\n\n(fn X)"] filesets-conditional-sort] 21 (#$ . 64681)])
#@86 BUFFER or current buffer require update of the filesets menu.

(fn &optional BUFFER)
(defalias 'filesets-remove-from-ubl #[256 "\211\206p\211\235\205\301\"\211\207" [filesets-updated-buffers delete] 5 (#$ . 66530)])
#@176 Update the filesets menu.
Build all new if FROM-SCRATCH-FLAG is non-nil.  (To really build from the
bottom up, set `filesets-submenus' to nil, first.)

(fn FROM-SCRATCH-FLAG)
(defalias 'filesets-build-menu-now #[257 "\211\204\f\204\f	\204\\\306\211\306\307\310\f\311\"\312\203R@\313!\314
\"\211\206/\315#\2049\316
#\317!\204E\320	C\"\266A\262\211T\262\202\266\203\\\321 \210p\211\n\235?\205\204\322\206l\323 \324B\325\326 \327	BBBB$\210\211\nB\211\207" [filesets-has-changed-flag filesets-menu-cache filesets-updated-buffers filesets-update-cache-file-flag filesets-data filesets-submenus nil t filesets-conditional-sort car 1 filesets-data-get-name lax-plist-get filesets-build-submenu lax-plist-put filesets-entry-get-dormant-flag append filesets-menu-cache-file-save-maybe easy-menu-add-item current-global-map "menu-bar" ("# Filesets" ["Edit Filesets" filesets-edit] ["Save Filesets" filesets-save-config] ["Save Menu Cache" filesets-menu-cache-file-save] ["Rebuild Menu" filesets-build-menu] ["Customize" filesets-customize] ["About" filesets-info]) filesets-get-cmd-menu "---" filesets-cache-save-often-flag filesets-menu-in-menu filesets-menu-path filesets-menu-name filesets-menu-before] 12 (#$ . 66761)])
#@27 Update the filesets menu.
(defalias 'filesets-build-menu-maybe #[0 "\300\301!\207" [filesets-build-menu-now nil] 2 (#$ . 68028) nil])
#@37 Force rebuild of the filesets menu.
(defalias 'filesets-build-menu #[0 "\300 \210\301\302!\210\303 \207" [filesets-reset-fileset filesets-build-menu-now t filesets-menu-cache-file-save-maybe] 2 (#$ . 68168) nil])
#@49 Force rebuild of FILESET submenu.

(fn FILESET)
(defalias 'filesets-rebuild-this-submenu #[257 "\300!\210\301\302!\207" [filesets-reset-fileset filesets-build-menu-now t] 3 (#$ . 68387)])
#@171 Write filesets' cache file.
If SIMPLY-DO-IT is non-nil, the cache file will be written no matter if
fileset thinks this is necessary or not.

(fn &optional SIMPLY-DO-IT)
(defalias 'filesets-menu-cache-file-save-maybe #[256 "\306\232?\205\216\211\204	\205\216\307!\203\310!\210\311\312\313\"r\211q\210\314\315\"\216\n\211\203d\211@\211\316N\203O\317\320\321\313\"#c\210\203Y\322 \210\317\323\324\324$c\210\202Y\317\325\321\313\"#c\210\322\326!\210A\266\202\202'\210\317\327\f\"c\210\322\326!\210
\203~\317\330\331 \"c\210\322\326!\210\332\333!\210\334!\210*\210\335\211\211\207" [filesets-menu-cache-file filesets-update-cache-file-flag filesets-menu-cache-contents filesets-menu-ensure-use-cached filesets-version filesets-cache-hostname-flag "" file-exists-p delete-file generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	\302\300!\207" [V0 buffer-name kill-buffer] 2] custom-type format "(setq-default %s '%S)" eval newline "(setq %s (cons '%s %s))" filesets-ignore-next-set-default "(setq %s '%S)" 2 "(setq filesets-cache-version %S)" "(setq filesets-cache-hostname %S)" system-name run-hooks filesets-cache-fill-content-hook write-file nil filesets-has-changed-flag] 11 (#$ . 68583)])
#@33 Save filesets' menu cache file.
(defalias 'filesets-menu-cache-file-save #[0 "\300\301!\207" [filesets-menu-cache-file-save-maybe t] 2 (#$ . 69819) nil])
#@68 Rebuild the menu and save the cache file after updating user data.
(defalias 'filesets-update-cleanup #[0 "\302\303	\206\304#\210\305 \210\306 \210\307 \207" [filesets-version filesets-cache-version message "Filesets v%s: updating menu & cache from version %s" "???" filesets-build-menu filesets-menu-cache-file-save-maybe filesets-menu-cache-file-load] 4 (#$ . 69979) nil])
(defalias 'filesets-update-pre010505 #[0 "\302\303!\206	\304\305!\210c\210\306\307\310\"!\203\311!\210\312!\207" [custom-file user-init-file format-message "Filesets: manual editing of user data required!\n\nFilesets has detected that you were using an older version before,\nwhich requires some manual updating.  Type `y' for editing the startup\nfile now.\n\nThe layout of `filesets-data' has changed.  Please delete your cache file\nand edit your startup file as shown below:\n\n1. `filesets-data': Edit all :pattern filesets in your startup file and\ntransform all entries as shown in this example:\n\n	(\"Test\" (:pattern \"~/dir/^pattern$\"))\n	--> (\"Test\" (:pattern \"~/dir/\" \"^pattern$\"))\n\n2. `filesets-data': Change all occurrences of \":document\" to \":ingroup\":\n\n      ((\"Test\" (:document \"~/dir/file\"))\n      --> ((\"Test\" (:ingroup \"~/dir/file\"))\n\n3. `filesets-subdocument-patterns': If you already modified the variable\npreviously called `filesets-subdocument-patterns', change its name to\n`filesets-ingroup-patterns'.\n\n4. `filesets-menu-cache-contents': If you already modified this\nvariable, change the entry `filesets-subdocument--cache' to\n`filesets-ingroup-cache'.\n\n5. Type M-x filesets-update-cleanup and restart Emacs.\n\nWe apologize for the inconvenience." switch-to-buffer-other-frame "*Filesets update*" y-or-n-p format "Edit startup (%s) file now? " find-file-other-window error] 6])
#@66 Do some cleanup after updating filesets.el.

(fn CACHED-VERSION)
(defalias 'filesets-update #[257 "\211\203\211\300\231\204\301\302!\203\303 \210\304 \207" ["1.5.5" boundp filesets-subdocument-patterns filesets-update-pre010505 filesets-update-cleanup] 3 (#$ . 71811)])
#@33 Load filesets' menu cache file.
(defalias 'filesets-menu-cache-file-load #[0 "\306\232\204-\307!\203-\310!\210	\n\232\203)\203!\f\311 \232\202\"\312\203)\313\312\207\314	!\207\312\313\207" [filesets-menu-cache-file filesets-cache-version filesets-version filesets-cache-hostname-flag filesets-cache-hostname filesets-update-cache-file-flag "" file-readable-p load-file system-name t nil filesets-update] 2 (#$ . 72093)])
(defalias 'filesets-exit #[0 "\300 \207" [filesets-menu-cache-file-save-maybe] 1])
#@98 Filesets initialization.
Set up hooks, load the cache file -- if existing -- and build the menu.
(defalias 'filesets-init #[0 "\302\303\304\"\210\302\305\306\"\210\302\307\310\"\210\302\311\312\"\210\313 \203$\304 \210\205&\314\211\207\315 \207" [filesets-menu-ensure-use-cached filesets-menu-use-cached-flag add-hook menu-bar-update-hook filesets-build-menu-maybe kill-buffer-hook filesets-remove-from-ubl first-change-hook filesets-reset-filename-on-change kill-emacs-hook filesets-exit filesets-menu-cache-file-load t filesets-build-menu] 3 (#$ . 72615)])
#@41 `error' wrapper.

(fn CLASS &rest ARGS)
(defalias 'filesets-error #[385 "\300\301\302\303\304#\"\207" [error "%s" mapconcat identity " "] 8 (#$ . 73184)])
(byte-code "\300\301\302\303#\210\304\305!\207" [make-obsolete filesets-error error "28.1" provide filesets] 4)

Youez - 2016 - github.com/yon3zu
LinuXploit