unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Alan Mackenzie <acm@muc.de>
To: Kim Storm <storm@cua.dk>
Cc: 11749@debbugs.gnu.org
Subject: bug#11749: Acknowledgement (24.1; C-mode indentation gives wrong-type-argument error.)
Date: Sun, 2 Sep 2012 21:16:20 +0000	[thread overview]
Message-ID: <20120902211620.GA3824@acm.acm> (raw)
In-Reply-To: <503D4B11.6000501@cua.dk>

Hello, Kim.

On Wed, Aug 29, 2012 at 12:49:53AM +0200, Kim Storm wrote:
> M-x report-emacs-bug obviously refuses to include any useful information 
> -- so I send it through my Thunderbird client... this time.

> Tried 24.2 RC2 - and once again I hit this annoying indentation bug i c 
> mode:

> Debugger entered--Lisp error: (wrong-type-argument integer-or-marker-p 
> (5457 . 5720))
>    c-guess-basic-syntax()
>    c-indent-line()
>    indent-according-to-mode()
>    c-electric-paren(nil)
>    call-interactively(c-electric-paren nil nil)

> The offsets corresponds to a preceding { ... } block.

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.

> The code I was working on is the following (sorry, I cannot show more 
> than that):

>        if (!((xdom | xact | xobj | xxtr) & 0x80))
>      continue;

