From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20228 invoked by alias); 15 Sep 2016 12:29:54 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 39345 Received: (qmail 14923 invoked from network); 15 Sep 2016 12:29:54 -0000 X-Qmail-Scanner-Diagnostics: from mail-qk0-f180.google.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(209.85.220.180):SA:0(0.0/5.0):. Processed in 0.363554 secs); 15 Sep 2016 12:29:54 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM,SPF_PASS, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.1 X-Envelope-From: sgniazdowski@gmail.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at _netblocks.google.com designates 209.85.220.180 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=k1ZF7PvHQ1gL/FWCkkmlWEov/zklGRPb/qS4CbCpGks=; b=AXCAJtXY94GlBAO6aqILNht8JWC+FgmYfP6ApBRb0tM2Cs7Kks0XFltbsWD408bGW1 9y0BwS/j3aoG1dzhJ5lDUIiLu7h1n4V+rhXkblDZF85LcXST7U6b/tQ/HXNTuEoaBPXs Z7Ziz06K61mj582Jj0y1BeQtSSP/JYhiJI9fB1A3FY1jgB2eW1HnvqhYMEGOgSnUFJFw sDeU9+ixY7RL+T5P3fr095hswt8SXo3byo/hWIyw7FR14lZ1F9uiZxFxD/yaRlFnTELh EabpCkUPIjrCe04chSJ222yuJV0rWUhtcRaW/cWjdG+oymtscT/3s/JnXU/LxR0UX6sU zmAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=k1ZF7PvHQ1gL/FWCkkmlWEov/zklGRPb/qS4CbCpGks=; b=WzYkU+qeWuM2TzsmgTXFbqTfj1ici77Etwbst0RyF9db9eMIPcSQNNzk8HmHTxab5o +WSpIcltT3mmN+gnSg7EZJMcPSm/zVMJpQFh5IwZEuj8SrYOPbJ5ZAXXtTZWs9DT8CK6 Y7B4x26ujFp4UOzyqBUI0X+JKuFS4ZNoi82t0RwpBbopaX8MzZtzLoHrKEtCWLqEWHMV Lo5v7cq2D8kLjN0rpTDh1Co8j1gul9PsPx8Qgaw72YxcWfrOFQ37cdKov8UL1ho8JSHW p1NhAshMyyhOFXIA7fPHobY/M8nLav70e6cxqogTFVysrORT7yLB0JzHKXKH11d7PXHF NzEQ== X-Gm-Message-State: AE9vXwPD+Uj3CiSju31AMUbeqJoEP+XXQ3UT0tHOK72inF3nQmStN9UIeN/t1zQPTn2BW++xYa75m3A9XFTKYw== X-Received: by 10.55.43.72 with SMTP id r69mr8806556qkh.190.1473942165555; Thu, 15 Sep 2016 05:22:45 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: <160912103839.ZM25202@torch.brasslantern.com> <45670.1473843287@hydra.kiddle.eu> From: Sebastian Gniazdowski Date: Thu, 15 Sep 2016 14:22:25 +0200 Message-ID: Subject: Re: Adding (compiling) a module to already build Zsh To: Mikael Magnusson Cc: Oliver Kiddle , Zsh hackers list Content-Type: text/plain; charset=UTF-8 On 14 September 2016 at 21:03, Mikael Magnusson 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" etc. Best regards, Sebastian Gniazdowski