mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-26 07:11:34 -08:00
The first of these problems is longstanding: if an error-less B.h is included from error-ridden A.h, flymake's legacy parser will panic (and disable itself) since it sees a non-zero exit for a clean file. To fix this, recommend returning 'true' in the documentation for the check-syntax target. Another problem was introduced by the parser rewrite. For error patterns spanning more than one line, point may be left in the middle of a line and thus render other patterns useless. Those patterns were written for the old line-by-line parser. To make them useful again, move to the beginning of line in those situations. The third problem was also longstanding and happened on newer GCC's: The "In file included from" prefix confused flymake-proc-get-real-file-name. Fix this. Also updated flymake--diag-region to fallback to highlighting a full line less often. Add automatic tests to check this. * lisp/progmodes/flymake-proc.el (flymake-proc--diagnostics-for-pattern): Fix bug when patterns accidentally spans more than one line. Don't create diagnostics without error messages. (flymake-proc-real-file-name-considering-includes): New helper. (flymake-proc-allowed-file-name-masks): Use it. * lisp/progmodes/flymake.el (flymake-diag-region): Make COL argument explicitly optional. Only fall back to full line in extreme cases. * test/lisp/progmodes/flymake-tests.el (included-c-header-files): New test. (different-diagnostic-types): Update. * test/lisp/progmodes/flymake-resources/Makefile (check-syntax): Always return success (0) error code. (CC_OPTS): Add -Wextra * test/lisp/progmodes/flymake-resources/errors-and-warnings.c (main): Rewrite comments. * test/lisp/progmodes/flymake-resources/errors-and-warnings.c: Include some dummy header files. * test/lisp/progmodes/flymake-resources/no-problems.h: New file. * test/lisp/progmodes/flymake-resources/some-problems.h: New file. * doc/misc/flymake.texi (Example---Configuring a tool called via make): Recommend adding "|| true" to the check-syntax target. |
||
|---|---|---|
| .. | ||
| ada-mode.texi | ||
| auth.texi | ||
| autotype.texi | ||
| bovine.texi | ||
| calc.texi | ||
| cc-mode.texi | ||
| ChangeLog.1 | ||
| cl.texi | ||
| dbus.texi | ||
| dired-x.texi | ||
| doclicense.texi | ||
| ebrowse.texi | ||
| ede.texi | ||
| ediff.texi | ||
| edt.texi | ||
| efaq-w32.texi | ||
| efaq.texi | ||
| eieio.texi | ||
| emacs-gnutls.texi | ||
| emacs-mime.texi | ||
| epa.texi | ||
| erc.texi | ||
| ert.texi | ||
| eshell.texi | ||
| eudc.texi | ||
| eww.texi | ||
| flymake.texi | ||
| forms.texi | ||
| gnus-coding.texi | ||
| gnus-faq.texi | ||
| gnus-news.el | ||
| gnus-news.texi | ||
| gnus-overrides.texi | ||
| gnus.texi | ||
| gpl.texi | ||
| htmlfontify.texi | ||
| idlwave.texi | ||
| ido.texi | ||
| info.texi | ||
| mairix-el.texi | ||
| Makefile.in | ||
| message.texi | ||
| mh-e.texi | ||
| newsticker.texi | ||
| nxml-mode.texi | ||
| octave-mode.texi | ||
| org.texi | ||
| pcl-cvs.texi | ||
| pgg.texi | ||
| rcirc.texi | ||
| reftex.texi | ||
| remember.texi | ||
| sasl.texi | ||
| sc.texi | ||
| sem-user.texi | ||
| semantic.texi | ||
| ses.texi | ||
| sieve.texi | ||
| smtpmail.texi | ||
| speedbar.texi | ||
| srecode.texi | ||
| texinfo.tex | ||
| todo-mode.texi | ||
| tramp.texi | ||
| trampver.texi | ||
| url.texi | ||
| vhdl-mode.texi | ||
| vip.texi | ||
| viper.texi | ||
| widget.texi | ||
| wisent.texi | ||
| woman.texi | ||