carroll@s.cs.uiuc.edu (01/05/90)
Version: 18.55 OS: N/A File: keyboard.c Function: cmd_error() $$ used to delimit bug comments Lisp_Object cmd_error (data) Lisp_Object data; { Lisp_Object errmsg, tail, errname, file_error; int i; $$ extraneous code removed $$ /* Print an error message including the data items. This is done by printing it into a scratch buffer and then making a copy of the text in the buffer. */ if (!CONSP (data)) data = Qnil; tail = Fcdr (data); /* For file-error, make error message by concatenating all the data items. They are all strings. */ if (!NULL (file_error)) errmsg = XCONS (tail)->car, tail = XCONS (tail)->cdr; $$ Bug! If tail is nil, then this should crash&burn. And tail will be nil if data was nil or not a cons cell (see immediately previous if). Further, if cmd_error() is called from internal_condition_case(), then data is nil, causing this failure. $$ Alan M. Carroll "Oh goody, the Illudium Q-36 Explosive carroll@s.cs.uiuc.edu Space Modulator!" CS Grad / U of Ill @ Urbana ...{ucbvax,pur-ee,convex}!s.cs.uiuc.edu!carroll