Subject: 24.0.93; wrong-type-argument listp for `ediff-strip-mode-line-format'

From: "Drew Adams" <[email-masked]>
Date: Fri, 17 Feb 2012 15:55:38 -0800

I tried to use `ediff-buffers' in a buffer where `mode-line-format' is a
string (which is quite OK).  I got a `wrong-type-argument listp' error,
because `ediff-strip-mode-line-format' is not very smart:
 
(defsubst ediff-strip-mode-line-format ()
  (if (member (car mode-line-format) '(" A: " " B: " " C: " " Ancestor: "))
      (setq mode-line-format (nth 2 mode-line-format))))
 
It has no business assuming that `mode-line-format' is a list.
 
>From the doc string of `mode-line-format':
 
 Value may be nil, a string, a symbol or a list or cons cell.
 
For a recipe from emacs -Q:
 
C-h i
M-: (setq mode-line-format "UUUUUUUUUUUUUUUU")
M-x ediff-buffers RET *info* RET *scratch* RET
 
In GNU Emacs 24.0.93.1 (i386-mingw-nt5.1.2600)
 of 2012-02-15 on MARVIN
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
 `configure --with-gcc (4.6) --no-opt --enable-checking --cflags
 -ID:/devel/emacs/libs/libXpm-3.5.8/include
 -ID:/devel/emacs/libs/libXpm-3.5.8/src
 -ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include
 -ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include
 -ID:/devel/emacs/libs/giflib-4.1.4-1/include
 -ID:/devel/emacs/libs/jpeg-6b-4/include
 -ID:/devel/emacs/libs/tiff-3.8.2-1/include
 -ID:/devel/emacs/libs/gnutls-3.0.9/include'