unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#32403: 27.0.50; cc mode: c-display-defun-name doesn't work when return type is a pointer
@ 2018-08-08 20:18 Mauro Aranda
  2018-08-17  9:24 ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: Mauro Aranda @ 2018-08-08 20:18 UTC (permalink / raw)
  To: 32403

[-- Attachment #1: Type: text/plain, Size: 3553 bytes --]

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


CC mode version is 5.33.1 in both.


In GNU Emacs 27.0.50 (build 2, i686-pc-linux-gnu, GTK+ Version 3.18.9)
 of 2018-08-08 built on the-blackbeard
Repository revision: c85ff212dcd0817b833032650f1d52850e8a3c2e
Windowing system distributor 'The X.Org Foundation', version 11.0.11906000
System Description: Ubuntu 16.04.5 LTS

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS NOTIFY
ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 THREADS LCMS2

Important settings:
  value of $LANG: es_AR.UTF-8
  value of $XMODIFIERS:
  locale-coding-system: utf-8-unix

Major mode: C/*l

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr help-fns radix-tree help-mode emacsbug message
rmc puny seq byte-opt gv bytecomp byte-compile cconv dired
dired-loaddefs format-spec rfc822 mml mml-sec password-cache epa derived
epg epg-config gnus-util rmail rmail-loaddefs mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils cc-mode
cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars
cc-defs cl-loaddefs cl-lib misearch multi-isearch jka-compr info
easymenu elec-pair time-date mule-util tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow isearch timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese composite charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote threads dbusbind inotify lcms2 dynamic-setting
system-font-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty make-network-process emacs)

Memory information:
((conses 8 144019 19238)
 (symbols 24 22989 1)
 (miscs 20 89 398)
 (strings 16 39537 2547)
 (string-bytes 1 1168068)
 (vectors 12 17763)
 (vector-slots 4 584268 27730)
 (floats 8 66 344)
 (intervals 28 4892 66)
 (buffers 536 16)
 (heap 1024 29018 999))

[-- Attachment #2: Type: text/html, Size: 4008 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#32403: 27.0.50; cc mode: c-display-defun-name doesn't work when return type is a pointer
  2018-08-08 20:18 bug#32403: 27.0.50; cc mode: c-display-defun-name doesn't work when return type is a pointer Mauro Aranda
@ 2018-08-17  9:24 ` Eli Zaretskii
  2018-08-17 20:37   ` Alan Mackenzie
  0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2018-08-17  9:24 UTC (permalink / raw)
  To: Mauro Aranda, Alan Mackenzie; +Cc: 32403

> From: Mauro Aranda <maurooaranda@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?





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#32403: 27.0.50; cc mode: c-display-defun-name doesn't work when return type is a pointer
  2018-08-17  9:24 ` Eli Zaretskii
@ 2018-08-17 20:37   ` Alan Mackenzie
  2018-08-26 11:25     ` Alan Mackenzie
  0 siblings, 1 reply; 6+ messages in thread
From: Alan Mackenzie @ 2018-08-17 20:37 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 32403, Mauro Aranda

Hello, Eli.

On Fri, Aug 17, 2018 at 12:24:50 +0300, Eli Zaretskii wrote:
> > From: Mauro Aranda <maurooaranda@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).





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#32403: 27.0.50; cc mode: c-display-defun-name doesn't work when return type is a pointer
  2018-08-17 20:37   ` Alan Mackenzie
@ 2018-08-26 11:25     ` Alan Mackenzie
  2018-08-26 14:40       ` Mauro Aranda
  0 siblings, 1 reply; 6+ messages in thread
From: Alan Mackenzie @ 2018-08-26 11:25 UTC (permalink / raw)
  To: Mauro Aranda; +Cc: 32403

Hello, Mauro, hello, Eli.

On Fri, Aug 17, 2018 at 20:37:07 +0000, Alan Mackenzie wrote:
> On Fri, Aug 17, 2018 at 12:24:50 +0300, Eli Zaretskii wrote:
> > > From: Mauro Aranda <maurooaranda@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.

I've committed a fix for this to master.  It was a bit trickier than I'd
anticipated.

Mauro, would you please test the fix with your real source code and
either confirm to me that the problem has indeed been fixed, or tell me
where it's still failing.  Thanks!

-- 
Alan Mackenzie (Nuremberg, Germany).





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#32403: 27.0.50; cc mode: c-display-defun-name doesn't work when return type is a pointer
  2018-08-26 11:25     ` Alan Mackenzie
@ 2018-08-26 14:40       ` Mauro Aranda
  2018-08-26 16:27         ` Alan Mackenzie
  0 siblings, 1 reply; 6+ messages in thread
From: Mauro Aranda @ 2018-08-26 14:40 UTC (permalink / raw)
  To: Alan Mackenzie; +Cc: 32403

[-- Attachment #1: Type: text/plain, Size: 2056 bytes --]

Hi Alan,

The fix works great.  Thank you!



2018-08-26 8:25 GMT-03:00 Alan Mackenzie <acm@muc.de>:

> Hello, Mauro, hello, Eli.
>
> On Fri, Aug 17, 2018 at 20:37:07 +0000, Alan Mackenzie wrote:
> > On Fri, Aug 17, 2018 at 12:24:50 +0300, Eli Zaretskii wrote:
> > > > From: Mauro Aranda <maurooaranda@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.
>
> I've committed a fix for this to master.  It was a bit trickier than I'd
> anticipated.
>
> Mauro, would you please test the fix with your real source code and
> either confirm to me that the problem has indeed been fixed, or tell me
> where it's still failing.  Thanks!
>
> --
> Alan Mackenzie (Nuremberg, Germany).
>

[-- Attachment #2: Type: text/html, Size: 3030 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#32403: 27.0.50; cc mode: c-display-defun-name doesn't work when return type is a pointer
  2018-08-26 14:40       ` Mauro Aranda
@ 2018-08-26 16:27         ` Alan Mackenzie
  0 siblings, 0 replies; 6+ messages in thread
From: Alan Mackenzie @ 2018-08-26 16:27 UTC (permalink / raw)
  To: Mauro Aranda; +Cc: 32403-done

Hello, Mauro.

On Sun, Aug 26, 2018 at 11:40:38 -0300, Mauro Aranda wrote:
> Hi Alan,

> The fix works great.  Thank you!

Thanks for the testing!  I'm closing the bug.

-- 
Alan Mackenzie (Nuremberg, Germany).





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-08-26 16:27 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-08 20:18 bug#32403: 27.0.50; cc mode: c-display-defun-name doesn't work when return type is a pointer Mauro Aranda
2018-08-17  9:24 ` Eli Zaretskii
2018-08-17 20:37   ` Alan Mackenzie
2018-08-26 11:25     ` Alan Mackenzie
2018-08-26 14:40       ` Mauro Aranda
2018-08-26 16:27         ` Alan Mackenzie

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).