unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* eterm-color not in ncurses/terminfo (and name clash with eterm.org)
@ 2009-05-04 10:45 Ulrich Mueller
  2009-05-04 16:12 ` Dan Nicolaescu
  0 siblings, 1 reply; 8+ messages in thread
From: Ulrich Mueller @ 2009-05-04 10:45 UTC (permalink / raw)
  To: emacs-devel

The terminal emulator of Emacs 22.3, and current CVS version too,
identifies itself as "eterm-color". However, the terminfo database
(as included with ncurses-5.7) doesn't know about it. It has only the
following entry:

,----
| # The codes supported by the term.el terminal emulation in GNU Emacs 19.30
| eterm|gnu emacs term.el terminal emulation,
`----

Is there any reason why terminfo shouldn't know about eterm-color?
Otherwise, I could ask the ncurses maintainers to include the entry.

BTW, there is also http://www.eterm.org/ which is an xterm replacement.
It has an entry "Eterm-color" (note the capital E) in the terminfo
database. Still, this (almost) name clash is a bit unfortunate.

Ulrich




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

* Re: eterm-color not in ncurses/terminfo (and name clash with eterm.org)
  2009-05-04 10:45 eterm-color not in ncurses/terminfo (and name clash with eterm.org) Ulrich Mueller
@ 2009-05-04 16:12 ` Dan Nicolaescu
  2009-05-04 19:27   ` Samuel Bronson
  0 siblings, 1 reply; 8+ messages in thread
From: Dan Nicolaescu @ 2009-05-04 16:12 UTC (permalink / raw)
  To: Ulrich Mueller; +Cc: emacs-devel

Ulrich Mueller <ulm@gentoo.org> writes:

  > The terminal emulator of Emacs 22.3, and current CVS version too,
  > identifies itself as "eterm-color". However, the terminfo database
  > (as included with ncurses-5.7) doesn't know about it. It has only the
  > following entry:
  > 
  > ,----
  > | # The codes supported by the term.el terminal emulation in GNU Emacs 19.30
  > | eterm|gnu emacs term.el terminal emulation,
  > `----
  > 
  > Is there any reason why terminfo shouldn't know about eterm-color?
  > Otherwise, I could ask the ncurses maintainers to include the entry.

When term.el starts, it sets up both TERMCAP and TERMINFO, so
applications should work just fine without any support in the standard
terminfo distribution.

More, such support is probably not such a great idea. 
One instance when this cause problems: the terminfo entry used to be
called "eterm", it was changed to "eterm-color" because term.el
implemented color support (long time ago), but the eterm entry was not
updated to reflect that (not sure what the details were, it was
discussed here or on the bugs list).

So when term.el is improved to add more features, we'd probably
encounter similar problems in the future.




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

* Re: eterm-color not in ncurses/terminfo (and name clash with  eterm.org)
  2009-05-04 16:12 ` Dan Nicolaescu
@ 2009-05-04 19:27   ` Samuel Bronson
  2009-05-04 21:43     ` Ulrich Mueller
  0 siblings, 1 reply; 8+ messages in thread
From: Samuel Bronson @ 2009-05-04 19:27 UTC (permalink / raw)
  To: Dan Nicolaescu; +Cc: Ulrich Mueller, emacs-devel

