;ELC ;;; Compiled by cyd@localhost on Mon Apr 23 22:24:57 2007 ;;; from file /home/cyd/emacs/lisp/progmodes/compile.el ;;; in Emacs version 22.0.99 ;;; 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 "`compile.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (custom-declare-group 'compilation nil "Run compiler as inferior of Emacs, parse error messages." :group 'tools :group 'processes) #@75 *List of hook functions run by `compilation-mode' (see `run-mode-hooks'). (custom-declare-variable 'compilation-mode-hook 'nil '(#$ . -702) :type 'hook :group 'compilation) #@71 *Number of lines in a compilation window. If nil, use Emacs default. (custom-declare-variable 'compilation-window-height 'nil '(#$ . -881) :type '(choice (const :tag "Default" nil) integer) :group 'compilation) #@65 *This is how compilers number the first column, usually 1 or 0. (defvar compilation-first-column 1 (#$ . -1099)) #@207 Function to call to post-process filenames while parsing error messages. It takes one arg FILENAME which is the name of a file as found in the compilation output, and should return a transformed file name. (defvar compilation-parse-errors-filename-function nil (#$ . 1219)) #@399 *Function to call to customize the compilation process. This function is called immediately before the compilation process is started. It can be used to set any variables or functions that are used while processing the output of the compilation process. The function is called with variables `compilation-buffer' and `compilation-window' bound to the compilation buffer and window, respectively. (defvar compilation-process-setup-function nil (#$ . -1500)) #@247 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-buffer-name-function nil (#$ . 1966)) #@162 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-finish-function nil (#$ . 2277)) (make-obsolete-variable 'compilation-finish-function "Use `compilation-finish-functions', but it works a little differently." "22.1") #@174 Functions to call when a compilation process finishes. Each function is called with two arguments: the compilation buffer, and a string describing how the process finished. (defvar compilation-finish-functions nil (#$ . 2632)) #@44 List of compilation processes now running. (defvar compilation-in-progress nil (#$ . 2865)) (byte-code "\301\236\204\n\302B\301\207" [minor-mode-alist compilation-in-progress (compilation-in-progress " Compiling")] 2) #@53 Stem of message to print when no matches are found. (defvar compilation-error "error" (#$ . 3093)) #@51 Arguments that were given to `compilation-start'. (defvar compilation-arguments nil (#$ . 3198)) #@55 Alist of values for `compilation-error-regexp-alist'. (defconst compilation-error-regexp-alist-alist '((absoft "^\\(?:[Ee]rror on \\|[Ww]arning on\\( \\)\\)?[Ll]ine[ ]+\\([0-9]+\\)[ ]+of[ ]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1)) (ada "\\(warning: .*\\)? at \\([^ \n]+\\):\\([0-9]+\\)$" 2 3 nil (1)) (aix " in line \\([0-9]+\\) of file \\([^ \n]+[^. \n]\\)\\.? " 2 1) (ant "^[ ]*\\[[^] \n]+\\][ ]*\\([^: \n]+\\):\\([0-9]+\\):\\(?:\\([0-9]+\\):[0-9]+:[0-9]+:\\)?\\( warning\\)?" 1 2 3 (4)) (bash "^\\([^: \n ]+\\): line \\([0-9]+\\):" 1 2) (borland "^\\(?:Error\\|Warnin\\(g\\)\\) \\(?:[FEW][0-9]+ \\)?\\([a-zA-Z]?:?[^:( \n]+\\) \\([0-9]+\\)\\(?:[) ]\\|:[^0-9\n]\\)" 2 3 nil (1)) (caml "^ *File \\(\"?\\)\\([^,\" \n <>]+\\)\\1, lines? \\([0-9]+\\)-?\\([0-9]+\\)?\\(?:$\\|,\\(?: characters? \\([0-9]+\\)-?\\([0-9]+\\)?:\\)?\\([ \n]Warning:\\)?\\)" 2 (3 . 4) (5 . 6) (7)) (comma "^\"\\([^,\" \n ]+\\)\", line \\([0-9]+\\)\\(?:[(. pos]+\\([0-9]+\\))?\\)?[:.,; (-]\\( warning:\\|[-0-9 ]*(W)\\)?" 1 2 3 (4)) (edg-1 "^\\([^ \n]+\\)(\\([0-9]+\\)): \\(?:error\\|warnin\\(g\\)\\|remar\\(k\\)\\)" 1 2 nil (3 . 4)) (edg-2 "at line \\([0-9]+\\) of \"\\([^ \n]+\\)\"$" 2 1 nil 0) (epc "^Error [0-9]+ at (\\([0-9]+\\):\\([^)\n]+\\))" 2 1) (ftnchek "\\(^Warning .*\\)? line[ \n]\\([0-9]+\\)[ \n]\\(?:col \\([0-9]+\\)[ \n]\\)?file \\([^ :;\n]+\\)" 4 2 3 (1)) (iar "^\"\\(.*\\)\",\\([0-9]+\\)\\s-+\\(?:Error\\|Warnin\\(g\\)\\)\\[[0-9]+\\]:" 1 2 nil (3)) (ibm "^\\([^( \n ]+\\)(\\([0-9]+\\):\\([0-9]+\\)) : \\(?:warnin\\(g\\)\\|informationa\\(l\\)\\)?" 1 2 3 (4 . 5)) (irix "^[-[:alnum:]_/ ]+: \\(?:\\(?:[sS]evere\\|[eE]rror\\|[wW]arnin\\(g\\)\\|[iI]nf\\(o\\)\\)[0-9 ]*: \\)?\\([^,\" \n ]+\\)\\(?:, line\\|:\\) \\([0-9]+\\):" 3 4 nil (1 . 2)) (java "^\\(?:[ ]+at \\|==[0-9]+== +\\(?:at\\|b\\(y\\)\\)\\).+(\\([^()\n]+\\):\\([0-9]+\\))$" 2 3 nil (1)) (jikes-file "^\\(?:Found\\|Issued\\) .* compiling \"\\(.+\\)\":$" 1 nil nil 0) (jikes-line "^ *\\([0-9]+\\)\\.[ ]+.*\n +\\(<-*>\n\\*\\*\\* \\(?:Error\\|Warnin\\(g\\)\\)\\)" nil 1 nil 2 0 (2 (compilation-face '(3)))) (gnu "^\\(?:[[:alpha:]][-[:alnum:].]+: ?\\)?\\([0-9]*[^0-9\n]\\(?:[^\n ]\\| [^-\n]\\)*?\\): ?\\([0-9]+\\)\\(?:\\([.:]\\)\\([0-9]+\\)\\)?\\(?:-\\([0-9]+\\)?\\(?:\\3\\([0-9]+\\)\\)?\\)?:\\(?: *\\(\\(?:Future\\|Runtime\\)?[Ww]arning\\|W:\\)\\| *\\([Ii]nfo\\(?:\\>\\|rmationa?l?\\)\\|I:\\|instantiated from\\)\\|[0-9]?\\(?:[^0-9\n]\\|$\\)\\|[0-9][0-9][0-9]\\)" 1 (2 . 5) (4 . 6) (7 . 8)) (gcc-include "^\\(?:In file included\\| \\) from \\(.+\\):\\([0-9]+\\)\\(?:\\(:\\)\\|\\(,\\)\\)?" 1 2 nil (3 . 4)) (lcc "^\\(?:E\\|\\(W\\)\\), \\([^(\n]+\\)(\\([0-9]+\\),[ ]*\\([0-9]+\\)" 2 3 4 (1)) (makepp "^makepp\\(?:\\(?:: warning\\(:\\).*?\\|\\(: Scanning\\|: [LR]e?l?oading makefile\\|: Imported\\|log:.*?\\) \\|: .*?\\)`\\(\\(\\S +?\\)\\(?::\\([0-9]+\\)\\)?\\)['(]\\)" 4 5 nil (1 . 2) 3 ("`\\(\\(\\S +?\\)\\(?::\\([0-9]+\\)\\)?\\)['(]" nil nil (2 compilation-info-face) (3 compilation-line-face nil t) (1 (compilation-error-properties 2 3 nil nil nil 0 nil) append))) (mips-1 " (\\([0-9]+\\)) in \\([^ \n]+\\)" 2 1) (mips-2 " in \\([^()\n ]+\\)(\\([0-9]+\\))$" 1 2) (msft "^\\([0-9]+>\\)?\\(\\(?:[a-zA-Z]:\\)?[^:( \n]+\\)(\\([0-9]+\\)) : \\(?:error\\|warnin\\(g\\)\\) C[0-9]+:" 2 3 nil (4)) (oracle "^\\(?:Semantic error\\|Error\\|PCC-[0-9]+:\\).* line \\([0-9]+\\)\\(?:\\(?:,\\| at\\)? column \\([0-9]+\\)\\)?\\(?:,\\| in\\| of\\)? file \\(.*?\\):?$" 3 1 2) (perl " at \\([^ \n]+\\) line \\([0-9]+\\)\\(?:[,.]\\|$\\)" 1 2) (rxp "^\\(?:Error\\|Warnin\\(g\\)\\):.*\n.* line \\([0-9]+\\) char \\([0-9]+\\) of file://\\(.+\\)" 4 2 3 (1)) (sparc-pascal-file "^\\w\\w\\w \\w\\w\\w +[0-3]?[0-9] +[0-2][0-9]:[0-5][0-9]:[0-5][0-9] [12][09][0-9][0-9] +\\(.*\\):$" 1 nil nil 0) (sparc-pascal-line "^\\(\\(?:E\\|\\(w\\)\\) +[0-9]+\\) line \\([0-9]+\\) - " nil 3 nil (2) nil (1 (compilation-face '(2)))) (sparc-pascal-example "^ +\\([0-9]+\\) +.*\n\\(\\(?:e\\|\\(w\\)\\) [0-9]+\\)-+" nil 1 nil (3) nil (2 (compilation-face '(3)))) (sun ": \\(?:ERROR\\|WARNIN\\(G\\)\\|REMAR\\(K\\)\\) \\(?:[[:alnum:] ]+, \\)?File = \\(.+\\), Line = \\([0-9]+\\)\\(?:, Column = \\([0-9]+\\)\\)?" 3 4 5 (1 . 2)) (sun-ada "^\\([^, \n ]+\\), line \\([0-9]+\\), char \\([0-9]+\\)[:., (-]" 1 2 3) (4bsd "\\(?:^\\|:: \\|\\S ( \\)\\(/[^ \n ()]+\\)(\\([0-9]+\\))\\(?:: \\(warning:\\)?\\|$\\| ),\\)" 1 2 nil (3)) (gcov-file "^ *-: *\\(0\\):Source:\\(.+\\)$" 2 1 nil 0 nil (1 compilation-line-face prepend) (2 compilation-info-face prepend)) (gcov-header "^ *-: *\\(0\\):\\(?:Object\\|Graph\\|Data\\|Runs\\|Programs\\):.+$" nil 1 nil 0 nil (1 compilation-line-face prepend)) (gcov-nomark "^ *-: *\\([1-9]\\|[0-9]\\{2,\\}\\):.*$" nil 1 nil 0 nil (0 'default t) (1 compilation-line-face prepend)) (gcov-called-line "^ *\\([0-9]+\\): *\\([0-9]+\\):.*$" nil 2 nil 0 nil (0 'default t) (1 compilation-info-face prepend) (2 compilation-line-face prepend)) (gcov-never-called "^ *\\(#####\\): *\\([0-9]+\\):.*$" nil 2 nil 2 nil (0 'default t) (1 compilation-error-face prepend) (2 compilation-line-face prepend))) (#$ . 3301)) #@2205 Alist that specifies how to match errors in compiler output. On GNU and Unix, any string is a valid filename, so these matchers must make some common sense assumptions, which catch normal cases. A shorter list will be lighter on resource usage. Instead of an alist element, you can use a symbol, which is looked up in `compilation-error-regexp-alist-alist'. You can see the predefined symbols and their effects in the file `etc/compilation.txt' (linked below if you are customizing this). Each elt has the form (REGEXP FILE [LINE COLUMN TYPE HYPERLINK HIGHLIGHT...]). If REGEXP matches, the FILE'th subexpression gives the file name, and the LINE'th subexpression gives the line number. The COLUMN'th subexpression gives the column number on that line. If FILE, LINE or COLUMN are nil or that index didn't match, that information is not present on the matched line. In that case the file name is assumed to be the same as the previous one in the buffer, line number defaults to 1 and column defaults to beginning of line's indentation. FILE can also have the form (FILE FORMAT...), where the FORMATs (e.g. "%s.c") will be applied in turn to the recognized file name, until a file of that name is found. Or FILE can also be a function that returns (FILENAME) or (RELATIVE-FILENAME . DIRNAME). In the former case, FILENAME may be relative or absolute. LINE can also be of the form (LINE . END-LINE) meaning a range of lines. COLUMN can also be of the form (COLUMN . END-COLUMN) meaning a range of columns starting on LINE and ending on END-LINE, if that matched. TYPE is 2 or nil for a real error or 1 for warning or 0 for info. TYPE can also be of the form (WARNING . INFO). In that case this will be equivalent to 1 if the WARNING'th subexpression matched or else equivalent to 0 if the INFO'th subexpression matched. See `compilation-error-face', `compilation-warning-face', `compilation-info-face' and `compilation-skip-threshold'. What matched the HYPERLINK'th subexpression has `mouse-face' and `compilation-message-face' applied. If this is nil, the text matched by the whole REGEXP becomes the hyperlink. Additional HIGHLIGHTs as described under `font-lock-keywords' can be added. (custom-declare-variable 'compilation-error-regexp-alist '(mapcar 'car compilation-error-regexp-alist-alist) '(#$ . 8361) :type `(set :menu-tag "Pick" ,@(mapcar (lambda (elt) (list 'const (car elt))) compilation-error-regexp-alist-alist)) :link `(file-link :tag "example file" ,(expand-file-name "compilation.txt" data-directory)) :group 'compilation) #@49 Directory to restore to when doing `recompile'. (defvar compilation-directory nil (#$ . 10923)) #@727 A list for tracking when directories are entered or left. If nil, do not track directories, e.g. if all file names are absolute. The first element is the REGEXP matching these messages. It can match any number of variants, e.g. different languages. The remaining elements are all of the form (DIR . LEAVE). If for any one of these the DIR'th subexpression matches, that is a directory name. If LEAVE is nil or the corresponding LEAVE'th subexpression doesn't match, this message is about going into another directory. If it does match anything, this message is about going back to the directory we were in before the last entering message. If you change this, you may also want to change `compilation-page-delimiter'. (defvar compilation-directory-matcher '("\\(?:Entering\\|Leavin\\(g\\)\\) directory `\\(.+\\)'$" (2 . 1)) (#$ . 11026)) #@48 Value of `page-delimiter' in Compilation mode. (defvar compilation-page-delimiter "^\\(?:\f\\|.*\\(?:Entering\\|Leaving\\) directory `.+'\n\\)+" (#$ . 11878)) #@111 Additional things to highlight in Compilation mode. This gets tacked on the end of the generated expressions. (defvar compilation-mode-font-lock-keywords '(("^[Cc]hecking \\(?:[Ff]or \\|[Ii]f \\|[Ww]hether \\(?:to \\)?\\)?\\(.+\\)\\.\\.\\. *\\(?:(cached) *\\)?\\(\\(yes\\(?: .+\\)?\\)\\|no\\|\\(.*\\)\\)$" (1 font-lock-variable-name-face) (2 (compilation-face '(4 . 3)))) ("^\\([[:alnum:]_/.+-]+\\)\\(\\[\\([0-9]+\\)\\]\\)?[ ]*:" (1 font-lock-function-name-face) (3 compilation-line-face nil t)) (" --?o\\(?:utfile\\|utput\\)?[= ]?\\(\\S +\\)" . 1) ("^Compilation \\(finished\\).*" (0 '(face nil message nil help-echo nil mouse-face nil) t) (1 compilation-info-face)) ("^Compilation \\(exited abnormally\\|interrupt\\|killed\\|terminated\\|segmentation fault\\)\\(?:.*with code \\([0-9]+\\)\\)?.*" (0 '(face nil message nil help-echo nil mouse-face nil) t) (1 compilation-error-face) (2 compilation-error-face nil t))) (#$ . 12044)) #@137 Regexp matching part of visited source lines to highlight temporarily. Highlight entire line if t; don't highlight source lines if nil. (defvar compilation-highlight-regexp t (#$ . 12985)) #@60 Overlay used to temporarily highlight compilation matches. (defvar compilation-highlight-overlay nil (#$ . 13180)) #@335 *If non-nil, column numbers in error messages are screen columns. Otherwise they are interpreted as character positions, with each character occupying one column. The default is to use screen columns, which requires that the compilation program and Emacs agree about the display width of the characters, especially the TAB character. (custom-declare-variable 'compilation-error-screen-columns 't '(#$ . -13302) :type 'boolean :group 'compilation :version "20.4") #@129 *Non-nil means \[compile] reads the compilation command to use. Otherwise, \[compile] just uses the value of `compile-command'. (custom-declare-variable 'compilation-read-command 't '(#$ . -13772) :type 'boolean :group 'compilation) #@129 *Non-nil means \[compile] asks which buffers to save before compiling. Otherwise, it saves all modified buffers without asking. (custom-declare-variable 'compilation-ask-about-save 't '(#$ . -14012) :type 'boolean :group 'compilation) #@195 *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. (custom-declare-variable 'compilation-search-path ''(nil) '(#$ . -14254) :type '(repeat (choice (const :tag "Default" nil) (string :tag "Directory"))) :group 'compilation) #@469 *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: (add-hook 'c-mode-hook (lambda () (unless (or (file-exists-p "makefile") (file-exists-p "Makefile")) (set (make-local-variable 'compile-command) (concat "make -k " (file-name-sans-extension buffer-file-name)))))) (custom-declare-variable 'compile-command '"make -k " '(#$ . -14627) :type 'string :group 'compilation) #@202 *If non-nil, send end-of-file as compilation process input. This only affects platforms that support asynchronous processes (see `start-process'); synchronous compilation processes never accept input. (custom-declare-variable 'compilation-disable-input 'nil '(#$ . -15206) :type 'boolean :group 'compilation :version "22.1") (byte-code "\301B\302\301!\204\303\301\304\"\210\304\207" [current-load-list compilation-locs default-boundp set-default nil] 3) #@199 *Set this to t before creating a *compilation* buffer. Then every error line will have a debug text property with the matcher that fit this line and the match data. Use `describe-text-properties'. (defvar compilation-debug nil (#$ . -15671)) #@294 If non-nil, called when a compilation process dies to return a status message. This should be a function of three arguments: process status, exit status, and exit message; it returns a cons (MESSAGE . MODELINE) of the strings to write into the compilation buffer, and to put in its mode line. (defvar compilation-exit-message-function nil (#$ . 15921)) #@225 *List of environment variables for compilation to inherit. Each element should be a string of the form ENVVARNAME=VALUE. This list is temporarily prepended to `process-environment' prior to starting the compilation process. (defvar compilation-environment nil (#$ . -16281)) (byte-code "\301B\302\301!\204\303\301\304\"\210\305\306\307\310\311\312\313\314&\210\305\315\316\317\311\312\313\314&\210\305\320\321\322\311\312\313\314&\210\305\323\324\325\311\312\313\314&\210\305\326\327\330\311\312\313\314&\207" [current-load-list compile-history default-boundp set-default nil custom-declare-face compilation-error ((t :inherit font-lock-warning-face)) "Face used to highlight compiler errors." :group compilation :version "22.1" compilation-warning ((((class color) (min-colors 16)) (:foreground "Orange" :weight bold)) (((class color)) (:foreground "cyan" :weight bold)) (t (:weight bold))) "Face used to highlight compiler warnings." compilation-info ((((class color) (min-colors 16) (background light)) (:foreground "Green3" :weight bold)) (((class color) (min-colors 88) (background dark)) (:foreground "Green1" :weight bold)) (((class color) (min-colors 16) (background dark)) (:foreground "Green" :weight bold)) (((class color)) (:foreground "green" :weight bold)) (t (:weight bold))) "Face used to highlight compiler information." compilation-line-number ((t :inherit font-lock-variable-name-face)) "Face for displaying line numbers in compiler messages." compilation-column-number ((t :inherit font-lock-type-face)) "Face for displaying column numbers in compiler messages."] 8) #@217 Face name to use for whole messages. Faces `compilation-error-face', `compilation-warning-face', `compilation-info-face', `compilation-line-face' and `compilation-column-face' get prepended to this, when applicable. (custom-declare-variable 'compilation-message-face ''underline '(#$ . 17884) :type 'face :group 'compilation :version "22.1") #@51 Face name to use for file name in error messages. (defvar compilation-error-face 'compilation-error (#$ . 18232)) #@53 Face name to use for file name in warning messages. (defvar compilation-warning-face 'compilation-warning (#$ . 18352)) #@59 Face name to use for file name in informational messages. (defvar compilation-info-face 'compilation-info (#$ . 18478)) #@57 Face name to use for line numbers in compiler messages. (defvar compilation-line-face 'compilation-line-number (#$ . 18604)) #@59 Face name to use for column numbers in compiler messages. (defvar compilation-column-face 'compilation-column-number (#$ . 18735)) #@51 Face name to use for entering directory messages. (defvar compilation-enter-directory-face 'font-lock-function-name-face (#$ . 18872)) #@50 Face name to use for leaving directory messages. (defvar compilation-leave-directory-face 'font-lock-type-face (#$ . 19013)) (byte-code "\301\302\303\"\210\304B\305\304!\204\306\304\307 \"\210\310B\305\310!\204$\306\310\311\"\210\312B\305\312!\2043\306\312\311\"\210\313B\305\313!\204B\306\313\311\"\210\311\207" [current-load-list defvaralias compilation-last-buffer next-error-last-buffer compilation-parsing-end default-boundp set-default make-marker compilation-parse-errors-function nil compilation-error-list compilation-old-error-list] 3) (defalias 'compilation-face #[(type) "@\203@\225\203 \206A\203A\225\203\n\206 \207" [type compilation-warning-face compilation-info-face compilation-error-face] 1]) (defalias 'compilation-directory-properties #[(idx leave) "\203\225\305`\306\"\211\205\307 S\306\"\206\307 \306\"\310\203&\n\202' \306\2035 A\206:\311\202:\312\f! B)\313BBBB\207" [leave dir compilation-leave-directory-face compilation-enter-directory-face idx previous-single-property-change directory get-text-property face (nil) match-string-no-properties (mouse-face highlight keymap compilation-button-map help-echo "mouse-2: visit destination directory")] 6]) (defalias 'compilation-error-properties #[(file line end-line col end-col type fmt) "\306\307\224\310\311`$`W?\205?\203H\312!\203 \202z\311\313!\314!\204?\315`\310\"\211\205>\316 S\310\"\206>\316 \310\" @B)\202z\315`\317\"\211\203s\316\nS\317\"\206]\316\n\317\"\320 @8@\211\203r\f@\f\211A@)B*\204y\321)\203\217\313!\211\203\217\322!\203\244\313!\211\203\244\322!\203\313\312!\203\270 \202\313\313!\211\203\313\322!Z\203\337\312!\203\337 \202\203\374\313!\211\203\374\322!Z\323Z\202\203\323:\203/@\203@\225\203\324\202-A\203,A\225\203,\307\202-\320\325&\207" [file dir prev-pos prev prev-struct x next-single-property-change 0 directory nil functionp match-string-no-properties file-name-absolute-p previous-single-property-change get-text-property message 2 ("*unknown*") string-to-number -1 1 compilation-internal-error-properties line end-line col compilation-first-column end-col type fmt] 9]) #@127 Go to column COL on the current line. If SCREEN is non-nil, columns are screen columns, otherwise, they are just char-counts. (defalias 'compilation-move-to-column #[(col screen) "\203\302 !\207\303 \\\304 ^b\207" [screen col move-to-column line-beginning-position line-end-position] 2 (#$ . 21287)]) #@341 Get the meta-info that will be added as text-properties. LINE, END-LINE, COL, END-COL are integers or nil. TYPE can be 0, 1, or 2, meaning error, warning, or just info. FILE should be (FILENAME) or (RELATIVE-FILENAME . DIRNAME) or nil. FMTS is a list of format specs for transforming the file name. (See `compilation-error-regexp-alist'.) (defalias 'compilation-internal-error-properties #[(file line end-line col end-col type fmts) "\204\306\307 \"\211\211AA)@\310\f\211A@)8  \311\211!\"\311# \2033\312 !\2048\311\202\311$\206>\313\"\305\314\215\210\310\f\211A@)8\f@\206S\313r\312 !q\210\212\214~\210\315 !b\210%\204m&\203\231\316&\206u$\fZ\317Z!\210%\203\207%\320W\203\215\311\210\202\224\321% \"\210\322 C!\316&\203\251$&Z\317Z\202\257\"\fZ\317Z!\210'\203\300\321' \"\210\202\304\323\320!\210\322 C+\nA\211(A)$\204\346)\203))\211@@)?\202!)\203)\211@@)\203$)\211@@)W\202\324\203)\211(A\211)\204\353)\203)$)\211@@)=\203))\2022($C)B\241@*\"&\203\nA\211(A)&\204X)\203\233)\211@@)?\202\223)\203\204)\211@@)\203t&)\211@@)W\202u\324\203\204)\211(A\211)\204])\203\233&)\211@@)=\203\233)\202\244(&C)B\241@*\211#\211(A)%\204\304)\203)\211@@)?\202\377)\203\360)\211@@)\203\340%)\211@@)W\202\341\324\203\360)\211(A\211)\204\311)\203%)\211@@)=\203)\202(%C)B\241@*#\202\211%\203\211\"\211(A)%\2049)\203|)\211@@)?\202t)\203e)\211@@)\203U%)\211@@)W\202V\324\203e)\211(A\211)\204>)\203|%)\211@@)=\203|)\202\205(%C)B\241@*#\"\211(A)'\204\246)\203\351)\211@@)?\202\341)\203\322)\211@@)\203\302')\211@@)W\202\303\324\203\322)\211(A\211)\204\253)\203\351')\211@@)=\203\351)\202\362('C)B\241@*\211\"A\204\"$\n BB\241\210#\203 #A\204 #&\206$\n!BB\241\210\325*\326\"+#E\327,\205<\330\331-.\"\332 BD\333'\203F\334\202P$\203O\335\202P\336\337BB\".BBBB\207" [file fmts file-struct x marker-line marker ("*unknown*") compilation-get-file-structure 3 nil marker-buffer 1 (byte-code "\305\233\306\211\2037\n@\211@ V\203 \2020\f@\206\307 Z @ZV\203+ \310\311\312\"\210\nA\211\204\n*\306\207" [file-struct x #1=#:--cl-dolist-temp-- loc marker-line 3 nil 1 throw marker t] 4) marker-position beginning-of-line -1 0 compilation-move-to-column point-marker forward-to-indentation t face message append debug assoc match-data help-echo "mouse-2: visit this file, line and column" "mouse-2: visit this file and line" "mouse-2: visit this file" (keymap compilation-button-map mouse-face highlight) compilation-error-screen-columns end-marker loc end-loc line end-col end-line col l1 l2 compilation-message-face type compilation-debug matcher font-lock-keywords] 10 (#$ . 21599)]) #@54 Return expressions to highlight in Compilation mode. (defalias 'compilation-mode-font-lock-keywords #[nil "\203\304\207\305 \205 @\306\307 A\"BC\306\310\n\" #\207" [compilation-parse-errors-function compilation-directory-matcher compilation-error-regexp-alist compilation-mode-font-lock-keywords ((compilation-compat-parse-errors)) append mapcar #[(elt) "@\301@AE\302BB\207" [elt compilation-directory-properties (t t)] 4] #[(item) "9\203\n \236AA@\3068\3078\3108\311\211\211!\"\211#:\2031#A#@#\":\203@\"A\"@\"!:\203O!A!@!\312\"!\203\203@\313\314\315\316\317\"D\320\321#D\320\322\317\310\233DEE!\205w\321!DFDDD#\323BE\202\3248\203\227\3248\250\204\227\325\326\3248\"\210@\327#\250\205\270# :\203\257\330\317 DD\202\266\331 \206\265\306HDC\"\205\302\"\332BC\f\205\312\f\333BC!\250\205\325!\334BC \250\205\336 \335BC\336\233\3248\206\350\313\337\317#D\"\f! \317 \206\371\306D\317\nD\257\340BBC&B.\207" [item compilation-error-regexp-alist-alist fmt end-col end-line type 2 3 4 nil functionp 0 save-match-data compilation-compat-error-properties funcall quote cons match-string default-directory (compilation-error-face t) 5 error "HYPERLINK should be an integer: %s" append compilation-face [compilation-info-face compilation-warning-face compilation-error-face] (compilation-line-face nil t) (compilation-line-face nil t) (compilation-column-face nil t) (compilation-column-face nil t) 6 compilation-error-properties (append) col line file] 19]] 5 (#$ . 24440)]) #@1095 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. If optional second arg COMINT is t the buffer will be in Comint mode with `compilation-shell-minor-mode'. Interactively, prompts for the command if `compilation-read-command' is non-nil; otherwise uses `compile-command'. With prefix arg, always prompts. Additionally, with universal prefix arg, compilation buffer will be in comint mode, i.e. interactive. 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. On most systems, termination of the main compilation process kills its subprocesses. 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. (defalias 'compile #[(command &optional comint) "\306 !\232\204\n\307\n?\310\"\210 \311 \"\207" [command compile-command compilation-ask-about-save default-directory compilation-directory comint eval save-some-buffers nil compilation-start] 3 (#$ . 25992) (list (let ((command (eval compile-command))) (if (or compilation-read-command current-prefix-arg) (read-from-minibuffer "Compile command: " command nil nil (if (equal (car compile-history) command) '(compile-history . 1) 'compile-history)) command)) (consp current-prefix-arg))]) #@190 Re-compile the program including the current buffer. If this is run in a Compilation mode buffer, re-use the arguments from the original use. Otherwise, recompile using `compile-command'. (defalias 'recompile #[nil "\306?\307\"\210 \nA@=\204 \206\f\310\311\n\206\312 !C\")\207" [compilation-ask-about-save major-mode compilation-arguments compilation-directory default-directory compile-command save-some-buffers nil apply compilation-start eval] 4 (#$ . 27636) nil]) #@242 *Non-nil to scroll the *compilation* buffer window as output appears. Setting it causes the Compilation mode commands to put point at the end of their output window so that the end of the output is always visible rather than the beginning. (custom-declare-variable 'compilation-scroll-output 'nil '(#$ . -28120) :type 'boolean :version "20.3" :group 'compilation) #@361 Return the name of a compilation buffer to use. If NAME-FUNCTION is non-nil, call it with one argument MODE-NAME to determine the buffer name. Likewise if `compilation-buffer-name-function' is non-nil. If current buffer is the mode MODE-COMMAND, return the name of the current buffer, so that it gets reused. Otherwise, construct a buffer name from MODE-NAME. (defalias 'compilation-buffer-name #[(mode-name mode-command name-function) "\203 !\207\n\203\n !\207 \f=\203!\f A@=\203!\306 \207\307 \227\307Q\207" [name-function mode-name compilation-buffer-name-function mode-command major-mode compilation-arguments buffer-name "*"] 3 (#$ . 28492)]) (defalias 'compile-internal #[(command error-message &optional name-of-mode parser error-regexp-alist name-function enter-regexp-alist leave-regexp-alist file-regexp-alist nomessage-regexp-alist no-async highlight-regexp local-map) "\203\306\307!\210\310 \n\206 \"\311\312\313\f#\314\315$*\207" [parser file-regexp-alist error-regexp-alist compilation-error-regexp-alist error-message compilation-error error "Compile now works very differently, see `compilation-error-regexp-alist'" append replace-regexp-in-string "^No more \\(.+\\)s\\.?" "\\1" compilation-start nil command name-function highlight-regexp] 5]) (make-obsolete 'compile-internal 'compilation-start) #@688 Run compilation command COMMAND (low level interface). If COMMAND starts with a cd command, that becomes the `default-directory'. The rest of the arguments are optional; for them, nil means use the default. MODE is the major mode to set in the compilation buffer. Mode may also be t meaning use `compilation-shell-minor-mode' under `comint-mode'. If NAME-FUNCTION is non-nil, call it with one argument (the mode name) to determine the buffer name. If HIGHLIGHT-REGEXP is non-nil, `next-error' will temporarily highlight the matching section of the visited source line; the default is to use the global value of `compilation-highlight-regexp'. Returns the compilation buffer created. (defalias 'compilation-start #[(command &optional mode name-function highlight-regexp) "\204\306\307=\203\310\311\312!\210\202\313\314\315\316!#\n\317\211r\320\321 @#!\211q\210\322p!\211A\203X\323A!\324=\203J\325\326\327 \"!\203R\317\330\331\217\210\202X\332\333\334 \"\210)\335p!\210 \307 B\336\337\340C\"\203\200\341\225\203|\342\343\341C\"!\202\201\344\202\201\n!\210\345 \210\307=\204\222 \210\202\233\317D\346 \210\347 \210E\203\250\350\351!\210E)\352 \353\354\n!\355\326\356F\357 \360\361O#C\362\261\210\n*\363\317!\210) p=\203\320db\210\364 \317\307#r q\210\365G\366\367!\203\3637\203\363\370\371\326\372\373 \"E\202\372\374\326\375\373 \"D\376\377!?\205\201WC\201XC\201YH!%H\350\201I!\210C@EFI\350\201J!\210\201ZJ\201[\fe\"\210\f\201\\ =\204M\201]\fK\203J`\202Ke\"\210L\203VL \210\201^\f!\210\201_\201`!\203\312\307=\203\202\322\201a F\227M\317\201bCD%!\202\214\201cF\227 C#N\201dO\201eN\201f\"\210\201gN\201h\"\210\201iN!` \223\210P\203\277\317\201j\201k\217\210NQBQ)\202Y\201l\201mC\"\210\201nO\201o \210\201p\360!\210\317D\201qM\317 \317\201bC&\211R\247\203 \201r\201sR\201tR!\203\201u\202\326\201vR\"#\210\202AR;\2036\201r\201wR\211\362P#\210\202A\201r\201xR\211#\210*\317S\201y \210)\363\317!\210\201l\201zC\"\210) )\201{\201K \"\203\212\201\\ \201|\201}\201~ \"TUr\201\216\201\200\f!\210db\210, \211V,\207" [mode name-of-mode default-directory thisdir outwin outbuf compilation-mode t "compilation" require comint replace-regexp-in-string "-mode$" "" symbol-name nil get-buffer-create compilation-buffer-name get-buffer-process process-status run yes-or-no-p format "A %s process is running; kill it? " (byte-code "\301!\210\302\303!\210\304!\207" [comp-proc interrupt-process sit-for 1 delete-process] 2) ((error)) error "Cannot have two processes in `%s' at once" buffer-name buffer-disable-undo cd string-match "^\\s *cd\\(?:\\s +\\(\\S +?\\)\\)?\\s *[;&\n]" 1 substitute-env-vars match-string "~" erase-buffer comint-mode compilation-shell-minor-mode make-local-variable compilation-highlight-regexp "-*- mode: " "; default-directory: " prin1-to-string " -*-\n" "%s started at %s\n\n" current-time-string 0 19 "\n" set-buffer-modified-p display-buffer append boundp system-uses-terminfo "TERM=dumb" "TERMCAP=" "COLUMNS=%d" window-width "TERM=emacs" "TERMCAP=emacs:co#%d:tc=unknown:" getenv "EMACS" name-function comp-proc inhibit-read-only command buffer-read-only highlight-regexp mode-name compilation-environment process-environment compilation-arguments revert-buffer-function compilation-scroll-output compilation-process-setup-function shell-file-name proc mode-line-process compilation-disable-input compilation-in-progress status font-lock-verbose save-selected-window-alist save-selected-window-window next-error-last-buffer "EMACS=t" "INSIDE_EMACS=t" copy-sequence compilation-revert-buffer set-window-start selected-window set-window-point compilation-set-window-height fboundp start-process comint-exec "-c" start-process-shell-command (":%s") set-process-sentinel compilation-sentinel set-process-filter compilation-filter process-mark (process-send-eof proc) ((error)) message "Executing `%s'..." ":run" force-mode-line-update sit-for call-process compilation-handle-exit exit zerop "finished\n" "exited abnormally with code %d\n" signal bizarre font-lock-fontify-buffer "Executing `%s'...done" buffer-local-value mapcar #[(frame) "\301!D\207" [frame frame-selected-window] 3] frame-list ((byte-code "\305\211\203/\n@\306 @!\203(\307 \211A@)!\203(\310 @ \211A@)\"\210\nA\211\204*\307\f!\203:\311\f!\210\305\207" [save-selected-window-alist elt #1=#:--cl-dolist-temp-- x save-selected-window-window nil frame-live-p window-live-p set-frame-selected-window select-window] 4)) select-window] 12 (#$ . 29834)]) #@68 Set the height of WINDOW according to `compilation-window-height'. (defalias 'compilation-set-window-height #[(window) "\304\305\306!\"\211\205:\307!\310\311!!U\205:\312\311!!=?\205:\212\313 \314\315\316 \"r\317\216\320!\210\321 \322 Z!-)\207" [window height save-selected-window-alist save-selected-window-window buffer-local-value compilation-window-height window-buffer window-width frame-width window-frame frame-root-window selected-window mapcar #[(frame) "\301!D\207" [frame frame-selected-window] 3] frame-list ((byte-code "\305\211\203/\n@\306 @!\203(\307 \211A@)!\203(\310 @ \211A@)\"\210\nA\211\204*\307\f!\203:\311\f!\210\305\207" [save-selected-window-alist elt #1=#:--cl-dolist-temp-- x save-selected-window-window nil frame-live-p window-live-p set-frame-selected-window select-window] 4)) select-window enlarge-window window-height] 5 (#$ . 34451)]) (byte-code "\302B\303\302!\2042\304\302\305\306!\307 \310\311#\210\307 \312\313#\210\307 \314\315#\210\307 \316\317#\210\307 \320\321#\210 )\"\210\302\207" [current-load-list map compilation-menu-map default-boundp set-default make-sparse-keymap "Errors" define-key [stop-subjob] ("Stop Compilation" . kill-compilation) [compilation-mode-separator2] ("----") [compilation-first-error] ("First Error" . first-error) [compilation-previous-error] ("Previous Error" . previous-error) [compilation-next-error] ("Next Error" . next-error)] 6) #@38 Keymap for `compilation-minor-mode'. (defvar compilation-minor-mode-map (byte-code "\302 \303\304\305#\210\303\306\307#\210\303\310\305#\210\303\311\305#\210\303\312\313#\210\303\314\315#\210\303\316\317#\210\303\320\321#\210\303\322\323#\210\303\324\325 B#\210)\207" [map compilation-menu-map make-sparse-keymap define-key [mouse-2] compile-goto-error [follow-link] mouse-face "" " " " " kill-compilation "\356" compilation-next-error "\360" compilation-previous-error "\373" compilation-previous-file "\375" compilation-next-file [menu-bar compilation] "Errors"] 5) (#$ . 35891)) #@44 Keymap for `compilation-shell-minor-mode'. (defvar compilation-shell-minor-mode-map (byte-code "\302 \303\304\305#\210\303\306\307#\210\303\310\311#\210\303\312\313#\210\303\314\315#\210\303\316\317 B#\210)\207" [map compilation-menu-map make-sparse-keymap define-key "\215" compile-goto-error "\216" compilation-next-error "\220" compilation-previous-error "\373" compilation-previous-file "\375" compilation-next-file [menu-bar compilation] "Errors"] 5) (#$ . 36494)) #@41 Keymap for compilation-message buttons. (defvar compilation-button-map (byte-code "\301 \302\303\304#\210\302\305\306#\210\302\307\304#\210)\207" [map make-sparse-keymap define-key [mouse-2] compile-goto-error [follow-link] mouse-face " "] 4) (#$ . 36978)) (fset 'compilation-button-map compilation-button-map) #@87 Keymap for compilation log buffers. `compilation-minor-mode-map' is a parent of this. (defvar compilation-mode-map (byte-code "\303 \304\305\306#\210\304\307\310#\210\304\311\306#\210\304\312\306#\210\304\313\314#\210\304\315\316#\210\304\317\320#\210\304\321\322#\210\304\323\324#\210\304\325\316#\210\304\326\320#\210\304\327\330#\210\304\331\332#\210\304\333\334#\210\303\335!\304\336\335 B#\210\337 \n\"\210)\304\340\341#\210\304\342\343#\210\304\344\345#\210\304\346\347#\210)\207" [map submap compilation-menu-map make-sparse-keymap define-key [mouse-2] compile-goto-error [follow-link] mouse-face "" " " " " kill-compilation "\356" compilation-next-error "\360" compilation-previous-error "\373" compilation-previous-file "\375" compilation-next-file " " [backtab] " " scroll-up "" scroll-down "" next-error-follow-minor-mode "Compile" [menu-bar compilation] set-keymap-parent [menu-bar compilation compilation-separator2] ("----") [menu-bar compilation compilation-grep] ("Search Files (grep)..." . grep) [menu-bar compilation compilation-recompile] ("Recompile" . recompile) [menu-bar compilation compilation-compile] ("Compile..." . compile)] 5) (#$ . 37300)) (put 'compilation-mode 'mode-class 'special) #@73 *If non-nil, skip multiple error messages for the same source location. (defvar compilation-skip-to-next-location t (#$ . -38549)) #@282 *Compilation motion commands skip less important messages. The value can be either 2 -- skip anything less than error, 1 -- skip anything less than warning or 0 -- don't skip any messages. Note that all messages not positively identified as warning or info, are considered errors. (custom-declare-variable 'compilation-skip-threshold '1 '(#$ . -38687) :type '(choice (const :tag "Warnings and info" 2) (const :tag "Info" 1) (const :tag "None" 0)) :group 'compilation :version "22.1") #@249 *Compilation motion commands skip visited messages if this is t. Visited messages are ones for which the file, line and column have been jumped to from the current content in the current compilation buffer, even if it was from a different message. (custom-declare-variable 'compilation-skip-visited 'nil '(#$ . -39178) :type 'boolean :group 'compilation :version "22.1") #@321 Major mode for compilation log buffers. \To visit the source for a line-numbered error, move point to the error message line and type \[compile-goto-error]. To kill the compilation, type \[kill-compilation]. Runs `compilation-mode-hook' with `run-mode-hooks' (which see). \{compilation-mode-map} (defalias 'compilation-mode #[(&optional name-of-mode) "\306 \210\307!\210\310\n\206\311\312\305!\210\f\313 \210\314\315\316!\207" [compilation-mode-map major-mode name-of-mode mode-name compilation-page-delimiter page-delimiter kill-all-local-variables use-local-map compilation-mode "Compilation" make-local-variable compilation-setup t run-mode-hooks compilation-mode-hook buffer-read-only] 2 (#$ . 39556) nil]) #@322 This is like `define-derived-mode' without the PARENT argument. The parent is always `compilation-mode' and the customizable `compilation-...' variables are also set from the name of the mode you have chosen, by replacing the first word, e.g `compilation-scroll-output' from `grep-scroll-output' if that variable exists. (defalias 'define-compilation-mode '(macro . #[(mode name doc &rest body) "\305\306\307\310!#\311\312\n \313\314\315\316\"\f\")BBBBB\207" [mode mode-name name doc body replace-regexp-in-string "-mode\\'" "" symbol-name define-derived-mode compilation-mode append mapcar #[(v) "\303\304\305 \306!#!B\211A\205/\307A!\204%\307\302!\205/A\n>\205/\310\311\312@DDAE\207" [v mode-name byte-compile-bound-variables intern-soft replace-regexp-in-string "^compilation" symbol-name boundp set make-local-variable quote] 8] (compilation-buffer-name-function compilation-directory-matcher compilation-error compilation-error-regexp-alist compilation-error-regexp-alist-alist compilation-error-screen-columns compilation-finish-function compilation-finish-functions compilation-first-column compilation-mode-font-lock-keywords compilation-page-delimiter compilation-parse-errors-filename-function compilation-process-setup-function compilation-scroll-output compilation-search-path compilation-skip-threshold compilation-window-height)] 9 (#$ . 40306)])) (defalias 'compilation-revert-buffer #[(ignore-auto noconfirm) "\203\f\305\306\n \")\207 \204\307\310\311!!\205\312\313\f\"\207" [buffer-file-name revert-buffer-function ignore-auto noconfirm compilation-arguments nil revert-buffer yes-or-no-p format "Restart compilation? " apply compilation-start] 3]) #@132 Marker to the location from where the next error will be found. The global commands next/previous/first-error/goto-error use this. (defvar compilation-current-error nil (#$ . 42000)) #@100 Buffer position of the beginning of the compilation messages. If nil, use the beginning of buffer. (defvar compilation-messages-start nil (#$ . 42190)) (byte-code "\301B\302\303!\207" [current-load-list compilation-turn-on-font-lock (lambda (#1=#:defconst-tmp-var) (defconst compilation-turn-on-font-lock #1#)) turn-on-font-lock] 2) #@146 Prepare the buffer for the compilation parsing commands to work. Optional argument MINOR indicates this is called from `compilation-minor-mode'. (defalias 'compilation-setup #[(&optional minor) "\306\307!\210\306\310!\210\306\311!\210\306\312!\210\306\300!\210\313\314\315\316\317\314\320$\210\321\306\303!\210\322\306\304!\210\323\324\325\326\327$\306\305!\210\314\306\330!\210\314!\203i\"#\331\314\332 \"\210$\203e#\203]\333 \202g\334 \210\335 \202g\335 )\207\336\"\337\340!\207" [overlay-arrow-string next-error-overlay-arrow-position next-error-function font-lock-extra-managed-props compilation-locs font-lock-support-mode make-local-variable compilation-current-error compilation-messages-start compilation-error-screen-columns overlay-arrow-position "" nil add-hook kill-buffer-hook #[nil "\301\211\207" [next-error-overlay-arrow-position nil] 2] t compilation-next-error-function (directory message help-echo mouse-face debug) make-hash-table :test equal :weakness value font-lock-maximum-size font-lock-add-keywords compilation-mode-font-lock-keywords font-lock-fontify-buffer font-lock-change-mode turn-on-font-lock (compilation-mode-font-lock-keywords t) run-mode-hooks compilation-turn-on-font-lock minor font-lock-defaults fld font-lock-mode] 5 (#$ . 42532)]) #@125 Non-nil if Compilation-Shell minor mode is enabled. Use the command `compilation-shell-minor-mode' to change this variable. (defvar compilation-shell-minor-mode nil (#$ . 43832)) (make-variable-buffer-local 'compilation-shell-minor-mode) #@357 Toggle compilation shell minor mode. With arg, turn compilation mode on if and only if arg is positive. In this minor mode, all the error-parsing commands of the Compilation major mode are available but bound to keys that don't collide with Shell mode. See `compilation-mode'. Turning the mode on runs the normal hook `compilation-shell-minor-mode-hook'. (defalias 'compilation-shell-minor-mode #[(&optional arg) "\302=\203 ?\202%\203\303!\304V\202% \204\305\202%\306\307\301\"\210\310\211\2031\311\305!\210\202:\312\310\313 \"\210\314 \210\315\316 \203D\317\202E\320\"\210\321 \203Y\306\322 \203V\323\202W\324\"\210\325 \210 \207" [arg compilation-shell-minor-mode toggle prefix-numeric-value 0 t message "Toggling %s off; better pass an explicit argument." nil compilation-setup font-lock-remove-keywords compilation-mode-font-lock-keywords font-lock-fontify-buffer run-hooks compilation-shell-minor-mode-hook compilation-shell-minor-mode-on-hook compilation-shell-minor-mode-off-hook called-interactively-p "Compilation-Shell minor mode %sabled" "en" "dis" force-mode-line-update] 4 (#$ . 44077) (list (or current-prefix-arg 'toggle))]) (byte-code "\300\301\302\303\304!\205 \304J#\207" [add-minor-mode compilation-shell-minor-mode " Shell-Compile" boundp compilation-shell-minor-mode-map] 5) #@113 Non-nil if Compilation minor mode is enabled. Use the command `compilation-minor-mode' to change this variable. (defvar compilation-minor-mode nil (#$ . 45402)) (make-variable-buffer-local 'compilation-minor-mode) #@292 Toggle compilation minor mode. With arg, turn compilation mode on if and only if arg is positive. In this minor mode, all the error-parsing commands of the Compilation major mode are available. See `compilation-mode'. Turning the mode on runs the normal hook `compilation-minor-mode-hook'. (defalias 'compilation-minor-mode #[(&optional arg) "\302=\203 ?\202%\203\303!\304V\202% \204\305\202%\306\307\301\"\210\310\211\2031\311\305!\210\202:\312\310\313 \"\210\314 \210\315\316 \203D\317\202E\320\"\210\321 \203Y\306\322 \203V\323\202W\324\"\210\325 \210 \207" [arg compilation-minor-mode toggle prefix-numeric-value 0 t message "Toggling %s off; better pass an explicit argument." nil compilation-setup font-lock-remove-keywords compilation-mode-font-lock-keywords font-lock-fontify-buffer run-hooks compilation-minor-mode-hook compilation-minor-mode-on-hook compilation-minor-mode-off-hook called-interactively-p "Compilation minor mode %sabled" "en" "dis" force-mode-line-update] 4 (#$ . 45623) (list (or current-prefix-arg 'toggle))]) (byte-code "\300\301\302\303\304!\205 \304J#\207" [add-minor-mode compilation-minor-mode " Compilation" boundp compilation-minor-mode-map] 5) #@65 Write MSG in the current buffer and hack its mode-line-process. (defalias 'compilation-handle-exit #[(process-status exit-status msg) "\306\203  \n #\202 \nBd` b\210\307\310@\261\210\247\2039\311!\2039\312\313A\"\210n\203@\314u\210\315\316 \317\320O\261\210db\210\321 `\322\323\324\"#\210\325\326 A#\327 \210\f\203n\f W\203n\fb\210\203yp \"\210\211\205\222@p \"\210A\211\204\201\324-\207" [compilation-exit-message-function process-status exit-status msg opoint omax t 10 " " zerop message "%s" -1 " at " current-time-string 0 19 add-text-properties append (compilation-handle-exit t) nil format ":%s [%s]" force-mode-line-update status inhibit-read-only mode-name compilation-window-height mode-line-process compilation-finish-function compilation-finish-functions functions] 7 (#$ . 46832)]) #@35 Sentinel for compilation buffers. (defalias 'compilation-sentinel #[(proc msg) "\304!\305>\2054\306!\307 !\204\310\311\"\210\202-r q\210\312\304!\313!\n#\210\314!\210)\315 \"\211)\207" [proc buffer msg compilation-in-progress process-status (exit signal) process-buffer buffer-name set-process-buffer nil compilation-handle-exit process-exit-status delete-process delq] 4 (#$ . 47681)]) #@98 Process filter for compilation buffers. Just inserts the text, but uses `insert-before-markers'. (defalias 'compilation-filter #[(proc string) "\303\304!!\205r\304!q\210\305\212\306!b\210\307\n!\210\310\311!+\207" [proc inhibit-read-only string buffer-name process-buffer t process-mark insert-before-markers run-hooks compilation-filter-hook] 3 (#$ . 48087)]) #@38 Test if inside a compilation buffer. (defalias 'compilation-buffer-internal-p #[nil "\300\301!\207" [local-variable-p compilation-locs] 2 (#$ . 48460)]) (put 'compilation-buffer-internal-p 'byte-optimizer 'byte-compile-inline-expand) #@41 Test if BUFFER is a compilation buffer. (defalias 'compilation-buffer-p #[(buffer) "rq\210\301\302!)\207" [buffer local-variable-p compilation-locs] 2 (#$ . 48700)]) (put 'compilation-buffer-p 'byte-optimizer 'byte-compile-inline-expand) (defalias 'compilation-loop '(macro . #[(< property-change 1+ error limit) "\305\306\307\310B\311\312\313\314 \315BE\316\312\317\320\n\321BB\322BB\323BB\303 \324BB\313\314\nEFE\312\325\316\313\314 \314\326\327\n\257E\330BB\303 \331BBF\312\332\333\334\335\313\336\f\337BE\257\257E\207" [< property-change limit error 1+ let (opt) while (n 0) (setq opt pt) or setq pt (pt 'message) if eq get-text-property ('message) ((get-text-property opt 'message)) ((eq pt opt)) (compilation-error) (setq msg (get-text-property pt 'message)) 'message nil ((setq msg (get-text-property pt 'message))) (compilation-error) (< (cadr msg) compilation-skip-threshold) (if different-file (eq (prog1 last (setq last (nth 2 (car msg)))) last)) (if compilation-skip-visited (nthcdr 4 (car msg))) (if compilation-skip-to-next-location (eq (car msg) loc)) n (n)] 16])) #@195 Move point to the next error in the compilation buffer. Prefix arg N says how many error messages to move forwards (or backwards, if negative). Does NOT find the source line like \[next-error]. (defalias 'compilation-next-error #[(n &optional different-file pt) "prq\210\306\307!*\204\310\311!\210 \204`\312 \313\"\211@\314\315 !\203a\n\204\262\312 Se]\313\"\211\204\262\316 \313\314\317 $\312 Se]\313\"\211\204\262\320 \313\314\321 $\312 \313\"\211\204\262`\202\262\322\n@8 \323Y\203\314 \323V\203 \320 \313\"\211\204\252\312d\313\"\312\313\"=\204\225 =\203\250\310\324p!\203\240\325\202\241\326\"\210\202\252d\312 \313\"\211\204\327\320 \313\314d$\211\203\307\312 \313\"\211\204\327\310\324p!\203\322\325\202\323\326\"\210\n\211A@)W\204o\203\364\f\322\n@8\211=\204o\203\327\n@\233\204o \203\f\n@ =\204o S\211\202p)\202\262\316 \313\314e$\314 \323W\203\261 \316 \313\"\211\204R\312e\313\"\312\313\"=\204G =\203P\310\330\"\210\202Re\312 \313\"\211\204u\316 \313\314e$\211\203o\312 \313\"\211\204u\310\330\"\210\n\211A@)W\204!\203\222\f\322\n@8\211=\204!\203\236\327\n@\233\204! \203\252\n@ =\204! T\211\202\") b\210\n\206\276\310\331\"+\207" [buffer pt msg loc last n local-variable-p compilation-locs error "Not in a compilation buffer" get-text-property message nil zerop previous-single-property-change line-beginning-position next-single-property-change line-end-position 2 0 get-buffer-process "No more %ss yet" "Moved past last %s" 4 "Moved back before first %s" "No %s here" opt compilation-error x compilation-skip-threshold different-file compilation-skip-visited compilation-skip-to-next-location] 6 (#$ . 49792) "p"]) #@203 Move point to the previous error in the compilation buffer. Prefix arg N says how many error messages to move backwards (or forwards, if negative). Does NOT find the source line like \[previous-error]. (defalias 'compilation-previous-error #[(n) "\301[!\207" [n compilation-next-error] 2 (#$ . 51552) "p"]) #@152 Move point to the next error for a different file than the current one. Prefix arg N says how many files to move forwards (or backwards, if negative). (defalias 'compilation-next-file #[(n) "\301\302\"\207" [n compilation-next-error t] 3 (#$ . 51867) "p"]) #@156 Move point to the previous error for a different file than the current one. Prefix arg N says how many files to move backwards (or forwards, if negative). (defalias 'compilation-previous-file #[(n) "\301[!\207" [n compilation-next-file] 2 (#$ . 52132) "p"]) #@62 Kill the process made by the \[compile] or \[grep] commands. (defalias 'kill-compilation #[nil "\302 \303!\203\304\303!!\202\305\306 \227\")\207" [buffer mode-name compilation-find-buffer get-buffer-process interrupt-process error "The %s process is not running"] 3 (#$ . 52397) nil]) (defalias 'compile-mouse-goto-error 'compile-goto-error) #@127 Visit the source for the error message at point. Use this command in a compilation log buffer. Sets the mark at point there. (defalias 'compile-goto-error #[(&optional event) "\203&\303\211:\203\3048:\203\304\202\3058\202#\306 `\307\310F)!\210pr q\210\311\312!*\2047\313\314!\210\315`\316\"\203F\317\315`\316\"@!\207\320 \210`\321 \207" [event buffer compilation-current-error posn-set-point 2 1 selected-window (0 . 0) 0 local-variable-p compilation-locs error "Not in a compilation buffer" get-text-property directory dired-other-window push-mark next-error-internal] 6 (#$ . 52753) (list last-input-event)]) (defalias 'compilation-find-buffer #[(&optional avoid-current) "\301\302\"\207" [avoid-current next-error-find-buffer compilation-buffer-internal-p] 3]) #@142 Advance to the next error message and visit the file where the error was. This is the value of `next-error-function' in Compilation buffers. (defalias 'compilation-next-error-function #[(n &optional reset) "\203\306\n\307\310 \206\307\306 \206\206e#\3118\312 \312 n\2033 \2027\313\314 !@\3158\203N\316\3158!\204r\317\3118\211@@)\3118@\211A@)#q\210\214~\210eb\210\320\3118\211AA)!\306\211\203@\211@\203\235\321@\fZ\322Z!\210@A\306\211 \203\366 @\211@\203\313@\322=\203\301\306\210\202\322\323@ \"\210\202\322\321 \210\324\306w\210\3158\203\344\3158`\306\223\210\202\355AA\312 C\241\210 A\211 \204\251*A\211\204\205,\325\3158\3158#\210\315\233\326\241-\207" [reset compilation-current-error compilation-error-screen-columns columns last n nil 1 compilation-next-error 2 point-marker copy-marker line-beginning-position 3 marker-buffer compilation-find-file reverse beginning-of-line -1 compilation-move-to-column " " compilation-goto-locus t compilation-messages-start loc end-loc marker overlay-arrow-position x line #1=#:--cl-dolist-temp-- col #2=#:--cl-dolist-temp--] 6 (#$ . 53543) "p"]) #@61 Internal variable used to keep some values from being GC'd. (defvar compilation-gcpro nil (#$ . 54750)) (make-variable-buffer-local 'compilation-gcpro) #@773 Preassociate MARKER with FILE. FILE should be ABSOLUTE-FILENAME or (RELATIVE-FILENAME . DIRNAME). This is useful when you compile temporary files, but want automatic translation of the messages to the real buffer from which the temporary file came. This only works if done before a message about FILE appears! Optional args LINE and COL default to 1 and beginning of indentation respectively. The marker is expected to reflect this. In the simplest case the marker points to the first line of the region that was saved to the temp file. If you concatenate several regions into the temp file (e.g. a header with variable assignments and a code region), you must call this several times, once each for the last line of one region and the first line of the next region. (defalias 'compilation-fake-loc #[(marker file &optional line col) ":\204C\306!\211 BA\211A\f\210 \203A \211@@)\2034\f\206*\307 \211@@)W\2025\310\203A \211A\211\204 \203X\f\206J\307 \211@@)=\203X \202b\n\f\206^\307C B\241@*\211 \211A\n\204~ \203\270 \211@@)?\202\261 \203\244 \211@@)\203\227\n \211@@)W\202\230\310\203\244 \211A\211\204\202 \203\270\n \211@@)=\203\270 \202\277\n\nC B\241@*\211 A\203\327 \211AA) C\241\210\202\340 \f E\241\210 )\207" [file compilation-gcpro l1 l2 line x compilation-get-file-structure 1 t loc col marker] 5 (#$ . 54909)]) #@319 Display this many lines of leading context before the current message. If nil and the left fringe is displayed, don't scroll the compilation output window; an arrow in the left fringe points to the current message. If nil and there is no left fringe, the message displays at the top of the window; there is no arrow. (custom-declare-variable 'compilation-context-lines 'nil '(#$ . 56306) :type '(choice integer (const :tag "No window scrolling" nil)) :group 'compilation :version "22.1") #@64 Align the compilation output window W with marker MK near top. (defalias 'compilation-set-window #[(w mk) "\250\203\303 \212\nb\210\304\305Z!\210`)\"\210\202.\306 @\307\232\203.\303 \212\nb\210\304\305!\210`)\"\210\310 \n\"\207" [compilation-context-lines w mk set-window-start beginning-of-line 1 window-fringes 0 set-window-point] 5 (#$ . 56801)]) (put 'compilation-set-window 'byte-optimizer 'byte-compile-inline-expand) #@164 Jump to an error corresponding to MSG at MK. All arguments are markers. If END-MK is non-nil, mark is set there and overlay is highlighted between MK and END-MK. (defalias 'compilation-goto-locus #[(msg mk end-mk) "\306\307 !\310!=\311\310!\312\" \203\n\203\n\202&\313\211\314\310!!*r\310!q\210 -.\250\203M\315 \212-b\210\316\317.Z!\210`)\"\210\202d\320 @\312\232\203d\315 \212-b\210\316\317!\210`)\"\210\321 -\"\210*/)0\n\204x\322 !\210 \203\212\313\323\310-!\324\"\210)\202\242\325\307 !\203\233\323\310-!!\210\202\242\326\310-!!\210-b`=\204\260~\210-b\2101\203\276\3271\313\"\210\202\3062\203\306\3302\331`!\3303\2114\203\3634@3\3323\333\"\334=\203\352\3353!\210-b\2104A\2114\204\322*0\203\223\3365!\203\3375!\2106\204\340ee\"6\3416\342\343#\210r\310-!q\210\2121\203+1b\210\202.\330\210`7-\203=-b\210\202@\316 \2100;\203a\34407\313#\203a\312\224b\210\3456\312\224\312\225p$\210\202j\3456`7p$\2108\313=\204w8\247\203\346\347\350\"\210\202\204\3356!\2108\247\203\222\3518\330\350#5+8\352=\205\241\353\354 !\2119,\207" [msg from-compilation-buffer pre-existing pop-up-windows display-buffer-reuse-frames w window-buffer selected-window marker-buffer get-buffer-window 0 t display-buffer set-window-start beginning-of-line 1 window-fringes set-window-point compilation-set-window-height pop-to-buffer other-window window-dedicated-p switch-to-buffer push-mark nil overlays-at overlay-get invisible hs delete-overlay timerp cancel-timer make-overlay overlay-put face next-error re-search-forward move-overlay add-hook pre-command-hook compilation-goto-locus-delete-o run-at-time fringe-arrow copy-marker line-beginning-position mk compilation-context-lines compilation-highlight-regexp highlight-regexp end-mk mark-active ov #1=#:--cl-dolist-temp-- next-error-highlight-timer compilation-highlight-overlay end next-error-highlight next-error-overlay-arrow-position] 5 (#$ . 57238)]) (defalias 'compilation-goto-locus-delete-o #[nil "\302!\210\303 !\203\304 !\210\305\306\307\"\207" [compilation-highlight-overlay next-error-highlight-timer delete-overlay timerp cancel-timer remove-hook pre-command-hook compilation-goto-locus-delete-o] 3]) #@457 Find a buffer for file FILENAME. Search the directories in `compilation-search-path'. A nil in `compilation-search-path' means to try the "current" directory, which is passed in DIRECTORY. If DIRECTORY. is relative, it is combined with `default-directory'. If DIRECTORY. is nil, that means use `default-directory'. If FILENAME is not found at all, ask the user where to find it. Pop up the buffer containing MARKER and scroll to MARKER if we ask the user. (defalias 'compilation-find-file #[(marker filename directory &rest formats) "\204\306 \n\203\307\n!\202 \310\211\211\211&'()\311*!\203>\312\307*!!*\313*!)B)\314*!*)\203\203'\204\203)@\206P(&\211\203z'\204z\307\315 @*\"&\"\316\f!\205q\317\f!' A\211\204X)A\211)\204C'\204)\212\320+\321\322,!!,-./\250\203\264\323.\212-b\210\324\325/Z!\210`)\"\210\202\314\326 @\327\232\203\314\323.\212-b\210\324\325!\210`)\"\210\330.-\"\210*\331\315\3320*#(*\320\310%\2111\316\f!\204\374\333\334\f\"\210\335 \210\336\337!\210\202%\340\f!\203 \316\307*\f\"\211!\204 \333\341*1#\210\335 \210\336\337!\210\202%\317\f!',\202\203\342ed\"\3102\2113\203S3@2\3432\344\"\203J\3452\344\310#\2103A\2113\2046*'.\207" [formats compilation-search-path directory default-directory name fmts ("%s") expand-file-name nil file-name-absolute-p abbreviate-file-name file-name-directory file-name-nondirectory format file-exists-p find-file-noselect t display-buffer marker-buffer set-window-start beginning-of-line 1 window-fringes 0 set-window-point read-file-name "Find this %s in (default %s): " message "Cannot find file `%s'" ding sit-for 2 file-directory-p "No `%s' in directory %s" overlays-in overlay-get intangible overlay-put thisdir buffer spec-dir dirs filename pop-up-windows marker mk w compilation-context-lines compilation-error origname ov #1=#:--cl-dolist-temp--] 7 (#$ . 59491)]) #@273 Retrieve FILE's file-structure or create a new one. FILE should be (FILENAME) or (RELATIVE-FILENAME . DIRNAME). In the former case, FILENAME may be relative or absolute. The file-structure looks like this: (list (list FILENAME [DIR-FROM-PREV-MSG]) FMT LINE-STRUCT...)  (defalias 'compilation-get-file-structure #[(file &optional fmt) "\306 \"\206[@A\205\307A!\310\304!\2037\f\311\232\2047\312 !\203-\f P\2027\n\2037\307\f\nP! \203? !\313 !\314\306 C \"\206X\314 C \nD D # #*\207" [file compilation-locs spec-directory filename comint-file-name-prefix compilation-parse-errors-filename-function gethash file-truename boundp "" file-name-absolute-p command-line-normalize-file-name puthash fmt] 6 (#$ . 61410)]) (add-to-list 'debug-ignored-errors "^No more [-a-z ]+s yet$") (defalias 'compile-buffer-substring #[(n) "\205\301!\207" [n match-string] 2]) #@47 Map old-style error ERR to new-style message. (defalias 'compilation-compat-error-properties #[(err) "A\306 !\203\307\310\311\310\211\211 F\312D\313BBBB\202Q \211A@ \211A@ \211A@\n\211A@\n\211A@ \n\211A@\314  B \310\f\310\312&.)\207" [err dst file line col filename markerp face nil message 2 (help-echo "mouse-2: visit the source location" keymap compilation-button-map mouse-face highlight) compilation-internal-error-properties dirname fmt] 8 (#$ . 62297)]) (defalias 'compilation-compat-parse-errors #[(limit) "\203\212\306\n\203\n`\306\223\210\202\307 \306\310\311\217\210 <\205! \306\211\203~\f@\211@ A\312!\203B\306\211\211F\202b:\205b\3138A@\211@A)\211@@)BE\211\203v b\210\314 \315 \316\313D$\210+\fA\211\204(+b\210\306\207" [compilation-parse-errors-function compilation-error-list compilation-parsing-end err #1=#:--cl-dolist-temp-- src nil point-marker (funcall compilation-parse-errors-function limit nil) ((error)) markerp 2 put-text-property line-end-position message dst x loc limit] 7]) (defalias 'compilation-forget-errors #[nil "\306\307\310\311\312$\313\211\314p!\211\205\315 !\211\206d\211eV\203*\316 S!\202+ \211+\207" [compilation-locs compilation-gcpro compilation-current-error proc mark pos make-hash-table :test equal :weakness value nil get-buffer-process process-mark copy-marker compilation-messages-start] 6]) (byte-code "\300\301\302\"\210\303\304!\207" [add-to-list auto-mode-alist ("\\.gcov\\'" . compilation-mode) provide compile] 3)