From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22057 invoked by alias); 30 Nov 2016 09:50:04 -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: 40047 Received: (qmail 963 invoked from network); 30 Nov 2016 09:50:04 -0000 X-Qmail-Scanner-Diagnostics: from mailout2.w1.samsung.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(210.118.77.12):SA:0(-7.9/5.0):. Processed in 1.822428 secs); 30 Nov 2016 09:50:04 -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=-7.9 required=5.0 tests=RCVD_IN_DNSWL_HI, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.1 X-Envelope-From: p.stephenson@samsung.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: none (ns1.primenet.com.au: domain at samsung.com does not designate permitted sender hosts) X-AuditID: cbfec7f4-f791c6d000006eac-a8-583ea0c211bb Date: Wed, 30 Nov 2016 09:49:51 +0000 From: Peter Stephenson To: zsh-workers@zsh.org Subject: Re: [PATCH] add build-time option to use unicode9 character widths Message-id: <20161130094951.3a7e6530@pwslap01u.europe.root.pri> In-reply-to: <161129115351.ZM27737@torch.brasslantern.com> Organization: Samsung Cambridge Solution Centre X-Mailer: Claws Mail 3.7.9 (GTK+ 2.22.0; i386-redhat-linux-gnu) MIME-version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrNIsWRmVeSWpSXmKPExsWy7djP87qHFthFGCx8JWxxsPkhkwOjx6qD H5gCGKO4bFJSczLLUov07RK4MrZ9Xs1Y8I2/4uu3Y4wNjC94uhg5OSQETCTubG9ngbDFJC7c W88GYgsJLGWU2HOgqouRC8juZZLofP6FEabh76ZljBCJZYwSz/b9Z4FwpjFJLH13mw3COQOU aZsHNesso8SHdQIgNouAqsSNLyvB9rEJGEpM3TQbbKyIgLjE2bXnweLCAt4STZ/WsoLYvAL2 EruO9LKD2JwCVhKnry8Fi/ML6Etc/fuJCeIke4mZV84wQtQLSvyYfA9sDrOAjsS2bY/ZIWx5 ic1r3jKDHCch0MwucXrTKaBBHECOrMSmA8wQc1wkPrx5xQZhC0u8Or6FHcKWkbg8uRsaRv2M Ek+6fSHmzGCUOH1mB1SDtUTf7YuMEMv4JCZtm84MMZ9XoqNNCKLEQ2Ln34lMEGFHiXkvnSYw Ks5CcvUsJFfPQnL1AkbmVYwiqaXFuempxSZ6xYm5xaV56XrJ+bmbGIFJ4PS/4192MC4+ZnWI UYCDUYmHd0KfbYQQa2JZcWXuIUYJDmYlEd6H8+0ihHhTEiurUovy44tKc1KLDzFKc7AoifPu WXAlXEggPbEkNTs1tSC1CCbLxMEp1cBYfzjO+094or2ZsOMpppyzTh3bCv0jpzEaXrc6XHvs Wuyc3uqT8/zbeI6HahTFZ741nCmX+2di+bImKbfPsRbbbTcnC23M3yV49m5xwVelO7PfTz/u YO1nrZGq9niSmfhO1uevLtxdKZjCtd1tJ2OL3t896rtnK/z/+mPVpxuVSzyXdTVYir1WYinO SDTUYi4qTgQAFQFY6/4CAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrOIsWRmVeSWpSXmKPExsVy+t/xK7qrF9hFGEx5bGRxsPkhkwOjx6qD H5gCGKPcbDJSE1NSixRS85LzUzLz0m2VQkPcdC2UFPISc1NtlSJ0fUOClBTKEnNKgTwjAzTg 4BzgHqykb5fglrHt82rGgm/8FV+/HWNsYHzB08XIySEhYCLxd9MyRghbTOLCvfVsXYxcHEIC SxglPt9cwwLhzGCSuLD/NyOEc45RoufvCqjMWUaJT+svM4P0swioStz4spIFxGYTMJSYumk2 2FwRAXGJs2vPg8WFBbwlmj6tZQWxeQXsJXYd6WUHsTkFrCROX1/KCjH0N6PE7leNYA38AvoS V/9+YoI40F5i5pUzjBDNghI/Jt8Dq2EW0JLYvK2JFcKWl9i85i3YQUIC6hI37u5mn8AoPAtJ yywkLbOQtCxgZF7FKJJaWpybnltspFecmFtcmpeul5yfu4kRGEnbjv3csoOx613wIUYBDkYl Ht4XE2wjhFgTy4orcw8xSnAwK4nw6s63ixDiTUmsrEotyo8vKs1JLT7EaAoMmYnMUqLJ+cAo zyuJNzQxNLc0NDK2sDA3MlIS55364Uq4kEB6YklqdmpqQWoRTB8TB6dUA6NdY0OvScOSBbvE forMXMepy7j2bYKGO7u0g9e0ma8eBqTni/wIWtKgL/9b+HnBzDNrTqtLPnNouvxw62b5Lxv2 fDjz+3ZG2o4lbL5F7A+TMgoEv+s8FVURf7S9kHf6pFQTK17rkszlJz2fSW5Lmhc60ebg9gnN i6bLBe498fP6oYwnp5ZdMnqqxFKckWioxVxUnAgAcqMy9LoCAAA= X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20161130094953eucas1p1256c032aab6fc4b828d3679abf0f68ed X-Msg-Generator: CA X-Sender-IP: 182.198.249.180 X-Local-Sender: =?UTF-8?B?UGV0ZXIgU3RlcGhlbnNvbhtTQ1NDLURhdGEgUGxhbmUb?= =?UTF-8?B?7IK87ISx7KCE7J6QG1ByaW5jaXBhbCBFbmdpbmVlciwgU29mdHdhcmU=?= X-Global-Sender: =?UTF-8?B?UGV0ZXIgU3RlcGhlbnNvbhtTQ1NDLURhdGEgUGxhbmUbU2Ft?= =?UTF-8?B?c3VuZyBFbGVjdHJvbmljcxtQcmluY2lwYWwgRW5naW5lZXIsIFNvZnR3YXJl?= X-Sender-Code: =?UTF-8?B?QzEwG0VIURtDMTBDRDA1Q0QwNTAwNTg=?= CMS-TYPE: 201P X-HopCount: 7 X-CMS-RootMailID: 20161129080722epcas3p3b988ea1997082b500e96febcab712655 X-RootMTR: 20161129080722epcas3p3b988ea1997082b500e96febcab712655 References: <20161129074228.60551-1-joshua@rubixconsulting.com> <20161129172115.3b2af40d@pwslap01u.europe.root.pri> <161129115351.ZM27737@torch.brasslantern.com> On Tue, 29 Nov 2016 11:53:51 -0800 Bart Schaefer wrote: > On Nov 29, 5:21pm, Peter Stephenson wrote: > } Subject: Re: [PATCH] add build-time option to use unicode9 character width > } > } On Tue, 29 Nov 2016 00:42:27 -0700 > } Joshua Rubin wrote: > } > This patch adds support for unicode9 character widths. > } > } Thanks, that looks unproblematic as it's specially enabled --- there > } should be some other people who can try it out now it's in. > > This is almost exactly what I was suggesting we should put in a module, > except with all those large tables loaded from a run-time external file > of some sort. There's a way forward, anyway. It's separately enabled for now which gives people who want it the ability to use it. If it migrates to a module, --enable-unicode9 can then force the module to be linked and loaded at boot. Loading from an external file is then a separate job. There currently isn't an obvious hook to how this gets linked in from a module, and as Sebastian has discovered the character analysis functions really need to be lightweight (though character width isn't among the most performance sensitive, I wouldn't think). Autoload seems pointless for something like this. pws diff --git a/NEWS b/NEWS index 433703a..7ac144b 100644 --- a/NEWS +++ b/NEWS @@ -7,6 +7,12 @@ Note also the list of incompatibilities in the README file. Changes from 5.2 to 5.3 ----------------------- +It is possible to enable character width support for Unicode 9 by +congiuring with `--enable-unicode9'; this compiles in some additional +tables. At some point this support may move into a module, in which +case the configure option will be changed to cause the module to be +permanently loaded. + The new word modifier ':P' computes the physical path of the argument. It is different from the existing ':a' modifier which always resolves '/before/here/../after' to '/before/after', and differs from the