From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 24214 invoked from network); 20 Apr 2021 22:14:45 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 20 Apr 2021 22:14:45 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20200801; t=1618956885; b=g3l4bJSEYtFFebXc0z0LNDdter/9FWgJ3bknkEuHNLawb/ASGuzhxAaIPD8pRuwBwTFiFU63C7 eN0jGrmXDOeSKfxPo89R/ttx7jfq30Y4ckFl0dSlyIEHf8lE5i36cL5e/FGNEgfgHqsEBOVp1Y Nm8F+GZDAyq0SoqcTu1w8K/bjPD7U+AnN2yNwueGOkuXxMwegcEZUEYHtk2bhLj8y83oVTAJMH 5KvcvPUVYiiPn3pBHhdHA3K9BXuIxQTzqMyfteYvIFJkVn6i3S5TNIsJ/0VlTqP4FDl1OlHwsi pJoF0LR9i/NX0XjKnsyjOKZvMHu72nv7bvVqRTdtl095kA==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (out4-smtp.messagingengine.com) smtp.remote-ip=66.111.4.28; dkim=pass header.d=daniel.shahaf.name header.s=fm3 header.a=rsa-sha256; dkim=pass header.d=messagingengine.com header.s=fm2 header.a=rsa-sha256; dmarc=none header.from=daniel.shahaf.name; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20200801; t=1618956885; bh=emaxP3Nv6c3qpwar7bk6riUo1FTdhxAFLEvCIuvfHV4=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:In-Reply-To:Content-Transfer-Encoding:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:DKIM-Signature: DKIM-Signature:DKIM-Signature; b=Vl0AsDlf0gYLlxpAeEHDCENUyEBhKQNkFcA3+sU/jjDyIcFIXUdIUPVVl3jPfMG4uq69zYmufc dzNZLvEGhu+3tGAb2MlljtKv8Tdqrq/tk9O/Etu2KVpVeNbNROKR6kUgYzgEwYrsJmBI+eKPQB fpjCFNrZdcha/ZV9oGLvpnhOhXUzts84c3r6sFP7utv3hj5LukCVPlNSh+fiOAzSfJdg9vLQdR RqXsozwxjlKFb0qysyRFouBUxN/xDLFAdC8SAev6rPtHYjOoKQVZ8PcThNEi90RGbN+UdGj5Um E2Y8LsMOwiS4i8TdZlm8Og4Gnntp3fBr+K+r8d0VlAX8RQ==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20200801; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:In-Reply-To:Content-Transfer-Encoding :Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID; bh=6ygudrqdXxnpb78pHY0sA3tax2Yrq8EZ5XsKe+UanWY=; b=aTrKcMMbm+9rRThiizHtm/E83j cCjpq1VMGbiax+wX5rAWz4bqwf0ETXBlyuUlOteCAmOGpu43nb+JFgoxThIXNE6D59in08DLVJ9ow QbIpR17UiCS4hwAxYpVzy5sHfvhNiCsidXQyaWQGtgZBSFWRY1/weRracrA5LmfcLwCvwcw3ahkvD 9ea8OuFAFFlYDiYzu8944qN1zz91R/m1BhJPoW1t+Ys5bU0GyYrEmKOJ0hTTd8ctdoexl+TatdsAY hoCT6YWK6W56RWNojTEMx8wpTvvhjyhKYZz5Jg65eW2rnHc5TDmmWAzcUj3tUzGbwQzQ9C4ttOwHX SeFVKOJQ==; Received: from authenticated user by zero.zsh.org with local id 1lYydp-000NLM-3v; Tue, 20 Apr 2021 22:14:45 +0000 Authentication-Results: zsh.org; iprev=pass (out4-smtp.messagingengine.com) smtp.remote-ip=66.111.4.28; dkim=pass header.d=daniel.shahaf.name header.s=fm3 header.a=rsa-sha256; dkim=pass header.d=messagingengine.com header.s=fm2 header.a=rsa-sha256; dmarc=none header.from=daniel.shahaf.name; arc=none Received: from out4-smtp.messagingengine.com ([66.111.4.28]:44209) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_256_GCM_SHA384:256) id 1lYydd-000N79-1W; Tue, 20 Apr 2021 22:14:34 +0000 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 46AD25C0134; Tue, 20 Apr 2021 18:14:32 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Tue, 20 Apr 2021 18:14:32 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= daniel.shahaf.name; h=date:from:to:cc:subject:message-id :references:mime-version:content-type:content-transfer-encoding :in-reply-to; s=fm3; bh=6ygudrqdXxnpb78pHY0sA3tax2Yrq8EZ5XsKe+Ua nWY=; b=G/aDnypXKTt2biYINi/HomQBEEI9YSy3jprDT2QLeJOlzpvs/U/9/ZD3 pBIbNF6hiEyT60OhqNvCWzKmxd1mhuyqlWyvP4tANlc1EKKw75wR8X0NzpU6oA07 oPRc5YwPJd4iBsDsL1jA1hC2/VeHSM9X5fD9NXVinjp5eX8Il1WpgvCjnKAqTdUw ECrhfN0d86Dv0h0bvcpSmunAsnf6Ul7ZeevCmxOY9jKtatZa4F0VcgTLTf8rE1UE vgmvbDMftMfrrltBKpwDtPY0uNvpX4Gl//ubSFkif53UhyMdfNHQGplnSzpuxRHS vOg2iTAHb+/NPGDYKC1NVGp19LWyaQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; bh=6ygudrqdXxnpb78pHY0sA3tax2Yrq8EZ5XsKe+Uan WY=; b=SKU88fMZ4fCVma62jWOcvUlMi9bzdAfIirk4sGv+vG6n9YAxfs2nd2QPN 6VNANypnqEjj9yCE6/FQMV3/KfUB9ndOsIxbRWByHrKTO9GXstN0r3PiEMAEBYSj LUvTUITEVDrVThD8mragGDcZLtjwn3uhQmgXZRzBW9XjaCtUuQTymE2u6am+SHz8 SXIf6Umja/QdSpWwz+vPCdAmZlC+f25mvgAlAxnc/kS2WsYP2H0lx46I/t25338Z BM2V4wP+JsPx0tvRb30+muCw2rKh/3l6s5HvLUW0zQsnUlMHrG/L/WvvEUNJIQUM yTxhfk1EY/4RPEhB8jyjMo7BuYJtQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrvddtjedgtdeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvffukfhfgggtugfgjggfsehtkedttddtredunecuhfhrohhmpeffrghn ihgvlhcuufhhrghhrghfuceougdrshesuggrnhhivghlrdhshhgrhhgrfhdrnhgrmhgvqe enucggtffrrghtthgvrhhnpefgleehtdffuefhgeeuleefffejgedttdelhedvvdeuiefh vefgvdfghfevvdekteenucfkphepuddtledrieeirdeifedrvdeftdenucevlhhushhtvg hrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegurdhssegurghnihgvlhdr shhhrghhrghfrdhnrghmvg X-ME-Proxy: Received: from tarpaulin.shahaf.local2 (bzq-109-66-63-230.red.bezeqint.net [109.66.63.230]) by mail.messagingengine.com (Postfix) with ESMTPA id 94B4524005D; Tue, 20 Apr 2021 18:14:31 -0400 (EDT) Received: by tarpaulin.shahaf.local2 (Postfix, from userid 1000) id 4FPydx24h1z22Y; Tue, 20 Apr 2021 22:14:29 +0000 (UTC) Date: Tue, 20 Apr 2021 22:14:29 +0000 From: Daniel Shahaf To: Marlon Richert Cc: Zsh hackers list Subject: Re: [RFC][PATCH] Add change-directory() widget function Message-ID: <20210420221429.GF1035@tarpaulin.shahaf.local2> References: <95CDA630-4EE5-4003-8D9C-CCCB9A47F109@gmail.com> <4D587C0C-EB5F-4A58-A0AE-D45E43F432CD@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <4D587C0C-EB5F-4A58-A0AE-D45E43F432CD@gmail.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-Seq: 48635 Archived-At: X-Loop: zsh-workers@zsh.org Errors-To: zsh-workers-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-workers-request@zsh.org X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: Marlon Richert wrote on Tue, Apr 20, 2021 at 23:13:35 +0300: > +++ b/Functions/Zle/change-directory > @@ -0,0 +1,29 @@ > +zle .push-line-or-edit > +case $WIDGET in > + *-upward ) > + if [[ -o autocd ]]; then Why is the «if» codepath necessary? > + BUFFER='..' > + else > + BUFFER='cd ..' s/cd/builtin cd/? Should the -q option be passed to «cd»? Should any of the words be quoted to protect against global aliases? Does the existence of CHASE_DOTS / CHASE_LINKS raise any concerns? Should this be implemented in C so it can call chdir(2) directly without gymnastics? Regarding your first post in the thread, lines weren't wrapped, which made it hard to read. Daniel > + fi > + ;; > + *-backward ) > + if [[ -o pushdminus ]]; then > + BUFFER='pushd -1' > + else > + BUFFER='pushd +1' > + fi > + ;; > + *-forward ) > + if [[ -o pushdminus ]]; then > + BUFFER='pushd +0' > + else > + BUFFER='pushd -0' > + fi > + ;; > + * ) > + print -u2 'change-directory: widget name should end in -(up|back|for)ward' > + return 1 > + ;; > +esac > +zle .accept-line > -- > 2.31.1 > > >