;ELC ;;; compiled by kwzh@hal.gnu.ai.mit.edu on Wed May 17 02:56:06 1995 ;;; from file /gd/gnu/emacs/19.0/lisp/tq.el ;;; emacs version 19.28.91.22. ;;; 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"))) (error "`/gd/gnu/emacs/19.0/lisp/tq.el' was compiled for Emacs 19")) #@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 (#$ . 474)]) (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 (#$ . 1469)]) #@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 (#$ . 1975)]) #@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 (#$ . 2151)]) #@60 Check TQ's buffer for the regexp at the head of the queue. (defalias 'tq-process-buffer #[(tq) "À !qˆÂ ÃU?…cÄ !ƒ;ÅÆ!Èed#ˆe`|ˆÉÊ\"ˆËÌÍÎ !!ÏÐ!Ñ°!)‡ebˆÒÓ !ÊÔ#…ce`{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 " process-name tq-process ", see buffer " 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] 6 (#$ . 2328)]) (provide (quote tq))