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

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 02 Sep 2010 06:24:02 +0000

Your bug report

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

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
6748: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6748
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#6748: 24.0.50; eshell cannot do ls with ansi colors after Wanderlust has been loaded
From: Glenn Morris <[email-masked]>
To: [email-masked]
Date: Thu, 02 Sep 2010 02:24:58 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

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")

Subject: 24.0.50; eshell cannot do ls with ansi colors after Wanderlust has been loaded
From: Daniel Clemente <[email-masked]>
To: [email-masked]
Date: Wed, 28 Jul 2010 06:10:36 -0700 (PDT)
List-Id: <debbugs-submit.debbugs.gnu.org>

This bug report will be sent to the Free Software Foundation,
not to your local site managers!
Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.

Your bug report will be posted to the [email-masked] mailing list,
and to the gnu.emacs.bug news group.

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug.  If you can, give
a recipe starting from `emacs -Q':

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

.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")
-------------------------

The backtrace I get:
-------------------------
Debugger entered--Lisp error: (wrong-type-argument overlayp nil)
  overlay-put(nil face ((foreground-color . "blue") bold))
  ansi-color-set-extent-face(nil ((foreground-color . "blue") bold))
  ansi-color-apply-on-region(#<marker at 1 in *EShell Command Output*> #<marker 
at 1766 in *EShell Command Output*>)
  eshell-handle-ansi-color()
  run-hooks(eshell-output-filter-functions)
  eshell-run-output-filters()
  eshell-output-filter(#<process ls> "Bla.mp4                                
Es.kmz              
[0m[01;34morg[0m\nclose_sec_upgr.png                                         
hola2                                   org-velocity     …"  

  read-event(nil nil 0.05)
  sit-for(0 50)
  eshell-wait-for-process(#<process ls>)
  eshell-command("ls --color=auto")
  eval-buffer(#<buffer  *load*> nil "/home/dc/.mirp/.emacs" nil t)  ; Reading at 
buffer position 984
  load-with-code-conversion("/home/dc/.mirp/.emacs" "/home/dc/.mirp/.emacs" t t)
  load("~/.emacs" t t)
-------------------------

This seems a problem with ansi rather than Wanderlust.
The nil originates at (ansi-color-make-extent start-marker end-marker),
which calls (make-extent from to object)

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
For information about debugging Emacs, please read the file
/opt/dc/emacs/share/emacs/24.0.50/etc/DEBUG.

In GNU Emacs 24.0.50.8 (i686-pc-linux-gnu, GTK+ Version 2.20.1)
 of 2010-07-28 on lovic
Windowing system distributor `The X.Org Foundation', version 11.0.10707000
configured using `configure  '--prefix=/opt/dc/emacs''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: ca_ES.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Debugger

Minor modes in effect:
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-SPC <escape> < M-w <XF86ModeLock> <XF86ModeLock> 
M-x e <backspace> r e p o r t - e m a c s - b m u <backspace> 
<backspace> u g <return>

Recent messages:
Loading em-prompt...done
Loading em-script...done
Loading em-term...done
Loading em-unix...done
Entering debugger...
Mark set
Saved text until ")
  command-line()
  normal-top-level()
"

Load-path shadows:
/usr/share/emacs/site-lisp/flim/hex-util hides 
/opt/dc/emacs/share/emacs/24.0.50/lisp/hex-util
/usr/share/emacs/site-lisp/flim/sha1 hides 
/opt/dc/emacs/share/emacs/24.0.50/lisp/sha1
/usr/share/emacs/site-lisp/semi/pgg hides 
/opt/dc/emacs/share/emacs/24.0.50/lisp/pgg
/usr/share/emacs/site-lisp/semi/pgg-def hides 
/opt/dc/emacs/share/emacs/24.0.50/lisp/pgg-def
/usr/share/emacs/site-lisp/semi/pgg-pgp hides 
/opt/dc/emacs/share/emacs/24.0.50/lisp/pgg-pgp
/usr/share/emacs/site-lisp/flim/md4 hides 
/opt/dc/emacs/share/emacs/24.0.50/lisp/md4
/usr/share/emacs/site-lisp/semi/pgg-gpg hides 
/opt/dc/emacs/share/emacs/24.0.50/lisp/pgg-gpg
/usr/share/emacs/site-lisp/semi/pgg-pgp5 hides 
/opt/dc/emacs/share/emacs/24.0.50/lisp/pgg-pgp5
/usr/share/emacs/site-lisp/semi/pgg-parse hides 
/opt/dc/emacs/share/emacs/24.0.50/lisp/pgg-parse
/usr/share/emacs/site-lisp/flim/hmac-def hides 
/opt/dc/emacs/share/emacs/24.0.50/lisp/net/hmac-def
/usr/share/emacs/site-lisp/flim/sasl-cram hides 
/opt/dc/emacs/share/emacs/24.0.50/lisp/net/sasl-cram
/usr/share/emacs/site-lisp/flim/hmac-md5 hides 
/opt/dc/emacs/share/emacs/24.0.50/lisp/net/hmac-md5
/usr/share/emacs/site-lisp/flim/ntlm hides 
/opt/dc/emacs/share/emacs/24.0.50/lisp/net/ntlm
/usr/share/emacs/site-lisp/flim/sasl-digest hides 
/opt/dc/emacs/share/emacs/24.0.50/lisp/net/sasl-digest
/usr/share/emacs/site-lisp/flim/sasl hides 
/opt/dc/emacs/share/emacs/24.0.50/lisp/net/sasl
/usr/share/emacs/site-lisp/flim/sasl-ntlm hides 
/opt/dc/emacs/share/emacs/24.0.50/lisp/net/sasl-ntlm
/usr/share/emacs/site-lisp/wl/utils/rfc2368 hides 
/opt/dc/emacs/share/emacs/24.0.50/lisp/mail/rfc2368
/usr/share/emacs/site-lisp/wl/elmo/utf7 hides 
/opt/dc/emacs/share/emacs/24.0.50/lisp/gnus/utf7

Features:
(shadow sort gnus-util mail-extr message byte-opt rfc822 mml mml-sec
mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mailabbrev gmm-utils mailheader emacsbug
help-mode view debug ansi-color em-unix pcomplete em-term term
disp-table ehelp electric em-script em-prompt em-ls em-hist em-pred
em-glob em-dirs em-cmpl em-basic esh-opt em-banner em-alias ring esh-var
esh-io esh-cmd esh-ext esh-proc esh-arg eldoc esh-groups eshell
esh-module esh-mode esh-util elmo-nntp wl-spam elmo-spam elsp-header
elsp-generic wl-fldmgr wl-score smtp sasl sasl-anonymous sasl-login
sasl-plain wl-demo wl-news wl-address pldap wl-thread wl-action wl
wl-e21 wl-draft wl-template wl-summary ps-print ps-def lpr wl-refile
wl-message wl-mime pgg epa derived epg mime-pgp mime-play filename
mime-edit eword-encode pgg-parse pccl pccl-20 ccl advice help-fns
advice-preload pgg-def signature mail-utils sendmail regexp-opt
elmo-mime mmelmo-buffer mmelmo-imap mime-view mime-conf calist semi-def
mmimap mime-parse mmbuffer wl-highlight elmo-filter elmo-multi wl-folder
easymenu wl-util crm time-stamp pp elmo-pop3 elmo-net elmo-cache
elmo-map elmo-dop elmo-flag elmo-localdir bytecomp byte-compile wl-vars
epg-config wl-version elmo elmo-signal elmo-msgdb modb modb-generic
modb-entity mime mmgeneric elmo-util emu invisible inv-23 poem poem-e20
poem-e20_3 utf7 eword-decode mel mime-def alist std11 mcharset mcs-20
mcs-e20 pces pces-e20 pces-20 broken wid-edit pcustom elmo-date timezone
path-util elmo-vars poe elmo-version pym static apel-ver product luna cl
cl-19 tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd
tool-bar dnd fontset image fringe lisp-mode register page menu-bar
rfn-eshadow timer select scroll-bar mldrag mouse jit-lock font-lock
syntax facemenu font-core frame cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev loaddefs button
minibuffer faces cus-face files text-properties overlay md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process dbusbind dynamic-setting
system-font-setting font-render-setting gtk x-toolkit x multi-tty emacs)