> Have you tried customizing c-noise-macro-names, as described in (ccmode) Noise Macros?
Hello Noam, thanks for your answer.
I didn't know of c-noise-macro-names, thanks. If after step 1) I eval
the following:
(defun my-c-mode-hook ()
(setq c-noise-macro-names (append c-noise-macro-names '("DUMMY")))
(c-make-noise-macro-regexps))
(add-hook 'c-mode-hook 'my-c-mode-hook)
And then follow the steps of my recipe, CC Mode works correctly.
However, the following recipe exposes another problem, I think:
1) emacs -Q
2) Eval the following:
(defun my-c-mode-hook ()
(setq c-noise-macro-with-parens-names (append c-noise-macro-with-parens-names
'("DUMMY_1" "DUMMY_2")))
(c-make-noise-macro-regexps))
(add-hook 'c-mode-hook 'my-c-mode-hook)
3) C-x C-f test.c
4) Type the following (no need to type the #define lines, that's just for completion)
#define DUMMY_1(params)
#define DUMMY_2(params)
int DUMMY_1 (1) DUMMY_2 (2)
foo (void)
{
return 0;
}
5) Observe that DUMMY_1 (1) is ignored as expected, but DUMMY_2 gets
font-lock-type-face. I think that's not right.
6) To be sure that I customized c-noise-macro-with-parens-names correctly, I
tried a regexp search with c-noise-macro-with-parens-name-re, from the
beginning of the buffer:
(re-search-forward c-noise-macro-with-parens-name-re)
That gets four hits, as it should (2 for DUMMY_1 and 2 for DUMMY_2), meaning
that it does find DUMMY_2 as a noise macro with parens.
Is that a bug? Or is there something else I can use to help CC Mode not get
confused?
Best regards,
Mauro.