;ELC ;;; Compiled by leavens@CMC3251632-A on Thu Sep 02 18:47:14 2004 ;;; from file d:/emacs/clu-mode-boaz.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-boaz.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #@38 Syntax table used while in clu mode. (defvar clu-mode-syntax-table nil (#$ . 602)) (byte-code "\204C\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\306\331\332\"\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 ". " 37 "< " 10 "> " 36 ". "] 3) #@25 keymap used in clu-mode (defvar clu-mode-map nil (#$ . 1167)) (byte-code "\204%\301 \302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210\302\313\314#\210\301\207" [clu-mode-map make-sparse-keymap define-key " " clu-tab " " clu-ret "c" clu-compile " " kill-compilation "\211" clu-line-tab] 4) #@817 Clu-sux-mode is for editing clu-sux programs. TAB at beginning of line reindents; with prefix-arg all following lines will be reindented; this is unfortunately very slow since CLU SUCKS. RET new-line-and-indent C-x C runs interactive Clu-sux compiler. ^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\314 !\210\315\304\316\"\210\f\317\320!\210\321\317\322!\210\323\317\324!\210\325\317\326!\210\316\317\327!\210\330\317\331!\210\332\333!P\334\335!\205W\205W \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-Sux" auto-fill-mode 1 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 "compilation" compile-command "clu " file-name-nondirectory boundp clu-mode-hook buffer-file-name] 3 (#$ . 1492) nil]) #@42 Abbrev table in use in Clu-mode buffers. (defvar clu-mode-abbrev-table nil (#$ . 3021)) #@51 *If non-nil TAB and RET will automatically indent (defvar clu-indent t (#$ . -3115)) #@51 *Each indentation level offsets text by this much (defvar clu-indent-size 5 (#$ . -3206)) #@45 *If nil cluster bodies will not be indented (defvar clu-cluster-indent t (#$ . -3302)) #@41 *Extra indentation for except-statement (defvar clu-except-offset 2 (#$ . -3395)) #@39 *Extra indentation for when-statement (defvar clu-when-offset -2 (#$ . -3483)) #@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 (#$ . 3568)]) #@71 Go to beginning of line, indent current line, return cursor to point. (defalias 'clu-line-tab #[(&optional argp) "\204\302c\207\212\303 \210 \204\304 \2022\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 (#$ . 3868) "P"]) #@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 (#$ . 4256) "P"]) #@20 Newline and indent (defalias 'clu-ret #[nil "\204\301 \207\301 \210\302 \207" [clu-indent newline clu-indent-line] 1 (#$ . 4640) 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 (#$ . 4785) "P"]) (defalias 'even #[(number) "\301\302\"\303U\207" [number mod 2 0] 3]) #@62 Return appropriate indentation for current line as Clu code. (defalias 'calculate-clu-indent #[(&optional parse-start) "\306\211\211\211\211\211\212\307 \210`e=\204G\310v\210\311\210`\307 \210\312 g\313U\204\347g\314U\2036 T\202\341g\315U\203BT\202\341g\316U\203]\317!\203]\317 !\203]\311\210\310u\210\202\341g\320U\203i T\202\341g\321U\203u S\202\341\322\323!\203\234\324\311w\210\322\325!\204\226\322\326!\204\226(\203\341\322\327!\203\341 T\202\341h\330U\204\250h\331U\203\341\322\332!\204\322\322\333!\204\322\322\334!\204\322\322\335!\204\322\322\336!\204\322\322\337!\204\322\322\340!\203\330 T\202\341\322\341!\203\341 S\342u\210\202$\307 \210\343\311w\210\322\336!\203\374 )Z\202\322\344!\203  \345Z\202\322\346!\203 *Z\311\210\342v\210\307 \210\347\306!\210\322\336!\203/ )\\\202G\322\344!\203< \345\\\202G\322\346!\203G *\\ +_\\.\207" [double-quote single-quote end-of-line-pos col count1 count 0 beginning-of-line -1 nil current-indentation 10 39 34 37 even 40 41 looking-at "=[ ]*" "= " "iter" "proc" "cluster" 32 9 "for[ \n(]+" "if[ \n(]+" "while" "begin" "except" "tagcase" "tag" "end[ \n]+" 1 " " "else" -2 "when" forward-to-indentation clu-cluster-indent clu-except-offset clu-when-offset clu-indent-size] 6 (#$ . 5113)]) #@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 (#$ . 6442) nil]) #@59 Regular expression for filename-lines and error-msg-lines (defvar clu-regexp "\\(^Compiling[ a-zA-Z0-9/.]+\\)\\|\\(^[0-9]+:\\)\\|\\(^command(s):\\)" (#$ . 6925)) #@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 ready to receive new command(s)..." "Compiling" "^ \n" "^ $" " " delete-backward-char 1 last-filename] 4))] 1 (#$ . 7093)]) #@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 (#$ . 7876) (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 (#$ . 8402) 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 (#$ . 8703) nil]) #@27 This gets called on C-x c (defalias 'clu-compilation-go-end #[nil "db\207" [] 1 (#$ . 9042) nil])