From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6441 invoked by alias); 5 Sep 2017 20:51:57 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: X-Seq: 22866 Received: (qmail 29309 invoked by uid 1010); 5 Sep 2017 20:51:57 -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(-1.4/5.0):. Processed in 1.555367 secs); 05 Sep 2017 20:51:57 -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.4 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,RCVD_IN_SORBS_SPAM,SPF_PASS, T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.1 X-Envelope-From: schaefer@brasslantern.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=0QkuQdwXdINuHEn1NuQEwZeIMsUeboaRNFICh+lKTZQ=; b=Zi65XBiLOcQbVqaNgo4xgj20T7DniIHDhg/u/Wp8RG59/ZZE8ThNqclH6vIZ+zgN8E n9fxaW4PPTg5FNnQUQ3Ob8zjbR8o5Em0xFCmZrdCcgtoAbTysErLtfBsJRTq/O0DK8we PMaR+1rpGLwR81yb39jPqXgujK9JJC4wJO+xri1qPpTsmebEeCivbDozaLn5nwV6ZnGw 9ACcotPSFAB7/zBNxfi7doZF4XdA+DT9JIj+tj8nWhtMVS6Q3zVfJxdU9ruliciHY2Ku gRfs7ICDyHzlDHERsWb9h3FKu1fnj8kXrSSAbMFagc8uddhqJlXJnrDuJQhChbL4MHcZ sweA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=0QkuQdwXdINuHEn1NuQEwZeIMsUeboaRNFICh+lKTZQ=; b=YajTpSETQ869caZrPCTc2TE1pCyD1WmIqxPsVWOOEZjHmIjvxld/rvshcqKyknkbOH dTbS/0WNAef4BwXWct4nYHTLWOh7qjhD0AzomLGZvbGya5oL3M1LgF4HSPr0gCWbhkaP 2CG3HfgBQaqr3nBQSxUFz2HsBx1cNaOzhLzlv63IFCCzjE51HzTqgbLYNovqaqb6tRdM pdzUQfhTEDIRwgj/3KF7mSJet1WGpqQK1jo1cd4NSpPLz1qOJKXdYUPfvuYm1P5FR2bg 9N0O4YIFwzzcXXYWCACPNo29H6hXGdfNawfM0Djr0KqDryYbZNFkYUXqnaaIPZNJ95mn rPRQ== X-Gm-Message-State: AHPjjUg7HCP1NefswRqETp6GH+YyAQhmwvlFm5kzo9oQPK/nl9h61zuS cvFUUG9HYrFESRSBo9TI7w3ymV3MPRIn X-Google-Smtp-Source: ADKCNb5/zdcx3yL+oywC9godT4jvvmyCn3HpY2MWFJt3bG4lIOTiOjLJBOaJVATlZZT8vuOwDEIpH1pBvMFLJgsCdXc= X-Received: by 10.55.35.69 with SMTP id j66mr496418qkj.141.1504644710476; Tue, 05 Sep 2017 13:51:50 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <1504628227.2542836.1095967968.32944CE9@webmail.messagingengine.com> References: <1504628227.2542836.1095967968.32944CE9@webmail.messagingengine.com> From: Bart Schaefer Date: Tue, 5 Sep 2017 13:51:49 -0700 Message-ID: Subject: Re: Interpret Parameter Value at Time of Function Definition To: Daniel Shahaf Cc: Vin Shelton , Zsh Users Content-Type: text/plain; charset="UTF-8" On Tue, Sep 5, 2017 at 9:17 AM, Daniel Shahaf wrote: > Vin Shelton wrote on Tue, 05 Sep 2017 09:47 -0400: >> $ aaa=bbb >> $ function t { >> print aaa = \"$aaa\" >> } >> >> I would like to interpret $aaa at read time [...] > > Declare aaa local inside the function: That won't help if the value assigned to $aaa is itself going to contain expansions. As Martijn points out, the only way to get this to work is with some kind of "read-time" evaluation. Exactly what approach is best depends on what you want to accomplish. Does $aaa expand to executable statements that you want to turn into part of the function code, or does it just result in a value that you want to access later? No matter which way you go, the key is that you'll need to quote the function body differently than you quote the value you want assigned to $aaa.