GNU bug report logs - #32403
27.0.50; cc mode: c-display-defun-name doesn't work when return type is a pointer

Previous Next

Packages: emacs, cc-mode;

Reported by: Mauro Aranda <maurooaranda <at> gmail.com>

Date: Wed, 8 Aug 2018 20:43:01 UTC

Severity: normal

Found in version 27.0.50

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

Bug is archived. No further changes may be made.

Full log


Message #11 received at 32403 <at> debbugs.gnu.org (full text, mbox):

From: Alan Mackenzie <acm <at> muc.de>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 32403 <at> debbugs.gnu.org, Mauro Aranda <maurooaranda <at> gmail.com>
Subject: Re: bug#32403: 27.0.50; cc mode: c-display-defun-name doesn't work
 when return type is a pointer
Date: Fri, 17 Aug 2018 20:37:07 +0000
Hello, Eli.

On Fri, Aug 17, 2018 at 12:24:50 +0300, Eli Zaretskii wrote:
> > From: Mauro Aranda <maurooaranda <at> gmail.com>
> > Date: Wed, 8 Aug 2018 17:18:58 -0300

> > Hello. I'm sending this report here because I tested in GNU Emacs 26.1.50 and the problem is not present. If
> > it belongs to the CC Mode mailing list, please let me know.

> > I run: emacs -Q and visit a C file.

> > Inside a function that doesn't return a pointer, c-display-defun-name works just fine. Example:

> > int
> > dummy_returnint(int ret)
> > {
> >   return ret;
> > }

> > Minibuffer displays: dummy_returnint

> > But when the function returns a pointer, c-display-defun-name fails to display the function name in the
> > minibuffer. Example:

> > int *
> > dummy_returnpointertoint(int *ret)
> > {
> >   return ret;
> > }

> > Minibuffer displays nothing

> Confirmed.  Alan, could you please take a look at this?

Yes, certainly.  I've worked out a patch for Mauro's failure case (with
the function's type being a pointer).

Additionally, I've found a couple of edge cases which currently aren't
working right:

    struct foo bar = {0, 0};

returns "struct foo" on C-c C-z.  It ought to return "bar";

    struct foo {int a; int b} bar = {0, 0};

also ought to return "bar".

It shouldn't be too much work to fix these two, too.  I hope to have this
done by tomorrow (European time) or, at the latest, on Sunday.

-- 
Alan Mackenzie (Nuremberg, Germany).




This bug report was last modified 6 years and 271 days ago.

Previous Next


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