;ELC ;;; Compiled ;;; in Emacs version 27.1 ;;; with all optimizations. ;;; This file contains utf-8 non-ASCII characters, ;;; and so cannot be loaded into Emacs 22 or earlier. (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (string-lessp emacs-version "23") (error "`%s' was compiled for Emacs 23 or later" #$)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #@35 Default value of `crm-separator'. (defconst crm-default-separator "[ ]*,[ ]*" (#$ . 408)) #@200 Separator regexp used for separating strings in `completing-read-multiple'. It should be a regexp that does not match the list of completion candidates. The default value is `crm-default-separator'. (defvar crm-separator crm-default-separator (#$ . 507)) #@106 Local keymap for minibuffer multiple input with completion. Analog of `minibuffer-local-completion-map'. (defvar crm-local-completion-map (byte-code "\302 \303 \"\210\304\305\306#\210\304\307\310#\210\304\311\312#\210)\207" [map minibuffer-local-completion-map make-sparse-keymap set-keymap-parent define-key [remap minibuffer-complete] crm-complete [remap minibuffer-complete-word] crm-complete-word [remap minibuffer-completion-help] crm-completion-help] 4) (#$ . 769)) #@126 Local keymap for minibuffer multiple input with exact match completion. Analog of `minibuffer-local-must-match-map' for crm. (defvar crm-local-must-match-map (byte-code "\302 \303 \"\210\304\305\306#\210\304\307\310#\210\304\311\312#\210\304\313\314#\210)\207" [map minibuffer-local-must-match-map make-sparse-keymap set-keymap-parent define-key [remap minibuffer-complete] crm-complete [remap minibuffer-complete-word] crm-complete-word [remap minibuffer-completion-help] crm-completion-help [remap minibuffer-complete-and-exit] crm-complete-and-exit] 4) (#$ . 1254)) #@155 An alist whose elements' cars are strings, or an obarray. This is a table used for completion by `completing-read-multiple' and its supporting functions. (defvar crm-completion-table nil (#$ . 1837)) #@578 Function used by `completing-read-multiple' to compute completion values. The value of STRING is the string to be completed. The value of PREDICATE is a function to filter possible matches, or nil if none. The value of FLAG is used to specify the type of completion operation. A value of nil specifies `try-completion'. A value of t specifies `all-completions'. A value of lambda specifies a test for an exact match. For more information on STRING, PREDICATE, and FLAG, see the Elisp Reference sections on “Programmed Completion” and “Basic Completion Functions”. (defalias 'crm--collection-fn #[(string predicate flag) "\306\307 \n#\203\306\225\202\310\311\n\306# \311\n\"\f %)\207" [beg crm-separator string crm-completion-table predicate flag 0 string-match completion-table-with-context substring] 6 (#$ . 2044)]) #@101 Parse the minibuffer to find the current element. Return the element's boundaries as (START . END). (defalias 'crm--current-element #[nil "\302 \212\303 \304#\203\305\225\202)\212\306 \307\304#\203!\305\224\202\"d*B\207" [bob crm-separator minibuffer-prompt-end re-search-backward t 0 re-search-forward nil] 5 (#$ . 2891)]) #@70 Run BODY with BEG and END bound to the current element's boundaries. (defalias 'crm--completion-command '(macro . #[(beg end &rest body) "\303\304\305B \306BE\nBB\207" [beg end body let* (crm--boundaries (crm--current-element)) ((car crm--boundaries)) ((cdr crm--boundaries))] 5 (#$ . 3230)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put crm--completion-command lisp-indent-function 2 put edebug-form-spec (sexp sexp body)] 5) #@75 Display a list of possible completions of the current minibuffer element. (defalias 'crm-completion-help #[nil "\303 \211@A\304 \n\"\210+\305\207" [crm--boundaries beg end crm--current-element minibuffer-completion-help nil] 4 (#$ . 3686) nil]) #@183 Complete the current element. If no characters can be completed, display a list of possible completions. Return t if the current element is now a valid match; otherwise return nil. (defalias 'crm-complete #[nil "\305 \211@A\306 \n \f$+\207" [crm--boundaries beg end minibuffer-completion-table minibuffer-completion-predicate crm--current-element completion-in-region] 6 (#$ . 3942) nil]) #@121 Complete the current element at most a single word. Like `minibuffer-complete-word' but for `completing-read-multiple'. (defalias 'crm-complete-word #[nil "\305 \211@A\306 \n \f$+\207" [crm--boundaries beg end minibuffer-completion-table minibuffer-completion-predicate crm--current-element completion-in-region--single-word] 6 (#$ . 4343) nil]) #@256 If all of the minibuffer elements are valid completions then exit. All elements in the minibuffer must match. If there is a mismatch, move point to the location of mismatch and do not exit. This function is modeled after `minibuffer-complete-and-exit'. (defalias 'crm-complete-and-exit #[nil "\305\306 b\210\2038\307 \211@ A\310 \305\"\211b\210\311\312\n \313#\210 b\210m,\2048\314\f!\2038\315\225b\210\202\205>\316 )\207" [doexit crm--boundaries beg end crm-separator t minibuffer-prompt-end crm--current-element copy-marker nil completion-complete-and-exit #[nil "\301\211\207" [doexit t] 2] looking-at 0 exit-minibuffer] 5 (#$ . 4700) nil]) #@207 Completion string chooser for `completing-read-multiple'. This is called from `choose-completion-string-functions'. It replaces the string that is currently being completed, without exiting the minibuffer. (defalias 'crm--choose-completion-string #[(choice buffer base-position &rest ignored) "\305\306\307\n \f#\210*\305\207" [choose-completion-string-functions completion-no-auto-exit choice buffer base-position t nil choose-completion-string] 4 (#$ . 5368)]) #@789 Read multiple strings in the minibuffer, with completion. The arguments are the same as those of `completing-read'. \ Input multiple strings by separating each one with a string that matches the regexp `crm-separator'. For example, if the separator regexp is ",", entering "alice,bob,eve" specifies the strings "alice", "bob", and "eve". We refer to contiguous strings of non-separator-characters as "elements". In this example there are three elements. Completion is available on a per-element basis. For example, if the contents of the minibuffer are "alice,bob,eve" and point is between "l" and "i", pressing \[minibuffer-complete] operates on the element "alice". This function returns a list of the strings that were read, with empty strings removed. (defalias 'completing-read-multiple #[(prompt table &optional predicate require-match initial-input hist def inherit-input-method) "\306\216\307\310\311\"\210\312  \313=?\205   \203 \202\"\314\315&\203R\316\230\203R:\203N@\202P\317\313#.\207" [minibuffer-completion-table predicate minibuffer-completion-predicate require-match minibuffer-completion-confirm table #[nil "\300\301\302\"\207" [remove-hook choose-completion-string-functions crm--choose-completion-string] 3] add-hook choose-completion-string-functions crm--choose-completion-string crm--collection-fn t read-from-minibuffer nil "" split-string crm-completion-table crm-local-must-match-map crm-local-completion-map map prompt initial-input hist def inherit-input-method input crm-separator] 8 (#$ . 5840)]) (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#\210\312\313!\207" [defalias crm-minibuffer-complete crm-complete nil make-obsolete "23.1" crm-minibuffer-completion-help crm-completion-help crm-minibuffer-complete-and-exit crm-complete-and-exit provide crm] 4)