;ELC ;;; Compiled by leavens@CMC3251632-A on Thu Sep 02 18:47:14 2004 ;;; from file d:/emacs/clu-mode-athena.el ;;; in Emacs version 21.3.1 ;;; with bytecomp version 2.85.4.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.29"))) (error "`clu-mode-athena.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #@38 Syntax table used while in clu mode. (defvar clu-mode-syntax-table nil (#$ . 606)) (byte-code "\204>\302 \303\216\304 \305!\210\306\307\310\"\210\306\311\312\"\210\306\313\314\"\210\306\315\316\"\210\306\317\320\"\210\306\321\322\"\210\306\323\324\"\210\306\325\326\"\210\306\327\330\"\210*\302\207" [clu-mode-syntax-table st syntax-table ((set-syntax-table st)) make-syntax-table set-syntax-table modify-syntax-entry 91 "(] " 93 ")[ " 123 "(} " 125 "){ " 34 "\" " 39 "\" " 95 "w " 37 "< " 10 "> "] 3) #@25 keymap used in clu-mode (defvar clu-mode-map nil (#$ . 1141)) (byte-code "\204\301 \302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210\301\207" [clu-mode-map make-sparse-keymap define-key " " clu-tab " " clu-ret "&" clu-compile " " kill-compilation] 4) #@827 Clu-mode is for editing clu and argus programs. TAB at beginning of line reindents; with prefix-arg all following lines will be reindented; this is unfortunately very slow. RET new-line-and-indent ESC-& run interactive Clu compiler; argus compiler is not supported. ^X` finds next error message ^X^K kills compiler Variables controlling indentation style: clu-indent If nil, turns off automatic language directed indent. Default is t. clu-indent-size Each indentation level offsets text by this much. Default is 4. clu-cluster-indent If nil, turns off indent for cluster and guardian bodies. Default is t. clu-except-offset Extra indentation for line beginning with except-statement. Default is 1. clu-when-offset Extra indentation for line beginning with when-statement. Default is -1. (defalias 'clu-mode #[nil "\306 \210\307!\210\310\311\312 !\210\313\304\314\"\210\f\315\316!\210\317\315\320!\210\321\315\322!\210\323\315\324!\210\314\315\325!\210\326\315\327!\210\330\331!P\332\333!\205S\205S \207" [clu-mode-map mode-name major-mode clu-mode-syntax-table clu-mode-abbrev-table local-abbrev-table kill-all-local-variables use-local-map "Clu" clu-mode set-syntax-table define-abbrev-table nil make-local-variable indent-line-function clu-indent-line comment-start "%" comment-column 40 last-filename name-of-mode "clu-compilation" compile-command "clu " file-name-nondirectory boundp clu-mode-hook buffer-file-name] 3 (#$ . 1428) nil]) #@42 Abbrev table in use in Clu-mode buffers. (defvar clu-mode-abbrev-table nil (#$ . 2937)) #@46 *If non-nil TAB and RET will do fancy things (defvar clu-indent t (#$ . -3031)) #@51 *Each indentation level offsets text by this much (defvar clu-indent-size 4 (#$ . -3117)) #@58 *If nil cluster and guardian bodies will not be indented (defvar clu-cluster-indent t (#$ . -3213)) #@41 *Extra indentation for except-statement (defvar clu-except-offset 1 (#$ . -3319)) #@39 *Extra indentation for when-statement (defvar clu-when-offset -1 (#$ . -3407)) #@49 Expands current word to a template for a module (defalias 'clu-module #[(string) "\302\303 \210`\304\302w\210`{\302\210\305\306 \307Q!\210\310 \210\305\311P!\210)\312\302x\207" [id string nil beginning-of-line "^ $" insert-string " = " " ()\n" clu-indent-line "end " "^("] 4 (#$ . 3492)]) #@72 Indent current line if point is at beginning of line, else insert tab. (defalias 'clu-tab #[(&optional argp) "n\203\204 \302c\207\303 \210 \204\304 \207\305\306!\210\307`!\210`dW\203,\304 \210\310y\210\202\311 b\210\305\312!\207" [clu-indent argp 9 beginning-of-line clu-indent-line message "Reindent started..." set-mark 1 mark "Reindent done..."] 2 (#$ . 3792) "P"]) #@20 Newline and indent (defalias 'clu-ret #[nil "\204\301 \207\301 \210\302 \207" [clu-indent newline clu-indent-line] 1 (#$ . 4176) nil]) #@112 Indent current line as Clu code. Argument means shift any additional lines of grouping rigidly with this line. (defalias 'clu-indent-line #[(&optional whole-exp) "\300 \210\301 j\207" [delete-horizontal-space calculate-clu-indent] 1 (#$ . 4321) "P"]) #@63 Return approprioate indentation for current line as Clu code. (defalias 'calculate-clu-indent #[(&optional parse-start) "\306\211\211\211\212\307 \210`e=\204R\310v\210\311\210`\307 \210\312 g\313U\204\364g\314U\2035\311\210\310u\210\202\356g\315U\203A T\202\356g\316U\203M S\202\356\317\320!\203\213\321\311w\210\317\322!\204\205\317\323!\204\205\317\324!\204\205\317\325!\204\205\317\326!\204\205\f\203\356\317\327!\204\205\317\330!\203\356 T\202\356h\331U\204\227h\332U\203\356\317\333!\204\337\317\334!\204\337\317\335!\204\337\317\336!\204\337\317\337!\204\337\317\340!\204\337\317\341!\204\337\317\342!\204\337\317\343!\204\337\317\344!\204\337\317\345!\204\337\317\346!\203\345 T\202\356\317\347!\203\356 S\350u\210\202 \307 \210\351\311w\210\317\337!\203 Z\202 \317\352!\203 \353Z\202 \317\354!\203  .Z\311\210\350v\210\307 \210\355\306!\210\317\337!\203: \\\202R\317\352!\203G \353\\\202R\317\354!\203R .\\ /_\\-\207" [end-of-line-pos col count1 count clu-cluster-indent clu-except-offset 0 beginning-of-line -1 nil current-indentation 10 37 40 41 looking-at "=[ ]*" "= " "iter" "proc" "equates" "creator" "handler" "cluster" "guardian" 32 9 "for[ \n(]+" "if[ \n(]+" "while" "begin" "except" "tagcase" "enter" "seize" "tagtest" "tagwait" "background" "recover" "end[ \n]+" 1 " " "else" -2 "when" forward-to-indentation clu-when-offset clu-indent-size] 4 (#$ . 4578)]) #@47 Compile the Clu-program in the current buffer (defalias 'clu-compile #[nil "\303\300!\203.\203.\304!\305=\203.\306!p\307\310!\210\311 !\210\312\313 !`\314Z\"\210\311\n!*\207\307\315!\210\205D\212\306!q\210\316 \210)\317\320\"\207" [compilation-process buf cbuf boundp process-status run process-buffer call-interactively clu-command pop-to-buffer set-window-start get-buffer-window 12 compile clu-compilation-mode set-process-filter clu-filter] 4 (#$ . 6039) nil]) #@59 Regular expression for filename-lines and error-msg-lines (defvar clu-regexp "\\(^Compiling[ a-zA-Z0-9/.]+\\)\\|\\(^[0-9]+:\\)\\|\\(^command(s):\\)" (#$ . 6522)) #@56 This gets called with each string the compiler outputs (defalias 'clu-filter #[(proc string) "\300\213\207" [((byte-code "\306!q\210db\210`\307\211\310\f!\210 b\210\311 \307\312#\203p\313\224\313\225\212\313\224b\210\314\315!\203C\316\307w\210\310\317!\210\nb\210\310\320P!\210\202l\314\321!\203Vdb\210\322 \210\323\324!\210\202l\314\325!\203l b\210\326\307x\210`\327\307w\210`{)\202 b\210\311\330\307\312#\203\202\331\332!\210\202s+db\207" [proc save-pos3 save-pos2 save-pos string clu-regexp process-buffer nil insert-string re-search-forward t 0 looking-at "[0-9]+:" "^ " "\n " ", line " "command(s):" ding message "Clu compiler redy to receive new command(s)..." "Compiling" "^ \n" "^ $" " " delete-backward-char 1 last-filename] 4))] 1 (#$ . 6690)]) #@65 This gets called to prompt and get command for running compiler (defalias 'clu-command #[(command) "\302 \303P\"\207" [compilation-process command send-string "\n"] 4 (#$ . 7472) (list (read-input "Clu command(s): " ""))]) (byte-code "\301B\303\301!\204\f\304\302B\303\302!\204\304\n\204+\305 \306\n\307\310#\210\306\n\311\312#\210\304\207" [current-load-list clu-compilation-mode clu-compilation-mode-map boundp nil make-sparse-keymap define-key "&" clu-compilation-go-end " " clu-compilation-command] 4) #@106 string+RET at end of file after the text "command(s):" is interpreted as a command to the clu-compiler (defalias 'clu-compilation-mode #[nil "\303!\210\304\305\211\207" [clu-compilation-mode-map mode-name major-mode use-local-map "clu-compilation" clu-compilation-mode] 2 (#$ . 7998) nil]) #@64 This gets called when RET-key is input to *compilation* buffer (defalias 'clu-compilation-command #[nil "\302\303w\210`d\232\204\304\305!\207\306\303x\210\307`!\210`\310\303w\210`{\311 b\210`d|\210\312 \305P\"\207" [command compilation-process " " nil insert-string "\n" "^:" set-mark "^$" mark send-string] 4 (#$ . 8299) nil]) #@27 This gets called on ESC-& (defalias 'clu-compilation-go-end #[nil "db\207" [] 1 (#$ . 8638) nil])