unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Alan Mackenzie <acm@muc.de>
To: Angelo Graziosi <angelo.g0@libero.it>
Cc: emacs-devel@gnu.org
Subject: Re: Error in C++ mode with Emacs 27.0.90
Date: Sat, 28 Mar 2020 15:19:44 +0000	[thread overview]
Message-ID: <20200328151944.GF7449@ACM> (raw)
In-Reply-To: <2124649786.1598258.1585324562989@mail1.libero.it>

Hello, Angelo.

On Fri, Mar 27, 2020 at 16:56:02 +0100, Angelo Graziosi wrote:
> > Il 24 marzo 2020 alle 21.50 Angelo Graziosi ha scritto:


> > I found an error with C++ mode which I can reproduce with this init.el:

> > -------------------------------------------
> > $ cat init.el

> > ;; C/C++ modes
> > (defun my-c-mode ()
> >   "My customization for `c-mode' and `c++-mode'."
> >   (interactive)

> >   ;; No indent for open bracket
> >   (c-set-offset 'substatement-open 0)

> >   ;; Add index of func. to menu bar
> >   (imenu-add-to-menubar "Functions")
> >   )

> > ;; c++-mode
> > (add-hook 'c++-mode-hook 'my-c-mode)

> > (setq imenu-auto-rescan t)

> > ;; The default is 60000
> > (setq imenu-auto-rescan-maxout 500000)

> > ;; Show in which function is the cursor
> > (which-function-mode 1)
> > -------------------------------------------

> > (maybe it can be reduced...) and this test case:

> > -----------------------------------
> > $ cat foobar.cpp
> > int main()
> > {
> >   return 0;
> > }
> > -----------------------------------

> > When I visit it with C-x C-f, I get this error in minibuffer:

> > Error in menu-bar-update-hook (imenu-update-menubar): (wrong-type-argument sequencep #<marker at 1 in foobar.cpp>)

> > The error disappears if I add a space before 'int main()', i.e. with ' int main()'

> > I have seen that both on GNU/Linux and Windows builds of 27.0.90.


> Both Emacs 27 branch and master are affected by this issue.

I've had a look into this, and it seems that imenu and CC Mode disagree
about the correct format for an imenu alist when there's only one element
in it.

The function where things go wrong is imenu-update-menubar, in the "else"
branch of the single `if' form in the function.

I hope to have time soon to look into this more thoroughly, assuming
nobody else does first.  ;-)

> > Ciao, 
> >   Angelo.

-- 
Alan Mackenzie (Nuremberg, Germany)



  reply	other threads:[~2020-03-28 15:19 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-24 20:50 Error in C++ mode with Emacs 27.0.90 Angelo Graziosi
2020-03-27 15:56 ` Angelo Graziosi
2020-03-28 15:19   ` Alan Mackenzie [this message]
2020-03-28 17:34     ` Angelo Graziosi
2020-03-28 20:10       ` Alan Mackenzie
2020-03-28 22:31         ` Angelo Graziosi
2020-03-29 11:58           ` Alan Mackenzie
2020-03-29 13:56             ` Eli Zaretskii
2020-03-30 17:49               ` Alan Mackenzie
2020-03-30 18:36                 ` Eli Zaretskii
2020-03-30 19:46                   ` Alan Mackenzie
2020-03-28 23:18         ` Dmitry Gutov
2020-03-29 11:50           ` Alan Mackenzie
2020-03-29 22:32             ` Dmitry Gutov
2020-04-04 11:46               ` Alan Mackenzie
2020-04-04 12:52                 ` Dmitry Gutov
2023-02-18 17:52               ` Alan Mackenzie

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=20200328151944.GF7449@ACM \
    --to=acm@muc.de \
    --cc=angelo.g0@libero.it \
    --cc=emacs-devel@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).