Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Adding (compiling) a module to already build Zsh

On 14 September 2016 at 21:03, Mikael Magnusson <mikachu@xxxxxxxxx> wrote:
> http://cgit.mika.l3ib.org/cgit/zsh-cvs/commit/?h=a095c720fff0893b9f1ca3f96bb28de125aa155f
> I did this at least 5 years ago so I didn't know as much then as I do
> know about autoconf, but I think AC_CHECK_LIB is a convenience macro
> for something that first checks if a lib is linkable, and then adds it
> to the list of things to link to globally. We could just expand those
> to the full thing that only does the check without adding, and since
> the lib is always the same, the part of the patch that has the
> unconditional lib names in the .mdd files should be fine?
> https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Libraries.html
> ah, actually we can just provide the action-if-found action and it
> won't add the name to LIBS for us, even better.

I once proposed update of configure when I at Ubuntu 14.04 observed,
that when the terminal handling library is detected to be terminfo,
Zcurses is not being build. I was warned that the "link modules'
libraries to Zsh binary" is dictated by traits of some platforms, so
if Zsh binary doesn't have ncurses, then any module also can't have
it, and thus Zcurses is not build. I recall analyzing configure.ac and
seeing there a precedence list of terminal handling libraries, when I
wondered why configure ends with "-ldl -ltinfo -lrt -lm -lc", without
-lncurses (ran the configure on Ubuntu 14.04 laptop right now). Being
afraid about Zcurses future, I want to say that possibly altered
configure.ac should strive for always building Zcurses, because it is
an important module, maybe currently I'm the single person that's
going to prove that, but I will with my new plugin which will change
the way shell is used and put in shadow fish and bash. Zcurses is an
asset, together with loadable modules, rich flags (e.g. [[
${(M)${(f)"$(<$f)"}:#$query} ]] as replacement for forking for grep),
patterns, etc. One can code like in Ruby, what I proved with
zsh-navigation-tools that supports 120k-150k elements in the
selectable list function n-list. Of course Zsh coding style has its
long learning curve, I code for about 14 months and constantly
improve, and I must say that many other plugin authors devote say 1
month for a plugin, when I constantly updated ZNT for 10 months. In
short, Zsh can have developer community (already has, but they code
close to ABSGuide and don't devote enough time) writing software
thanks to well established platform, and "Zcurses everywhere" is
important part of that platform, and not requiring that Zsh binary is
linked to what modules are linked will allow to do "Gdbm everywhere"

Best regards,
Sebastian Gniazdowski

Messages sorted by: Reverse Date, Date, Thread, Author