flymake-proc-legacy-flymake saves a copy of the buffer in a
temporary file in the buffer’s directory (or in the system temporary
directory, for Java files), creates a syntax check command and
launches a process with this command. The output is parsed using a
list of error message patterns, and error information (file name, line
number, type and text) is saved. After the process has finished,
Flymake highlights erroneous lines in the buffer using the accumulated
Syntax check is considered possible if there’s an entry in
flymake-proc-allowed-file-name-masks matching buffer’s filename and
init-function returns non-
Two syntax check modes are distinguished:
++sources (.c, .cpp) and Java (.java).
++headers (.h, .hpp).
These modes are handled inside init/cleanup/getfname functions, see Adding support for a new syntax check tool.
The Proc backend contains implementations of all functionality required to support different syntax check modes described above (making temporary copies, finding master files, etc.), as well as some tool-specific (routines for Make, Ant, etc.) code.