[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Feature request: match #ifdefs and /* comments */ w/ forward-sexp et
From: |
Martin Stjernholm |
Subject: |
Re: Feature request: match #ifdefs and /* comments */ w/ forward-sexp etc. |
Date: |
Fri, 01 Oct 2004 18:48:18 +0200 |
User-agent: |
Gnus/5.090016 (Oort Gnus v0.16) Emacs/20.7 (gnu/linux) |
Carl Henrik Lunde <address@hidden> wrote:
> currently C-M-[fbk] seems to only work with <>, (), [] and {}, it would be
> nice if it could be extended to support #ifdef and /* */-comments.
> (It's something I miss from the '%'-command as an old VIM user, but
> not a big problem.)
It doesn't even work with <> all the time since the code that analyzes
whether they are operators or parens covers far from all cases.
Regarding #ifdef and its likes, I don't think it's a good idea to
combine those into the same keys as the other parens. That since cpp
directives and parens have different structures and don't nest inside
each other. Consider:
static void init_gc(void)
{
#ifdef PIKE_DEBUG
if (!gc_is_watching) {
#endif
if (marker_hash_table) cleanup_markers();
if (!marker_hash_table)
low_init_marker_hash(num_objects);
get_marker(rec_list.data);
#ifdef PIKE_DEBUG
}
#endif
}
Clearly, the proper mate for the "{" on the fourth line is the "}"
further down and not the "#endif" on the next line. I fear that
combined movement keys which still handles this separation would be
confusing to use. CC Mode provides separate keys to navigate cpp
directives, namely C-c C-n, C-c C-p and C-c C-u.
/* */ comments are another matter since they do nest. So it might be a
nice feature to extend address@hidden etc for comments. If so, I think
they should handle string literals too (C-f and C-b does, but not e.g.
C-u and C-d). (The underlying functions can't be changed, however,
since much elisp code depends on their behavior.)
Anyway, this is not really a CC Mode issue since these keys are bound
globally in Emacs. I therefore cc the discussion to the emacs-devel
list.
- Re: Feature request: match #ifdefs and /* comments */ w/ forward-sexp etc.,
Martin Stjernholm <=