mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-25 23:10:47 -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. |
||
|---|---|---|
| .. | ||
| calc | ||
| calendar | ||
| emacs-lisp | ||
| emulation | ||
| erc | ||
| eshell | ||
| gnus | ||
| international | ||
| net | ||
| progmodes | ||
| textmodes | ||
| url | ||
| vc | ||
| abbrev-tests.el | ||
| arc-mode-tests.el | ||
| auth-source-pass-tests.el | ||
| auth-source-tests.el | ||
| autorevert-tests.el | ||
| buff-menu-tests.el | ||
| char-fold-tests.el | ||
| color-tests.el | ||
| comint-tests.el | ||
| dabbrev-tests.el | ||
| descr-text-tests.el | ||
| dired-aux-tests.el | ||
| dired-tests.el | ||
| dired-x-tests.el | ||
| dom-tests.el | ||
| electric-tests.el | ||
| epg-tests.el | ||
| faces-tests.el | ||
| ffap-tests.el | ||
| filenotify-tests.el | ||
| files-tests.el | ||
| files-x-tests.el | ||
| help-fns-tests.el | ||
| hi-lock-tests.el | ||
| htmlfontify-tests.el | ||
| ibuffer-tests.el | ||
| ido-tests.el | ||
| imenu-tests.el | ||
| info-xref-tests.el | ||
| isearch-tests.el | ||
| jit-lock-tests.el | ||
| json-tests.el | ||
| kmacro-tests.el | ||
| ls-lisp-tests.el | ||
| man-tests.el | ||
| md4-tests.el | ||
| minibuffer-tests.el | ||
| mouse-tests.el | ||
| obarray-tests.el | ||
| ps-print-tests.el | ||
| register-tests.el | ||
| replace-tests.el | ||
| rot13-tests.el | ||
| ses-tests.el | ||
| shell-tests.el | ||
| simple-tests.el | ||
| sort-tests.el | ||
| soundex-tests.el | ||
| subr-tests.el | ||
| tar-mode-tests.el | ||
| thingatpt-tests.el | ||
| whitespace-tests.el | ||
| xdg-tests.el | ||
| xml-tests.el | ||
| xt-mouse-tests.el | ||