flymake: Making a temporary copy
5.2 Making a temporary copy
===========================
After the possibility of the syntax check has been determined, a
temporary copy of the current buffer is made so that the most recent
unsaved changes could be seen by the syntax check tool. Making a copy
is quite straightforward in a standalone case (mode ‘1’), as it’s just
saving buffer contents to a temporary file.
Things get trickier, however, when master file is involved, as it
requires to
• locate a master file
• patch it to include the current file using its new (temporary)
name.
Locating a master file is discussed in the following section.
Patching just changes all appropriate lines of the master file so
that they use the new (temporary) name of the current file. For
example, suppose current file name is ‘file.h’, the master file is
‘file.cpp’, and it includes current file via ‘#include "file.h"’.
Current file’s copy is saved to file ‘file_flymake.h’, so the include
line must be changed to ‘#include "file_flymake.h"’. Finally, patched
master file is saved to ‘file_flymake_master.cpp’, and the last one is
passed to the syntax check tool.