delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-apps/2001/01/20/00:30:45

Mailing-List: contact cygwin-apps-help AT sourceware DOT cygnus DOT com; run by ezmlm
Sender: cygwin-apps-owner AT sourceware DOT cygnus DOT com
List-Subscribe: <mailto:cygwin-apps-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin-apps/>
List-Post: <mailto:cygwin-apps AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-apps-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/lists.html#faqs>
Delivered-To: mailing list cygwin-apps AT sources DOT redhat DOT com
Date: Fri, 19 Jan 2001 23:29:50 -0600
Message-ID: <3A69224E.FAB83B84@qwest.net>
From: "AJ Reins" <tbisp AT qwest DOT net>
To: cygwin-apps AT cygwin DOT com
X-Mailer: Mozilla 4.76 [en] (Win95; U)
X-Accept-Language: en
MIME-Version: 1.0
Subject: Re: libreadline.dll.a missing functions.
References: <3A661B21 DOT AA1A4875 AT yahoo DOT com> <3A662B83 DOT C3906A81 AT ece DOT gatech DOT edu> <3A674EC8 DOT 489392B4 AT ece DOT gatech DOT edu> <3A679E0D DOT EA1C4C27 AT yahoo DOT com> <3A67B56E DOT C01AF097 AT ece DOT gatech DOT edu>

"Charles S. Wilson" wrote:
> 
> Earnie Boyd wrote:
> > > > > I was testing configurations of bash-2.04 and decided to try the
> > > > > cygreadline.dll.
> 
> [snip]
> 
> > > rl_set_screen_size() is declared in rlprivate.h.  It is not supposed to
> > > be an external entry point; that's why it is not exported in the dll.
> > > It is defined in terminal.c but is not marked 'static' there, presumably
> > > because other, internal-to-readline functions call it -- but that
> > > non-static designation means that is is exposed in the static library
> > > and in unix shared librarys.  Just not dll's.  However, I can't find
> > > *any* other reference to that function, other than the two I just
> > > mentioned.  So, exteranl apps are not supposed to use
> > > rl_set_screen_size(), and readline itself never calls the function.  I
> > > think rl_set_screen_size() is dead code.
> > >
> > > What package are you compiling that wants 'rl_set_screen_size()" ?
> > >
> >
> > See the first sentence. ;)
> 
> Doh!
> 
> Well, I poked around in the bash source code, and sure enough -- it
> looks like the bash people are calling functions they shouldn't.  From
> rlprivate.h:
> 
> /* NOTE: Functions and variables prefixed with `_rl_' are
>    pseudo-global: they are global so they can be shared
>    between files in the readline library, but are not intended
>    to be visible to readline callers. */
> 
> When I wrote the readline.def file, I deliberately did NOT include (a)
> any var or function declared in rlprivate.h (except for
> rl_untranslate_keyseq, which is ALSO declared in readline.h), nor (b)
> any var or function beginning with _rl_.
> 
> You had mentioned, Earnie, that there were other undefined functions.
> Can you give me the whole list?  I suspect that they also fall into the
> categories above, and that they represent a bug in bash.  Either bash
> should not call library-internal functions, or readline should export
> those functions.
> 
> --Chuck

This might be the reason that the 'bash people' (which are the same as the 'readline
people') put a version of readline inside the bash source, and that this version of
the readline library is slightly different than the version that is external?

-- 
AJ Reins - tbisp<AT>qwest.net -or- tbisp<AT>my-deja.com
Warning label I would like to see on software:
"Before using, read instructions.
 If you do not understand or cannot read,
  do no use this product."

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019