HOME


sh-3ll 1.0
DIR:/proc/self/root/usr/share/emacs/26.1/lisp/progmodes/
Upload File :
Current File : //proc/self/root/usr/share/emacs/26.1/lisp/progmodes/flymake-proc.elc
;ELC
;;; Compiled
;;; in Emacs version 26.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\302\303\304\305#\210\306\211\203,\211@\303N\203%\304N\204%\307\304\303N#\210A\266\202\202\210\310\303\304\311#\210\312\304\313\314\315DD\316\317\301\320\321&\210\302\322\323\305#\210\306\211\203j\211@\322N\203c\323N\204c\307\323\322N#\210A\266\202\202I\210\310\322\323\311#\210\312\323\313\314\324DD\325\320\326\317\301\327\330&	\210\302\331\332\305#\210\306\211\203\252\211@\331N\203\243\332N\204\243\307\332\331N#\210A\266\202\202\211\210\310\331\332\311#\210\312\332\313\314\333DD\334\317\301\320\335&\210\302\336\337\305#\210\306\211\203\350\211@\336N\203\341\337N\204\341\307\337\336N#\210A\266\202\202\307\210\310\336\337\311#\210\312\337\313\314\340DD\341\317\301\320\342&\210\302\343\344\305#\210\306\211\203&\211@\343N\203\344N\204\307\344\343N#\210A\266\202\202\210\310\343\344\311#\210\312\344\313\314\345DD\346\317\301\320\347&\207" [require flymake defvaralias flymake-compilation-prevents-syntax-check flymake-proc-compilation-prevents-syntax-check nil (saved-value saved-variable-comment) put make-obsolete-variable "26.1" custom-declare-variable funcall function #[0 "\300\207" [t] 1] "If non-nil, don't start syntax check if compilation is running." :group :type boolean flymake-xml-program flymake-proc-xml-program #[0 "\300\301!\203\301\207\302\207" [executable-find "xmlstarlet" "xml"] 2] "Program to use for XML validation." file :version "24.4" flymake-master-file-dirs flymake-proc-master-file-dirs #[0 "\300\207" [("." "./src" "./UnitTest")] 1] "Dirs where to look for master files." (repeat (string)) flymake-master-file-count-limit flymake-proc-master-file-count-limit #[0 "\300\207" [32] 1] "Max number of master files to check." integer flymake-allowed-file-name-masks flymake-proc-allowed-file-name-masks #[0 "\300\207" [(("\\.\\(?:c\\(?:pp\\|xx\\|\\+\\+\\)?\\|CC\\)\\'" flymake-proc-simple-make-init nil flymake-proc-real-file-name-considering-includes) ("\\.xml\\'" flymake-proc-xml-init) ("\\.html?\\'" flymake-proc-xml-init) ("\\.cs\\'" flymake-proc-simple-make-init) ("\\.php[345]?\\'" flymake-proc-php-init) ("\\.h\\'" flymake-proc-master-make-header-init flymake-proc-master-cleanup) ("\\.java\\'" flymake-proc-simple-make-java-init flymake-proc-simple-java-cleanup) ("[0-9]+\\.tex\\'" flymake-proc-master-tex-init flymake-proc-master-cleanup) ("\\.tex\\'" flymake-proc-simple-tex-init) ("\\.idl\\'" flymake-proc-simple-make-init))] 1] "Files syntax checking is allowed for.\nThis is an alist with elements of the form:\n  REGEXP INIT [CLEANUP [NAME]]\nREGEXP is a regular expression that matches a file name.\nINIT is the init function to use.\nCLEANUP is the cleanup function to use, default `flymake-proc-simple-cleanup'.\nNAME is the file name function to use, default `flymake-proc-get-real-file-name'." (alist :key-type (regexp :tag "File regexp") :value-type (list :tag "Handler functions" (function :tag "Init function") (choice :tag "Cleanup function" (const :tag "flymake-proc-simple-cleanup" nil) function) (choice :tag "Name function" (const :tag "flymake-proc-get-real-file-name" nil) function)))] 10)
#@56 Currently active Flymake process for a buffer, if any.
(defvar flymake-proc--current-process nil (#$ . 3540))
(make-variable-buffer-local 'flymake-proc--current-process)
#@57 If bound, function used to report back to Flymake's UI.
(defvar flymake-proc--report-fn nil (#$ . 3716))
#@126 Grab error line patterns from ORIGINAL-LIST in compile.el format.
Convert it to Flymake internal format.

(fn ORIGINAL-LIST)
(defalias 'flymake-proc-reformat-err-line-patterns-from-compile-el #[257 "\300\211\203K\211@\211A\262\211@A@\3018\3028:\203 @\262:\203)@\262\211:\2032\211@\262\303!\204BFB\262\266A\266\202\202\210\211\207" [nil 2 3 functionp] 12 (#$ . 3828)])
#@214 Patterns for matching error/warning lines.  Each pattern has the form
(REGEXP FILE-IDX LINE-IDX COL-IDX ERR-TEXT-IDX).
Use `flymake-proc-reformat-err-line-patterns-from-compile-el' to add patterns
from compile.el
(defvar flymake-proc-err-line-patterns (byte-code "\301\302\303!\"\207" [compilation-error-regexp-alist-alist append (("\\(\\([a-zA-Z]:\\)?[^:(	\n]+\\)(\\([0-9]+\\)) : \\(\\(error\\|warning\\|fatal error\\) \\(C[0-9]+\\):[ 	\n]*\\(.+\\)\\)" 1 3 nil 4) ("\\(\\([a-zA-Z]:\\)?[^:(	\n]+\\):\\([0-9]+\\):[0-9]+:[0-9]+:[0-9]+: \\(\\(Error\\|Warning\\|Caution\\|Semantic Error\\):[ 	\n]*\\(.+\\)\\)" 1 3 nil 4) ("midl[ ]*:[ ]*\\(command line error .*\\)" nil nil nil 1) ("\\(\\([a-zA-Z]:\\)?[^:(	\n]+\\)(\\([0-9]+\\),[0-9]+): \\(\\(error\\|warning\\|fatal error\\) \\(CS[0-9]+\\):[ 	\n]*\\(.+\\)\\)" 1 3 nil 4) ("\\(.*\\) at \\([^ \n]+\\) line \\([0-9]+\\)[,.\n]" 2 3 nil 1) ("\\(?:Parse\\|Fatal\\) error: \\(.*\\) in \\(.*\\) on line \\([0-9]+\\)" 2 3 nil 1) (" *\\(\\[javac\\] *\\)?\\(\\([a-zA-Z]:\\)?[^:(	\n]+\\):\\([0-9]+\\)\\(?::\\([0-9]+\\)\\)?:[ 	\n]*\\(.+\\)" 2 4 5 6)) flymake-proc-reformat-err-line-patterns-from-compile-el] 4) (#$ . 4232))
(byte-code "\300\301\302\303#\210\304\211\203(\211@\301N\203!\302N\204!\305\302\301N#\210A\266\202\202\210\306\301\302\307#\207" [defvaralias flymake-warning-re flymake-proc-diagnostic-type-pred nil (saved-value saved-variable-comment) put make-obsolete-variable "26.1"] 7)
#@522 Predicate matching against diagnostic text to detect its type.
Takes a single argument, the diagnostic's text and should return
a value suitable for indexing
`flymake-diagnostic-types-alist' (which see).  If the returned
value is nil, a type of `:error' is assumed.  For some backward
compatibility, if a non-nil value is returned that doesn't
index that alist, a type of `:warning' is assumed.

Instead of a function, it can also be a string, a regular
expression.  A match indicates `:warning' type, otherwise
`:error'
(defvar flymake-proc-diagnostic-type-pred 'flymake-proc-default-guess (#$ . 5681))
#@63 Guess if TEXT means a warning, a note or an error.

(fn TEXT)
(defalias 'flymake-proc-default-guess #[257 "\300\301\"\203	\302\207\300\303\"\203\304\207\305\207" [string-match "^[wW]arning" :warning "^[nN]ote" :note :error] 4 (#$ . 6291)])
#@93 Return the corresponding entry from `flymake-proc-allowed-file-name-masks'.

(fn FILE-NAME)
(defalias 'flymake-proc--get-file-name-mode-and-masks #[257 "\211;\204	\301\302!\210\303\211\204(\203(\304@@\"\203!@A\262A\262\202\305\306\307\310@%\210\207" [flymake-proc-allowed-file-name-masks error "Invalid file-name" nil string-match flymake--log-1 3 flymake-proc "file %s, init=%s"] 9 (#$ . 6542)])
#@63 Return init function to be used for the file.

(fn FILE-NAME)
(defalias 'flymake-proc--get-init-function #[257 "\300!@\211\207" [flymake-proc--get-file-name-mode-and-masks] 3 (#$ . 6962)])
#@66 Return cleanup function to be used for the file.

(fn FILE-NAME)
(defalias 'flymake-proc--get-cleanup-function #[257 "\300!A@\206	\301\207" [flymake-proc--get-file-name-mode-and-masks flymake-proc-simple-cleanup] 3 (#$ . 7158)])
#@18 

(fn FILE-NAME)
(defalias 'flymake-proc--get-real-file-name-function #[257 "\300\301!8\206	\302\207" [2 flymake-proc--get-file-name-mode-and-masks flymake-proc-get-real-file-name] 4 (#$ . 7395)])
(defvar flymake-proc--find-buildfile-cache (make-hash-table :test 'equal))
#@113 Look up DIR-NAME in cache and return its associated value.
If DIR-NAME is not found, return nil.

(fn DIR-NAME)
(defalias 'flymake-proc--get-buildfile-from-cache #[257 "\301\"\207" [flymake-proc--find-buildfile-cache gethash] 4 (#$ . 7676)])
#@84 Associate DIR-NAME with BUILDFILE in the buildfile cache.

(fn DIR-NAME BUILDFILE)
(defalias 'flymake-proc--add-buildfile-to-cache #[514 "\301#\207" [flymake-proc--find-buildfile-cache puthash] 6 (#$ . 7926)])
#@28 Clear the buildfile cache.
(defalias 'flymake-proc--clear-buildfile-cache #[0 "\301!\207" [flymake-proc--find-buildfile-cache clrhash] 2 (#$ . 8145)])
#@182 Find buildfile starting from current directory.
Buildfile includes Makefile, build.xml etc.
Return its file name if found, or nil if not found.

(fn BUILDFILE-NAME SOURCE-DIR-NAME)
(defalias 'flymake-proc--find-buildfile #[514 "\300!\206(\301\"\211\203\302\303\304\305$\210\306\"\210\211\202&\302\303\304\307$\210\310\262\207" [flymake-proc--get-buildfile-from-cache locate-dominating-file flymake--log-1 3 flymake-proc "found buildfile at %s" flymake-proc--add-buildfile-to-cache "buildfile for %s not found" nil] 8 (#$ . 8304)])
#@53 Replace all occurrences of `\' with `/'.

(fn NAME)
(defalias 'flymake-proc--fix-file-name #[257 "\211\205\300!\262\301!\262\302!\262\211\207" [expand-file-name abbreviate-file-name directory-file-name] 3 (#$ . 8853)])
#@124 Check if FILE-NAME-ONE and FILE-NAME-TWO point to same file.
Return t if so, nil if not.

(fn FILE-NAME-ONE FILE-NAME-TWO)
(defalias 'flymake-proc--same-files #[514 "\300!\300!\232\207" [flymake-proc--fix-file-name] 5 (#$ . 9087)])
#@332 Find (by name and location) all possible master files.
Name is specified by FILE-NAME and location is specified by
MASTER-FILE-DIRS.  Master files include .cpp and .c for .h.
Files are searched for starting from the .h directory and max
max-level parent dirs.  File contents are not checked.

(fn FILE-NAME MASTER-FILE-DIRS MASKS)
(defalias 'flymake-proc--find-possible-master-files #[771 "\302\211\211\204v\203v\303@\304!\"\305!\203m\204m\211\203m\211@\306\307#\310\311\312\313G&\210\204d\211\203d\314@!\204]\211@B\262GY\203]\310\311\312\315$\210\307\262\211A\262\2026\266\211A\262\202\266A\262\202\203\206\316!\317\320\"\262)\310\311\312\321G$\210\207" [flymake-proc-master-file-count-limit flymake-proc--included-file-name nil expand-file-name file-name-directory file-exists-p directory-files t flymake--log-1 3 flymake-proc "dir %s, %d file(s) for mask %s" file-directory-p "master file count limit (%d) reached" file-name-nondirectory sort flymake-proc--master-file-compare "found %d possible master file(s)"] 17 (#$ . 9328)])
#@206 Compare two files specified by FILE-ONE and FILE-TWO.
This function is used in sort to move most possible file names
to the beginning of the list (File.h -> File.cpp moved to top).

(fn FILE-ONE FILE-TWO)
(defalias 'flymake-proc--master-file-compare #[514 "\301!\302!\232\205\232?\207" [flymake-proc--included-file-name file-name-sans-extension file-name-base] 5 (#$ . 10422)])
#@106 Maximum number of chars to look at when checking possible master file.
Nil means search the entire file.
(defvar flymake-proc-check-file-limit 8192 (#$ . 10813))
#@472 Check if MASTER-FILE-NAME is a master file for SOURCE-FILE-NAME.
If yes, patch a copy of MASTER-FILE-NAME to include PATCHED-SOURCE-FILE-NAME
instead of SOURCE-FILE-NAME.

For example, foo.cpp is a master file if it includes foo.h.

When a buffer for MASTER-FILE-NAME exists, use it as a source
instead of reading master file from disk.

(fn MASTER-FILE-TEMP-BUFFER MASTER-FILE-NAME PATCHED-MASTER-FILE-NAME SOURCE-FILE-NAME PATCHED-SOURCE-FILE-NAME INCLUDE-DIRS REGEXP)
(defalias 'flymake-proc--check-patch-master-file-buffer #[1799 "\301!\302!\303!\304\211\305G\306V\203,\307\230\203,\305\310\311!\311\n!#\2020\311!\"\262\312\313\314\315\316!\317\"\320$\216r\fq\210\211\203O\211dV\203Rd\262\321\322\323\324%\210eb\210`W\203\332\325\326#\203\332\306\224\306\225\321\322\323\327$\210\330\306!\262G\306V\203\240\307\230\203\240\331\305\332	\"\"\204\240\333Q\262\334\304\211\211G
GZ\304&\326=\203\323\321\322\323\335$\210\336\f\f#\203\323\326\262\337\301!#\210\306y\266\202_\203\343\340!\210*\203\360\321\320\323\341$\210\207" [flymake-proc-check-file-limit file-name-nondirectory file-name-extension file-name-sans-extension nil format 1 "tex" "%s\\(?:\\.%s\\)?" regexp-quote make-byte-code 0 "\301\300!\207" vconcat vector [kill-buffer] 2 flymake--log-1 3 flymake-proc "checking %s against regexp %s" re-search-forward t "found possible match for %s" match-string string-match "\\.%s\\'" "." compare-strings "inc-name=%s" flymake-proc--check-include flymake-proc--replace-region flymake-proc--save-buffer-in-file "found master file %s"] 22 (#$ . 10982)])
#@72 Replace text in BUFFER in region (BEG END) with REP.

(fn BEG END REP)
(defalias 'flymake-proc--replace-region #[771 "\212b\210\211c\210|)\207" [] 5 (#$ . 12623)])
#@78 Insert contents of FILE-NAME into newly created temp buffer.

(fn FILE-NAME)
(defalias 'flymake-proc--read-file-to-temp-buffer #[257 "\300\301\302\303!P!!r\211q\210\304!\210)\211\207" [get-buffer-create generate-new-buffer-name "flymake:" file-name-nondirectory insert-file-contents] 6 (#$ . 12796)])
#@70 Copy contents of BUFFER into newly created temp buffer.

(fn BUFFER)
(defalias 'flymake-proc--copy-buffer-to-temp-buffer #[257 "r\300\301\302\303!P!!q\210\304!\210p)\207" [get-buffer-create generate-new-buffer-name "flymake:" buffer-name insert-buffer-substring] 6 (#$ . 13105)])
#@163 Check if SOURCE-FILE-NAME can be found in include path.
Return t if it can be found via include path using INC-NAME.

(fn SOURCE-FILE-NAME INC-NAME INCLUDE-DIRS)
(defalias 'flymake-proc--check-include #[771 "\300!\203\301\"\207\211\203'\301\302!\303@\303\260\"\204'\211A\262\202\207" [file-name-absolute-p flymake-proc--same-files file-name-directory "/"] 10 (#$ . 13394)])
#@96 Check if there exists a buffer visiting FILE-NAME.
Return t if so, nil if not.

(fn FILE-NAME)
(defalias 'flymake-proc--find-buffer-for-file #[257 "\300!\211\205\n\301!\207" [get-file-buffer get-buffer] 4 (#$ . 13790)])
#@182 Save SOURCE-FILE-NAME with a different name.
Find master file, patch and save it.

(fn SOURCE-FILE-NAME PATCHED-SOURCE-FILE-NAME GET-INCL-DIRS-F CREATE-TEMP-F MASKS INCLUDE-REGEXP)
(defalias 'flymake-proc--create-master-file #[1542 "\301#\211G\302\303\211\211\211\211\204VW\203V8\262	\304\"\262\305!\2035\306\305!!\262\202:\307!\262\310\311\n!!&\262T\262\202
\211\203`D\202m\312\313\314\315	\316!%\210\303\207" [flymake-proc-master-file-dirs flymake-proc--find-possible-master-files 0 nil "flymake_master" flymake-proc--find-buffer-for-file flymake-proc--copy-buffer-to-temp-buffer flymake-proc--read-file-to-temp-buffer flymake-proc--check-patch-master-file-buffer file-name-directory flymake--log-1 3 flymake-proc "none of %d master file(s) checked includes %s" file-name-nondirectory] 22 (#$ . 14020)])
#@107 Save the entire buffer contents into file FILE-NAME.
Create parent directories as needed.

(fn FILE-NAME)
(defalias 'flymake-proc--save-buffer-in-file #[257 "\300\301!\302\"\210\303\304\211\304\305%\210\306\307\310\311\312 %\207" [make-directory file-name-directory 1 write-region nil 566 flymake--log-1 3 flymake-proc "saved buffer %s in file %s" buffer-name] 7 (#$ . 14880)])
#@21 

(fn PROC PATTERN)
(defalias 'flymake-proc--diagnostics-for-pattern #[514 "\301\3021\366\211A\262\242\211A\262\242\211A\262\242\211A\262\242@\303\211\211\211\211\211\211\211\211\304\303\305#\203\356\306\307\224!\306 U\204B\310 b\202C\305\203\356\f\205O\311
!\262		\205Z\311\n!\262\205e\311\f!\262\203s\312!\206t\313\262\n\205\311!\262\205\210\312!\262r\314!q\210\205\235\315	!	!)\262\205\247\316!\262\314!=\203\343\203\343\317#\211@A\211\320r\nq\210\")%\266\202\266\203B\262\202)\321\322\323\324\f$\210\202)\211\237\266\2170\202\321\313\323\325%\210\303\262\207" [flymake-proc-diagnostic-type-pred #[514 "\211\204\301\207;\203\302\"\203\303\207\301\207\304!\2055!\305\"\203*\211\2023\211\2032\303\2023\301\262\207" [flymake-diagnostic-types-alist :error string-match :warning functionp assoc-default] 6 "\n\n(fn PRED MESSAGE)"] (debug error) nil search-forward-regexp t line-number-at-pos 0 line-beginning-position match-string string-to-number 1 process-buffer flymake-proc--get-real-file-name-function find-buffer-visiting flymake-diag-region flymake-make-diagnostic flymake--log-1 2 flymake-proc "Reference to file %s is out of scope" "Error parsing process output for pattern %s: %s"] 30 (#$ . 15267)])
#@62 Parse STRING and collect diagnostics info.

(fn PROC STRING)
(defalias 'flymake-proc--process-filter #[514 "\302\303\304\305G\306!%\210\307\310\"\311\312!!\205\203\211\205\203r\211q\210`\313!U\314\307\315\"\2062\316 e\317\223\212\313!b\210c\210\313!`\317\223\210)\203Q\313!b\210\212\211b\210	\211\203w\211@\320\"\321	\322\323\307\322\"\"#\266A\266\202\202V\210\321\315\324 #*\266\203)\207" [inhibit-read-only flymake-proc-err-line-patterns flymake--log-1 3 flymake-proc "received %d byte(s) of output from process %d" process-id process-get flymake-proc--output-buffer buffer-live-p process-buffer process-mark t flymake-proc--unprocessed-mark make-marker nil flymake-proc--diagnostics-for-pattern process-put flymake-proc--collected-diagnostics append point-marker] 17 (#$ . 16596)])
#@53 Sentinel for syntax check buffers.

(fn PROC EVENT)
(defalias 'flymake-proc--process-sentinel #[514 "\302C\303!\304!\305\306\307\310\311	#\312\"\313$\216\314!\205\231r\211q\210\315\316\"\2033\317\320\321\322$\202\230\315\323\"\203C\317\320\321\324$\202\230\325!?\205\230\326!\327!\315\330\"\317\331\321\332%\210\306\232\203t\333\334\335\303
!\"#\202\226\211\203\206\333\334\335\303
!\"#\202\226\211?\205\226	\240\210\336\337\334\340\"\"\266\203))\207" [flymake-proc--report-fn debug-on-error nil process-id process-buffer make-byte-code 0 "\303\300\304\"\301\242\203\305\306\307\310$\202/\311\302!\203,r\302q\210\312\313 !\305\306\307\314$\210\211 \266)\315!\207" vconcat vector [process-get flymake-proc--output-buffer flymake--log-1 3 flymake-proc "Output buffer %s kept alive for debugging" buffer-live-p flymake-proc--get-cleanup-function buffer-file-name "cleaning up using %s" kill-buffer] 7 buffer-live-p process-get flymake-proc--obsolete flymake--log-1 3 flymake-proc "proc %s considered obsolete" flymake-proc--interrupted "proc %s interrupted by user" process-live-p process-exit-status process-command flymake-proc--collected-diagnostics 2 "process %d exited with code %d" :explanation format "a gift from %s" flymake-proc--panic :configuration-error "Command %s errored, but no diagnostics"] 15 (#$ . 17421)])
#@170 Tell Flymake UI about a fatal PROBLEM with this backend.
May only be called in a dynamic environment where
`flymake-proc--report-fn' is bound.

(fn PROBLEM EXPLANATION)
(defalias 'flymake-proc--panic #[514 "\301\302\303\304%\210\305\300!\203\203\306\307\310\304##\207\311\312#\207" [flymake-proc--report-fn flymake--log-1 1 flymake-proc "%s: %s" boundp :panic :explanation format flymake-error "Trouble telling flymake-ui about problem %s(%s)"] 9 (#$ . 18801)])
(require 'compile)
#@69 Include dirs for the project current file belongs to.

(fn BASEDIR)
(defalias 'flymake-proc-get-project-include-dirs-imp #[257 "\300!\203\n\300!\207\301\302!\303Q\304!\305\306\307#\211G\310\311W\2033\312\3138\"\2043T\262\202W\203g\3058\314\307#\211G\211\310V\203e\312\313S8\"\204^\315\316\317S8#B\262\211S\262\202B\266\320\"\210\207" [flymake-proc--get-project-include-dirs-from-cache "make -C " shell-quote-argument " DUMPVARS=INCLUDE_DIRS dumpvars" shell-command-to-string split-string "\n" t 0 nil string-match "^INCLUDE_DIRS=.*" " *-I" replace-regexp-in-string "\"" "" flymake-proc--add-project-include-dirs-to-cache] 14 (#$ . 19302)])
#@73 Function used to get project include dirs, one parameter: basedir name.
(defvar flymake-proc-get-project-include-dirs-function 'flymake-proc-get-project-include-dirs-imp (#$ . 19984))
#@16 

(fn BASEDIR)
(defalias 'flymake-proc--get-project-include-dirs #[257 "!\207" [flymake-proc-get-project-include-dirs-function] 3 (#$ . 20174)])
#@55 System include dirs - from the `INCLUDE' env setting.
(defalias 'flymake-proc--get-system-include-dirs #[0 "\301\302!\211\205\f\303\304#\207" [path-separator getenv "INCLUDE" split-string t] 5 (#$ . 20327)])
(defvar flymake-proc--project-include-dirs-cache (make-hash-table :test 'equal))
#@17 

(fn BASE-DIR)
(defalias 'flymake-proc--get-project-include-dirs-from-cache #[257 "\301\"\207" [flymake-proc--project-include-dirs-cache gethash] 4 (#$ . 20625)])
#@30 

(fn BASE-DIR INCLUDE-DIRS)
(defalias 'flymake-proc--add-project-include-dirs-to-cache #[514 "\301#\207" [flymake-proc--project-include-dirs-cache puthash] 6 (#$ . 20797)])
(defalias 'flymake-proc--clear-project-include-dirs-cache #[0 "\301!\207" [flymake-proc--project-include-dirs-cache clrhash] 2])
#@65 Get dirs to use when resolving local file names.

(fn BASE-DIR)
(defalias 'flymake-proc-get-include-dirs #[257 "\300\301\302!\303 #\211\207" [append (".") flymake-proc--get-project-include-dirs flymake-proc--get-system-include-dirs] 5 (#$ . 21110)])
#@18 

(fn FILE-NAME)
(defalias 'flymake-proc--safe-delete-file #[257 "\211\205\300!\205\301!\210\302\303\304\305$\207" [file-exists-p delete-file flymake--log-1 2 flymake-proc "deleted file %s"] 6 (#$ . 21367)])
#@17 

(fn DIR-NAME)
(defalias 'flymake-proc--safe-delete-directory #[257 "\3001\301!\210\302\303\304\305$0\207\210\302\306\304\307$\207" [(debug error) delete-directory flymake--log-1 2 flymake-proc "deleted dir %s" 1 "Failed to delete dir %s, error ignored"] 6 (#$ . 21588)])
#@264 Flymake backend based on the original Flymake implementation.
This function is suitable for inclusion in
`flymake-diagnostic-functions'. For backward compatibility, it
can also be executed interactively independently of
`flymake-mode'.

(fn REPORT-FN &rest ARGS)
(defalias 'flymake-proc-legacy-flymake #[385 "\305\306\"\307!\203.\310\311\312#\210\313\314\315\316\317!$\210\320!\203.\203.\321\322!\210\323!\210\n\2038\324 ?\205\352\205G\325\326!!\205G\327!\211\204O\330\331!\210\332 \210\333 \210\334!\335C\336\337\340\341\342\"\343\"\344$\216 \211@A@\3458\204\202\313\344\315\346\n%\202\343\211\206\207\f\211\203\223\313\314\315\347$\210\350\351\352\353p\354B\355\312\356\336\357\360\341\342!\361\"\362\363%\364\336\357\360\341\342!\365\"\362\366%&\f)\262\310\367\370\371\372p\"!#\210\313\345\315\373\317\f!\374
!\f&\210\312\240\266\204)\266\202\262)\207" [flymake-proc--current-process flymake-proc--report-fn flymake-proc-compilation-prevents-syntax-check buffer-file-name default-directory plist-get :interactive processp process-put flymake-proc--obsolete t flymake--log-1 3 flymake-proc "marking %s obsolete" process-id process-live-p user-error "There's already a Flymake process running in this buffer" kill-process flymake-proc--compilation-is-running file-writable-p file-name-directory flymake-proc--get-init-function error "Can't find a suitable init function" flymake-proc--clear-buildfile-cache flymake-proc--clear-project-include-dirs-cache flymake-proc--get-cleanup-function nil make-byte-code 0 "\301\242?\205\300 \207" vconcat vector [] 1 2 "init function %s for %s failed, cleaning up" "starting process on dir %s" make-process :name "flymake-proc" :buffer :command :noquery :filter 514 "\300\302\")\207" [flymake-proc--report-fn flymake-proc--process-filter] 5 "\n\n(fn PROC STRING)" :sentinel [flymake-proc--report-fn flymake-proc--process-sentinel] "\n\n(fn PROC EVENT)" flymake-proc--output-buffer generate-new-buffer format " *flymake output for %s*" "started process %d, command=%s, dir=%s" process-command] 29 (#$ . 21873) (list #[385 "\300\301\302!\303\304\"#\207" [apply flymake-make-report-fn flymake-proc-legacy-flymake append (:force t)] 8 "\n\n(fn DIAGS &rest ARGS)"] :interactive t)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias flymake-start-syntax-check flymake-proc-legacy-flymake nil make-obsolete "26.1"] 4)
#@57 Kill all syntax check processes.

(fn &optional REASON)
(defalias 'flymake-proc-stop-all-syntax-checks #[256 "\301 \211\2053\211@r\211q\210\302\211\303!\203)\304!\210\305\306#\210\307\310\311\312\313!$\210)\210)A\266\202\202\207" [flymake-proc--current-process buffer-list nil process-live-p kill-process process-put flymake-proc--interrupted flymake--log-1 2 flymake-proc "killed process %d" process-id] 10 (#$ . 24310) (list "Interrupted by user")])
(defalias 'flymake-proc--compilation-is-running #[0 "\301\300!\205\207" [compilation-in-progress boundp] 2])
#@52 Kill all Flymake syntax checks, start compilation.
(defalias 'flymake-proc-compile #[0 "\300\301!\210\302\303!\207" [flymake-proc-stop-all-syntax-checks "Stopping for proper compilation" call-interactively compile] 2 (#$ . 24892) nil])
#@25 

(fn FILE-NAME PREFIX)
(defalias 'flymake-proc-create-temp-inplace #[514 ";\204	\300\301!\210\211\204\302\262\303!\304\305!\306\205 \307PR!\310\311\312\313%\210\207" [error "Invalid file-name" "flymake" file-name-extension file-truename file-name-sans-extension "_" "." flymake--log-1 3 flymake-proc "create-temp-inplace: file=%s temp=%s"] 10 (#$ . 25134)])
#@25 

(fn FILE-NAME PREFIX)
(defalias 'flymake-proc-create-temp-with-folder-structure #[514 ";\204	\301\302!\210\303!\304\305\"\306T\307O\"\310\306\311!\"!\207" [temporary-file-directory error "Invalid file-name" file-name-directory string-match "/" expand-file-name nil file-truename file-name-nondirectory] 9 (#$ . 25513)])
#@126 Attempt to delete temp dir created by `flymake-proc-create-temp-with-folder-structure', do not fail on error.

(fn DIR-NAME)
(defalias 'flymake-proc--delete-temp-directory #[257 "GT\301O\211G\302V\205$\303!\262\304\305\306\"!!\210\307!\262\202\207" [temporary-file-directory nil 0 directory-file-name flymake-proc--safe-delete-directory file-truename expand-file-name file-name-directory] 8 (#$ . 25852)])
(defvar flymake-proc--temp-source-file-name nil nil)
(make-variable-buffer-local 'flymake-proc--temp-source-file-name)
(defvar flymake-proc--master-file-name nil nil)
(make-variable-buffer-local 'flymake-proc--master-file-name)
(defvar flymake-proc--temp-master-file-name nil nil)
(make-variable-buffer-local 'flymake-proc--temp-master-file-name)
(defvar flymake-proc--base-dir nil nil)
(make-variable-buffer-local 'flymake-proc--base-dir)
#@116 Make a temporary copy of the current buffer, save its name in buffer data and return the name.

(fn CREATE-TEMP-F)
(defalias 'flymake-proc-init-create-temp-buffer-copy #[257 "\302\"\303!\210\211\207" [buffer-file-name flymake-proc--temp-source-file-name "flymake" flymake-proc--save-buffer-in-file] 5 (#$ . 26717)])
#@81 Do cleanup after `flymake-proc-init-create-temp-buffer-copy'.
Delete temp file.
(defalias 'flymake-proc-simple-cleanup #[0 "\301!\207" [flymake-proc--temp-source-file-name flymake-proc--safe-delete-file] 2 (#$ . 27044)])
#@138 Translate file name from error message to "real" file name.
Return full-name.  Names are real, not patched.

(fn FILE-NAME-FROM-ERR-MSG)
(defalias 'flymake-proc-get-real-file-name #[257 "\305	\n\f\306!\205\306!E\211DD\211DDFG\307\232\203+\262\310#\262\204?\311\"\262\204H\262\312!\262\313\314\315\316%\210\207" [buffer-file-name flymake-proc--master-file-name flymake-proc--temp-source-file-name flymake-proc--temp-master-file-name flymake-proc--base-dir nil file-name-directory 0 flymake-proc--get-full-patched-file-name flymake-proc--get-full-nonpatched-file-name flymake-proc--fix-file-name flymake--log-1 3 flymake-proc "get-real-file-name: file-name=%s real-name=%s"] 14 (#$ . 27273)])
#@47 

(fn FILE-NAME-FROM-ERR-MSG BASE-DIRS FILES)
(defalias 'flymake-proc--get-full-patched-file-name #[771 "GG\300\211\204S\301V\203SG\262\211\204L\301V\203LS8S8@S8A@\203C\203C\302\303\n\"\"\203C\211\262\266S\262\202S\262\202\207" [nil 0 flymake-proc--same-files expand-file-name] 13 (#$ . 28017)])
#@41 

(fn FILE-NAME-FROM-ERR-MSG BASE-DIRS)
(defalias 'flymake-proc--get-full-nonpatched-file-name #[514 "\300\301!\203
\262\2021G\2040\211\302V\2030\303S8\"\304!\203)\211\262S\266\202\202\210\211\207" [nil file-name-absolute-p 0 expand-file-name file-exists-p] 8 (#$ . 28354)])
#@114 Find buildfile, store its dir in buffer data and return its dir, if found.

(fn SOURCE-FILE-NAME BUILDFILE-NAME)
(defalias 'flymake-proc--init-find-buildfile-dir #[514 "\301\302!\"\211\203\211\211\202\303\304\305\306#\"\207" [flymake-proc--base-dir flymake-proc--find-buildfile file-name-directory flymake-proc--panic "NOMK" format "No buildfile (%s) found for %s"] 9 (#$ . 28654)])
#@154 Find master file (or buffer), create its copy along with a copy of the source file.

(fn GET-INCL-DIRS-F CREATE-TEMP-F MASTER-FILE-MASKS INCLUDE-REGEXP)
(defalias 'flymake-proc--init-create-temp-source-and-master-buffer-copy #[1028 "\303!\304&\211\204\"\305\306\307\310\"\"\210\311\202*\211@\211A@\211\207" [buffer-file-name flymake-proc--master-file-name flymake-proc--temp-master-file-name flymake-proc-init-create-temp-buffer-copy flymake-proc--create-master-file flymake-proc--panic "NOMASTER" format-message "cannot find master file for %s" nil] 13 (#$ . 29054)])
(defalias 'flymake-proc-master-cleanup #[0 "\301 \210\302!\207" [flymake-proc--temp-master-file-name flymake-proc-simple-cleanup flymake-proc--safe-delete-file] 2])
#@151 Create a command line for syntax check using GET-CMD-LINE-F.

(fn SOURCE-FILE-NAME BASE-DIR USE-RELATIVE-BASE-DIR USE-RELATIVE-SOURCE GET-CMD-LINE-F)
(defalias 'flymake-proc--get-syntax-check-program-args #[1285 "\211\203\300\"\202\203\300\301	!\"\202\"\207" [file-relative-name file-name-directory] 11 (#$ . 29815)])
#@24 

(fn SOURCE BASE-DIR)
(defalias 'flymake-proc-get-make-cmdline #[514 "\300\301\302\303P\304\305\257D\207" ["make" "-s" "-C" "CHK_SOURCES=" "SYNTAX_CHECK_MODE=1" "check-syntax"] 9 (#$ . 30158)])
#@24 

(fn SOURCE BASE-DIR)
(defalias 'flymake-proc-get-ant-cmdline #[514 "\300\301\302\303Q\304P\305FD\207" ["ant" "-buildfile" "/" "build.xml" "-DCHK_SOURCES=" "check-syntax"] 7 (#$ . 30363)])
#@204 Create syntax check command line for a directly checked source file.
Use CREATE-TEMP-F for creating temp copy.

(fn CREATE-TEMP-F USE-RELATIVE-BASE-DIR USE-RELATIVE-SOURCE BUILD-FILE-NAME GET-CMDLINE-F)
(defalias 'flymake-proc-simple-make-init-impl #[1285 "\301\302\"\211\203\303!\304\n\n	%\262\210\207" [buffer-file-name nil flymake-proc--init-find-buildfile-dir flymake-proc-init-create-temp-buffer-copy flymake-proc--get-syntax-check-program-args] 15 (#$ . 30562)])
(defalias 'flymake-proc-simple-make-init #[0 "\300\301\302\211\303\304%\207" [flymake-proc-simple-make-init-impl flymake-proc-create-temp-inplace t "Makefile" flymake-proc-get-make-cmdline] 6])
#@136 Create make command line for a source file checked via master file compilation.

(fn GET-INCL-DIRS-F MASTER-FILE-MASKS INCLUDE-REGEXP)
(defalias 'flymake-proc-master-make-init #[771 "\300\301\302$\211\203\303\304\"\211\203\305\300\211\306%\262\210\207" [nil flymake-proc--init-create-temp-source-and-master-buffer-copy flymake-proc-create-temp-inplace flymake-proc--init-find-buildfile-dir "Makefile" flymake-proc--get-syntax-check-program-args flymake-proc-get-make-cmdline] 12 (#$ . 31246)])
#@19 

(fn SOURCE-DIR)
(defalias 'flymake-proc--find-make-buildfile #[257 "\300\301\"\207" [flymake-proc--find-buildfile "Makefile"] 4 (#$ . 31758)])
(defalias 'flymake-proc-master-make-header-init #[0 "\300\301\302\303#\207" [flymake-proc-master-make-init flymake-proc-get-include-dirs ("\\.\\(?:c\\(?:pp\\|xx\\|\\+\\+\\)?\\|CC\\)\\'") "[ 	]*#[ 	]*include[ 	]*\"\\([[:word:]0-9/\\_.]*%s\\)\""] 4])
#@16 

(fn SCRAPED)
(defalias 'flymake-proc-real-file-name-considering-includes #[257 "\301\302\303\304\305#)!\207" [case-fold-search flymake-proc-get-real-file-name t replace-regexp-in-string "^in file included from[ 	*]" ""] 6 (#$ . 32159)])
(defalias 'flymake-proc-simple-make-java-init #[0 "\300\301\302\211\303\304%\207" [flymake-proc-simple-make-init-impl flymake-proc-create-temp-with-folder-structure nil "Makefile" flymake-proc-get-make-cmdline] 6])
(defalias 'flymake-proc-simple-ant-java-init #[0 "\300\301\302\211\303\304%\207" [flymake-proc-simple-make-init-impl flymake-proc-create-temp-with-folder-structure nil "build.xml" flymake-proc-get-ant-cmdline] 6])
#@82 Cleanup after `flymake-proc-simple-make-java-init' -- delete temp file and dirs.
(defalias 'flymake-proc-simple-java-cleanup #[0 "\301!\210\205
\302\303!!\207" [flymake-proc--temp-source-file-name flymake-proc--safe-delete-file flymake-proc--delete-temp-directory file-name-directory] 3 (#$ . 32835)])
(defalias 'flymake-proc-perl-init #[0 "\301\302!\303\304!\"\305\306DD\207" [buffer-file-name flymake-proc-init-create-temp-buffer-copy flymake-proc-create-temp-inplace file-relative-name file-name-directory "perl" "-wc "] 5])
(defalias 'flymake-proc-php-init #[0 "\301\302!\303\304!\"\305\306\307ED\207" [buffer-file-name flymake-proc-init-create-temp-buffer-copy flymake-proc-create-temp-inplace file-relative-name file-name-directory "php" "-f" "-l"] 6])
#@18 

(fn FILE-NAME)
(defalias 'flymake-proc--get-tex-args #[257 "\300\301\302ED\207" ["texify" "--pdf" "--tex-option=-c-style-errors"] 5 (#$ . 33610)])
(defalias 'flymake-proc-simple-tex-init #[0 "\300\301\302!!\207" [flymake-proc--get-tex-args flymake-proc-init-create-temp-buffer-copy flymake-proc-create-temp-inplace] 3])
(defalias 'flymake-proc-master-tex-init #[0 "\300\301\302\303\304$\211\205
\305!\207" [flymake-proc--init-create-temp-source-and-master-buffer-copy flymake-proc-get-include-dirs-dot flymake-proc-create-temp-inplace ("\\.tex\\'") "[ 	]*\\in\\(?:put\\|clude\\)[ 	]*{\\(.*%s\\)}" flymake-proc--get-tex-args] 5])
#@17 

(fn BASE-DIR)
(defalias 'flymake-proc--get-include-dirs-dot #[257 "\300\207" [(".")] 2 (#$ . 34250)])
(defalias 'flymake-proc-xml-init #[0 "\301\302\303!DD\207" [flymake-proc-xml-program "val" flymake-proc-init-create-temp-buffer-copy flymake-proc-create-temp-inplace] 4])
(byte-code "\300\301\302\"\210\303\304\305\306#\210\307\211\203-\211@\304N\203&\305N\204&\310\305\304N#\210A\266\202\202\f\210\311\304\305\312#\210\313\314\315\306#\210\316\314\315\312#\210\303\317\320\306#\210\307\211\203h\211@\317N\203a\320N\204a\310\320\317N#\210A\266\202\202G\210\311\317\320\312#\210\313\321\322\306#\210\316\321\322\312#\210\313\323\324\306#\210\316\323\324\312#\210\313\325\326\306#\210\316\325\326\312#\210\313\327\330\306#\210\316\327\330\312#\210\313\331\332\306#\210\316\331\332\312#\210\313\333\334\306#\210\316\333\334\312#\210\313\335\336\306#\210\316\335\336\312#\210\313\337\340\306#\210\316\337\340\312#\210\313\341\342\306#\210\316\341\342\312#\210\313\343\344\306#\210\316\343\344\312#\210\313\345\346\306#\210\316\345\346\312#\210\313\347\350\306#\210\316\347\350\312#\210\313\351\352\306#\210\316\351\352\312#\210\313\353\354\306#\210\316\353\354\312#\210\313\355\356\306#\210\316\355\356\312#\210\313\357\360\306#\210\316\357\360\312#\210\313\361\362\306#\210\316\361\362\312#\210\313\363\364\306#\210\316\363\364\312#\210\313\365\366\306#\210\316\365\366\312#\210\313\367\370\306#\210\316\367\370\312#\210\313\371\372\306#\210\316\371\372\312#\210\313\373\374\306#\210\316\373\374\312#\210\313\375\376\306#\210\316\375\376\312#\210\313\377\201@\306#\210\316\377\201@\312#\210\313\201A\201B\306#\210\316\201A\201B\312#\210\201C\201D!\207" [add-hook flymake-diagnostic-functions flymake-proc-legacy-flymake defvaralias flymake-check-file-limit flymake-proc-check-file-limit nil (saved-value saved-variable-comment) put make-obsolete-variable "26.1" defalias flymake-reformat-err-line-patterns-from-compile-el flymake-proc-reformat-err-line-patterns-from-compile-el make-obsolete flymake-err-line-patterns flymake-proc-err-line-patterns flymake-parse-line flymake-proc-parse-line flymake-get-include-dirs flymake-proc-get-include-dirs flymake-stop-all-syntax-checks flymake-proc-stop-all-syntax-checks flymake-compile flymake-proc-compile flymake-create-temp-inplace flymake-proc-create-temp-inplace flymake-create-temp-with-folder-structure flymake-proc-create-temp-with-folder-structure flymake-init-create-temp-buffer-copy flymake-proc-init-create-temp-buffer-copy flymake-simple-cleanup flymake-proc-simple-cleanup flymake-get-real-file-name flymake-proc-get-real-file-name flymake-master-cleanup flymake-proc-master-cleanup flymake-get-make-cmdline flymake-proc-get-make-cmdline flymake-get-ant-cmdline flymake-proc-get-ant-cmdline flymake-simple-make-init-impl flymake-proc-simple-make-init-impl flymake-simple-make-init flymake-proc-simple-make-init flymake-master-make-init flymake-proc-master-make-init flymake-find-make-buildfile flymake-proc--find-make-buildfile flymake-master-make-header-init flymake-proc-master-make-header-init flymake-simple-make-java-init flymake-proc-simple-make-java-init flymake-simple-ant-java-init flymake-proc-simple-ant-java-init flymake-simple-java-cleanup flymake-proc-simple-java-cleanup flymake-perl-init flymake-proc-perl-init flymake-php-init flymake-proc-php-init flymake-simple-tex-init flymake-proc-simple-tex-init flymake-master-tex-init flymake-proc-master-tex-init flymake-xml-init flymake-proc-xml-init provide flymake-proc] 7)