[gnu.emacs.bug] cmd_error

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