>        if (domains && !alldom && !((xdom | xobj | xxtr) & 0x01))
>      {


> I get a lot of errors -- making 24.2 impossible to work with for my C code.

> Here are some more backtraces:

> Debugger entered--Lisp error: (error "Invalid search bound (wrong side 
> of point)")
>    re-search-backward("^[     ]*:[     ]*\\(.\\)?" 5920 t)
>    c-lineup-gcc-asm-reg((arglist-cont-nonempty . 5920))
>    c-evaluate-offset(c-lineup-gcc-asm-reg (arglist-cont-nonempty 5920 
> 5950) arglist-cont-nonempty)
>    c-evaluate-offset((c-lineup-gcc-asm-reg c-lineup-arglist) 
> (arglist-cont-nonempty 5920 5950) arglist-cont-nonempty)
>    c-calc-offset((arglist-cont-nonempty 5920 5950))
>    c-get-syntactic-indentation(((arglist-cont-nonempty 5920 5950)))
>    c-indent-line()
>    indent-according-to-mode()
>    c-electric-paren(nil)
>    call-interactively(c-electric-paren nil nil)

That looks a bit like bug #10941, but isn't it.  It could be something
quite easy inside `c-lineup-gcc-asm-reg' (which I've not seen being used
before).  Is this an easily repeatable bug?  Any chance of a recipe?
Would you also dump your CC Mode configuration (C-c C-b) please.

> Debugger entered--Lisp error: (wrong-type-argument integer-or-marker-p 
> (5874 . 5881))
>    c-guess-basic-syntax()
>    c-indent-line()
>    indent-according-to-mode()
>    c-electric-paren(nil)
>    call-interactively(c-electric-paren nil nil)

> The last one came when I inserted the final ; in the last line of the 
> following snippet:

> static void add_hash_ext(idhash_t **hp, id_t *idtab, int n)
> {

>   }


>    static idhash_t *lookup_ext(idhash_t **hp, );

I've not been able to reproduce it in that limited context.  It looks
like another bug in the state cache, and they're bastards.

> Yes, there are syntax errors in that code -- but indentation should be 
> able to
> handle that without signalling errors all the time.

Yes.

> I have seen similar problems in 24.1 - but not in 23.4 that I usually
> use (for this very reason).

Might you have something unusual in your CC Mode config?

-- 
Alan Mackenzie (Nuremberg, Germany).





  parent reply	other threads:[~2012-09-02 21:16 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-19 20:45 bug#11749: 24.1; C-mode indentation gives wrong-type-argument error Kim F. Storm
2012-06-21  7:17 ` Glenn Morris
2012-06-21  9:34   ` Kim Storm
2012-08-28 16:17 ` bug#11749: 24.2; wrong-type-argument Kim F. Storm
     [not found] ` <handler.11749.B.13401389485673.ack@debbugs.gnu.org>
2012-08-28 22:49   ` bug#11749: Acknowledgement (24.1; C-mode indentation gives wrong-type-argument error.) Kim Storm
2012-08-31 11:01     ` Eli Zaretskii
2012-08-31 12:37       ` Kim Storm
2012-09-02 21:16     ` Alan Mackenzie [this message]
2012-09-03  9:47       ` Kim Storm
2012-09-03 13:56         ` Stefan Monnier
2012-09-03 14:20           ` Kim Storm
2012-09-03 18:52             ` Stefan Monnier
2012-09-05 20:48         ` Alan Mackenzie
2012-09-07  3:45           ` Michael Welsh Duggan
2012-09-07 14:53             ` Stefan Monnier
2012-09-07 16:16               ` Kim Storm
2012-09-08 21:14             ` Alan Mackenzie
2012-09-10 12:18               ` Michael Welsh Duggan
2012-09-10 12:48                 ` Michael Welsh Duggan
2012-09-21 17:47                   ` Michael Welsh Duggan
2012-10-07 10:59                     ` Alan Mackenzie
2012-10-09 14:05                       ` Michael Welsh Duggan
2012-10-10 20:00                         ` Alan Mackenzie
2012-10-14 17:06                           ` Alan Mackenzie
2012-10-23 16:13                             ` Michael Welsh Duggan
2012-10-25 13:41                             ` Michael Welsh Duggan
2012-10-28 11:36                               ` Alan Mackenzie
2012-11-04  3:43                                 ` Chong Yidong
2012-11-04 20:42                                   ` Alan Mackenzie
2012-11-21 20:58                                   ` Alan Mackenzie
2012-11-22 14:52                                     ` Stefan Monnier
2012-11-04 20:39                                 ` Alan Mackenzie
2012-11-04 21:04                                   ` Kim Storm
2012-11-14 16:52                                   ` Michael Welsh Duggan
2012-11-21 21:33                                     ` Alan Mackenzie
2012-11-26 13:25                                       ` Michael Welsh Duggan
2012-12-10  3:35                                         ` Michael Welsh Duggan
2013-01-07 12:09                                           ` Alan Mackenzie
2013-01-17 16:27                                             ` Michael Welsh Duggan
2013-01-17 16:28                                               ` Michael Welsh Duggan
2013-01-23 14:16                                               ` Alan Mackenzie
2013-01-23 15:39                                                 ` Michael Welsh Duggan
2013-01-29 11:37                                                   ` Alan Mackenzie
     [not found]                                                   ` <20130129113737.GA4544@acm.acm>
2013-02-01 22:18                                                     ` Michael Welsh Duggan
2013-02-01 23:50                                                       ` Kim Storm
2013-02-02 19:35                                                         ` Alan Mackenzie
2012-09-10 13:10                 ` Michael Welsh Duggan
2012-09-10 13:22                   ` Michael Welsh Duggan
2012-09-10 18:25                     ` Michael Welsh Duggan
2012-09-05 13:11 ` bug#11749: I also have this issue Denis Zalevskiy
2013-01-08 19:10 ` bug#11749: Acknowledgement (24.1; C-mode indentation gives wrong-type-argument error.) Glenn Morris
2013-01-09 22:13   ` Alan Mackenzie
2013-02-02 18:37 ` bug#11749: 24.1; C-mode indentation gives wrong-type-argument error Alan Mackenzie
2013-01-08 13:49   ` bug#13385: 24.1; TAB in C file causes type error Julian Stecklina
     [not found]     ` <handler.13385.D11749.1359830688892.notifdone@debbugs.gnu.org>
2013-02-03 13:00       ` bug#13385: closed (Re: 24.1; C-mode indentation gives wrong-type-argument error.) Julian Stecklina

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=20120902211620.GA3824@acm.acm \
    --to=acm@muc.de \
    --cc=11749@debbugs.gnu.org \
    --cc=storm@cua.dk \
    /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).