bug-ncurses
[Top][All Lists]
Advanced

[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

Attachment: signature.asc
Description: Digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]