On Mon, May 4, 2009 at 12:12 PM, Dan Nicolaescu <dann@ics.uci.edu> wrote:
> Ulrich Mueller <ulm@gentoo.org> writes:
>
>  > The terminal emulator of Emacs 22.3, and current CVS version too,
>  > identifies itself as "eterm-color". However, the terminfo database
>  > (as included with ncurses-5.7) doesn't know about it. It has only the
>  > following entry:
>  >
>  > ,----
>  > | # The codes supported by the term.el terminal emulation in GNU Emacs 19.30
>  > | eterm|gnu emacs term.el terminal emulation,
>  > `----
>  >
>  > Is there any reason why terminfo shouldn't know about eterm-color?
>  > Otherwise, I could ask the ncurses maintainers to include the entry.
>
> When term.el starts, it sets up both TERMCAP and TERMINFO, so
> applications should work just fine without any support in the standard
> terminfo distribution.

Hmm. I don't see any mention of TERMINFO in term.el except for the
code that actually sets it ... it should be documented.

Regardless: How does that work over SSH? (I do wish they had thought
this sort of thing out better when they designed terminfo in the first
place, but I think it's a bit late for that now...)

The best thing to do with new features that are really compelling
(like color!) but require incompatible additions to terminfo is
probably to add another dashed suffix -- which would enable systems
without the new terminfo entry to fall back to the old one -- and also
to provide the necessary terminfo sources to users so they can compile
the terminfo entry themselves if their local terminfo databases
haven't got the new entry yet. (Too bad there isn't a better fallback
mechanism...)

If incompatible additions are not needed -- that is, if it doesn't
pose a problem for the new terminfo entry to be used with the old
term.el -- then you should just update the existing entry and, again,
provide the source to users as well as to the folks at
invisible-island.

If the new features aren't all that compelling (few are as compelling
as color), but still require incompatible changes to the terminfo in
order for non-termcap applications to know about and use them, then
probably the thing to do is write a new entry and allow the user to
pick whether to use a TERM that requests the new feature or not.

I really do almost wish the whole terminfo entry could just be stuck
in the environment variable, except I'm not sure I trust terminal
authors to never make mistakes in writing them ...




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

* Re: eterm-color not in ncurses/terminfo (and name clash with  eterm.org)
  2009-05-04 19:27   ` Samuel Bronson
@ 2009-05-04 21:43     ` Ulrich Mueller
  2009-05-04 23:41       ` Dan Nicolaescu
  2009-08-07  8:07       ` Dan Nicolaescu
  0 siblings, 2 replies; 8+ messages in thread
From: Ulrich Mueller @ 2009-05-04 21:43 UTC (permalink / raw)
  To: Samuel Bronson; +Cc: Dan Nicolaescu, emacs-devel

>>>>> On Mon, 4 May 2009, Samuel Bronson wrote:

> On Mon, May 4, 2009 at 12:12 PM, Dan Nicolaescu <dann@ics.uci.edu> wrote:
>> When term.el starts, it sets up both TERMCAP and TERMINFO, so
>> applications should work just fine without any support in the standard
>> terminfo distribution.

> Hmm. I don't see any mention of TERMINFO in term.el except for the
> code that actually sets it ... it should be documented.

> Regardless: How does that work over SSH? (I do wish they had thought
> this sort of thing out better when they designed terminfo in the first
> place, but I think it's a bit late for that now...)

That's the point, with the TERMCAP and TERMINFO variables it works
fine most of the time, but there are some situations where it doesn't. 
Having it in the general terminfo files would help in such cases.

But please disregard my original message; looks like eterm-color has
made it into ncurses meanwhile:
<ftp://invisible-island.net/ncurses/5.7/ncurses-5.7-20081129.patch>

However, if I compare etc/e/eterm-color.ti with the entry now in
terminfo.src, then the latter has the following additional entries:

	msgr,
	blink=\E[5m,
	sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m,
	u6=\E[%i%d;%dR,
	u7=\E[6n,

Are these correct, or should they (or some of them) be removed from
the entry in ncurses/terminfo?

Ulrich




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

* Re: eterm-color not in ncurses/terminfo (and name clash with eterm.org)
  2009-05-04 21:43     ` Ulrich Mueller
@ 2009-05-04 23:41       ` Dan Nicolaescu
  2009-05-05  3:58         ` Stephen J. Turnbull
  2009-05-05  6:09         ` Ulrich Mueller
  2009-08-07  8:07       ` Dan Nicolaescu
  1 sibling, 2 replies; 8+ messages in thread
From: Dan Nicolaescu @ 2009-05-04 23:41 UTC (permalink / raw)
  To: Ulrich Mueller; +Cc: Samuel Bronson, emacs-devel

