Subject: Re: bug#6748: 24.0.50; eshell cannot do ls with ansi colors after Wanderlust has been loaded

From: Glenn Morris <[email-masked]>
Date: Thu, 02 Sep 2010 02:24:58 -0400

Daniel Clemente wrote:

> 1. Install package wl-beta in Debian testing. It's version 2.15.9+0.20100525-3
> 2. Use the .emacs I provide below
> 3. Run emacs (latest version from Bazaar from 28.m7.2010)
> 4. It can't run ls with colors and shows a backtrace (shown below)
> 5. Comment the (require 'wl) and run again
> 6. Now it runs ls correctly, and with color

This is a bug in Wanderlust. Specifically, wl-demo does

(eval-when-compile
  ...
    (defalias-maybe 'make-extent 'ignore)
  ...)

In your instructions, you add the directory with the uncompiled .el
files to load-path, rather than the compiled .elc files (Debian of
course keeps them in a separate location). Thus you load the
uncompiled wl.el. This requires wl-demo, and gets the uncompiled
wl-demo.el. Thus it defines make-extent as an alias for ignore.

make-extent is an XEmacs function and should not be defined in Emacs.
The fact that is is defined confuses ansi-color-make-extent into
thinking it is running on XEmacs, and doing the wrong thing.

If you instead add the directory with the compiled lisp files to your
load-path, /usr/share/emacs23/site-lisp/wl, you will not see this
error.

Please report this to whoever maintains Wanderlust.

> .emacs:
> -------------------------
> (add-to-list 'load-path "/usr/share/emacs/site-lisp/wl/wl")
> (add-to-list 'load-path "/usr/share/emacs/site-lisp/semi")
> (add-to-list 'load-path "/usr/share/emacs/site-lisp/wl/elmo/")
> (add-to-list 'load-path "/usr/share/emacs/site-lisp/flim/")
> (add-to-list 'load-path "/usr/share/emacs/site-lisp/apel/")
> (add-to-list 'load-path "/usr/share/emacs/site-lisp/wl/utils")
> (require 'wl)
>
> (setq debug-on-error t)
> (setq debug-on-signal t)
>
> (eshell-command "ls --color=auto")