%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/emacs-lisp/ |
Current File : //usr/local/share/emacs/27.2/lisp/emacs-lisp/tq.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #@11 (fn TQ) (defalias 'tq-queue #[257 "\211@\207" [] 2 (#$ . 408)]) #@11 (fn TQ) (defalias 'tq-process #[257 "\211A@\207" [] 2 (#$ . 480)]) #@11 (fn TQ) (defalias 'tq-buffer #[257 "\211AA\207" [] 2 (#$ . 555)]) #@11 (fn TQ) (defalias 'tq-queue-head-question #[257 "\300!@@\207" [tq-queue] 3 (#$ . 629)]) #@11 (fn TQ) (defalias 'tq-queue-head-regexp #[257 "\300!@A@\207" [tq-queue] 3 (#$ . 726)]) #@11 (fn TQ) (defalias 'tq-queue-head-closure #[257 "\300!@AA@\207" [tq-queue] 3 (#$ . 822)]) #@11 (fn TQ) (defalias 'tq-queue-head-fn #[257 "\300!@AAA\207" [tq-queue] 3 (#$ . 920)]) #@11 (fn TQ) (defalias 'tq-queue-empty #[257 "\300!?\207" [tq-queue] 3 (#$ . 1013)]) #@250 Create and return a transaction queue communicating with PROCESS. PROCESS should be a subprocess capable of sending and receiving streams of bytes. It may be a local process, or it may be connected to a tcp server on another machine. (fn PROCESS) (defalias 'tq-create #[257 "\300\301\302\303!P!BB\304\305!!\210\306\307\310\311\312\313!\314\"\315\316%\"\210\211\207" [nil generate-new-buffer " tq-temp-" process-name buffer-disable-undo tq-buffer set-process-filter make-byte-code 514 "\301\300\"\207" vconcat vector [tq-filter] 5 "\n\n(fn PROC STRING)"] 10 (#$ . 1103)]) #@34 (fn TQ QUESTION RE CLOSURE FN) (defalias 'tq-queue-add #[1285 "\300!BBB\301B\244\240\210\302\207" [tq-queue nil ok] 11 (#$ . 1689)]) #@11 (fn TQ) (defalias 'tq-queue-pop #[257 "\211@A\240\210\300!\3011 \302\303!\"0\202 \210\202 \210\210\211@?\207" [tq-queue-head-question (error) process-send-string tq-process] 5 (#$ . 1837)]) #@627 Add a transaction to transaction queue TQ. This sends the string QUESTION to the process that TQ communicates with. When the corresponding answer comes back, we call FN with two arguments: CLOSURE, which may contain additional data that FN needs, and the answer to the question. REGEXP is a regular expression to match the entire answer; that's how we tell where the answer ends. If DELAY-QUESTION is non-nil, delay sending this question until the process has finished replying to any previous questions. This produces more reliable results with some processes. (fn TQ QUESTION REGEXP CLOSURE FN &optional DELAY-QUESTION) (defalias 'tq-enqueue #[1541 "\211?\206\n \300!?\301?\205 %\210\211\205( \302\303!\"\207" [tq-queue tq-queue-add process-send-string tq-process] 13 (#$ . 2043)]) #@67 Shut down transaction queue TQ, terminating the process. (fn TQ) (defalias 'tq-close #[257 "\300\301!!\210\302\303!!\207" [delete-process tq-process kill-buffer tq-buffer] 4 (#$ . 2855)]) #@78 Append STRING to the TQ's buffer; then process the new data. (fn TQ STRING) (defalias 'tq-filter #[514 "\300!\301!\205 r\211q\210db\210c\210\302!)\207" [tq-buffer buffer-live-p tq-process-buffer] 5 (#$ . 3052)]) #@69 Check TQ's buffer for the regexp at the head of the queue. (fn TQ) (defalias 'tq-process-buffer #[257 "\300!\301!\205u \211q\210\302 \303U?\205u \304!\203= \305\306!\307ed#\210e`|\210\310\311\"\210\312\313\314\315!!\316!#\262\202u eb\210\317\320!\311\321#\205u e`{\322!\323!e`|\210\324!\210\3251g \"0\202o \326\327\330!\"\262\210\331!\266\203\207" [tq-buffer buffer-live-p buffer-size 0 tq-queue-empty generate-new-buffer "*spurious*" copy-to-buffer pop-to-buffer nil error "Spurious communication from process %s, see buffer %s" process-name tq-process buffer-name re-search-forward tq-queue-head-regexp t tq-queue-head-fn tq-queue-head-closure tq-queue-pop (error) message "Error while processing tq callback: %s" error-message-string tq-process-buffer] 10 (#$ . 3276)]) (provide 'tq)