[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bug-ncurses] ncurses 6.0 and cur_term function
From: |
Dr. Werner Fink |
Subject: |
Re: [bug-ncurses] ncurses 6.0 and cur_term function |
Date: |
Mon, 21 Sep 2015 12:12:04 +0200 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Mon, Sep 21, 2015 at 05:09:40AM -0400, Thomas Dickey wrote:
> On Mon, Sep 21, 2015 at 10:47:54AM +0200, Dr. Werner Fink wrote:
> >
> > Does this mean I should switch over to use several tinfo libraries, one
> > for threaded and one for wide+threaded?
>
> As I said, there are pros/cons:
>
> pro:
> a) making one tinfo library is doable, and (mostly) reduces the number of
> libraries.
> b) functions are bound to the same external symbols. Global variables are
> not -- they are renamed and wrapped in a macro so that I could enforce
> readonly access to help with mutexes.
> c) most applications calling the terminfo level use only the functions.
>
> con:
> a) the renaming of global variables isn't (can't be) binary-compatible with
> applications compiled on another platform.
> b) applications which attempt to declare those variables for themselves are
> broken either way, but break noticeably when linked with the renamed
> variables.
> c) there are a few useful configuration choices (wide/normal,
> thread/nonthread)
> with variations. I made it possible (by overriding the choice of map-file)
> to switch between the choices (or even generating a new set of map-files --
> I'm slow -- too many things in progress -- but do intend documenting the
> scripts...).
>
> > On OpenSUSE the libncurses6 is threaded as well as libncursesw6. IMHO
> > it makes no sence to use a third library which is none threaded as this
> > will make users more disoriented.
> >
> > And what does `bent the rules' mean here? AFAICS and AFAIK the libtinfo
> > for both libncurses6 (which is threaded) as wel las libncursesw6 are
> > binary comptible.
>
> more/less along the lines of surprising the developer by putting libncursest
> in a file that says libncurses
Just my two cents worth I had the thought that starting with ABI 6 it would
make a lot of sense to provide noadays the ABI 6 in a threaded version only.
This because a lot of modern programs are required to use thread safe libraries.
I had tried also a lot of version and one was the matrix
without t and without w
with t and without w
without t and with w
with t and with t
for ABI 6 and similar for ABI 5 causing a lot of libraries together with
a lot of runtime configurations and a huge number of bug reports which
indeed had been done because users had lost overview (which user does
read manuals and/or guides) and/or had mixed the several versions out of
the matrix and sometime between the two ABI versions.
Werner
--
"Having a smoking section in a restaurant is like having
a peeing section in a swimming pool." -- Edward Burr
signature.asc
Description: Digital signature