Subject: Re: bug#6187: 23.1; can't save: "Wrong type argument: number-of-marker-p, nil"

From: Chong Yidong <[email-masked]>
Date: Tue, 25 May 2010 12:04:17 -0400

Ryo Furue <[email-masked]> writes:

> Now, I've just reproduced it!
>
> ;>>>> BEGIN BACK TRACE >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil)
>   min(nil)
>   apply(min nil)
>   select-safe-coding-system-interactively(1 1362 (utf-8
>     adobe-standard-encoding next mac-roman gb18030 utf-7 utf-16
>     utf-16be-with-signature utf-16le-with-signature utf-16be utf-16le
>     x-ctext iso-2022-7bit utf-8-auto utf-8-with-signature emacs-mule
>     raw-text iso-2022-8bit-ss2 utf-7-imap utf-8-emacs no-conversion
>     compound-text-with-extensions ctext-no-compositions
>     iso-2022-7bit-lock iso-2022-7bit-ss2) (japanese-iso-8bit-unix) nil
>     utf-8)

This is pretty strange.  The code in question is

  (when (and unsafe (not (stringp from)))
    (pop-to-buffer bufname)
    (goto-char (apply 'min (mapcar #'(lambda (x) (car (cadr x)))
                                   unsafe))))

If `unsafe' is an empty list, it should not have passed the `and'
conditional.