Function: flymake-proc--create-master-file
flymake-proc--create-master-file is a byte-compiled function defined
in flymake-proc.el.gz.
Signature
(flymake-proc--create-master-file SOURCE-FILE-NAME PATCHED-SOURCE-FILE-NAME GET-INCL-DIRS-F CREATE-TEMP-F MASKS INCLUDE-REGEXP)
Documentation
Save SOURCE-FILE-NAME with a different name.
Find master file, patch and save it.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/flymake-proc.el.gz
(defun flymake-proc--create-master-file (source-file-name patched-source-file-name get-incl-dirs-f create-temp-f masks include-regexp)
"Save SOURCE-FILE-NAME with a different name.
Find master file, patch and save it."
(let* ((possible-master-files (flymake-proc--find-possible-master-files source-file-name flymake-proc-master-file-dirs masks))
(master-file-count (length possible-master-files))
(idx 0)
(temp-buffer nil)
(master-file-name nil)
(patched-master-file-name nil)
(found nil))
(while (and (not found) (< idx master-file-count))
(setq master-file-name (nth idx possible-master-files))
(setq patched-master-file-name (funcall create-temp-f master-file-name "flymake_master"))
(if (flymake-proc--find-buffer-for-file master-file-name)
(setq temp-buffer (flymake-proc--copy-buffer-to-temp-buffer (flymake-proc--find-buffer-for-file master-file-name)))
(setq temp-buffer (flymake-proc--read-file-to-temp-buffer master-file-name)))
(setq found
(flymake-proc--check-patch-master-file-buffer
temp-buffer
master-file-name
patched-master-file-name
source-file-name
patched-source-file-name
(funcall get-incl-dirs-f (file-name-directory master-file-name))
include-regexp))
(setq idx (1+ idx)))
(if found
(list master-file-name patched-master-file-name)
(progn
(flymake-log 3 "none of %d master file(s) checked includes %s" master-file-count
(file-name-nondirectory source-file-name))
nil))))