Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

zsh outputs "4m" lines in eterm-color



Under Mac OS X, zsh seems to have a compatibility problem with the
Emacs terminal (and TERM=eterm-color, which is the default value).
When I type:

  emacs -eval '(progn (set-buffer (apply ''make-term "zsh" "zsh" nil ''("-f"))) (term-mode) (term-char-mode) (switch-to-buffer "*zsh*"))'

I get a "4m" line before the prompt:

prunille% echo foo
foo
4m
prunille%

There's no such problem with bash.

The problem can be reproduced in the following way:

prunille% /usr/bin/tput rmul; echo foo
4mfoo
4m
prunille%

I wonder if this is due to the fact that zsh is linked to the ncurses
in /usr/lib instead of /opt/local/lib (the problem cannot be reproduced
with /opt/local/bin/tput); "otool -L =zsh" gives:

/opt/local/bin/zsh:
        /opt/local/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.1.7)
        /usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0)

However the zsh configuration is:

zsh configuration
-----------------
zsh version               : 4.3.2
host operating system     : powerpc-apple-darwin8.8.0
source code location      : .
compiler                  : /usr/bin/gcc-4.0
preprocessor flags        : -I/opt/local/include
executable compiler flags : -I/opt/local/include
module compiler flags     : -I/opt/local/include -fno-common
executable linker flags   : -L/opt/local/lib  
module linker flags       : -L/opt/local/lib  -bundle -flat_namespace -undefined suppress
library flags             : -liconv -ldl -ltermcap -lm -liconv -lc
installation basename     : zsh
binary install path       : /opt/local/bin
man page install path     : /opt/local/share/man
info install path         : /opt/local/share/info
functions install path    : /opt/local/share/zsh/4.3.2/functions
See config.modules for installed modules and functions.

So, I don't understand why zsh is linked against the wrong libncurses.
Same problem with the --with-curses-terminfo configure option.

Note that there's no problem with other software, like tin:

/opt/local/bin/tin:
        /opt/local/lib/libpcre.0.dylib (compatibility version 1.0.0, current version 1.1.0)
        /opt/local/lib/libncurses.5.dylib (compatibility version 5.0.0, current version 5.0.0)
        /opt/local/lib/libidn.11.dylib (compatibility version 17.0.0, current version 17.17.0)
        /opt/local/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
        /opt/local/lib/libintl.8.dylib (compatibility version 9.0.0, current version 9.0.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.1.7)

-- 
Vincent Lefèvre <vincent@xxxxxxxxxx> - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)



Messages sorted by: Reverse Date, Date, Thread, Author