From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10699 invoked by alias); 28 Dec 2016 06:37:45 -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: 22302 Received: (qmail 3627 invoked from network); 28 Dec 2016 06:37:45 -0000 X-Qmail-Scanner-Diagnostics: from mail-ua0-f174.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.217.174):SA:0(-0.0/5.0):. Processed in 0.966409 secs); 28 Dec 2016 06:37:45 -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=RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_PASS,T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.1 X-Envelope-From: schaefer@brasslantern.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.217.174 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20150623.gappssmtp.com; s=20150623; h=from:message-id:date:in-reply-to:comments:references:to:subject :mime-version:content-transfer-encoding; bh=0MOYJkpvctUDZW6XmoZAH2ilClc0UV3MvPknl1BXjl8=; b=bAS1m3/8wvpG6BaMrouXBDGflx07rxkVeCXRMj3HdcHrVwIBnPbCk84McIDsO16FGi WbYssKTGVRRVg3LjAt69UwddO7W8iu9O3UV01zjTSSCPGc2GBOBdLVnFU83WDDMJtD6w 7yCLyapYfD+0zhNgJ13VhaCxmqMbMSjcPXIpyd99UZ/doAV+4yeOaQHPoPP+e18fKRRA t8WROTrJZiRxcwXktseO27rvwS6DC69w10t4RX8ng1/w2JkR5k2mBavsnciwuZSDGhlb HjZpANzwMfdG9HifO7ZqVPNkijpHx5PvyO7HR4wuK90+4PN1HXcjmEEz9X73Qr7Ujkrk 6oAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:date:in-reply-to:comments :references:to:subject:mime-version:content-transfer-encoding; bh=0MOYJkpvctUDZW6XmoZAH2ilClc0UV3MvPknl1BXjl8=; b=uSfU1jhB/T7SnOENpJTuTtHvbWdSWk901xnVb5T85CJYkRIrMuW06RJ/AoMdbCC9+g c1CxawkGVT30Qz2CR7jffovmVP83+zIoxyK4fBWCEGAZmNSzYHq7dLLAntwNURHd0FIL /hB46VQmbQMCDhYnD9PePw8IHoriDE/U99bbf9EC+ltQQaUEhQfYmk2IWmSK1S8SEMXi TKCLDyC++nfCi7kY9fbHbqvaG0x2xkwvZMsUXe5xw9AomlAT4ptsjnlHZe4aOr03j3fN f/iFAfzXbRN9EF2XKaop2uT6MmSEdXpiCkDFkyqhBNLu2er++lScUMWrZ1Iofe6CZdTI ED2w== X-Gm-Message-State: AIkVDXJsppvD5ME0r0NZWtexti1HO/Z6+rGTQpJv0rtcUUaIDc+tgrI2Fw3hETfXX82Flg== X-Received: by 10.159.41.34 with SMTP id t31mr23046335uat.153.1482906668745; Tue, 27 Dec 2016 22:31:08 -0800 (PST) From: Bart Schaefer Message-Id: <161227223118.ZM3357@torch.brasslantern.com> Date: Tue, 27 Dec 2016 22:31:18 -0800 In-Reply-To: <20161228052836.GA23153@fujitsu.shahaf.local2> Comments: In reply to Daniel Shahaf "Re: append to history entry?" (Dec 28, 5:28am) References: <5288b537-f06a-d18a-60ea-1f962856c80c__41345.3811700039$1482803962$gmane$org@eastlink.ca> <20161227125530.GA4796@fujitsu.shahaf.local2> <161227080022.ZM519@torch.brasslantern.com> <99549001-5744-c36f-a4dc-404071aba08a@eastlink.ca> <161227110954.ZM1153@torch.brasslantern.com> <0a48db86-b41a-283c-8193-e2766aa5d30b@eastlink.ca> <161227155552.ZM2385@torch.brasslantern.com> <20161228052836.GA23153@fujitsu.shahaf.local2> X-Mailer: OpenZMail Classic (0.9.2 24April2005) To: zsh-users@zsh.org Subject: Re: append to history entry? MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable On Dec 28, 5:28am, Daniel Shahaf wrote: } } Actually, there's just one escaping: instead of using =AB${foo}=BB, } use =AB${(q)foo}=BB if $foo is a scalar and $=AB{${(q)foo}}=BB if it is an } array. Unfortunately that's not quite right: you mean =AB${${(q)foo[@]}}=BB or =AB${${(@q)foo}}=BB -- if it's just "an array" then it'll be joined before (q)-ting. } I didn't get it right, but Bart was right all along. Anyway, the rules } are simple: }=20 } 1) When using the 'print' builtin, always pass '-r --'. I'd avoid this kind of blanket statement, because it leads to the question, "if you should ALWAYS do that, why doesn't print just do that without being told?" } 2) When interpolating a variable into a string that will be parsed as } zsh code, escape that variable using ${${(q)}}. ... and put that (@) or [@] in there so the (q) applies to each array element separately ... unless that's not what you mean.