Feature #1168

want a libtermcap that does not force libcurses

Added by Gordon Ross over 4 years ago. Updated about 4 years ago.

Status:ResolvedStart date:2011-07-01
Priority:NormalDue date:
Assignee:Gordon Ross% Done:


Target version:-
Difficulty:Medium Tags:needs-triage


While looking at issue 415 https://www.illumos.org/issues/415 it became apparent that issues like 415 could benefit from the existence of a libtermcap that does not force the consumer to link with libcurses. (See 415 for details on that.)

This feature request proposes a filter library (libtermcap.so.1) that will export the traditional BSD-style termcap symbols, but mark all those exported symbols as NODIRECT. That way, a consuming library or application can link with a different curses implementation, and as long as it provides those symbols, those will be used instead of the ones in libcurses.

With the proposed filter library, we can "properly" fix libreadline so that it uses whatever curses library its consumer uses, only falling back to libcurses if the consumer does not link any curses library. And the fix does not require adding the curses library to libreadline consumers who have no need for curses functions. (That will fix issue 415, etc.)

illumos-1168.export (20.2 KB) Gordon Ross, 2011-07-01 01:43 AM


#1 Updated by Gordon Ross over 4 years ago

Here's an implementation of this proposed feature:

#2 Updated by Gordon Ross over 4 years ago

an hg export of the changes, in case anyone wants to try this out.

#3 Updated by Gordon Ross about 4 years ago

  • Status changed from In Progress to Resolved
changeset:   13400:71e59c2d8715
tag:         tip
user:        Gordon Ross <gwr@nexenta.com>
date:        Fri Jul 15 10:20:38 2011 -0400
    1168 want a libtermcap that does not force libcurses
    Reviewed by: Garrett D'Amore <garrett@nexenta.com>
    Reviewed by: Albert Lee <trisk@nexenta.com>
    Reviewed by: Igor Kozhukhov <igor.kozhukhov@nexenta.com>
    Approved by: Garrett D'Amore <garrett@nexenta.com>

Also available in: Atom