From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4606 invoked by alias); 7 Jun 2017 10:59:29 -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: 41247 Received: (qmail 2530 invoked from network); 7 Jun 2017 10:59:29 -0000 X-Qmail-Scanner-Diagnostics: from nm38-vm8.bullet.mail.ir2.yahoo.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(212.82.97.158):SA:0(-1.7/5.0):. Processed in 0.940995 secs); 07 Jun 2017 10:59:29 -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=-1.7 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,SPF_PASS,T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.1 X-Envelope-From: okiddle@yahoo.co.uk X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at _spf.mail.yahoo.com designates 212.82.97.158 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.co.uk; s=s2048; t=1496832826; bh=u0BSS4E1cGEcvH50dXjkHw8flo44W1MgfCGQ5w/+XOs=; h=In-reply-to:From:References:To:Subject:Date:From:Subject; b=ER+a9eg7Jp8nP2F65ydqrcjQ2Hn7NbAiUK2/qgOCGOT+1DMOIngPRUBwkNCTbRXWaMtDon0VHIzxfCSfsg89yMdOngZ4AlY6y/tQcNKfBCn9vsR9QeeHdtk/MunmewzaTjkG5tPHvveJlK/AmoLFvwxabiK6ZW9P6xHt7smqD76rkfsSaIxknJXMGF6ZQTImZXczDxvleQ8s/bWTA8FhsMpaEtNhD7Hcp+Bw7K4wjQf76H/LVZ4UeoeiB/TJL5bBc1VacpJhMcX6pCOlWK4YW7vNSgzQGgRkWg63VFzIQk9nnWO5VSsX/eEll9VDQO2NvPgdtsQm4cYqWHSWiKwNsg== X-Yahoo-Newman-Id: 776690.11520.bm@smtp110.mail.ir2.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: cmqumpsVM1nIs4heeGUKjQiE9_CyKrv2YUeLxjIySDSAOCl Wgr_K9EJ9C162bLvyPNgYmALy5XAizpCVsrIXVtD7H_swyTt2L.qHcfCrseJ AmP0xbyRoNK4yCUKmdiFNZAIrEYXNB2ahhttKvHi.dZ_8HKEPIPQjiHD5fb5 at1DxAu4l5nrRbE1vj40Blhrx_1SAOWqgQaCIaY3ImdxOaF3L79maH6t71eo F8E6jAU.kavcMxvcNhIlW3ulW1uUOHwzqO4zqAdiujWf.xNHnE5_gU5wwZF7 .rTrTGoR9.mq7emVH6V2Rc.6nSh5G3WOWRMELOYVYJIsjAxy8fBRu21gtWrp D8KvMr6og79wScubm_w8ZPYcrWGMKRHHgKlwtdl9VLeuTw0xT_kPD_S2fpw6 MLR9WgahpFgQnclL6qHwAngOp3s.eOiPbk27TH5UqAtlnTefhwtOJz1pl4Rb cu0OcW9uhWrmV0mkCE9Cqyyz2g4_cP9o6xcrHxDXHXbbCPB2b_PcAtXKdO.H _G2airswQtqW1228j4wdaxHwDUIdt_wdTJMztov0- X-Yahoo-SMTP: opAkk_CswBAce_kJ3nIPlH80cJI- In-reply-to: <170530224728.ZM25709@torch.brasslantern.com> From: Oliver Kiddle References: <170528124337.ZM9444@torch.brasslantern.com> <170530224728.ZM25709@torch.brasslantern.com> To: zsh workers Subject: PM_ flags (Re: mikachu/badarrays ...) MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <16918.1496832708.1@thecus.kiddle.eu> Date: Wed, 07 Jun 2017 12:53:46 +0200 Message-ID: <16943.1496832826@thecus.kiddle.eu> On 30 May, Bart wrote: > It also appears we've run out of bits for PM_CACHELEN and PM_CHECKEN, > the 19 and 20 bit positions are are now occupied by PM_DONTIMPORT_SUID > and PM_SINGLE, though I suppose PM_KSHSTORED and PM_ZSHSTORED could do > double duty as they won't apply to arrays and functions at once. Should we perhaps change the flags field in struct param to be a 64-bit value to make room for more flags? Can we portably use something like uint64_t or is it not that simple? In addition to more overloading of function/parameter related flags there are also some mutually exclusive combinations. For example, only one of the PM_TYPE flags can be set so 3 bits could be used in place of 5 but it'd need the PM_TYPE mask adding in lots of places and only gain us 2 bits. There's also the 32nd bit available but to reliably and portably use that do we need to change flags to be an unsigned int? Oliver