From: martin rudalics <rudalics@gmx.at>
Cc: Chong Yidong <cyd@stupidchicken.com>,
Richard Stallman <rms@gnu.org>,
Stefan Monnier <monnier@iro.umontreal.ca>,
emacs-devel@gnu.org
Subject: Re: Mysterious fontification/C++ context issue - Patch for beginning-of-defun-raw.
Date: Fri, 15 Dec 2006 08:32:53 +0100 [thread overview]
Message-ID: <45824FA5.3050702@gmx.at> (raw)
In-Reply-To: <20061214193733.GA1269@muc.de>
Good morning, Alan
> In normal, carefree use, an open paren/brace in column 0 doesn't happen
> that often. A typical user won't notice when a M-q in a string puts a (
> at column 0, so when the fontification goes awry, it's a big jolt, and
> an indefinite time sink to sort out (or ignore) the problem.
At the time I noticed the bug it indeed took me some time to find its
cause. That's why I convinced Richard to write a tiny patch which now
allows me to highlight offending parens in C mode appropriately.
> I say we should GIVE THE USER THE CHOICE. I have proposed a way of
> doing this to which nobody's commented yet: Have three values for the
> variable with the furlong long name, namely (t nil mode). t and nil
> will carry on meaning what they mean, and the symbol 'mode, the default,
> will mean "Major mode may set its own default here".
I don't mind if C mode sets this to nil by default. I do mind, however,
if things break when I set this to t in my c-mode-hook. Your earlier
remark that c-beginning-of-defun function "depends essentially on
beginning-of-defun working "correctly" (i.e. syntactically) when
opic0ids is set to nil" is not entirely reassuring in this respect.
Hence please tell me: Does `c-beginning-of-defun' work correctly when I
set `open-paren-in-column-0-is-defun-start' to t? If you say it does, I
can (1) speed-up fontification of C buffers _and_ get information about
potential mis-fontification by setting
(set (make-local-variable 'open-paren-in-column-0-is-defun-start) t)
(put font-lock-beginning-of-syntax-function 'font-lock-syntax-paren-check t)
in my `c-mode-hook' and (2) get correct albeit slow fontification by not
doing so.
In general, we could make (1) the standard for users leaving alone the
default value of `open-paren-in-column-0-is-defun-start' and (2) the
standard for users who customized that to nil. Until, eventually,
`open-paren-in-column-0-is-defun-start' is made obsolete.
>>- more and more programmers put parens that do not start defuns in the
>> leftmost column (after all the GNU editor doesn't complain and they
>> already pay with their CPU time for that extra service), thus
>
>
> They do that already. Most of them neither know nor care about the GNU
> rule. I don't know of any program (aside from Obfuscated C entries)
> where programmers knowingly put { or ( in C0 (apart from defun openers).
> It's something that just happens, much as it did in syntax.c.
I should have said "less and less programmers care about not putting
parens that do not start defuns in the leftmost column" (the paren in
syntax.c is still there).
> Now that we've got 1 to 4 GHz processors, (eq opic0ids nil) is a
> reasonable default for C. If we can just agree on a mechanism, I will
> amend cc-mode.el to avoid forcing the sluggishness down people's
> throats. I actually feel quite guilty about that, believe it or not.
I already feel quite guilty for you feeling guilty.
>>- implicitly forcing the authors of other tools to abandon the rule as
>> well.
>
>
> They will be experiencing the same hiccups as Emacs. By the way, what
> other tools? ;-)
That's what I wanted you to ask. If the purpose of that entry in GNU
standards is to enforce a rule for Emacs users only and C mode does not
care about it ...
>>If that's the intention, GNU should change the coding standard first.
>
>
> I think that's a separate issue. Maybe these other tools could now be
> adapted to recognise parens inside strings and comments, now that
> processors are fast. Maybe not.
But you agree that, if tools are not able to do so easily, we should not
encourage people to write programs that do not follow the standard?
next prev parent reply other threads:[~2006-12-15 7:32 UTC|newest]
Thread overview: 120+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <87y7po2e9b.fsf@leeloo.anubex.internal>
[not found] ` <45741FBE.3000107@swipnet.se>
[not found] ` <45742464.1090504@gmx.at>
2006-12-04 21:17 ` Mysterious fontification/C++ context issue Alan Mackenzie
2006-12-06 0:47 ` Richard Stallman
2006-12-06 9:04 ` martin rudalics
2006-12-06 12:22 ` Kim F. Storm
2006-12-06 16:31 ` Chong Yidong
2006-12-07 4:59 ` Richard Stallman
2006-12-09 17:46 ` Chong Yidong
2006-12-09 20:09 ` Stefan Monnier
2006-12-11 1:05 ` Richard Stallman
2006-12-11 2:27 ` Stefan Monnier
2006-12-11 4:38 ` Stefan Monnier
2006-12-12 16:24 ` Chong Yidong
2006-12-12 17:10 ` Stefan Monnier
2006-12-10 4:24 ` Richard Stallman
2006-12-10 0:35 ` Alan Mackenzie
2006-12-10 1:11 ` Chong Yidong
2006-12-10 9:12 ` Alan Mackenzie
2006-12-10 12:46 ` David Kastrup
2006-12-10 14:50 ` Alan Mackenzie
2006-12-10 15:13 ` David Kastrup
2006-12-10 20:30 ` Chong Yidong
2006-12-13 21:29 ` Mysterious fontification/C++ context issue - Patch for beginning-of-defun-raw Alan Mackenzie
2006-12-14 1:02 ` Chong Yidong
2006-12-14 7:36 ` Alan Mackenzie
2006-12-14 10:47 ` martin rudalics
2006-12-14 18:26 ` Alan Mackenzie
2006-12-14 18:53 ` David Kastrup
2006-12-14 20:21 ` Chong Yidong
2006-12-14 20:35 ` Chong Yidong
2006-12-14 22:18 ` Alan Mackenzie
2006-12-14 22:51 ` Chong Yidong
2006-12-15 0:53 ` David Kastrup
2006-12-15 10:35 ` Johan Bockgård
2006-12-14 21:53 ` What `opic0ids' really is [was: Mysterious fontification/C++ context issue - Patch for beginning-of-defun-raw.] Stuart D. Herring
2006-12-15 7:32 ` martin rudalics [this message]
2006-12-15 19:22 ` Mysterious fontification/C++ context issue - Patch for beginning-of-defun-raw Alan Mackenzie
2006-12-15 22:20 ` David Kastrup
2006-12-16 10:17 ` martin rudalics
2006-12-17 11:44 ` Alan Mackenzie
2006-12-17 12:02 ` David Kastrup
2006-12-17 12:08 ` Alan Mackenzie
2006-12-17 12:14 ` David Kastrup
2006-12-17 12:26 ` Alan Mackenzie
2006-12-17 12:51 ` David Kastrup
2006-12-17 17:28 ` martin rudalics
2006-12-17 18:36 ` Mysterious fontification/C++ context issue - Patch for c-basic-common-init Alan Mackenzie
2006-12-17 18:45 ` Chong Yidong
2006-12-17 22:18 ` Alan Mackenzie
2006-12-17 22:59 ` Chong Yidong
2006-12-18 0:06 ` Mysterious fontification/C++ context issue - Patch for beginning-of-defun-raw Stefan Monnier
2006-12-15 23:24 ` Stefan Monnier
2006-12-16 10:17 ` martin rudalics
2006-12-16 18:14 ` Chong Yidong
2006-12-16 18:27 ` martin rudalics
2006-12-16 19:00 ` martin rudalics
2006-12-16 19:33 ` Chong Yidong
2006-12-16 19:59 ` martin rudalics
2006-12-16 20:10 ` Chong Yidong
2006-12-16 21:26 ` Chong Yidong
2006-12-16 22:43 ` martin rudalics
2006-12-16 23:30 ` Stefan Monnier
2006-12-16 23:40 ` martin rudalics
2006-12-17 0:04 ` Stefan Monnier
2006-12-17 4:02 ` Chong Yidong
2006-12-17 10:32 ` martin rudalics
2006-12-17 10:26 ` martin rudalics
2006-12-17 10:59 ` David Kastrup
2006-12-17 23:23 ` Stefan Monnier
2006-12-17 11:10 ` Alan Mackenzie
2006-12-17 12:01 ` David Kastrup
2006-12-18 0:04 ` Stefan Monnier
2006-12-16 22:11 ` martin rudalics
2006-12-16 23:29 ` Stefan Monnier
2006-12-16 23:37 ` martin rudalics
2006-12-16 20:22 ` David Kastrup
2006-12-16 22:21 ` martin rudalics
2006-12-14 17:29 ` Chong Yidong
2006-12-14 18:56 ` David Kastrup
2006-12-14 22:57 ` Alan Mackenzie
2006-12-15 22:56 ` Stefan Monnier
2006-12-15 23:03 ` David Kastrup
2006-12-14 10:45 ` martin rudalics
2006-12-14 18:29 ` Alan Mackenzie
2006-12-15 22:49 ` Stefan Monnier
2006-12-10 21:39 ` Mysterious fontification/C++ context issue Stefan Monnier
2006-12-10 23:14 ` Kim F. Storm
2006-12-14 7:43 ` Alan Mackenzie
2006-12-14 7:51 ` Miles Bader
2006-12-15 23:36 ` Stefan Monnier
2006-12-10 9:18 ` martin rudalics
2006-12-11 1:23 ` Stefan Monnier
2006-12-11 7:23 ` martin rudalics
2006-12-11 7:36 ` Stefan Monnier
2006-12-11 8:32 ` martin rudalics
2006-12-11 16:30 ` Stefan Monnier
2006-12-11 1:05 ` Stefan Monnier
2006-12-11 1:06 ` Richard Stallman
2006-12-06 18:44 ` Richard Stallman
2006-12-06 22:38 ` martin rudalics
2006-12-08 5:05 ` Richard Stallman
2006-12-09 9:42 ` martin rudalics
2006-12-10 4:24 ` Richard Stallman
2006-12-10 8:38 ` martin rudalics
2006-12-10 10:56 ` Alan Mackenzie
2006-12-10 11:58 ` martin rudalics
2006-12-10 14:30 ` Slawomir Nowaczyk
2006-12-11 1:29 ` Stefan Monnier
2006-12-06 20:52 ` Alan Mackenzie
2006-12-06 22:38 ` martin rudalics
2006-12-07 5:07 ` Stefan Monnier
2006-12-15 5:03 Mysterious fontification/C++ context issue - Patch for beginning-of-defun-raw Richard Stallman
2006-12-15 6:31 ` Sean O'Rourke
2006-12-15 16:08 ` Chong Yidong
2006-12-15 16:16 ` Sean O'Rourke
2006-12-15 16:44 ` Chong Yidong
2006-12-15 20:46 ` Stuart D. Herring
2006-12-15 21:24 ` Richard Stallman
2006-12-15 22:31 ` Sean O'Rourke
2006-12-15 16:57 ` Chong Yidong
2006-12-15 23:33 ` Stefan Monnier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=45824FA5.3050702@gmx.at \
--to=rudalics@gmx.at \
--cc=cyd@stupidchicken.com \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
--cc=rms@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).