Mercurial > emacs
changeset 107038:d91412f9e8e4
Flymake fix to handle more C++ filenames (Bug#5488).
* progmodes/flymake.el (flymake-allowed-file-name-masks)
(flymake-master-make-header-init): Add other C++ filename masks.
(flymake-find-possible-master-files)
(flymake-check-patch-master-file-buffer): Doc fixes (Bug#5488).
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Thu, 28 Jan 2010 14:53:11 -0500 |
parents | 6e7738cc419f |
children | 2220de986185 |
files | lisp/ChangeLog lisp/progmodes/flymake.el |
diffstat | 2 files changed, 17 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Thu Jan 28 12:47:05 2010 -0500 +++ b/lisp/ChangeLog Thu Jan 28 14:53:11 2010 -0500 @@ -1,3 +1,10 @@ +2010-01-28 Nil Geisweiller <ngeiswei@googlemail.com> (tiny change) + + * progmodes/flymake.el (flymake-allowed-file-name-masks) + (flymake-master-make-header-init): Add other C++ filename masks. + (flymake-find-possible-master-files) + (flymake-check-patch-master-file-buffer): Doc fixes (Bug#5488). + 2010-01-28 Michael Albinus <michael.albinus@gmx.de> Fix some busybox annoyances.
--- a/lisp/progmodes/flymake.el Thu Jan 28 12:47:05 2010 -0500 +++ b/lisp/progmodes/flymake.el Thu Jan 28 14:53:11 2010 -0500 @@ -269,8 +269,7 @@ :group 'tools) (defcustom flymake-allowed-file-name-masks - '(("\\.c\\'" flymake-simple-make-init) - ("\\.cpp\\'" flymake-simple-make-init) + '(("\\.\\(?:c\\(?:pp\\|xx\\|\\+\\+\\)?\\|CC\\)\\'" flymake-simple-make-init) ("\\.xml\\'" flymake-xml-init) ("\\.html?\\'" flymake-xml-init) ("\\.cs\\'" flymake-simple-make-init) @@ -291,7 +290,7 @@ ;; ("[ \t]*\\input[ \t]*{\\(.*\\)\\(%s\\)}" 1 2 )) ;; ("\\.tex\\'" 1) ) - "*Files syntax checking is allowed for." + "Files syntax checking is allowed for." :group 'flymake :type '(repeat (string symbol symbol symbol))) @@ -384,7 +383,7 @@ (defun flymake-find-possible-master-files (file-name master-file-dirs masks) "Find (by name and location) all possible master files. -Master files are .cpp and .c for and .h. Files are searched for +Master files include .cpp and .c for .h. Files are searched for starting from the .h directory and max max-level parent dirs. File contents are not checked." (let* ((dirs master-file-dirs) @@ -434,9 +433,11 @@ source-file-name patched-source-file-name include-dirs regexp) "Check if MASTER-FILE-NAME is a master file for SOURCE-FILE-NAME. -For .cpp master file this means it includes SOURCE-FILE-NAME (.h). If yes, patch a copy of MASTER-FILE-NAME to include PATCHED-SOURCE-FILE-NAME instead of SOURCE-FILE-NAME. + +For example, foo.cpp is a master file if it includes foo.h. + Whether a buffer for MATER-FILE-NAME exists, use it as a source instead of reading master file from disk." (let* ((source-file-nondir (file-name-nondirectory source-file-name)) @@ -1700,9 +1701,10 @@ ;;;; .h/make specific (defun flymake-master-make-header-init () - (flymake-master-make-init 'flymake-get-include-dirs - '("\\.cpp\\'" "\\.c\\'") - "[ \t]*#[ \t]*include[ \t]*\"\\([[:word:]0-9/\\_.]*%s\\)\"")) + (flymake-master-make-init + 'flymake-get-include-dirs + '("\\.\\(?:c\\(?:pp\\|xx\\|\\+\\+\\)?\\|CC\\)\\'") + "[ \t]*#[ \t]*include[ \t]*\"\\([[:word:]0-9/\\_.]*%s\\)\"")) ;;;; .java/make specific (defun flymake-simple-make-java-init ()