From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20169 invoked by alias); 11 Oct 2016 06:52:52 -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: 39606 Received: (qmail 25505 invoked from network); 11 Oct 2016 06:52:52 -0000 X-Qmail-Scanner-Diagnostics: from out5-smtp.messagingengine.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(66.111.4.29):SA:0(0.0/5.0):. Processed in 0.540798 secs); 11 Oct 2016 06:52:52 -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=T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.1 X-Envelope-From: d.s@daniel.shahaf.name X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: none (ns1.primenet.com.au: domain at daniel.shahaf.name does not designate permitted sender hosts) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= daniel.shahaf.name; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-sasl-enc :x-sasl-enc; s=mesmtp; bh=D7dyEqZUUa3TVgtNaQeZOyhNYpo=; b=l0+4u7 rNRHMMai9V/4pSDP1t7smLZ8eBV6/jKZwg5Af4SxLlqDE3S3nqnzEx8A2YN0PH5n oF2K2W+/lQMErRhFI218sUWkdLDwalPgC9DJAgvrtyeghZoQeAHXGqf1Uk1s+slU mPHayatKz0lFnVFz+FMxvgoAy3YdAgDSjfCPk= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-sasl-enc :x-sasl-enc; s=smtpout; bh=D7dyEqZUUa3TVgtNaQeZOyhNYpo=; b=VIULc XDlk2mhoTVg4xAYJyMm40VbDrqromkJHSGejXJTAXL+2i5tu8k6hXlSDpTtbj5UC HFrHWb6uWBlRQhYpJnliZBqcgAz3yvTczOVDxEGNOPZm3oKY9ArdwY/oYP53nBqi jgwsMhfZM5rV1tiG9e4q/AUp/2sFhj7nRnuiVA= X-Sasl-enc: rHPrzYH486i6LaVCmegralnkr03pId/Ul6qdZEgp6WZu 1476168762 Date: Tue, 11 Oct 2016 06:51:05 +0000 From: Daniel Shahaf To: Zsh hackers list Cc: Sebastian Gniazdowski Subject: type-checking for metafiedness? (was: Re: Cores almost on demand in patcompile()) Message-ID: <20161011065105.GB16819@fujitsu.shahaf.local2> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Bart Schaefer wrote on Mon, Oct 10, 2016 at 19:46:18 -0700: > The comments say that this argument is expected to be metafied > (pattern.c 522), but as best I can tell it's passed down from > paramsubst() tokenized but not metafied. Pardon me if this has been discussed before, but why don't we introduce the type definitions . struct metafied_t { char *v; }; struct unmetafied_t { char *v; }; . and start incrementally replacing uses of "char *" with uses of these types? This will gain type checking for metafied v. unmetafied strings, as these two types do not implicitly convert into each other (attempts to do so generate a compiler warning). Cheers, Daniel