;ELC ;;; compiled by jwz@thalidomide on Tue Apr 5 01:00:28 1994 ;;; from file /th/jwz/emacs19/lisp/packages/compile.el ;;; emacs version 19.10 Lucid (beta11). ;;; bytecomp version 2.23; 22-dec-93. ;;; 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 "This file was compiled for Emacs 19.")) (defvar compilation-mode-hook nil "\ *List of hook functions run by `compilation-mode' (see `run-hooks').") (defconst compilation-window-height nil "\ *Number of lines in a compilation window. If nil, use Emacs default.") (defvar compilation-error-list nil "\ List of error message descriptors for visiting erring functions. Each error descriptor is a cons (or nil). Its car is a marker pointing to an error message. If its cdr is a marker, it points to the text of the line the message is about. If its cdr is a cons, that cons's car is a cons (DIRECTORY . FILE), specifying the file the message is about, and its cdr is the number of the line the message is about. Or its cdr may be nil if that error is not interesting. The value may be t instead of a list; this means that the buffer of error messages should be reparsed the next time the list of errors is wanted. Some other commands (like `diff') use this list to control the error message tracking facilites; if you change its structure, you should make sure you also change those packages. Perhaps it is better not to change it at all.") (defvar compilation-old-error-list nil "\ Value of `compilation-error-list' after errors were parsed.") (defvar compilation-parse-errors-function 'compilation-parse-errors "\ Function to call to parse error messages from a compilation. It takes args LIMIT-SEARCH and FIND-AT-LEAST. If LIMIT-SEARCH is non-nil, don't bother parsing past that location. If FIND-AT-LEAST is non-nil, don't bother parsing after finding that many new erros. It should read in the source files which have errors and set `compilation-error-list' to a list with an element for each error message found. See that variable for more info.") (defvar compilation-buffer-name-function nil "\ Function to compute the name of a compilation buffer. The function receives one argument, the name of the major mode of the compilation buffer. It should return a string. nil means compute the name with `(concat \"*\" (downcase major-mode) \"*\")'.") (defvar compilation-finish-function nil "\ *Function to call when a compilation process finishes. It is called with two arguments: the compilation buffer, and a string describing how the process finished.") (defvar compilation-last-buffer nil "\ The most recent compilation buffer. A buffer becomes most recent when its compilation is started or when it is used with \\[next-error] or \\[compile-goto-error].") (defvar compilation-in-progress nil "\ List of compilation processes now running.") (byte-code " B" [compilation-in-progress minor-mode-alist (compilation-in-progress " Compiling")] 2) (defvar compilation-parsing-end nil "\ Position of end of buffer when last error messages were parsed.") (defvar compilation-error-message "No more errors" "\ Message to print when no more matches are found.") (defvar compilation-error-regexp-alist '(("\n\\([^:( \n]+\\)[:(][ ]*\\([0-9]+\\)[:) ]" 1 2) ("[ :]\\([^:( \n]+\\)[:(](+[ ]*\\([0-9]+\\))[:) ]*$" 1 2) ("([ ]*\\([^:( \n]+\\)[:(][ ]*\\([0-9]+\\))" 1 2) ("\n\\(Error on \\)?[Ll]ine[ ]+\\([0-9]+\\)[ ]+of[ ]+\"?\\([^\"\n]+\\)\"?:" 3 2) ("\n[A-Z], \\([^(]*\\)(\\([0-9]+\\),[ ]*\\([0-9]+\\)" 1 2 3) ("\"\\([^,\" \n ]+\\)\", lines? \\([0-9]+\\)[:.,-]" 1 2) ("rror: \\([^,\" \n ]+\\), line \\([0-9]+\\):" 1 2) ("in line \\([0-9]+\\) of file \\([^ \n]+[^. \n]\\)\\.? " 2 1)) "\ Alist that specifies how to match errors in compiler output. Each element has the form (REGEXP FILE-IDX LINE-IDX [COL-IDX]). If REGEXP matches, the FILE-IDX'th subexpression gives the file name, and the LINE-IDX'th subexpression gives the line number. COL-IDX'th subexpression gives the column number of the error. COL-IDX is optional, and if not present, beginning of line is used.") (defvar grep-regexp-alist '(("^\\([^:( \n]+\\)[:( ]+\\([0-9]+\\)[:) ]" 1 2)) "\ Regexp used to match grep hits. See `compilation-error-regexp-alist'.") (defvar compilation-search-path '(nil) "\ *List of directories to search for source files named in error messages. Elements should be directory names, not file names of directories. nil as an element means to try the default directory.") (defvar compile-command "make -k " "\ Last shell command used to do a compilation; default for next compilation. Sometimes it is useful for files to supply local values for this variable. You might also use mode hooks to specify it in certain modes, like this: (setq c-mode-hook '(lambda () (or (file-exists-p \"makefile\") (file-exists-p \"Makefile\") (progn (make-local-variable 'compile-command) (setq compile-command (concat \"make -k \" buffer-file-name))))))") (defconst compilation-enter-directory-regexp ": Entering directory `\\(.*\\)'$" "\ Regular expression matching lines that indicate a new current directory. This must contain one \\(, \\) pair around the directory name. The default value matches lines printed by the `-w' option of GNU Make.") (defconst compilation-leave-directory-regexp ": Leaving directory `\\(.*\\)'$" "\ Regular expression matching lines that indicate restoring current directory. This may contain one \\(, \\) pair around the name of the directory being moved from. If it does not, the last directory entered (by a line matching `compilation-enter-directory-regexp') is assumed. The default value matches lines printed by the `-w' option of GNU Make.") (defvar compilation-directory-stack nil "\ Stack of previous directories for `compilation-leave-directory-regexp'. The head element is the directory the compilation was started in.") (byte-code "!!‡" [boundp compile-history nil grep-history] 2) (fset 'compile #[(command) "É\" \"" [command compile-command save-some-buffers nil compile-internal "No more errors"] 3 "\ Compile the program including the current buffer. Default: run `make'. Runs COMMAND, a shell command, in a separate process asynchronously with output going to the buffer `*compilation*'. You can then use the command \\[next-error] to find the next error message and move to the source code that caused it. To run more than one compilation at once, start one and rename the `*compilation*' buffer to some other name with \\[rename-buffer]. Then start the next one. The name used for the buffer is actually whatever is returned by the function in `compilation-buffer-name-function', so you can set that to a function that generates a unique name." (byte-code "\n#C" [read-string "Compile command: " compile-command compile-history] 4)]) (fset 'grep #[(command-args) " P%" [compile-internal command-args " /dev/null" "No more grep hits" "grep" nil grep-regexp-alist] 6 "\ Run grep, with user-specified args, and collect output in a buffer. While grep runs asynchronously, you can use the \\[next-error] command to find the text that grep hits refer to. This command uses a special history list for its arguments, so you can easily repeat a grep command." (byte-code "#C" [read-shell-command "Run grep (like this): " "grep -n " grep-history] 4)]) (fset 'compile-internal #[(command error-message &optional name-of-mode parser regexp-alist name-function) "\n \n!!qp!  !=\n\"!Џ \") ) q  ߱!) p=db ! q p!!L!'L!LC(e\"\n* =e\"-! U 0!- Z!**  #66\"6\"6!` 6To visit the source for a line-numbered error, move point to the error message line and type \\[compile-goto-error], or click on the line with \\[compile-mouse-goto-error]. There is a menu of commands on \\[compile-popup-menu]. To kill the compilation, type \\[kill-compilation]. Runs `compilation-mode-hook' with `run-hooks' (which see)." nil]) (fset 'compilation-setup #[nil "!L!L!L!Lp !̉ " [(": %s") mode-line-process make-local-variable compilation-error-list nil compilation-old-error-list compilation-parsing-end 1 compilation-directory-stack compilation-last-buffer require mode-motion mode-motion-highlight-line mode-motion-hook] 2]) (defvar compilation-minor-mode nil "\ Non-nil when in compilation-minor-mode. In this minor mode, all the error-parsing commands of the Compilation major mode are available.") (byte-code "!\n\nB" [make-variable-buffer-local compilation-minor-mode minor-mode-alist (compilation-minor-mode " Compilation")] 2) (fset 'compilation-minor-mode #[(&optional arg) " ?!V " [arg compilation-minor-mode prefix-numeric-value 0 compilation-setup] 2 "\ Toggle compilation minor mode. With arg, turn compilation mode on if and only if arg is positive. See `compilation-mode'." "P"]) (fset 'compilation-sentinel #[(proc msg) " ! !>\n! \"plj \nˎ\nq d ` bu Ou !!P ! !) Wb\n\", \")" [process-buffer proc buffer process-status (signal exit) buffer-name set-process-buffer nil opoint omax obuf ((set-buffer obuf)) buffer-read-only 10 mode-name " " msg -1 " at " current-time-string 0 19 1 ": " symbol-name mode-line-process delete-process set-buffer-modified-p buffer-modified-p compilation-finish-function delq compilation-in-progress] 4 "\ Sentinel for compilation buffers."]) (fset 'compilation-filter #[(proc string) " !q !b! !`“+" [process-buffer proc nil buffer-read-only process-mark insert-before-markers string] 3 "\ Process filter for compilation buffers. Just inserts the text, but uses `insert-before-markers'."]) (fset 'compile-error-at-point #[nil "`\"\n` @@V As )" [compile-reinitialize-errors nil compilation-old-error-list errors] 4]) (fset 'compilation-next-error #[(n) "p!!p W \n =\nT\n A o[\nV!\n\\8* A Ή# S 8!)@b)" [compilation-buffer-p error "Not in a compilation buffer." compilation-last-buffer compile-error-at-point errors n 0 compilation-old-error-list e i "Moved back past first error" compilation-error-list compile-reinitialize-errors nil "Moved past last error"] 5 "\ Move point to the next error in the compilation buffer. Does NOT find the source line like \\[next-error]." "p"]) (fset 'compilation-previous-error #[(n) " [!" [compilation-next-error n] 2 "\ Move point to the previous error in the compilation buffer. Does NOT find the source line like \\[next-error]." "p"]) (byte-code "MN>\"#MN>\"#" [compilation-error-filedata #[(data) "A!!@" [data markerp marker-buffer] 2] byte-optimizer (nil byte-compile-inline-expand) error "%s already has a byte-optimizer, can't make it inline" put byte-compile-inline-expand compilation-error-filedata-file-name #[(filedata) " ! ! @" [bufferp filedata buffer-file-name] 2]] 4) (fset 'compilation-next-file #[(n) "p!!p WƉ !`\"! [`@@WAp V@A!!@) !!@)\"Ɖ#)!!@)\"@A!!@)A SG !Ɖ#)@@b+" [compilation-buffer-p error "Not in a compilation buffer." compilation-last-buffer n 0 nil filedata errors reversed compile-error-at-point "Moved past last error" compile-reinitialize-errors reverse compilation-old-error-list data markerp marker-buffer "%s the first erring file" bufferp buffer-file-name compilation-error-list 2 "%s is the last erring file" "This is the first erring file" 1] 6 "\ Move point to the next error for a different file than the current one." "p"]) (fset 'compilation-previous-file #[(n) " [!" [compilation-next-file n] 2 "\ Move point to the previous error for a different file than the current one." "p"]) (fset 'kill-compilation #[nil "  ! !!!)" [compilation-find-buffer buffer get-buffer-process interrupt-process error "The compilation process is not running."] 3 "\ Kill the process made by the \\[compile] command." nil]) (fset 'compile-reinitialize-errors #[(argp &optional limit-search find-at-least) "q = :  V? GY?!\n\n!!)!dWU\"  ))" [compilation-last-buffer compilation-error-list t argp compilation-forget-errors 1 compilation-parsing-end limit-search find-at-least get-buffer-window w select-window switch-to-buffer set-buffer-modified-p nil at-start compilation-parse-errors-function compilation-old-error-list] 4]) (fset 'compile-goto-error #[(&optional argp) "p!!p `\"y`@@VAp ! q!" [compilation-buffer-p error "Not in a compilation buffer." compilation-last-buffer compile-reinitialize-errors argp 0 compilation-old-error-list compilation-error-list one-window-p other-window -1 next-error 1] 4 "\ Visit the source for the error message point is on. Use this command in a compilation log buffer. \\[universal-argument] as a prefix arg means to reparse the buffer's error messages first; other kinds of prefix arguments are ignored." "P"]) (fset 'compile-mouse-goto-error #[(event) " !y " [mouse-set-point event 0 compile-goto-error] 2 "\ Visit the source for the error under the mouse. Use this command in a compilation log buffer." "e"]) (byte-code "MM" [compilation-buffer-p #[(buffer) "\n!" [compilation-error-list buffer-local-variables buffer] 3] compilation-find-buffer #[(&optional other-buffer) "p!p\n\n!\np=\n  @! @p= Ak @p!!p!)" [other-buffer compilation-buffer-p compilation-last-buffer buffer-name buffer-list buffers message "This is the only compilation buffer." error "No compilation started!"] 3]] 2) (fset 'next-error #[(&optional argp) "  :? !WǪ !S# :ĉ q !V !S\n !S    \n= T  A n[ V! \\ + @ !V!! A\nAA!A@A@@#   @A: @A@ @@ĉ @ġ A V AA@A8q~!ySu @A:@A@@AA@AA@Z@A8=W[$$y@`)%S%`Z^u)@ +A-*A!?\n @y)\n\n@AA\nA\nn@!!@!!!!A!!Ab`A!U~Ab-@!!//@\"/@\"," [compilation-find-buffer compilation-last-buffer compile-reinitialize-errors argp nil prefix-numeric-value 1 0 next-error next-errors compilation-error-list compilation-old-error-list e i n error "Moved back past first error" "Moved past last error" markerp fileinfo compilation-find-file buffer 2 column last-line errors goto-line point-marker col lines this selective-display t re-search-backward "[\n ]" end re-search-forward eol get-buffer-window marker-buffer select-window other-window -1 switch-to-buffer marker-position pop-up-windows display-buffer w set-window-point set-window-start] 6 "\ Visit next compilation error message and corresponding source code. This operates on the output from the \\[compile] command. If all preparsed error messages have been processed, the error message buffer is checked for new ones. A prefix arg specifies how many error messages to move; negative means move back to previous error messages. Just C-u as a prefix means reparse the error message buffer and start at the first error. \\[next-error] normally applies to the most recent compilation started, but as long as you are in the middle of parsing errors from one compilation output buffer, you stay with that compilation output buffer. Use \\[next-error] in a compilation output buffer to switch to processing errors from that compilation. See variables `compilation-parse-errors-function' and `compilation-error-regexp-alist' for customization ideas." "P"]) (fset 'previous-error #[(&optional argp) " ª [ !" [next-error argp -1] 2 "\ \\[next-error] backwards." "P"]) (byte-code " #MM" [define-key ctl-x-map "`" next-error compilation-find-file #[(filename dir marker) "  @\"\n!\n! Ac  !!\"\"*\"$!\n!\n!P\n!\n!+" [compilation-search-path nil name result dirs expand-file-name filename dir file-exists-p find-file-noselect t pop-up-windows display-buffer marker-buffer marker w set-window-point set-window-start read-file-name format "Find this error in: (default %s) " file-directory-p file-name-as-directory] 7] compilation-forget-errors #[nil "@@‰ A! A‰)Ad‰" [compilation-old-error-list next-error nil markerp compilation-error-list compilation-directory-stack] 4]] 4) (fset 'count-regexp-groupings #[(regexp) " G W H T U Wj HUc To UX WS H T UGT@," [0 regexp nil c i len groupings 91 93 92 41] 5 "\ Return the number of \\( ... \\) groupings in REGEXP (a string)."]) (fset 'compilation-parse-errors #[(limit-search find-at-least) "! \n   boyu#ܰ   !\\\\ !\\\\\n! \nT  @A@\\ @8\\ @8\"\"\\)FB @@!\\\\ A D#!\"F #F  \\ \\{!!**$*,B,*!*#)'  \\,.// \\{!!**$*..@*.A.p).A,@..#*'\n#  @@ A q  @ !Ĕ# A@ A@{B 8 8}eb 2!p!+ 8 8 8}eb!p!)789:y 987EB