* lisp/progmodes/flymake.el (flymake-check-file-limit):
Allow nil to mean "no limit".
(flymake-check-patch-master-file-buffer): Update for above change.
Allow a .tex file-name extension to be optional.
(flymake-master-tex-init): Also match \include statements.
(locate-dominating-file): Change arg from a regexp to a file name.
Rewrite using the vc-find-root code to avoid directory-files which is
too slow. Obey locate-dominating-stop-dir-regexp.
Don't pay attention to changes in owner.
(project-find-settings-file): Adjust call to locate-dominating-file.
* progmodes/flymake.el (flymake-find-buildfile):
Adjust call to locate-dominating-file.
* vc-hooks.el (vc-find-root): Use locate-dominating-file.
(vc-ignore-dir-regexp): Use locate-dominating-stop-dir-regexp.
(flymake-find-buildfile, flymake-find-possible-master-files):
Use expand-file-name.
(flymake-fix-file-name): Don't replace \ with / and don't remove ./
since expand-file-name does it for us. Use directory-file-name.
(flymake-ler-get-full-file, flymake-ler-get-file, flymake-ler-get-line)
(flymake-ler-get-type, flymake-ler-get-text)
(flymake-ler-make-ler): Remove. Replace by defstruct. Update callers.
(flymake-current-line-no): Remove spurious interactive spec.
(flymake-delete-temp-directory): Remove unused var `slash-pos'.
(flymake-check-include): Remove arg inc-path merged into inc-name.
(flymake-check-patch-master-file-buffer): Fit in 80 columns.
Arg regexp-list replaced by a simple regexp.
(flymake-master-make-header-init, flymake-master-tex-init):
Correspondingly replace regexp-list with a regexp. Fix regexp.
(flymake-allowed-file-name-masks): Use this new default.
All the functions are now called in the right buffer rather than
passing the buffer as argument.
(flymake-process-sentinel): Switch to buffer before calling cleanup.
(flymake-parse-err-lines): Remove redundant buffer arg.
(flymake-get-program-dir): Comment out unused function.
(flymake-start-syntax-check, flymake-start-syntax-check-process):
Remove redundant buffer argument.
(flymake-get-real-file-name, flymake-simple-java-cleanup)
(flymake-simple-cleanup, flymake-master-cleanup): Remove buffer arg.
(flymake-delete-temp-directory): Use expand-file-name,
file-name-directory, and directory-file-name.
(flymake-strrchr): Delete.
(flymake-start-syntax-check): Don't pass the redundant buffer argument
to the init-f function.
(flymake-init-find-buildfile-dir, flymake-init-create-temp-buffer-copy)
(flymake-init-create-temp-source-and-master-buffer-copy, flymake-perl-init)
(flymake-save-buffer-in-file, flymake-simple-make-init-impl, flymake-xml-init)
(flymake-simple-make-init, flymake-master-make-init, flymake-master-tex-init)
(flymake-master-make-header-init, flymake-simple-make-java-init)
(flymake-simple-ant-java-init, flymake-simple-tex-init):
Remove corresponding redundant buffer argument.
(flymake-allowed-file-name-masks): Remove last elems that are equal to
the default anyway. Clean up regexps.
(flymake-temp-source-file-name): New buffer-local vars.
(flymake-buffer-data, flymake-get-buffer-value, flymake-set-buffer-value):
Replace those hash-tables by the new buffer-local vars. Update callers.