MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 18.117.158.174
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/progmodes/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/progmodes/compile.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:09:21 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/progmodes/compile.el
;;; in Emacs version 24.3.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\210\303\304\305\306\307\310\307\311&\210\312\313\305\314\315\316\307\304&\210\312\317\305\320\315\316\307\304&\210\312\321\305\322\315\323\307\304&\207" [require tool-bar comint custom-declare-group compilation nil "Run compiler as inferior of Emacs, parse error messages." :group tools processes custom-declare-variable compilation-mode-hook "List of hook functions run by `compilation-mode' (see `run-mode-hooks')." :type hook compilation-start-hook "List of hook functions run by `compilation-start' on the compilation process.\n(See `run-hook-with-args').\nIf you use \"omake -P\" and do not want \\[save-buffers-kill-terminal] to ask whether you want\nthe compilation to be killed, you can use this hook:\n  (add-hook 'compilation-start-hook\n    (lambda (process) (set-process-query-on-exit-flag process nil)) nil t)" compilation-window-height "Number of lines in a compilation window.  If nil, use Emacs default." (choice (const :tag "Default" nil) integer)] 8)
#@338 Hook run after `compilation-filter' has inserted a string into the buffer.
It is called with the variable `compilation-filter-start' bound
to the position of the start of the inserted text, and point at
its end.

If Emacs lacks asynchronous process support, this hook is run
after `call-process' inserts the grep output into the buffer.
(defvar compilation-filter-hook nil (#$ . 1569))
#@125 Position of the start of the text inserted by `compilation-filter'.
This is bound before running `compilation-filter-hook'.
(defvar compilation-filter-start nil (#$ . 1962))
#@249 This is how compilers number the first column, usually 1 or 0.
If this is buffer-local in the destination buffer, Emacs obeys
that value, otherwise it uses the value in the *compilation*
buffer.  This enables a major-mode to specify its own value.
(defvar compilation-first-column 1 (#$ . 2143))
#@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 (#$ . 2446))
#@255 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.
(defvar compilation-process-setup-function nil (#$ . 2727))
#@245 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.
If nil, compute the name with `(concat "*" (downcase major-mode) "*")'.
(defvar compilation-buffer-name-function nil (#$ . 3048))
#@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 (#$ . 3357))
(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 (#$ . 3712))
#@44 List of compilation processes now running.
(defvar compilation-in-progress nil (#$ . 3945))
(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" (#$ . 4173))
#@51 Arguments that were given to `compilation-start'.
(defvar compilation-arguments nil (#$ . 4278))
#@55 Alist of values for `compilation-error-regexp-alist'.
(defvar 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 . 4) (3 . 5) (6)) (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)) (python-tracebacks-and-caml "^[ 	]*File \\(\"?\\)\\([^,\" \n	<>]+\\)\\1, lines? \\([0-9]+\\)-?\\([0-9]+\\)?\\(?:$\\|,\\(?: characters? \\([0-9]+\\)-?\\([0-9]+\\)?:\\)?\\([ \n]Warning\\(?: [0-9]+\\)?:\\)?\\)" 2 (3 . 4) (5 . 6) (7)) (comma "^\"\\([^,\" \n	]+\\)\", line \\([0-9]+\\)\\(?:[(. pos]+\\([0-9]+\\))?\\)?[:.,; (-]\\( warning:\\|[-0-9 ]*(W)\\)?" 1 2 3 (4)) (cucumber "\\(?:^cucumber\\(?: -p [^[:space:]]+\\)?\\|#\\)\\(?: \\)\\([^(].*\\):\\([1-9][0-9]*\\)" 1 2) (msft "^ *\\([0-9]+>\\)?\\(\\(?:[a-zA-Z]:\\)?[^:(	\n]+\\)(\\([0-9]+\\)) ?: \\(?:see declaration\\|\\(?:warnin\\(g\\)\\|[a-z ]+\\) C[0-9]+:\\)" 2 3 nil (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) (maven "\\([^ \n]\\(?:[^\n :]\\| [^-/\n]\\|:[^ \n]\\)*?\\):\\[\\([0-9]+\\),\\([0-9]+\\)\\] " 1 2 3) (jikes-line "^ *\\([0-9]+\\)\\.[ 	]+.*\n +\\(<-*>\n\\*\\*\\* \\(?:Error\\|Warnin\\(g\\)\\)\\)" nil 1 nil 2 0 (2 (compilation-face '(3)))) (gcc-include "^\\(?:In file included \\|                 \\|	\\)from \\([0-9]*[^0-9\n]\\(?:[^\n :]\\| [^-/\n]\\|:[^ \n]\\)*?\\):\\([0-9]+\\)\\(?::\\([0-9]+\\)\\)?\\(?:\\(:\\)\\|\\(,\\|$\\)\\)?" 1 2 3 (4 . 5)) (ruby-Test::Unit "^[	 ]*\\[\\([^(].*\\):\\([1-9][0-9]*\\)\\(\\]\\)?:in " 1 2) (gnu "^\\(?:[[:alpha:]][-[:alnum:].]+: ?\\|[ 	]+\\(?:in \\|from \\)\\)?\\([0-9]*[^0-9\n]\\(?:[^\n :]\\| [^-/\n]\\|:[^ \n]\\)*?\\): ?\\([0-9]+\\)\\(?:[.:]\\([0-9]+\\)\\)?\\(?:-\\([0-9]+\\)?\\(?:\\.\\([0-9]+\\)\\)?\\)?:\\(?: *\\(\\(?:Future\\|Runtime\\)?[Ww]arning\\|W:\\)\\| *\\([Ii]nfo\\(?:\\>\\|rmationa?l?\\)\\|I:\\|instantiated from\\|[Nn]ote\\)\\| *[Ee]rror\\|[0-9]?\\(?:[^0-9\n]\\|$\\)\\|[0-9][0-9][0-9]\\)" 1 (2 . 4) (3 . 5) (6 . 7)) (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 (0 (progn (save-match-data (compilation-parse-errors (match-end 0) (line-end-position) `("`\\(\\(\\S +?\\)\\(?::\\([0-9]+\\)\\)?\\)['(]" 2 3 nil ,(cond ((match-end 1) 1) ((match-end 2) 0) (t 2)) 1))) (end-of-line) nil))) (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]+\\)) : \\(?:see declaration\\|\\(?:warnin\\(g\\)\\|[a-z ]+\\) C[0-9]+:\\)" 2 3 nil (4)) (omake "omake: file \\(.*\\) changed" 1 nil nil nil nil (0 (progn (compilation--flush-file-structure (match-string 1)) nil))) (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]+\\)\\(?:[,.]\\|$\\| during global destruction\\.$\\)" 1 2) (php "\\(?:Parse\\|Fatal\\) error: \\(.*\\) in \\(.*\\) on line \\([0-9]+\\)" 2 3 nil nil) (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) (watcom "^[ 	]*\\(\\(?:[a-zA-Z]:\\)?[^:(	\n]+\\)(\\([0-9]+\\)): ?\\(?:\\(Error! E[0-9]+\\)\\|\\(Warning! W[0-9]+\\)\\):" 1 2 nil (4)) (4bsd "\\(?:^\\|::  \\|\\S ( \\)\\(/[^ \n	()]+\\)(\\([0-9]+\\))\\(?:: \\(warning:\\)?\\|$\\| ),\\)" 1 2 nil (3)) (gcov-file "^ *-: *\\(0\\):Source:\\(.+\\)$" 2 1 nil 0 nil) (gcov-header "^ *-: *\\(0\\):\\(?:Object\\|Graph\\|Data\\|Runs\\|Programs\\):.+$" nil 1 nil 0 nil) (gcov-nomark "^ *-: *\\([1-9]\\|[0-9]\\{2,\\}\\):.*$" nil 1 nil 0 nil (0 'default) (1 compilation-line-face)) (gcov-called-line "^ *\\([0-9]+\\): *\\([0-9]+\\):.*$" nil 2 nil 0 nil (0 'default) (1 compilation-info-face) (2 compilation-line-face)) (gcov-never-called "^ *\\(#####\\): *\\([0-9]+\\):.*$" nil 2 nil 2 nil (0 'default) (1 compilation-error-face) (2 compilation-line-face)) (perl--Pod::Checker "^\\*\\*\\* \\(?:ERROR\\|\\(WARNING\\)\\).* \\(?:at\\|on\\) line \\([0-9]+\\) \\(?:.* \\)?in file \\([^ 	\n]+\\)" 3 2 nil (1)) (perl--Test "^# Failed test [0-9]+ in \\([^ 	
\n]+\\) at line \\([0-9]+\\)" 1 2) (perl--Test2 "^\\(.*NOK.*\\)?# Test [0-9]+ got:.* (\\([^ 	
\n]+\\) at line \\([0-9]+\\)\\( fail #[0-9]+\\)?)" 2 3) (perl--Test::Harness "^.*NOK.* \\([^ 	
\n]+\\) at line \\([0-9]+\\)" 1 2) (weblint "^\\([^ 	
\n(]+\\) (\\([0-9]+\\):\\([0-9]+\\)) " 1 2 3)) (#$ . 4381))
(byte-code "\301\302\303\304\305\306\307\310\311\312\313\314\"F\315\316&	\207" [data-directory custom-declare-variable compilation-error-regexp-alist (mapcar 'car compilation-error-regexp-alist-alist) "Alist that specifies how to match errors in compiler output.\nOn GNU and Unix, any string is a valid filename, so these\nmatchers must make some common sense assumptions, which catch\nnormal cases.  A shorter list will be lighter on resource usage.\n\nInstead of an alist element, you can use a symbol, which is\nlooked up in `compilation-error-regexp-alist-alist'.  You can see\nthe predefined symbols and their effects in the file\n`etc/compilation.txt' (linked below if you are customizing this).\n\nEach elt has the form (REGEXP FILE [LINE COLUMN TYPE HYPERLINK\nHIGHLIGHT...]).  If REGEXP matches, the FILE'th subexpression\ngives the file name, and the LINE'th subexpression gives the line\nnumber.  The COLUMN'th subexpression gives the column number on\nthat line.\n\nIf FILE, LINE or COLUMN are nil or that index didn't match, that\ninformation is not present on the matched line.  In that case the\nfile name is assumed to be the same as the previous one in the\nbuffer, line number defaults to 1 and column defaults to\nbeginning of line's indentation.\n\nFILE can also have the form (FILE FORMAT...), where the FORMATs\n(e.g. \"%s.c\") will be applied in turn to the recognized file\nname, until a file of that name is found.  Or FILE can also be a\nfunction that returns (FILENAME) or (RELATIVE-FILENAME . DIRNAME).\nIn the former case, FILENAME may be relative or absolute.\n\nLINE can also be of the form (LINE . END-LINE) meaning a range\nof lines.  COLUMN can also be of the form (COLUMN . END-COLUMN)\nmeaning a range of columns starting on LINE and ending on\nEND-LINE, if that matched.\n\nTYPE is 2 or nil for a real error or 1 for warning or 0 for info.\nTYPE can also be of the form (WARNING . INFO).  In that case this\nwill be equivalent to 1 if the WARNING'th subexpression matched\nor else equivalent to 0 if the INFO'th subexpression matched.\nSee `compilation-error-face', `compilation-warning-face',\n`compilation-info-face' and `compilation-skip-threshold'.\n\nWhat matched the HYPERLINK'th subexpression has `mouse-face' and\n`compilation-message-face' applied.  If this is nil, the text\nmatched by the whole REGEXP becomes the hyperlink.\n\nAdditional HIGHLIGHTs take the shape (SUBMATCH FACE), where\nSUBMATCH is the number of a submatch and FACE is an expression\nwhich evaluates to a face name (a symbol or string).\nAlternatively, FACE can evaluate to a property list of the\nform (face FACE PROP1 VAL1 PROP2 VAL2 ...), in which case all the\nlisted text properties PROP# are given values VAL# as well." :type (repeat (choice (symbol :tag "Predefined symbol") (sexp :tag "Error specification"))) :link file-link :tag "example file" expand-file-name "compilation.txt" :group compilation] 13)
#@49 Directory to restore to when doing `recompile'.
(defvar compilation-directory nil (#$ . 13794))
#@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)) (#$ . 13897))
#@48 Value of `page-delimiter' in Compilation mode.
(defvar compilation-page-delimiter "^\\(?:\f\\|.*\\(?:Entering\\|Leaving\\) directory `.+'\n\\)+" (#$ . 14749))
#@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 compilation-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 compilation-message nil help-echo nil mouse-face nil) t) (1 compilation-error-face) (2 compilation-error-face nil t))) (#$ . 14915))
#@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 (#$ . 15879))
#@60 Overlay used to temporarily highlight compilation matches.
(defvar compilation-highlight-overlay nil (#$ . 16074))
(byte-code "\300\301\302\303\304\305\306\307\310\311&	\210\300\312\302\313\304\305\306\307&\210\300\314\302\315\304\305\306\307&\210\300\316\317\320\304\321\306\307\310\322&	\210\300\323\324\325\304\326\306\307&\210\300\327\330\331\304\332\306\307&\210\300\333\317\334\304\305\306\307\310\335&	\207" [custom-declare-variable compilation-error-screen-columns t "If non-nil, column numbers in error messages are screen columns.\nOtherwise they are interpreted as character positions, with\neach character occupying one column.\nThe default is to use screen columns, which requires that the compilation\nprogram and Emacs agree about the display width of the characters,\nespecially the TAB character.\nIf this is buffer-local in the destination buffer, Emacs obeys\nthat value, otherwise it uses the value in the *compilation*\nbuffer.  This enables a major-mode to specify its own value." :type boolean :group compilation :version "20.4" compilation-read-command "Non-nil means \\[compile] reads the compilation command to use.\nOtherwise, \\[compile] just uses the value of `compile-command'.\n\nNote that changing this to nil may be a security risk, because a\nfile might define a malicious `compile-command' as a file local\nvariable, and you might not notice.  Therefore, `compile-command'\nis considered unsafe if this variable is nil." compilation-ask-about-save "Non-nil means \\[compile] asks which buffers to save before compiling.\nOtherwise, it saves all modified buffers without asking." compilation-save-buffers-predicate nil "The second argument (PRED) passed to `save-some-buffers' before compiling.\nE.g., one can set this to\n  (lambda ()\n    (string-prefix-p my-compilation-root (file-truename (buffer-file-name))))\nto limit saving to files located under `my-compilation-root'.\nNote, that, in general, `compilation-directory' cannot be used instead\nof `my-compilation-root' here." (choice (const :tag "Default (save all file-visiting buffers)" nil) (const :tag "Save all buffers" t) function) "24.1" compilation-search-path '(nil) "List of directories to search for source files named in error messages.\nElements should be directory names, not file names of directories.\nThe value nil as an element means to try the default directory." (repeat (choice (const :tag "Default" nil) (string :tag "Directory"))) compile-command (purecopy "make -k ") "Last shell command used to do a compilation; default for next compilation.\n\nSometimes it is useful for files to supply local values for this variable.\nYou might also use mode hooks to specify it in certain modes, like this:\n\n    (add-hook 'c-mode-hook\n       (lambda ()\n	 (unless (or (file-exists-p \"makefile\")\n		     (file-exists-p \"Makefile\"))\n	   (set (make-local-variable 'compile-command)\n		(concat \"make -k \"\n			(file-name-sans-extension buffer-file-name))))))" string compilation-disable-input "If non-nil, send end-of-file as compilation process input.\nThis only affects platforms that support asynchronous processes (see\n`start-process'); synchronous compilation processes never accept input." "22.1"] 10)
(defvar compilation-locs nil)
#@198 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 (#$ . 19333))
#@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 (#$ . 19581))
#@224 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.
(custom-declare-variable 'compilation-environment nil '(#$ . 19941) :type '(repeat (string :tag "ENVVARNAME=VALUE")) :options '(("LANG=C")) :group 'compilation :version "24.1")
(defvar compile-history nil)
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\305\306\307&\210\300\313\314\315\304\305\306\307&\210\300\316\317\320\304\305\306\321&\210\300\322\323\324\304\305\306\321&\210\300\325\326\327\304\305\306\321&\210\300\330\331\332\304\305\306\307&\210\300\333\334\335\304\305\306\307&\210\336\337\340\341\342\343\304\305\306\307&	\207" [custom-declare-face compilation-error ((t :inherit error)) "Face used to highlight compiler errors." :group compilation :version "22.1" compilation-warning ((t :inherit warning)) "Face used to highlight compiler warnings." compilation-info ((t :inherit success)) "Face used to highlight compiler information." compilation-mode-line-fail ((default :inherit compilation-error) (((class color) (min-colors 16)) (:foreground "Red1" :weight bold)) (((class color) (min-colors 8)) (:foreground "red")) (t (:inverse-video t :weight bold))) "Face for Compilation mode's \"error\" mode line indicator." "24.3" compilation-mode-line-run ((t :inherit compilation-warning)) "Face for Compilation mode's \"running\" mode line indicator." compilation-mode-line-exit ((default :inherit compilation-info) (((class color) (min-colors 16)) (:foreground "ForestGreen" :weight bold)) (((class color)) (:foreground "green" :weight bold)) (t (:weight bold))) "Face for Compilation mode's \"exit\" mode line indicator." compilation-line-number ((t :inherit font-lock-keyword-face)) "Face for displaying line numbers in compiler messages." compilation-column-number ((t :inherit font-lock-doc-face)) "Face for displaying column numbers in compiler messages." custom-declare-variable compilation-message-face 'underline "Face name to use for whole messages.\nFaces `compilation-error-face', `compilation-warning-face',\n`compilation-info-face', `compilation-line-face' and\n`compilation-column-face' get prepended to this, when applicable." :type face] 10)
#@51 Face name to use for file name in error messages.
(defvar compilation-error-face 'compilation-error (#$ . 22273))
#@53 Face name to use for file name in warning messages.
(defvar compilation-warning-face 'compilation-warning (#$ . 22393))
#@59 Face name to use for file name in informational messages.
(defvar compilation-info-face 'compilation-info (#$ . 22519))
#@57 Face name to use for line numbers in compiler messages.
(defvar compilation-line-face 'compilation-line-number (#$ . 22645))
#@59 Face name to use for column numbers in compiler messages.
(defvar compilation-column-face 'compilation-column-number (#$ . 22776))
#@51 Face name to use for entering directory messages.
(defvar compilation-enter-directory-face 'font-lock-function-name-face (#$ . 22913))
#@50 Face name to use for leaving directory messages.
(defvar compilation-leave-directory-face 'font-lock-builtin-face (#$ . 23054))
(defvar compilation-parse-errors-function nil)
(byte-code "\300\301\302\303#\210\304\305\306\307\310\311\312\313\314\315&	\207" [make-obsolete-variable compilation-parse-errors-function compilation-error-regexp-alist "24.1" custom-declare-variable compilation-auto-jump-to-first-error nil "If non-nil, automatically jump to the first error during compilation." :type boolean :group compilation :version "23.1"] 10)
#@63 If non-nil, automatically jump to the next error encountered.
(defvar compilation-auto-jump-to-next nil (#$ . 23603))
(make-variable-buffer-local 'compilation-auto-jump-to-next)
#@72 If non-nil, skip multiple error messages for the same source location.
(defvar compilation-skip-to-next-location t (#$ . 23787))
#@281 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 '(#$ . 23923) :type '(choice (const :tag "Skip warnings and info" 2) (const :tag "Skip info" 1) (const :tag "No skip" 0)) :group 'compilation :version "22.1")
#@48 Switch the `compilation-skip-threshold' level.
(defalias 'compilation-set-skip-threshold #[(level) "\302\303	\304=\203\305\202#	\306=\203\307\202#	\310=\203\"\311\202#\312\"\207" [level compilation-skip-threshold message "Skipping %s" 0 "Nothing" 1 "Info messages" 2 "Warnings and info" nil] 4 (#$ . 24423) (list (mod (if current-prefix-arg (prefix-numeric-value current-prefix-arg) (1+ compilation-skip-threshold)) 3))])
#@248 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 '(#$ . 24862) :type 'boolean :group 'compilation :version "22.1")
(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--make-cdrloc '(macro . #[(line file-struct marker) "\303	\n\304BBBB\207" [line file-struct marker list (nil)] 5]))
(defalias 'compilation--loc->col '(macro . #[(loc) "\301D\207" [loc car] 2]))
(defalias 'compilation--loc->line '(macro . #[(loc) "\301D\207" [loc cadr] 2]))
(defalias 'compilation--loc->file-struct '(macro . #[(loc) "\301\302E\207" [loc nth 2] 3]))
(defalias 'compilation--loc->marker '(macro . #[(loc) "\301\302E\207" [loc nth 3] 3]))
(defalias 'compilation--loc->visited '(macro . #[(loc) "\301\302E\207" [loc nthcdr 5] 3]))
(defalias 'compilation--make-file-struct '(macro . #[(file-spec formats &optional loc-tree) "\303\303	\nEE\207" [file-spec formats loc-tree cons] 5]))
(defalias 'compilation--file-struct->file-spec '(macro . #[(fs) "\301D\207" [fs car] 2]))
(defalias 'compilation--file-struct->formats '(macro . #[(fs) "\301D\207" [fs cadr] 2]))
(defalias 'compilation--file-struct->loc-tree '(macro . #[(fs) "\301D\207" [fs cdr] 2]))
(byte-code "\301\302\303\304#\210\305\301\302\306\307\310!!#\210)\301\207" [file put compilation--message->loc compiler-macro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block compilation--message->loc (or (and (memq (aref cl-x 0) cl-struct-compilation--message-tags)) (error "%s accessing a non-%s" 'compilation--message->loc 'compilation--message)) (aref cl-x 1)) nil] 7] "/builddir/build/BUILD/emacs-24.3/lisp/progmodes/compile.el" compiler-macro-file purecopy file-name-nondirectory] 6)
(defalias 'compilation--message->loc #[(cl-x) "\302H	>\204\303\304\305\306#\210\307H\207" [cl-x cl-struct-compilation--message-tags 0 error "%s accessing a non-%s" compilation--message->loc compilation--message 1] 4])
(byte-code "\301\302\303\304#\210\305\301\302\306\307\310!!#\210)\301\207" [file put compilation--message->type compiler-macro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block compilation--message->type (or (and (memq (aref cl-x 0) cl-struct-compilation--message-tags)) (error "%s accessing a non-%s" 'compilation--message->type 'compilation--message)) (aref cl-x 2)) nil] 7] "/builddir/build/BUILD/emacs-24.3/lisp/progmodes/compile.el" compiler-macro-file purecopy file-name-nondirectory] 6)
(defalias 'compilation--message->type #[(cl-x) "\302H	>\204\303\304\305\306#\210\307H\207" [cl-x cl-struct-compilation--message-tags 0 error "%s accessing a non-%s" compilation--message->type compilation--message 2] 4])
(byte-code "\301\302\303\304#\210\305\301\302\306\307\310!!#\210)\301\207" [file put compilation--message->end-loc compiler-macro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block compilation--message->end-loc (or (and (memq (aref cl-x 0) cl-struct-compilation--message-tags)) (error "%s accessing a non-%s" 'compilation--message->end-loc 'compilation--message)) (aref cl-x 3)) nil] 7] "/builddir/build/BUILD/emacs-24.3/lisp/progmodes/compile.el" compiler-macro-file purecopy file-name-nondirectory] 6)
(defalias 'compilation--message->end-loc #[(cl-x) "\302H	>\204\303\304\305\306#\210\307H\207" [cl-x cl-struct-compilation--message-tags 0 error "%s accessing a non-%s" compilation--message->end-loc compilation--message 3] 4])
(byte-code "\301\302\303\304#\210\305\301\302\306\307\310!!#\210)\301\207" [file put compilation--message-p compiler-macro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block compilation--message-p (and (vectorp cl-x) (>= (length cl-x) 4) (memq (aref cl-x 0) cl-struct-compilation--message-tags) t)) nil] 7] "/builddir/build/BUILD/emacs-24.3/lisp/progmodes/compile.el" compiler-macro-file purecopy file-name-nondirectory] 6)
(defalias 'compilation--message-p #[(cl-x) "\302!\205G\303Y\205\304H	>\205\305\207" [cl-x cl-struct-compilation--message-tags vectorp 4 0 t] 2])
(byte-code "\301\302\303\304#\210\305\301\302\306\307\310!!#\210)\301\207" [file put compilation--make-message compiler-macro #[(_cl-whole-arg loc type end-loc) "\303\304\305\306\211\211	\n&\207" [loc type end-loc cl--defsubst-expand (loc type end-loc) (cl-block compilation--make-message (vector 'cl-struct-compilation--message loc type end-loc)) nil] 9] "/builddir/build/BUILD/emacs-24.3/lisp/progmodes/compile.el" compiler-macro-file purecopy file-name-nondirectory] 6)
(defalias 'compilation--make-message #[(loc type end-loc) "\303\304	\n$\207" [loc type end-loc vector cl-struct-compilation--message] 5])
(byte-code "\301C\302\303\304\305#\210\302\303\306\307#\210\302\303\310\311#\210\302\303\312\313#\210\302\314\315\313#\210\302\316\315\317#\210\302\320\315\313#\210\302\321\315\313#\210\302\322\315\313#\207" [cl-struct-compilation--message-tags cl-struct-compilation--message put compilation--message cl-struct-slots ((cl-tag-slot) (loc) (type) (end-loc)) cl-struct-type (vector nil) cl-struct-include nil cl-struct-print t compilation--make-message side-effect-free compilation--message-p error-free compilation--message->end-loc compilation--message->type compilation--message->loc] 4)
#@258 A pair (POS . RES) caching the result of previous directory search.
Basically, this pair says that calling
   (previous-single-property-change POS 'compilation-directory)
returned RES, i.e. there is no change of `compilation-directory' between
POS and RES.
(defvar compilation--previous-directory-cache nil (#$ . 30567))
(make-variable-buffer-local 'compilation--previous-directory-cache)
(defalias 'compilation--flush-directory-cache #[(start _end) "?\206(@	X\206(A\203\302A!\203A	X\203%@	\303\223\207\303\211\207" [compilation--previous-directory-cache start marker-buffer nil] 3])
#@80 Like (previous-single-property-change POS 'compilation-directory), but faster.
(defalias 'compilation--previous-directory #[(pos) "\203	@W\203A\203A	W\203A\207\205'@	X\205'@\305	\306\307\n$\n\204C\310	!\205=\310!B\202\204\203e\nU\203e\n\203Z@	\307\223\210\202`\310	!\307BA\202\204\n\203w\n	\307\223\210\310!\241\210\202\203\310	!\205\201\310!B\311\f!\203\221\312\f!\202\222\f+\207" [compilation--previous-directory-cache pos cache prev res previous-single-property-change compilation-directory nil copy-marker markerp marker-position] 5 (#$ . 31171)])
(defalias 'compilation-directory-properties #[(idx leave) "\203\225\305\306\224!\211\205\307	S\310\"\206\307	\310\"\311\203&\n\202'\310\2035	A\206:\312\202:\313\f!	B\314\315\316\317\306\317$)\320BBBBBB\207" [leave dir compilation-leave-directory-face compilation-enter-directory-face idx compilation--previous-directory 0 get-text-property compilation-directory font-lock-face (nil) match-string-no-properties compilation-message vector cl-struct-compilation--message nil (mouse-face highlight keymap compilation-button-map help-echo "mouse-2: visit destination directory")] 11])
(defalias 'compilation-auto-jump #[(buffer pos) "rq\210	b\210\304\305\"\211\203\306\n	\"\210)\205\307 )\207" [buffer pos win compilation-auto-jump-to-first-error get-buffer-window 0 set-window-point compile-goto-error] 4])
(defalias 'compilation-error-properties #[(file line end-line col end-col type fmt) "\306\307\224`\310\311$?\205p\203J\312!\203 \202\313!\211;\203\230\314!?\205@\315\307\224!\211\205?\316	S\317\"\206?\316	\317\")\n@B)\202\230\320`\310\"\211\203\221\316S\310\"\206_\316\310\"\211\205w\321\f\307H
>\204s\322\323\324\325#\210\f\326H8\211\203\220\211 @@)@\211 A@)B*\204\227\327)!\203\255\313!!\211!\203\255\330!!!\"\203\302\313\"!\211\"\203\302\330\"!\"#\203\346\312#!\203\326# #\202\346\313#!\211#\203\346\330#!#$\203\372\312$!\203\372$ $\202$\203\313$!\211$\203\330$!T$\202\"\203\331$%:\203F%@\2032%@\225\2032\326\202D%A\203C%A\225\203C\307\202D\321%\203`%&Y\203`\332\333!\210\334\307\311\335p\307\224%\210\336!\"#$%'&\207" [file pos dir prev-pos prev cl-struct-compilation--message-tags text-property-not-all 0 compilation-message nil functionp match-string-no-properties file-name-absolute-p compilation--previous-directory get-text-property compilation-directory previous-single-property-change 2 error "%s accessing a non-%s" compilation--message->loc compilation--message 1 ("*unknown*") string-to-number -1 kill-local-variable compilation-auto-jump-to-next run-with-timer compilation-auto-jump compilation-internal-error-properties prev-file-struct x line end-line col end-col type compilation-skip-threshold 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) "	Z\n\203\303\304]!\207\305 \\\306 ^b\207" [col compilation-first-column screen move-to-column 0 line-beginning-position line-end-position] 3 (#$ . 34049)])
#@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	\"\211A\211A@)\211\205\310\f\211A@)8\"#\311\211$%\311&
\203;\312
!\204@\311\202\360'\204H\313'\305\314\215\210\310\f\211A@)8\f@\206[\313r\312
!q\210\315\316!\203m\202o\"\315\317!\203z\202|#\"\212\214~\210\320
!b\210(\204\237)\204\237\321\322'\f\323#!\210\202\331\321\322)\206\250'\f\323#!\210(\203\271(\324W\203\277\311\210\202\306\325(\"\"\210\326 $)\203\331\321\322')\323#!\210*\203\350\325*\"\"\210\202\354\327\324!\210\326 -\nA\211+A,'\204
,\203P,\211@@)?\202H,\2039,\211@@)\203)',\211@@)W\202*\330\2039,\211+A\211,\204,\203P',\211@@)=\203P,\202Y+'C,B\241@*%)\2039\nA\211+A,)\204,\203\302,\211@@)?\202\272,\203\253,\211@@)\203\233),\211@@)W\202\234\330\203\253,\211+A\211,\204\204,\203\302),\211@@)=\203\302,\202\313+)C,B\241@*\211+A,(\204\350,\203+,\211@@)?\202#,\203,\211@@)\203(,\211@@)W\202\330\203,\211+A\211,\204\355,\203+(,\211@@)=\203+,\2024+(C,B\241@*\202\251(\205\251%\211+A,(\204[,\203\236,\211@@)?\202\226,\203\207,\211@@)\203w(,\211@@)W\202x\330\203\207,\211+A\211,\204`,\203\236(,\211@@)=\203\236,\202\247+(C,B\241@*&%\211+A,*\204\310,\203,\211@@)?\202,\203\364,\211@@)\203\344*,\211@@)W\202\345\330\203\364,\211+A\211,\204\315,\203*,\211@@)=\203,\202+*C,B\241@*\211%A\204'%'\n
\311F\241\210&\203B&A\204B&)\206;'\n$\311F\241\210\331-\332\333\334%.&$\335*\203Y\336\202c'\203b\337\202c\340.\341BBBBBB\207" [file fmts file-struct x marker-line marker ("*unknown*") compilation-get-file-structure 3 nil marker-buffer 1 (byte-code "A\211AA)\305\211\203;\n@\211@V\203	\2024\f@\206#\306Z	@ZV\203/	\307\310\311\"\210\nA\211\204*\305\207" [file-struct x --dolist-tail-- line marker-line nil 1 throw marker t] 4) local-variable-p compilation-error-screen-columns compilation-first-column marker-position beginning-of-line - -1 0 compilation-move-to-column point-marker forward-to-indentation t font-lock-face compilation-message vector cl-struct-compilation--message 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) screen-columns first-column end-marker loc end-loc line end-col end-line col l1 l2 compilation-message-face type] 9 (#$ . 34398)])
(defalias 'compilation--put-prop #[(matchnum prop val) "\250\205\224\205\303\224\225	\n$\207" [matchnum prop val put-text-property] 5])
(defalias 'compilation--remove-properties #[(&optional start end) "\306 \307\211\307\310\211\310\311\216\310\204e\204%d\312\"\210\313\314\310$\2069\315\314\"\203K\316\317#\210W\205Z\202,.	\207" [#1=#:modified buffer-undo-list inhibit-read-only inhibit-modification-hooks deactivate-mark buffer-file-name buffer-modified-p t nil ((byte-code "\204\301\302!\210\302\207" [#1# restore-buffer-modified-p nil] 2)) compilation--flush-directory-cache next-single-property-change compilation-message get-text-property remove-list-of-text-properties (compilation-debug compilation-directory compilation-message font-lock-face help-echo mouse-face) buffer-file-truename next start end] 6])
(defalias 'compilation--parse-region #[(start end) "b\210n\204%m\204\306\307\310C\"\210\311p!\211\205\312	!\313>)\203%\314 \315\n\"\210\2035\nb\210\316!\207\nb\210\317\f@\320#\203\210\321\322\224\322\225\"\210
\203X\323\322\224\322\225\305\324\325\f\"$\210\fA\326\211\203\204@\327@\224@\225\330@A\"#\210A\211\204c*\2028\331\n\"\207" [end proc start compilation-parse-errors-function compilation-directory-matcher compilation-debug signal cl-assertion-failed (eobp) get-buffer-process process-status (run open) line-beginning-position compilation--remove-properties compilation--compat-parse-errors re-search-forward t compilation--flush-directory-cache 0 font-lock-append-text-property vector directory nil add-text-properties compilation-directory-properties compilation-parse-errors elt --dolist-tail--] 8])
#@158 Parse errors between START and END.
The errors recognized are the ones specified in RULES which default
to `compilation-error-regexp-alist' if RULES is nil.
(defalias 'compilation-parse-errors #[(start end &rest rules) "\206	\306\211\205=@\2119\203\n\f\236A\nA@\307\n8\310\n8\311\n8\n@\306\211\211\211)*+,-./0\312	>\203S\313\314,\"\204S\315,\316\306OP,0:\203c0A)0@0/:\203s/A+/@/.:\203\203.A*.@.\317/!\203\3331b\210\320,2\321#\2033\322 3\323\216\203\257\324\325\224\325\225\326\327\317\n\"$\210\330\325\224\325\225\331/\3320!4\311\n\233BB.\205\313\332.!\"!#\210*\3330\3345#\210\202\216\335\n8\203\357\335\n8\250\204\357\336\337\335\n8\"\2101b\210\320,2\321#\2033\3400/+.*-\206\307)&\211\203\3630\250\2039\3330\334-:\203.\341-!\2027\342-\2065\307HJ#\210\333/\3346#\210\333+\3346#\210\333.\3347#\210\333*\3347#\210\343\n\233\3068\211\203\362@\2118\211A8@\2119\224\203\352\3448@!\211&\203\351&9\204\214&;\203\233\3459\2249\225\334&$\210\202\351&<\203\343&@\346=\203\343&\211:A@)9\204\301&\211:A@);\203\343\3459\2249\225\334&\211:A@)$\210\3309\2249\225&AA#\210\202\351\336\347&\"\210))A\211\204d*\335\n8\206\372\3259\203\324\325\224\325\225\326\327\350\n
#$\210\3309\2249\225
\211:AA)#\210\3249\2249\225\334
\211:A@)$\210)\202\363.	A\211\204\f\306*\207" [rules compilation-error-regexp-alist item --dolist-tail-- compilation-error-regexp-alist-alist props nil 2 3 4 omake string-match "\\`\\([^^]\\|\\^\\( \\*\\|\\[\\)\\)" "^ *" 1 functionp re-search-forward t match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) font-lock-append-text-property 0 compilation-debug vector add-text-properties compilation--compat-error-properties match-string compilation--put-prop font-lock-face 5 error "HYPERLINK should be an integer: %s" compilation-error-properties compilation-face [compilation-info-face compilation-warning-face compilation-error-face] 6 eval put-text-property face "Don't know how to handle face %S" std fmt end-col end-line pat type col line file start end save-match-data-internal default-directory compilation-error-face compilation-line-face compilation-column-face extra-item mn x] 10 (#$ . 39062)])
(defvar compilation--parsed -1)
(make-variable-buffer-local 'compilation--parsed)
#@49 Make sure the text has been parsed up to LIMIT.
(defalias 'compilation--ensure-parse #[(limit) "\212b\210\306\307!\310	!\204\311 	W\203B	e]	\312\223\210\nb\210\313y\210\314 \315\211\315\312\211\312\316\216\317`	\"\210.	)\312\207" [limit compilation--parsed start #1=#:modified buffer-undo-list inhibit-read-only line-beginning-position 2 markerp point-min-marker nil 0 buffer-modified-p t ((byte-code "\204\301\302!\210\302\207" [#1# restore-buffer-modified-p nil] 2)) compilation--parse-region inhibit-modification-hooks deactivate-mark buffer-file-name buffer-file-truename] 4 (#$ . 41455)])
#@55 Mark the region between START and END for re-parsing.
(defalias 'compilation--flush-parse #[(start _end) "\302!\205\f	^\303\223\207" [compilation--parsed start markerp nil] 3 (#$ . 42078)])
#@54 Return expressions to highlight in Compilation mode.
(defalias 'compilation-mode-font-lock-keywords #[nil "\301\302\"\207" [compilation-mode-font-lock-keywords append ((compilation--ensure-parse))] 3 (#$ . 42278)])
(defalias 'compilation-read-command #[(command) "\302\303	@\232\203\304\202\301#\207" [command compile-history read-shell-command "Compile command: " (compile-history . 1)] 5])
#@1169 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 then rename
the `*compilation*' buffer to some other name with
\[rename-buffer].  Then _switch buffers_ and start the new compilation.
It will create a new `*compilation*' buffer.

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?\"\210\310\311\f\"\210\312
\"\207" [command compile-command compilation-ask-about-save compilation-save-buffers-predicate default-directory comint eval save-some-buffers set-default compilation-directory compilation-start] 3 (#$ . 42685) (list (let ((command (eval compile-command))) (if (or compilation-read-command current-prefix-arg) (compilation-read-command command) command)) (consp current-prefix-arg))])
#@269 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'.
If the optional argument `edit-command' is non-nil, the command can be edited.
(defalias 'recompile #[(&optional edit-command) "\306?	\"\210\n\206\f\203
\307
@!\240\210\310\311
\206\"\312!C\")\207" [compilation-ask-about-save compilation-save-buffers-predicate compilation-directory default-directory edit-command compilation-arguments save-some-buffers compilation-read-command apply compilation-start eval compile-command] 4 (#$ . 44350) "P"])
#@364 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.

The value `first-error' stops scrolling at the first error, and leaves
point on its location in the *compilation* buffer.
(custom-declare-variable 'compilation-scroll-output nil '(#$ . 45002) :type '(choice (const :tag "No scrolling" nil) (const :tag "Scroll compilation output" t) (const :tag "Stop scrolling at the first error" first-error)) :version "20.3" :group 'compilation)
#@374 Return the name of a compilation buffer to use.
If NAME-FUNCTION is non-nil, call it with one argument NAME-OF-MODE
to determine the buffer name.
Likewise if `compilation-buffer-name-function' is non-nil.
If current buffer has the major mode MODE-COMMAND,
return the name of the current buffer, so that it gets reused.
Otherwise, construct a buffer name from NAME-OF-MODE.
(defalias 'compilation-buffer-name #[(name-of-mode mode-command name-function) "\203	!\207\n\203\n	!\207\f=\203\305 \207\306	\227\306Q\207" [name-function name-of-mode compilation-buffer-name-function mode-command major-mode buffer-name "*"] 3 (#$ . 45631)])
#@100 If t, always kill a running compilation process before starting a new one.
If nil, ask to kill it.
(custom-declare-variable 'compilation-always-kill nil '(#$ . 46279) :type 'boolean :version "24.3" :group 'compilation)
#@841 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.  Otherwise, the default is to
reuses the current buffer if it has the proper major mode,
else use or create a buffer with name based on the major mode.

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\202\311\312\313\314!#\n\f\315\211@Ar\316\317	B#!\211Aq\210\320p!\211C\203b\321C!\322=\203T\323C!\315=\204T\324\325\326	\"!\203\\\315\327\330\217\210\202b\331\332\333 \"\210)\307D\334\335\336E\"\204w\n\202\267\337\225\204\200\340\202\267E\337\224H\341=\203\226E\337\224T\337\225SO\202\267E\337\224H\342=\203\260\311\343\344E\337\224T\337\225SO#\202\267\345\346\337E\"!!\210\347 \210\307=\204\313\350 \210 \210\202\324\315F\351 \210\352 \210\353\354!\210,\353\304!\210
G\203\356\353\355!\210G-H\204\372I\356=\203\353\357!\210\307/\360	\361\362\363\n!!\364\325\365J\366 \367\370O#E\371\261\210\n*\372\315!\210)\373A!@rAq\210\374\f\375\376!\203K>\203K\377\201Y\325\201Z\201[ \"E\202X\201\\\325\201]\201[ \"D\201^\201_!?\205g\201`C\201aC\201bK!%K\353\201L!\210EBGFL\353\201M!\210\201cM\201d@e\"\210I\203\240d\202\241eN@\201e =\203\264Nb\210\202\275\201f@N\"\210)O\203\307O \210\201g@!\210\201h\201i!\203j\307=\203\320\201jAJ\227\201k\n!\203\365\201l\202\367P\315\201mED%!\202\201nJ\227AE#Q\201oRS\203\"\201pQ\315\"\210\201qQ\201r\"\210\307=\204<\201sQ\201t\"\210\201uQ!dA\223\210T\203U\315\201v\201w\217\210\201x\201yQ\"\210QUBU)\202\201z\201{E\"\210\201|R\201} \210\201~\367!\210\212db\210\307D`V\201P\315A\315\201mE&W\201\200\201\201!\210W\247\203\321\201\202\201\203W\201\204W!\203\305\201\205\202\314\325\201\206W\"#\210\202\362W;\203\347\201\202\201\207W\211\371P#\210\202\362\201\202\201\210W\211#\210,\372\315!\210\201z\201\211E\"\210)I\203\fdb\210)A\211X-\207" [mode name-of-mode default-directory thisdir compilation-environment thisenv compilation-mode t "compilation" replace-regexp-in-string "-mode\\'" "" symbol-name nil get-buffer-create compilation-buffer-name get-buffer-process process-status run process-query-on-exit-flag 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 cd string-match "\\`\\s *cd\\(?:\\s +\\(\\S +?\\|'[^']*'\\|\"\\(?:[^\"`$\\]\\|\\\\.\\)*\"\\)\\)?\\s *[;&\n]" 1 "~" 39 34 "\\\\\\(.\\)" "\\1" substitute-env-vars match-string erase-buffer buffer-disable-undo comint-mode compilation-shell-minor-mode make-local-variable compilation-directory compilation-highlight-regexp first-error compilation-auto-jump-to-next "-*- mode: " "; default-directory: " prin1-to-string abbreviate-file-name " -*-\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" outwin outbuf name-function comp-proc inhibit-read-only command buffer-read-only highlight-regexp compilation-auto-jump-to-first-error compilation-scroll-output mode-name process-environment compilation-arguments revert-buffer-function desired-visible-point compilation-process-setup-function shell-file-name proc mode-line-process compilation-always-kill compilation-disable-input compilation-in-progress compilation-filter-start status next-error-last-buffer "TERMCAP=" "COLUMNS=%d" window-width "TERM=emacs" "TERMCAP=emacs:co#%d:tc=unknown:" getenv "EMACS" "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 file-remote-p "/bin/sh" "-c" start-file-process-shell-command (:propertize ":%s" face compilation-mode-line-run) set-process-query-on-exit-flag set-process-sentinel compilation-sentinel set-process-filter compilation-filter process-mark (process-send-eof proc) ((error)) run-hook-with-args compilation-start-hook message "Executing `%s'..." (:propertize ":run" face compilation-mode-line-run) force-mode-line-update sit-for call-process run-hooks compilation-filter-hook compilation-handle-exit exit zerop "finished\n" "exited abnormally with code %d\n" signal bizarre "Executing `%s'...done"] 12 (#$ . 46505)])
#@68 Set the height of WINDOW according to `compilation-window-height'.
(defalias 'compilation-set-window-height #[(window) "\303\304\305!\"\211\205.\306!\205.\307\310!!=?\205.\212\311 r\312\216\313!\210\314	\315 Z!,)\207" [window height save-selected-window--state buffer-local-value compilation-window-height window-buffer window-full-width-p frame-root-window window-frame internal--before-save-selected-window ((internal--after-save-selected-window save-selected-window--state)) select-window enlarge-window window-height] 5 (#$ . 51582)])
(defvar compilation-menu-map (byte-code "\302\303!\302\304!\305	\306\307#\210\305	\310\311#\210\305	\312\313#\210\305	\314\315B#\210\305\316\317#\210\305\320\321#\210\305\322\323#\210\305	\324\325#\210\305	\326\327#\210\305	\330\331#\210\305	\332\333#\210	*\207" [opt-map map make-sparse-keymap "Errors" "Skip" define-key [stop-subjob] (menu-item "Stop Compilation" kill-compilation :help "Kill the process made by the M-x compile or M-x grep commands") [compilation-mode-separator3] ("----") [compilation-next-error-follow-minor-mode] (menu-item "Auto Error Display" next-error-follow-minor-mode :help "Display the error under cursor when moving the cursor" :button (:toggle . next-error-follow-minor-mode)) [compilation-skip] "Skip Less Important Messages" [compilation-skip-none] (menu-item "Don't Skip Any Messages" (lambda nil (interactive) (customize-set-variable 'compilation-skip-threshold 0)) :help "Do not skip any type of messages" :button (:radio eq compilation-skip-threshold 0)) [compilation-skip-info] (menu-item "Skip Info" (lambda nil (interactive) (customize-set-variable 'compilation-skip-threshold 1)) :help "Skip anything less than warning" :button (:radio eq compilation-skip-threshold 1)) [compilation-skip-warning-and-info] (menu-item "Skip Warnings and Info" (lambda nil (interactive) (customize-set-variable 'compilation-skip-threshold 2)) :help "Skip over Warnings and Info, stop for errors" :button (:radio eq compilation-skip-threshold 2)) [compilation-mode-separator2] ("----") [compilation-first-error] (menu-item "First Error" first-error :help "Restart at the first error, visit corresponding source code") [compilation-previous-error] (menu-item "Previous Error" previous-error :help "Visit previous `next-error' message and corresponding source code") [compilation-next-error] (menu-item "Next Error" next-error :help "Visit next `next-error' message and corresponding source code")] 5))
#@38 Keymap for `compilation-minor-mode'.
(defvar compilation-minor-mode-map (byte-code "\303 \304	\"\210\305\306\307#\210\305\310\311#\210\305\312\307#\210\305\313\307#\210\305\314\315#\210\305\316\317#\210\305\320\321#\210\305\322\323#\210\305\324\325#\210\305\326\327#\210\305\330\331\nB#\210)\207" [map special-mode-map compilation-menu-map make-sparse-keymap set-keymap-parent 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 "g" recompile [menu-bar compilation] "Errors"] 5) (#$ . 54066))
#@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) (#$ . 54749))
#@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) (#$ . 55233))
(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 "\304 \305	\"\210\306\307\310#\210\306\311\312#\210\306\313\310#\210\306\314\310#\210\306\315\316#\210\306\317\320#\210\306\321\322#\210\306\323\324#\210\306\325\326#\210\306\327\320#\210\306\330\322#\210\306\331\332#\210\306\333\334#\210\304\335!\306\336\335\nB#\210\305\n\"\210)\306\337\340#\210\306\341\342#\210\306\343\344#\210\306\345\346#\210)\207" [map special-mode-map submap compilation-menu-map make-sparse-keymap set-keymap-parent 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] "g" recompile "" next-error-follow-minor-mode "Compile" [menu-bar compilation] [menu-bar compilation compilation-separator2] ("----") [menu-bar compilation compilation-grep] (menu-item "Search Files (grep)..." grep :help "Run grep, with user-specified args, and collect output in a buffer") [menu-bar compilation compilation-recompile] (menu-item "Recompile" recompile :help "Re-compile the program including the current buffer") [menu-bar compilation compilation-compile] (menu-item "Compile..." compile :help "Compile the program including the current buffer.  Default: run `make'")] 5) (#$ . 55555))
(defvar compilation-mode-tool-bar-map (byte-code "\303!\205L\304!\305	\306\307#\210\305	\310\307#\210\311	\312\n#\210\313\314\315\211	\316\317\320\321&\210\313\317\322\211	\316\314\320\323&\210\313\324\325\211	\326\327\320\330&\210\313\331\332\211	\320\333&\210	)\207" [tool-bar-map map menu-bar-separator keymapp copy-keymap define-key [undo] nil [separator-2] define-key-after [separator-compile] tool-bar-local-item "left-arrow" previous-error-no-select :rtl "right-arrow" :help "Goto previous error" next-error-no-select "Goto next error" "cancel" kill-compilation :enable (let ((buffer (compilation-find-buffer))) (get-buffer-process buffer)) "Stop compilation" "refresh" recompile "Restart compilation"] 9))
(put 'compilation-mode 'mode-class 'special)
#@321 Major mode for compilation log buffers.
\<compilation-mode-map>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\301!\210\311\310\303!\210\n\312
\206\313\310\314!\210\f\315 \210\311\316\317!\207" [compilation-mode-map window-point-insertion-type compilation-mode-tool-bar-map tool-bar-map major-mode name-of-mode kill-all-local-variables use-local-map make-local-variable t compilation-mode "Compilation" page-delimiter compilation-setup run-mode-hooks compilation-mode-hook mode-name compilation-page-delimiter buffer-read-only] 2 (#$ . 57761) nil])
(put 'define-compilation-mode 'doc-string-elt 3)
#@324 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 (#$ . 58667)]))
(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 (#$ . 60363))
#@100 Buffer position of the beginning of the compilation messages.
If nil, use the beginning of buffer.
(defvar compilation-messages-start nil (#$ . 60553))
#@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\304!\210\322!\206,\313\306\305!\210\323\324\325\326\327$\315\330\331\314\320$\210\315\332\333\314\320$\210 \203Y\334\314\335 \"\210!\205]\336 \207\337\211\"\207" [overlay-arrow-string next-error-overlay-arrow-position next-error-function default-directory comint-file-name-prefix compilation-locs 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 file-remote-p make-hash-table :test equal :weakness value before-change-functions compilation--flush-parse change-major-mode-hook compilation--remove-properties font-lock-add-keywords compilation-mode-font-lock-keywords font-lock-fontify-buffer (compilation-mode-font-lock-keywords t) minor font-lock-mode font-lock-defaults] 5 (#$ . 60712)])
(defalias 'compilation--unsetup #[nil "\301\302\303 \"\210\304\305\306\307#\210\310\311!\210\312 \210\205\313 \207" [font-lock-mode font-lock-remove-keywords nil compilation-mode-font-lock-keywords remove-hook before-change-functions compilation--flush-parse t kill-local-variable compilation--parsed compilation--remove-properties font-lock-fontify-buffer] 4])
#@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 (#$ . 62299))
(make-variable-buffer-local 'compilation-shell-minor-mode)
#@412 Toggle Compilation Shell minor mode.
With a prefix argument ARG, enable Compilation Shell minor mode
if ARG is positive, and disable it otherwise.  If called from
Lisp, enable the mode if ARG is omitted or nil.

When Compilation Shell minor mode is enabled, 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'.
(defalias 'compilation-shell-minor-mode #[(&optional arg) "\303 	\304=\203\n?\202\305	!\306V\211\203\307\310!\210\202\"\311 \210\312\313\n\203,\314\202-\315\"\210\316\317!\203N\303 \203A\303 \232\203N\320\321\n\203K\322\202L\323\"\210)\324 \210\n\207" [#1=#:last-message arg compilation-shell-minor-mode current-message toggle prefix-numeric-value 0 compilation-setup t compilation--unsetup run-hooks compilation-shell-minor-mode-hook compilation-shell-minor-mode-on-hook compilation-shell-minor-mode-off-hook called-interactively-p any message "Compilation-Shell minor mode %sabled" "en" "dis" force-mode-line-update] 4 (#$ . 62544) (list (or current-prefix-arg 'toggle))])
(byte-code "\301\302\303\304\300!\205\n\305\211%\207" [compilation-shell-minor-mode-map add-minor-mode compilation-shell-minor-mode " Shell-Compile" boundp nil] 6)
#@113 Non-nil if Compilation minor mode is enabled.
Use the command `compilation-minor-mode' to change this variable.
(defvar compilation-minor-mode nil (#$ . 63820))
(make-variable-buffer-local 'compilation-minor-mode)
#@338 Toggle Compilation minor mode.
With a prefix argument ARG, enable Compilation minor mode if ARG
is positive, and disable it otherwise.  If called from Lisp,
enable the mode if ARG is omitted or nil.

When Compilation minor mode is enabled, all the error-parsing
commands of Compilation major mode are available.  See
`compilation-mode'.
(defalias 'compilation-minor-mode #[(&optional arg) "\303 	\304=\203\n?\202\305	!\306V\211\203\307\310!\210\202\"\311 \210\312\313\n\203,\314\202-\315\"\210\316\317!\203N\303 \203A\303 \232\203N\320\321\n\203K\322\202L\323\"\210)\324 \210\n\207" [#1=#:last-message arg compilation-minor-mode current-message toggle prefix-numeric-value 0 compilation-setup t compilation--unsetup run-hooks compilation-minor-mode-hook compilation-minor-mode-on-hook compilation-minor-mode-off-hook called-interactively-p any message "Compilation minor mode %sabled" "en" "dis" force-mode-line-update] 4 (#$ . 64041) (list (or current-prefix-arg 'toggle))])
(byte-code "\301\302\303\304\300!\205\n\305\211%\207" [compilation-minor-mode-map add-minor-mode compilation-minor-mode " Compilation" boundp nil] 6)
#@67 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`p#$%#b\210\307&\310$@\261\210'\247\203=\311'!\203=\312\313$A\"\210n\203D\314u\210\315\316 \317\320O\261\210db\210\321#`\322\323\324\"#\210\325\326	$A#\325\327&\330\331\332$@##(\312\313\"\210\333(\334\335\n\317V\203\205\336\202\206\337%*)\340 \210
\203\233
#W\203\233
b\210*\203\246*\f\"\210\341\342\f#-\207" [compilation-exit-message-function process-status exit-status msg cur-buffer opoint t 10 " " zerop message "%s" -1 " at " current-time-string 0 19 add-text-properties append (compilation-handle-exit t) nil format ":%s [%s]" "%s %s" replace-regexp-in-string "\n?$" "" propertize help-echo face compilation-mode-line-fail compilation-mode-line-exit force-mode-line-update run-hook-with-args compilation-finish-functions omax status inhibit-read-only mode-name compilation-window-height out-string mode-line-process compilation-finish-function] 8 (#$ . 65192)])
#@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 (#$ . 66267)])
#@164 Process filter for compilation buffers.
Just inserts the text,
handles carriage motion (see `comint-inhibit-carriage-motion'),
and runs `compilation-filter-hook'.
(defalias 'compilation-filter #[(proc string) "\306\307!!\205Fr\307!q\210\310\311`\310\"\312 \311d\310\"\313\314!!\315\216~\210	b\210c\210\204:\316\314!`\"\210\314!`\317\223\210\320\321!.\207" [proc compilation-filter-start max min pos inhibit-read-only buffer-live-p process-buffer t copy-marker point-min-marker marker-position process-mark ((byte-code "b\210	\n}\210\303\211\223\210	\303\211\223\210\n\303\211\223\207" [pos min max nil] 3)) comint-carriage-motion nil run-hooks compilation-filter-hook string comint-inhibit-carriage-motion] 7 (#$ . 66674)])
#@38 Test if inside a compilation buffer.
(defalias 'compilation-buffer-internal-p #[nil "\300\301!\207" [local-variable-p compilation-locs] 2 (#$ . 67423)])
(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 (#$ . 67663)])
(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\324\325BB\313\314\nEFE\312\326\316\313\314	\314\327\330\n\257E\331BB\324\332BBF\312\333\334\335\336\313\337\f\340BE\257\257E\207" [< property-change limit error 1+ let (opt) while (n 0) (setq opt pt) or setq pt (pt 'compilation-message) if eq get-text-property ('compilation-message) ((get-text-property opt 'compilation-message)) ((eq pt opt)) user-error (compilation-error) (setq msg (get-text-property pt 'compilation-message)) 'compilation-message nil ((setq msg (get-text-property pt 'compilation-message))) (compilation-error) (< (compilation--message->type msg) compilation-skip-threshold) (if different-file (eq (prog1 last (setq last (compilation--loc->file-struct (compilation--message->loc msg)))) last)) (if compilation-skip-visited (compilation--loc->visited (compilation--message->loc msg))) (if compilation-skip-to-next-location (eq (compilation--message->loc msg) loc)) n (n)] 16]))
(defalias 'compilation-next-single-property-change #[(position prop &optional object limit) "\306\211\307\n\310\\\f\206d^]\211!\210\311
\n\f$\211\203&\f=\2035\f\206,dW\2035	\202*\207" [res parsed compilation--parsed position limit prop nil compilation--ensure-parse 500 next-single-property-change object] 5])
#@420 Move point to the next error in the compilation buffer.
This function does NOT find the source line like \[next-error].
Prefix arg N says how many error messages to move forwards (or
backwards, if negative).
Optional arg DIFFERENT-FILE, if non-nil, means find next error for a
file that is different from the current one.
Optional arg PT, if non-nil, specifies the value of point to start
looking for the next message.
(defalias 'compilation-next-error #[(n &optional different-file pt) "prq\210\306\307!*\204\310\311!\210	\204`\312	\313\"\211\2051\n\314H>\204.\310\315\316\317#\210\n\320H\321\322\"!\203u\n\204>\312	Se]\313\"\211\204>\323	\313\321\324 $\312	Se]\313\"\211\204>\325	\313\321\326 $\312	\313\"\211\204>`\202>\327\f8\"\314Y\203e\321#\"\314V\203a	#\330	\313\"\211\204\277\312d\313\"\312#\313\"=\204\252	#=\203\275\331\332p!\203\265\333\202\266\334$\"\210\202\277d\312	\313\"\211\204\354\330	\313\321d$\211\203\334\312	\313\"\211\204\354\331\332p!\203\347\333\202\350\334$\"\210\n\314H>\204\372\310\315\335\317#\210\n\327H%W\204\203&\203\"
\327\n\314H>\204\310\315\316\317#\210\n\320H8\211=\204\203'\203=\336\n\314H>\2046\310\315\316\317#\210\n\320H\233\204\203(\203X\n\314H>\204P\310\315\316\317#\210\n\320H\f=\204\203\"S\211\"\202\205)\202>\337	!\210\323	\313\321e$\321#\"\314W\203=	#\323	\313\"\211\204\245\312e\313\"\312#\313\"=\204\232	#=\203\243\331\340$\"\210\202\245e\312	\313\"\211\204\310\323	\313\321e$\211\203\302\312	\313\"\211\204\310\331\340$\"\210\n\314H>\204\326\310\315\335\317#\210\n\327H%W\204s&\203\376
\327\n\314H>\204\364\310\315\316\317#\210\n\320H8\211=\204s'\203\336\n\314H>\204\310\315\316\317#\210\n\320H\233\204s(\2034\n\314H>\204,\310\315\316\317#\210\n\320H\f=\204s\"T\211\"\202u)	b\210\n\206J\310\341$\"+\207" [buffer pt msg cl-struct-compilation--message-tags loc last local-variable-p compilation-locs error "Not in a compilation buffer" get-text-property compilation-message 0 "%s accessing a non-%s" compilation--message->loc compilation--message 1 nil zerop previous-single-property-change line-beginning-position next-single-property-change line-end-position 2 compilation-next-single-property-change user-error get-buffer-process "No more %ss yet" "Moved past last %s" compilation--message->type 5 compilation--ensure-parse "Moved back before first %s" "No %s here" n opt compilation-error compilation-skip-threshold different-file compilation-skip-visited compilation-skip-to-next-location] 7 (#$ . 69296) "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 (#$ . 71892) "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 (#$ . 72207) "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 (#$ . 72472) "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 (#$ . 72737) 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\n\303\304!!\210pr	q\210\305\306!*\204\307\310!\210\311`!\210\312`\313\"\203.\314\312`\313\"@!\207\315 \210`\316 \207" [event buffer compilation-current-error posn-set-point event-end local-variable-p compilation-locs error "Not in a compilation buffer" compilation--ensure-parse get-text-property compilation-directory dired-other-window push-mark next-error-internal] 4 (#$ . 73093) (list last-input-event)])
#@193 Return a compilation buffer.
If AVOID-CURRENT is nil, and the current buffer is a compilation buffer,
return it.  If AVOID-CURRENT is non-nil, return the current buffer only
as a last resort.
(defalias 'compilation-find-buffer #[(&optional avoid-current) "\301\302!\203\f\204\fp\207\303\304\"\207" [avoid-current local-variable-p compilation-locs next-error-find-buffer compilation-buffer-internal-p] 3 (#$ . 73700)])
#@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\f\307 \310!\206\307\306	\206\"\206e#\211#\311H$>\2041\312\313\314\315#\210#\307H%#\311H$>\204G\312\313\316\315#\210#\317H&\320 '\320 n\203\\	\202`\321\322 !(\317%8\203r\323\317%8!\204Cr\324'\325%8\211)@@)\325%8@\211)A@)#q\210\326\302!\203\230\n\202\231\326\304!\203\243\f\202\244
\214~\210eb\210\327\325%8\211)AA)!\306*\211+\203A+@\211*@\203\333\330\331*@ \332#!\210*@ *A\306,\211+\2037+@\211,@\203	,@\332=\203\377\306\210\202\333,@\"\210\202\330 \210\334\306w\210\317,8\203\"\317,8`\306\223\210\202.\317,\233\211-\320 \240\210)+A\211+\204\347*+A\211+\204\301.\335'\317%8\317&8#\210\336%\233\337\241.\207" [reset compilation-current-error compilation-error-screen-columns screen-columns compilation-first-column first-column nil 1 compilation-next-error 0 error "%s accessing a non-%s" compilation--message->loc compilation--message compilation--message->end-loc 3 point-marker copy-marker line-beginning-position marker-buffer compilation-find-file 2 local-variable-p reverse beginning-of-line - -1 compilation-move-to-column " 	" compilation-goto-locus 4 t last n compilation-messages-start msg cl-struct-compilation--message-tags loc end-loc marker overlay-arrow-position x line --dolist-tail-- col #1=#:c] 6 (#$ . 74129) "p"])
#@61 Internal variable used to keep some values from being GC'd.
(defvar compilation-gcpro nil (#$ . 75676))
(make-variable-buffer-local 'compilation-gcpro)
#@763 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 may also affect previous messages
about FILE.

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!\210\307!\211\nB	A\211A
\210\f\203G\f\211@@)\203:
\206/\310\f\211@@)W\202;\311\203G\f\211A\211\204 \f\203_
\206P\310\f\211@@)=\203_\f\202i
\206e\310C\fB\241@*\211\211A\204\206\f\203\303\f\211@@)?\202\274\f\203\256\f\211@@)\203\241\f\211@@)W\202\242\311\203\256\f\211A\211\204\212\f\203\303\f\211@@)=\203\303\f\202\312C\fB\241@*\211A\203\331\312\313\314C\"\210
	\315F\241\210*\207" [file fs compilation-gcpro l1 l2 line compilation--flush-file-structure compilation-get-file-structure 1 t signal cl-assertion-failed (null (cdr loc)) nil x loc col marker] 6 (#$ . 75835)])
#@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 '(#$ . 77328) :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 (#$ . 77822)])
(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\310!!r\310!q\210
\250\203D\314\212\fb\210\315\316
Z!\210`)\"\210\202Z\317 @\312\232\203Z\314\212\fb\210\315\316!\210`)\"\210\320\f\"*\210,)-\n\204m\321!\210	\203\322.\323\310\f!\324\"\210)\202\205\325\310\f!!\210\fb`=\204\237~\210/\203\234/\f\"\210\202\237\fb\2100\203\255\3260\322\"\210\202\2651\203\265\3271\330`!\3272\2113\203\3413@2\3312\332\"\333=\203\330\3342!\210\fb\2103A\2113\204\301*-\203~\3354!\203\363\3364!\2105\204\337ee\"5\3405\341\342#\210r\310\f!q\210\2120\2030b\210\202\327\210`6\f\203(\fb\210\202+\315 \210-;\203L\343-6\322#\203L\312\224b\210\3445\312\224\312\225p$\210\202U\3445`6p$\2107\322=\204b7\247\203j\345\346\347\"\210\202o\3345!\2107\247\203}\3507\327\347#4+7\351=\205\214\352\353 !\2118,\207" [msg from-compilation-buffer pre-existing w mk compilation-context-lines window-buffer selected-window marker-buffer get-buffer-window 0 display-buffer set-window-start beginning-of-line 1 window-fringes set-window-point compilation-set-window-height t pop-to-buffer other-window 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 compilation-highlight-regexp highlight-regexp pop-up-windows next-error-move-function end-mk mark-active ov --dolist-tail-- next-error-highlight-timer compilation-highlight-overlay end next-error-highlight next-error-overlay-arrow-position] 6 (#$ . 78259)])
(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])
#@680 Find a buffer for file FILENAME.
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 where to find the file.
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'.
FORMATS, if given, is a list of formats to reformat FILENAME when
looking for it: for each element FMT in FORMATS, this function
attempts to find a file whose name is produced by (format FMT FILENAME).
(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 --dolist-tail--] 7 (#$ . 80447)])
#@262 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:
  ((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-\fP\2027\n\2037\307\f\nP!
\203?
!\313!\314\306\nB	\"\206\\\314\nB\nD\315BB	#	#*\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 nil fmt] 7 (#$ . 82581)])
(defalias 'compilation--flush-file-structure #[(file) ":\204C\304!\211\305\n\"=\204\306\307\310C\"\210	\305	\211@@)	@\211A@)B\n\"=\2047\306\307\311C\"\210\312\313\n\")\207" [file fs compilation-locs x compilation-get-file-structure gethash signal cl-assertion-failed (eq fs (gethash file compilation-locs)) (eq fs (gethash (cons (caar fs) (cadr (car fs))) compilation-locs)) maphash #[(k v) "	=\205\n\304\n\"\207" [v fs k compilation-locs remhash] 3]] 5])
(defvaralias 'compilation-last-buffer 'next-error-last-buffer)
(defvar compilation-parsing-end (make-marker))
(defvar compilation-error-list nil)
(defvar compilation-old-error-list nil)
#@47 Map old-style error ERR to new-style message.
(defalias 'compilation--compat-error-properties #[(err) "A\306	!\203\307\310\211\211	\310FB\311\312\n\313\310$)\314BB\202W	\211A@	\211A@	\211A@\211A@\211A@\211A@\315B\f\310
\310\313&.)\207" [err dst loc file line col markerp compilation-message nil vector cl-struct-compilation--message 2 (help-echo "mouse-2: visit the source location" keymap compilation-button-map mouse-face highlight) compilation-internal-error-properties filename dirname fmt] 8 (#$ . 83984)])
(defalias 'compilation--compat-parse-errors #[(limit) "\203\207\212\306\n\203\n`\306\223\210\202\307 \306\310\311\217\210	<\205!	\306\211\203\206\f@\211@A\312!\203D\306\211\211\306FB\202g:\205g\3138A@\211@A)\211@@)B\306\211FB\211\203~
b\210\314
\315 \316\317\320\313\306$$\210+\fA\211\204(+b\210\306\207" [compilation-parse-errors-function compilation-error-list compilation-parsing-end err --dolist-tail-- src nil point-marker (funcall compilation-parse-errors-function limit nil) ((error)) markerp 2 put-text-property line-end-position compilation-message vector cl-struct-compilation--message dst x loc limit] 10])
(defalias 'compilation-forget-errors #[nil "\306!\210\307\211\310p!\211\205\311!\211\206d\211eV\203'\312
S!\202(
+\313\314!\210\2068\315=\211\f\207" [compilation-locs compilation-gcpro compilation-current-error proc mark pos clrhash nil get-buffer-process process-mark copy-marker make-local-variable compilation-auto-jump-to-next first-error compilation-messages-start compilation-auto-jump-to-first-error compilation-scroll-output] 3])
(provide 'compile)

MMCT - 2023