Project

General

Profile

Actions

Feature #1168

closed

want a libtermcap that does not force libcurses

Added by Gordon Ross over 12 years ago. Updated over 12 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Start date:
2011-07-01
Due date:
% Done:

50%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage
Gerrit CR:
External Bug:

Description

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.)


Files

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

Updated by Gordon Ross over 12 years ago

Here's an implementation of this proposed feature:
http://www.yalms.org/cr/libtermcap/

Actions #2

Updated by Gordon Ross over 12 years ago

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

Actions #3

Updated by Gordon Ross over 12 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
description:
    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>
Actions

Also available in: Atom PDF