GNU bug report logs - #49261
28.0.50; File Locking Breaks Presumptuous Toolchains

Previous Next

Package: emacs;

Reported by: Mallchad Skeghyeph <ncaprisunfan <at> gmail.com>

Date: Mon, 28 Jun 2021 18:28:02 UTC

Severity: normal

Found in version 28.0.50

Fixed in version 28.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: michael.albinus <at> gmx.de, ncaprisunfan <at> gmail.com, 49261 <at> debbugs.gnu.org
Subject: bug#49261: 28.0.50; File Locking Breaks Presumptuous Toolchains
Date: Thu, 08 Jul 2021 19:47:10 +0300
> From: Lars Ingebrigtsen <larsi <at> gnus.org>
> Cc: michael.albinus <at> gmx.de,  ncaprisunfan <at> gmail.com,  49261 <at> debbugs.gnu.org
> Date: Thu, 08 Jul 2021 15:34:54 +0200
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> > Which means unfortunately that to see the form one needs to display
> > the form piecemeal, one member at a time, using the xtype and the
> > other x* commands...  Let me know if you need more detailed
> > instructions.
> 
> Yes, that'd be appreciated.

Well, you did it (almost) correctly:

> (gdb) xtype form
> Lisp_Cons
> (gdb) xcons form
> $2 = (struct Lisp_Cons *) 0x7ffff211c260
> {
>   u = {
>     s = {
>       car = XIL(0x2aaa9c41a9e0),
>       u = {
>         cdr = XIL(0),
>         chain = 0x0
>       }
>     },
>     gcaligned = 0xe0
>   }
> }
> (gdb) xcar form
> $3 = 0x0
> (gdb) xcdr form
> $4 = 0x0

What you need to do is this:

  (gdb) xtype
  Lisp_Cons
  (gdb) xcons
  $2 = (struct Lisp_Cons *) 0x7ffff211c260
  {
    u = {
      s = {
	car = XIL(0x2aaa9c41a9e0),
	u = {
	  cdr = XIL(0),
	  chain = 0x0
	}
      },
      gcaligned = 0xe0
    }
  }
  (gdb) p $2->u.s.car
  (gdb) xtype

And after the second "xtype" continue with the x* command according to
the type.

Your mistake was to use an argument after xcons, xcar, and xcdr: these
should be invoked without an argument, immediately after printing a
Lisp_Object variable.  Like this:

  (gdb) p form
  (gdb) xcar
  (gdb) p form
  (gdb) xcdr

etc.

> Which doesn't seem ... right?

No, but the real form has a non-nil 'car', see above.  So that does
look valid, at least at this level.  The invalid part probably comes
when you recurse deeper into 'form'.




This bug report was last modified 3 years and 306 days ago.

Previous Next


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