From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3996 invoked by alias); 27 Sep 2016 07:55:14 -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: 39458 Received: (qmail 20297 invoked from network); 27 Sep 2016 07:55:14 -0000 X-Qmail-Scanner-Diagnostics: from mail-qt0-f179.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.216.179):SA:0(0.0/5.0):. Processed in 0.308431 secs); 27 Sep 2016 07:55:14 -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.216.179 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:content-transfer-encoding; bh=u4nbqSJdeebRROmFuk66rwC9wG6unAxRYrbtt3q/z74=; b=m2+iegEls0vACxT9/+HupoeTZ+uZY+KnlEMZEG8+SvfyBpbpvej8CDEL6xr2VJLGhi vw97g3GsH0kHv+N9Ix9ACAuz5++emhR0FXmIZttaiKVcM/pMQliVhGrZkCj+40n9ExQ8 PROYZ5wiILA0PVAMWldNt1dJAOd5pgOq9GzLJ5uGo3ZknVJQauZm7kthT9vk/3YV7L3Q +i3SvMuFnO2mw+A8AdaJDOo8t4OReShS4ArQuFPPHfzJPLaya5oZV8MS3NDzzZrpiWcG /Y44sWB2LCsiP+Cvp/5QjpGFX9FsM3oVu8LTQwtgmDCOv64Bfz5DjvxpuClP4HnIu9Zu GuAw== 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:content-transfer-encoding; bh=u4nbqSJdeebRROmFuk66rwC9wG6unAxRYrbtt3q/z74=; b=My343LNK6ZXkoxFYkccvvBNuZ4PhMbRmBbuXQWzyMvpAzYhQtWmXWnF8klL4COJC8Y /eaNQHVvuH5UxWKA0hGS9pNIMSVzResFRvgO0rFAtq6d9QU6hULCUOQP6/jXwk6fet2L NTeSxLTrcsTguBCIDwvmWCUVfh7q/9u+eh+sujVzjwLV3owm/cRO5hAiZMvOF6owbZQQ m3HCevC/p1+XTEQkX3GJBGWU9Q1McYs3oRa7sbc3usvmlRThVRrlvmqItok6oWf87ahx rWTrTci+rbr/vusqyX314oZpMVTv1BXEX3YZAv79YNi5JrRqzSh3AdCtr7a5WMF6mG2J ywXQ== X-Gm-Message-State: AA6/9Rmfgb0n0tiubalFpwm1TDJS2ZNm2FtF2HIkx9e4Xr2+I6rF6sHIiIdJxfsDoVG0DotV+APCawByW9yItw== X-Received: by 10.200.34.219 with SMTP id g27mr26694071qta.42.1474962908500; Tue, 27 Sep 2016 00:55:08 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <20160927070527.GA20829@fujitsu.shahaf.local2> References: <20160927070527.GA20829@fujitsu.shahaf.local2> From: Sebastian Gniazdowski Date: Tue, 27 Sep 2016 09:54:48 +0200 Message-ID: Subject: Re: Surprising effect of fun() { local FPATH=...; autoload -X }, and a bug To: Daniel Shahaf Cc: Zsh hackers list Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 27 September 2016 at 09:05, Daniel Shahaf wrote= : > Sebastian Gniazdowski wrote on Tue, Sep 27, 2016 at 00:07:37 +0200: >> eval "function $func { >> local FPATH=3D"$PLUGIN_DIR":"${FPATH}" >> builtin autoload -X ${opts[*]} >> }" > > The " signs in the first line of the function body need to be escaped. > > The parameter expansions $foo need to be escaped, some as \$foo and > others as ${(q)foo}. As we discussed on IRC, the final version is like following =E2=80=93 quoti= ng in 4 new places: eval "function ${(q)func} { local FPATH=3D${(qqq)PLUGIN_DIR}:${(qqq)FPATH} builtin autoload -X ${(q-)opts[@]} }" Best regards, Sebastian Gniazdowski