emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Is it time to remove INTERNAL_FIELD?


From: Oleh Krehel
Subject: Re: Is it time to remove INTERNAL_FIELD?
Date: Thu, 23 Apr 2015 13:32:32 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

Eli Zaretskii <address@hidden> writes:

>> From: Oleh Krehel <address@hidden>
>> Cc: Paul Eggert <address@hidden>,  address@hidden
>> Date: Thu, 23 Apr 2015 12:56:38 +0200
>> 
>> I don't know what to do with src/.gdbinit though.
>
> Any reference to SOMETHING_ there should be replaced with SOMETHING
> now.  Otherwise GDB will say there's no field named SOMETHING_ in
> such-and-such struct.  E.g., try this:
>
>  $ cd src
>  $ gdb ./emacs
>  (gdb) break set_cursor_from_row
>  (gdb) r -Q
>  Breakpoint 3, set_cursor_from_row (w=0x17ceae8 <dumped_data+2395368>,
>     row=0x52740b8, matrix=0x5273be8, delta=0, delta_bytes=0, dy=0, dvpos=0)
>     at xdisp.c:14185
>  14185     struct glyph *glyph = row->glyphs[TEXT_AREA];
>  (gdb) p w->contents
>  $2 = 16446781
>  (gdb) xbuffer

What does xbuffer do? It shows up as unrecognized command for me.
I see it defined in .gdbinit, but it's automatically sourced. How can I
source it?

>  $3 = (struct buffer *) 0xfaf538
>  (unsigned char *) 0xfb8a80 " *Echo Area 1*"
>                             ^^^^^^^^^^^^^^^^
> The highlighted part access the buffer name via the name_ field.
> After your change, you will see something like this instead:
>
>   (gdb) xbuffer
>   $2 = (struct buffer *) 0xfaf538
>   There is no member named name_.

I saw that there was a change 3 years ago adding "_" to ends of some
symbols. This change was subsequently reverted, and it supposedly worked
fine for 3 years. So I'm guessing that there is a mechanism that makes
it work without modifying with symbols with "_".

Oleh



reply via email to

[Prev in Thread] Current Thread [Next in Thread]