Opened 16 years ago
Closed 13 years ago
#17401 closed defect (fixed)
emacs make-term: eterm-color not found due to new ncurses version
Reported by: | vinc17@… | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.6.0 |
Keywords: | Cc: | drkp (Dan Ports) | |
Port: | emacs, ncurses, ncursesw |
Description
Since I've upgraded to ncurses and ncursesw 5.7_0, when I type in emacs 22.3.1:
ESC : (make-term "tack" "tack")
I get the following error in buffer *tack*:
Terminal not found: TERM=eterm-color usage: tack [-itV] [term] Process tack exited abnormally with code 1
The problem disappears after downgrading to ncurses/ncursesw 5.6.
So, it seems that the new ncurses version broke something.
Change History (6)
comment:1 Changed 16 years ago by vinc17@…
comment:2 Changed 16 years ago by vinc17@…
As said by Thomas Dickey, Eterm-color (with a capital E) is for another terminal and should not be used with Emacs. With previous ncurses versions, it was used by mistake under Mac OS X. Note that this bug is fixed upstream in patch 20081129 from ftp://invisible-island.net/ncurses/5.7/:
+20081129 [...] + + add eterm-color entry (report by Vincent Lefevre) -TD
A temporary workaround is to get these terminfo data and install them in one's home directory with tic.
comment:4 Changed 14 years ago by jmroot (Joshua Root)
Cc: | dports@… added |
---|
comment:5 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)
Owner: | changed from imajes@… to macports-tickets@… |
---|
James Cox (imajes) retires as MacPorts maintainer (see macports-mgr archives)
comment:6 Changed 13 years ago by drkp (Dan Ports)
Resolution: | → fixed |
---|---|
Status: | new → closed |
This appears to be fixed in the current ncurses version.
I've found the cause: under Mac OS X, emacs needs the eterm-color entry from ncurses. However ncursesw only provides Eterm-color (with a capital E). With ncursesw 5.6_1, the terminfo data were stored under the pathname
/opt/local/share/terminfo/e/Eterm-color
, but since HFS+ is case-insensitive, the file was read and the terminfo data for eterm-color came from this file (as a side effect?). Now, with ncursesw 5.7_0, the file is stored under the pathname/opt/local/share/terminfo/45/Eterm-color
, i.e. the first letter has been replaced by its ASCII code. And since 'E' and 'e' don't have the same ASCII code, ncurses searches for the file65/eterm-color
and infocmp gives the error:I've tried by adding a file
$HOME/.terminfo/65/Eterm-color
and this workaround solves the problem:Note: there's no such problem under Debian though it has a case-sensitive file system, because it solves the problem in another way: emacs defines a $TERMCAP environment variable containing the eterm-color definition.