Ulrich Mueller <ulm@gentoo.org> writes:

  > >>>>> On Mon, 4 May 2009, Samuel Bronson wrote:
  > 
  > > On Mon, May 4, 2009 at 12:12 PM, Dan Nicolaescu <dann@ics.uci.edu> wrote:
  > >> When term.el starts, it sets up both TERMCAP and TERMINFO, so
  > >> applications should work just fine without any support in the standard
  > >> terminfo distribution.
  > 
  > > Hmm. I don't see any mention of TERMINFO in term.el except for the
  > > code that actually sets it ... it should be documented.
  > 
  > > Regardless: How does that work over SSH? (I do wish they had thought
  > > this sort of thing out better when they designed terminfo in the first
  > > place, but I think it's a bit late for that now...)
  > 
  > That's the point, with the TERMCAP and TERMINFO variables it works
  > fine most of the time, but there are some situations where it doesn't. 
  > Having it in the general terminfo files would help in such cases.
  > 
  > But please disregard my original message; looks like eterm-color has
  > made it into ncurses meanwhile:
  > <ftp://invisible-island.net/ncurses/5.7/ncurses-5.7-20081129.patch>
  > 
  > However, if I compare etc/e/eterm-color.ti with the entry now in
  > terminfo.src, then the latter has the following additional entries:
  > 
  > 
  > Are these correct, or should they (or some of them) be removed from
  > the entry in ncurses/terminfo?

In principle I think they should all be removed now, because they are
almost completely untested.
Some might work, but given that they have not been in the terminfo
entry, no well behaved application has used them, so we haven't had a
chance to get bug reports for these things.
We can add them to the etc/e/eterm-color.ti after the release and then
the terminfo database can be updated.

In detail:

  > 	msgr,

I'm guessing this is harmless. 

  > 	blink=\E[5m,

This should go for sure, we don't support blink.

  > 	sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m,

I don't know what this is supposed to do.

  > 	u6=\E[%i%d;%dR,
  > 	u7=\E[6n,

The man page does not say much what these are supposed to do. 





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

* Re: eterm-color not in ncurses/terminfo (and name clash with eterm.org)
  2009-05-04 23:41       ` Dan Nicolaescu
@ 2009-05-05  3:58         ` Stephen J. Turnbull
  2009-05-05  6:09         ` Ulrich Mueller
  1 sibling, 0 replies; 8+ messages in thread
From: Stephen J. Turnbull @ 2009-05-05  3:58 UTC (permalink / raw)
  To: Dan Nicolaescu; +Cc: Ulrich Mueller, Samuel Bronson, emacs-devel

Dan Nicolaescu writes:

 > In detail:
 > 
 >   > 	msgr,
 > 
 > I'm guessing this is harmless. 
 > 
 >   > 	blink=\E[5m,
 > 
 > This should go for sure, we don't support blink.

You don't?  I thought this was in w3.el, at least.

All-hail-Mosaic-Communications-ly y'rs,




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

* Re: eterm-color not in ncurses/terminfo (and name clash with eterm.org)
  2009-05-04 23:41       ` Dan Nicolaescu
  2009-05-05  3:58         ` Stephen J. Turnbull
@ 2009-05-05  6:09         ` Ulrich Mueller
  1 sibling, 0 replies; 8+ messages in thread
From: Ulrich Mueller @ 2009-05-05  6:09 UTC (permalink / raw)
  To: Dan Nicolaescu; +Cc: Samuel Bronson, emacs-devel

>>>>> On Mon, 4 May 2009, Dan Nicolaescu wrote:

>> u6=\E[%i%d;%dR,
>> u7=\E[6n,

> The man page does not say much what these are supposed to do. 

There's an explanation about "user capabilities" in terminfo.src:

# INTERPRETATION OF USER CAPABILITIES
#
# The System V Release 4 and XPG4 terminfo format defines ten string
# capabilities for use by applications, <u0>...<u9>.   In this file, we use
# certain of these capabilities to describe functions which are not covered
# by terminfo.  The mapping is as follows:
#
#	u9	terminal enquire string (equiv. to ANSI/ECMA-48 DA)
#	u8	terminal answerback description
#	u7	cursor position request (equiv. to VT100/ANSI/ECMA-48 DSR 6)
#	u6	cursor position report (equiv. to ANSI/ECMA-48 CPR)
#
# The terminal enquire string <u9> should elicit an answerback response
# from the terminal.  Common values for <u9> will be ^E (on older ASCII
# terminals) or \E[c (on newer VT100/ANSI/ECMA-48-compatible terminals).
#
# The cursor position request (<u7>) string should elicit a cursor position
# report.  A typical value (for VT100 terminals) is \E[6n.
#
# The terminal answerback description (u8) must consist of an expected
# answerback string.  The string may contain the following scanf(3)-like
# escapes:
#
#	%c	Accept any character
#	%[...]	Accept any number of characters in the given set
#
# The cursor position report (<u6>) string must contain two scanf(3)-style
# %d format elements.  The first of these must correspond to the Y coordinate
# and the second to the %d.  If the string contains the sequence %i, it is
# taken as an instruction to decrement each value after reading it (this is
# the inverse sense from the cup string).  The typical CPR value is
# \E[%i%d;%dR (on VT100/ANSI/ECMA-48-compatible terminals).
#
# These capabilities are used by tack(1m), the terminfo action checker
# (distributed with ncurses 5.0).




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

* Re: eterm-color not in ncurses/terminfo (and name clash with eterm.org)
  2009-05-04 21:43     ` Ulrich Mueller
  2009-05-04 23:41       ` Dan Nicolaescu
@ 2009-08-07  8:07       ` Dan Nicolaescu
  1 sibling, 0 replies; 8+ messages in thread
From: Dan Nicolaescu @ 2009-08-07  8:07 UTC (permalink / raw)
  To: Ulrich Mueller; +Cc: Samuel Bronson, emacs-devel

Ulrich Mueller <ulm@gentoo.org> writes:

  > >>>>> On Mon, 4 May 2009, Samuel Bronson wrote:
  > 
  > > On Mon, May 4, 2009 at 12:12 PM, Dan Nicolaescu <dann@ics.uci.edu> wrote:
  > >> When term.el starts, it sets up both TERMCAP and TERMINFO, so
  > >> applications should work just fine without any support in the standard
  > >> terminfo distribution.
  > 
  > > Hmm. I don't see any mention of TERMINFO in term.el except for the
  > > code that actually sets it ... it should be documented.
  > 
  > > Regardless: How does that work over SSH? (I do wish they had thought
  > > this sort of thing out better when they designed terminfo in the first
  > > place, but I think it's a bit late for that now...)
  > 
  > That's the point, with the TERMCAP and TERMINFO variables it works
  > fine most of the time, but there are some situations where it doesn't. 
  > Having it in the general terminfo files would help in such cases.
  > 
  > But please disregard my original message; looks like eterm-color has
  > made it into ncurses meanwhile:
  > <ftp://invisible-island.net/ncurses/5.7/ncurses-5.7-20081129.patch>
  > 
  > However, if I compare etc/e/eterm-color.ti with the entry now in
  > terminfo.src, then the latter has the following additional entries:
  > 
  > 	msgr,
  > 	blink=\E[5m,
  > 	sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m,
  > 	u6=\E[%i%d;%dR,
  > 	u7=\E[6n,
  > 
  > Are these correct, or should they (or some of them) be removed from
  > the entry in ncurses/terminfo?

I added msgr, u6 and u7 to etc/e/eterm-color
blink is wrong
No idea what that long string is supposed to do for sgr... 




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

end of thread, other threads:[~2009-08-07  8:07 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-04 10:45 eterm-color not in ncurses/terminfo (and name clash with eterm.org) Ulrich Mueller
2009-05-04 16:12 ` Dan Nicolaescu
2009-05-04 19:27   ` Samuel Bronson
2009-05-04 21:43     ` Ulrich Mueller
2009-05-04 23:41       ` Dan Nicolaescu
2009-05-05  3:58         ` Stephen J. Turnbull
2009-05-05  6:09         ` Ulrich Mueller
2009-08-07  8:07       ` Dan Nicolaescu

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

	https://git.savannah.gnu.org/cgit/emacs.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).