;ELC   
;;; compiled by rms@mole.gnu.ai.mit.edu on Fri Feb  2 00:05:38 1996
;;; from file /home/fsf/rms/e19/lisp/tq.el
;;; emacs version 19.30.90.5.
;;; bytecomp version FSF 2.10
;;; optimization is on.
;;; this file uses opcodes which do not exist in Emacs 18.

(if (and (boundp 'emacs-version)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`tq.el' was compiled for Emacs 19.29 or later"))


#@236 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.
(defalias 'tq-create #[(process) "À	ÂÃÄ	!P!BBÆ	ÇÈÉÊDËBBE\"ˆ)‡" [nil process generate-new-buffer " tq-temp-" process-name tq set-process-filter lambda (proc string) tq-filter quote (string)] 7 (#$ . 463)])
(defalias 'tq-queue #[(tq) "@‡" [tq] 1])
(defalias 'tq-process #[(tq) "A@‡" [tq] 1])
(defalias 'tq-buffer #[(tq) "AA‡" [tq] 1])
(defalias 'tq-queue-add #[(tq re closure fn) "Á!\n\fBBÅB¤ ˆÆ‡" [tq tq-queue re closure fn nil ok] 5])
(defalias 'tq-queue-head-regexp #[(tq) "À	!@@‡" [tq-queue tq] 2])
(defalias 'tq-queue-head-fn #[(tq) "À	!@AA‡" [tq-queue tq] 2])
(defalias 'tq-queue-head-closure #[(tq) "À	!@A@‡" [tq-queue tq] 2])
(defalias 'tq-queue-empty #[(tq) "À	!?‡" [tq-queue tq] 2])
(defalias 'tq-queue-pop #[(tq) "‰@A ˆ@?‡" [tq] 2])
#@332 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, 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.
(defalias 'tq-enqueue #[(tq question regexp closure fn) "À	\n\f$ˆÅÆ	!\"‡" [tq-queue-add tq regexp closure fn process-send-string tq-process question] 5 (#$ . 1458)])
#@58 Shut down transaction queue TQ, terminating the process.
(defalias 'tq-close #[(tq) "ÀÁ\n!!ˆÃÄ\n!!‡" [delete-process tq-process tq kill-buffer tq-buffer] 3 (#$ . 1964)])
#@62 Append STRING to the TQ's buffer; then process the new data.
(defalias 'tq-filter #[(tq string) "À	!qˆdbˆ\ncˆÃ	!‡" [tq-buffer tq string tq-process-buffer] 2 (#$ . 2140)])
#@60 Check TQ's buffer for the regexp at the head of the queue.
(defalias 'tq-process-buffer #[(tq) "À	!qˆÂ ÃU?…_ Ä	!ƒ7 ÅÆ!Èed#ˆe`|ˆÉÊ\"ˆËÌÍÎ	!!Ï!#)‡ebˆÐÑ	!ÊÒ#…_ e`{e`|ˆÔ	!Õ	!\"ˆÖ	!ˆ×	!)‡" [tq-buffer tq buffer-size 0 tq-queue-empty generate-new-buffer "*spurious*" buf 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 answer tq-queue-head-fn tq-queue-head-closure tq-queue-pop tq-process-buffer] 5 (#$ . 2317)])
(provide (quote tq))
