bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#24673: 25.1.50; Evaluating '((closure))' aborts Emacs


From: Andreas Politz
Subject: bug#24673: 25.1.50; Evaluating '((closure))' aborts Emacs
Date: Wed, 12 Oct 2016 12:26:24 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux)

emacs -Q

M-x ((closure)) RET

=> eval.c:2845: Emacs fatal error: assertion failed: CONSP (fun)

The function takes the (XCAR (XCDR '((closure)))), which is not a good
idea, since XCDR returns Qnil, while XCAR expects a cons. 


static Lisp_Object
funcall_lambda (Lisp_Object fun, ptrdiff_t nargs,
                register Lisp_Object *arg_vector)
{
  ....        
  if (CONSP (fun))
    {
      if (EQ (XCAR (fun), Qclosure))
        {
          fun = XCDR (fun);     /* Drop `closure'.  */
          lexenv = XCAR (fun);                 <============ 2845
          CHECK_LIST_CONS (fun, fun);
        }
        ...
    }
  else ...
}

-ap





reply via email to

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