;ELC   
;;; Compiled
;;; in Emacs version 29.4
;;; with all optimizations.



(byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\313\314DD\315\316\317\320\321&\207" [custom-declare-group cookie nil "Random cookies from phrase files." :prefix "cookie-" :group games custom-declare-variable cookie-file funcall function #[0 "\300\207" [nil] 1 ""] "Default phrase file for cookie functions." :type (choice (const nil) file) :version "24.4"] 8)#@49 Delimiter used to separate cookie file entries.
(defconst cookie-delimiter "\n%%\n\\|\n%\n\\| " (#$ . 459))#@55 Cache of cookie files that have already been snarfed.
(defvar cookie-cache (make-vector 511 0) (#$ . 572))#@103 Return either FILE or `cookie-file'.
Signal an error if the result is nil or not readable.

(fn FILE)
(defalias 'cookie-check-file #[257 "\211\206 \211\262\204 \301\302!\210\303!\204 \301\304\"\210\207" [cookie-file user-error "No phrase file specified" file-readable-p "Cannot read file `%s'"] 4 (#$ . 685)])#@284 Return a random phrase from PHRASE-FILE.
When the phrase file is read in, display STARTMSG at the beginning
of load, ENDMSG at the end.
Interactively, PHRASE-FILE defaults to `cookie-file', unless that
is nil or a prefix argument is used.

(fn PHRASE-FILE &optional STARTMSG ENDMSG)
(defalias 'cookie #[769 "\300!\262\301#\302\303!\210\304H\262\305\306!\203 \307\310\"\207\207" [cookie-check-file cookie-snarf nil cookie-shuffle-vector 0 called-interactively-p interactive message "%s"] 8 (#$ . 1008) (byte-code "\204 	\204 \302\303\304	\305	%\202 	\304\211E\207" [current-prefix-arg cookie-file read-file-name "Cookie file: " nil t] 6)])#@201 Insert random phrases from PHRASE-FILE; COUNT of them.
When the phrase file is read in, display STARTMSG at the beginning
of load, ENDMSG at the end.

(fn PHRASE-FILE &optional COUNT STARTMSG ENDMSG)
(defalias 'cookie-insert #[1025 "\300!\262\301#\302!\210`\303c\210\304GS\206 \305^\"\210\303c\210\306`\307#\207" [cookie-check-file cookie-snarf cookie-shuffle-vector 10 cookie1 1 fill-region-as-paragraph nil] 10 (#$ . 1667)])#@56 Insert a cookie phrase ARG times.

(fn ARG COOKIE-VEC)
(defalias 'cookie1 #[514 "\300U\203 \301\207\211Hc\210\302c\210\303S\"\207" [0 t " " cookie1] 5 (#$ . 2111)])#@226 Read the PHRASE-FILE, return it as a vector of strings.
Emit STARTMSG and ENDMSG before and after.  Cache the result; second
and subsequent calls on the same file won't go to disk.

(fn PHRASE-FILE &optional STARTMSG ENDMSG)
(defalias 'cookie-snarf #[769 "\302!\262\303\"\211\203( \304K\305!\3068\262\"\204( \307\310P!\203( \311\262\211\203/ \211J\207\312\"\262\203> \313\314\"\210\211\305!\3068\262M\210\311\315\316\317\"r\211q\210\320\321\"\216\322\323!!\210\324	!\210\325\311w\210m\204{ `\324	!\210\211\326\224{B\262\210\202b *\210\203\206 \313\314\"\210\327\330\"L\207" [cookie-cache cookie-delimiter cookie-check-file intern-soft time-equal-p file-attributes 5 yes-or-no-p " has changed.  Read new contents? " nil intern message "%s" generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] insert-file-contents expand-file-name re-search-forward " 	\n\f" 0 apply vector] 9 (#$ . 2287)])#@253 Prompt with PROMPT and read with completion among cookies in PHRASE-FILE.
STARTMSG and ENDMSG are passed along to `cookie-snarf'.
Argument REQUIRE-MATCH non-nil forces a matching cookie.

(fn PROMPT PHRASE-FILE &optional STARTMSG ENDMSG REQUIRE-MATCH)
(defalias 'cookie-read #[1282 "\301!\262\302\"\204 \303#\210\304\305\"\211\306N\206F \307\303#\211G\211S\211\262\310Y\203? HCB\262\202* \311\306#\266\203\262\307\307\211&\207" [cookie-cache cookie-check-file intern-soft cookie-snarf completing-read intern completion-alist nil 0 put] 15 (#$ . 3270)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias read-cookie cookie-read nil make-obsolete "24.4"] 4)#@89 Randomly permute the elements of VECTOR (all permutations equally likely).

(fn VECTOR)
(defalias 'cookie-shuffle-vector #[257 "\211G\300\211\301\211W\203- \211\302Z!\\\262H\262HI\210I\210\211T\262\202 \210\207" [nil 0 random] 9 (#$ . 3975)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias shuffle-vector cookie-shuffle-vector nil make-obsolete "24.4"] 4)#@338 Return a list of all entries matching REGEXP from PHRASE-FILE.
Interactively, uses `read-regexp' to read REGEXP.
Interactively, PHRASE-FILE defaults to `cookie-file', unless that
is nil or a prefix argument is used.
If called interactively, or if DISPLAY is non-nil, display a list of matches.

(fn REGEXP PHRASE-FILE &optional DISPLAY)
(defalias 'cookie-apropos #[770 "\306!\262\307!\210\310\311	\"\211J\312G\313\211W\203: H\312\314\310$\266\203\2033 HB\262\211T\262\202 \266\211\203F \315\316\"\262\203\233 \211\203\227 \211\nr\317\320!q\210p\321 \210\312\211\310\211\310\322 \210\323\324!+\210\211\203\213 \325@!\210A\262\203s \325\326!\210\202s \327 \210\330!)\266\202\233 \331\332!\210)\207" [case-fold-search cookie-cache default-directory buffer-read-only buffer-file-name buffer-undo-list cookie-check-file cookie t intern nil 0 string-match sort string-lessp get-buffer-create "*Cookie Apropos*" kill-all-local-variables erase-buffer run-hooks temp-buffer-setup-hook princ "\n\n" help-print-return-message internal-temp-output-buffer-show message "No matches found." inhibit-modification-hooks inhibit-read-only standard-output] 17 (#$ . 4374) (byte-code "\302\303!\204 	\204 \304\305\306	\307	%\202 	\307E\207" [current-prefix-arg cookie-file read-regexp "Apropos phrase (regexp): " read-file-name "Cookie file: " nil t] 7)])#@174 Feed cookie phrases from PHRASE-FILE to the doctor.
Interactively, PHRASE-FILE defaults to `cookie-file', unless that
is nil or a prefix argument is used.

(fn PHRASE-FILE)
(defalias 'cookie-doctor #[257 "\300!\262\301 \210\302\303!\210\304\305!\210\306\307!\210\310 ?\205. \311!c\210\306\307!\210\312\313!\210\312\313!\210\202 \207" [cookie-check-file doctor message "" switch-to-buffer "*doctor*" sit-for 0 input-pending-p cookie doctor-ret-or-read 1] 3 (#$ . 5762) (byte-code "\204 	\204 \302\303\304	\305	%\202 	C\207" [current-prefix-arg cookie-file read-file-name "Cookie file: " nil t] 6)])
(provide 'cookie1)
