GNU bug report logs - #11749
24.1; C-mode indentation gives wrong-type-argument error.

Previous Next

Packages: emacs, cc-mode;

Reported by: storm <at> cua.dk (Kim F. Storm)

Date: Tue, 19 Jun 2012 20:50:02 UTC

Severity: normal

Merged with 9957, 13385

Found in versions 24.0.90, 24.1

Done: Alan Mackenzie <acm <at> muc.de>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Michael Welsh Duggan <mwd <at> cert.org>
To: Alan Mackenzie <acm <at> muc.de>
Cc: Michael Welsh Duggan <md5i <at> md5i.com>, 11749 <at> debbugs.gnu.org, Kim Storm <storm <at> cua.dk>
Subject: bug#11749: Acknowledgement (24.1; C-mode indentation gives wrong-type-argument error.)
Date: Mon, 10 Sep 2012 08:18:51 -0400
Alan Mackenzie <acm <at> muc.de> writes:

> Hello again, Michael!
>
> On Thu, Sep 06, 2012 at 11:45:48PM -0400, Michael Welsh Duggan wrote:
>> Alan Mackenzie <acm <at> muc.de> writes:
>
>> > Hello, Kim.
>
>> > On Mon, Sep 03, 2012 at 11:47:00AM +0200, Kim Storm wrote:
>> >> On 2012-09-02 23:16, Alan Mackenzie wrote:
>> >> > Yes. It looks like the "state cache" (a cache of certain brace, paren 
>> >> > and bracket positions) has got corrupted.
>> >> > This is difficult to make repeatable, and is very dependent upon the 
>> >> > exact navigation taken around the C buffer.
>> >> Well - my navigation triggers that bug a lot.
>
>> > It's strange that it doesn't seem to be happening much to other people.
>
>> It happens to me irregularly.
>
> Once a week?  Once a day?  Is it associated with buffer changes, or does
> it just happen?

It happens when I'm editing C code.  I can't say once a week/day, etc.,
because I don't edit C code every day.  Most days I don't see it at all.
When it does happen, it is either extremely ephemeral (and goes away
immediately), or happens frequently in the same file, and I have to
reload the file completely just to get back to status quo.  It's very
hard to characterize.  (It used to happen a lot more often before you
fixed this in a few places.)

>> There is generally no way to re-create it, so I've stopped reporting
>> these.  I wish there were some way to record all actions in c-mode
>> buffers such that they could be saved and re-played when this type of
>> problem happens.  If there were some sort of debug flag I could turn
>> on, I would turn it on by default and hopefully be able to catch some
>> useful information.
>
> M-x c-toggle-parse-state-debug
>
> (or (c-toggle-parse-state-debug 1) in your .emacs).  Warning: variable
> `c-debug-parse-state' is not buffer local.  I wrote this on 19th October
> last year to help sort out the bug you reported a little earlier.  :-)
>
> It works by calculating c-parse-state twice for each call - The first
> time normally, then again with the internal state bound to "newly
> initialised".  If the the two results differ, they are printed to
> *Messages*, together with the saved previous state.  If this does
> trigger, please note any recent buffer changes.  It may make editing
> intolerably slow.

I will turn this on.

-- 
Michael Welsh Duggan
(mwd <at> cert.org)




This bug report was last modified 12 years and 107 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.