zsh-workers
 help / color / mirror / code / Atom feed
* zsh outputs "4m" lines in eterm-color
@ 2006-10-24  0:38 Vincent Lefevre
  2006-10-24  0:52 ` configure should have --with-ncurses (was: zsh outputs "4m" lines in eterm-color) Vincent Lefevre
  0 siblings, 1 reply; 2+ messages in thread
From: Vincent Lefevre @ 2006-10-24  0:38 UTC (permalink / raw)
  To: zsh-workers

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@vinc17.org> - 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)


^ permalink raw reply	[flat|nested] 2+ messages in thread

* configure should have --with-ncurses (was: zsh outputs "4m" lines in eterm-color)
  2006-10-24  0:38 zsh outputs "4m" lines in eterm-color Vincent Lefevre
@ 2006-10-24  0:52 ` Vincent Lefevre
  0 siblings, 0 replies; 2+ messages in thread
From: Vincent Lefevre @ 2006-10-24  0:52 UTC (permalink / raw)
  To: zsh-workers

On 2006-10-24 02:38:51 +0200, Vincent Lefevre wrote:
> 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)

I now understand the problem. The library flags given in the zsh
configuration are -ltermcap or -lcurses (if --with-curses-terminfo
is used). And I have:

prunille:~> locate libcurses
/Developer/SDKs/MacOSX10.3.9.sdk/usr/lib/libcurses.dylib
/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libcurses.dylib
/usr/lib/libcurses.dylib
prunille:~> locate libtermcap
/Developer/SDKs/MacOSX10.3.9.sdk/usr/lib/libtermcap.dylib
/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libtermcap.dylib
/usr/lib/libtermcap.dylib

Both are a symbolic link to /usr/lib/libncurses.5.4.dylib.

I think that zsh should have --with-ncurses and --with-ncursesw
configure options, to be able to use the corresponding libraries.

(Alternatively, the ncurses and ncursesw MacPorts ports could add
compatibility symlinks, but I don't think that zsh should rely on
that.)

-- 
Vincent Lefèvre <vincent@vinc17.org> - 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)


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-10-24  0:52 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-10-24  0:38 zsh outputs "4m" lines in eterm-color Vincent Lefevre
2006-10-24  0:52 ` configure should have --with-ncurses (was: zsh outputs "4m" lines in eterm-color) Vincent Lefevre

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).