From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: zsh-users-return-23712-ml=inbox.vuxu.org@zsh.org X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from primenet.com.au (ns1.primenet.com.au [203.24.36.2]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id f9283bae for ; Tue, 16 Oct 2018 17:11:15 +0000 (UTC) Received: (qmail 14058 invoked by alias); 16 Oct 2018 17:10: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: List-Unsubscribe: X-Seq: 23712 Received: (qmail 12028 invoked by uid 1010); 16 Oct 2018 17:10:56 -0000 X-Qmail-Scanner-Diagnostics: from mail-oi1-f177.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.167.177):SA:0(-1.9/5.0):. Processed in 1.701304 secs); 16 Oct 2018 17:10:56 -0000 X-Envelope-From: sgniazdowski@gmail.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=QTb8HMlgTY9e8ngNUnE0/XY4/Wcv2jrAQ4/2zde3Edo=; b=oB/8s7dEBvSlDVRTg+vbbyEHY8d9B2wDYajCx2iI+tmRLT91SQwYD+81XqiJ5eQ4LE 6Fh9hXYDMMYXuzzBHWEYoGGF9s27PyR16w/n7Ny3N2C3ACqXpa/r0oeP5BDaTRfIDRoy ULHHVyM6lEcKLzvsUu6LhHfjJ7INsgNoE1VPSWQ469zgZVMSr+3c8NBUB5Ss8VJ07R25 XoFk+8yYpVtQm9SuyHZ25c5mEiudwt62mJFXJ8G0/WwWYHGkWybDojgqdnsBP0/Qgz+B CkGnv5rWNBoE5eymfEcsYc67bIVDKKgkFQGUu7s9lp0c1iDG6LF7MnDH/zDqD6Og/PEl Ip5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=QTb8HMlgTY9e8ngNUnE0/XY4/Wcv2jrAQ4/2zde3Edo=; b=aVa2klOuXDZXvYgtJsKDRKEkIVzkBudfpv6CA/WpJujmgtx5d936lce/rYttATWbd0 Ev+RjSSxjq3KXKeOA23tB6Cr07CjSnUT6zbBTzhAEXtVxl8MOxvWjyWFJnEO7Z2Xp0ch GBoVVCTF1D6QbDeNVWiV8oy/cFKA1p1QHiAWUaKnm8xNOkbCnW3PnkSyRVRYaQFubhYT o2bvNGtvR/BtmbYExdrVRYyy2MQTdEAs5pdVtnoeeuvXgx0fnHa4Ev9Wpu/5iIBcb63X 7jWfhQHzWzAwwfCUi1cF5ysJql1X/FUrwxtfdLSkt7/3gWcipz3Kwq6RQ7lQsdE8xziv +0gg== X-Gm-Message-State: ABuFfojTV93ceDTf0zetjocn1xYXeQ1HDv6sxYXXzq2lFvg953ZyY7TZ sq65sXiyVaxlLZYfVnWYPJ1leKcP9ZIKGqAy7g/TRN85 X-Google-Smtp-Source: ACcGV63XQRPtHn//QF7qwK0Bq/VzOHHB6ThrkDQhWKfV5/HOfcxHt0JYOaVRVqde0G+l/6h6wV70EVgvgdRV4cnML9I= X-Received: by 2002:aca:f156:: with SMTP id p83-v6mr12488876oih.332.1539709851834; Tue, 16 Oct 2018 10:10:51 -0700 (PDT) MIME-Version: 1.0 From: Sebastian Gniazdowski Date: Tue, 16 Oct 2018 19:10:39 +0200 Message-ID: Subject: How to exit function on a trap (INT) To: Zsh Users Content-Type: text/plain; charset="UTF-8" Hello, I have an adhoc tests-related autoload-*function* `test-id-as': https://github.com/zdharma/zplugin/blob/c1fc6d9325f97264ff155210fedd6bebc421b5e4/doc/test-id-as It's doing `setopt localtraps' and essentially `trap '...; return 0;' EXIT INT TERM QUIT The problem: Single Ctrl-C doesn't stop the function, I have to hold the key combination, see fast sequence of interrupted states of the trying-to-execute-anyway function, to finally luckily "reach" the exit of the function, via dense Ctrl-C signaling (result of continuous hold of Ctrl-C keys). I have some experience with functions and traps, and I recall I was successfully exiting functions this way. Should this method work? What can be wrong? The actual trap setup is little long, but it simply has `; return 0;' at the end: trap '[[ $argv1 != "--keep" ]] && { ZPLGM[PLUGINS_DIR]=$plg_bkp; ZPLGM[SNIPPETS_DIR]=$snp_bkp; } || { print; print "Kept ${ZPLGM[PLUGINS_DIR]} :: ${ZPLGM[SNIPPETS_DIR]}"; }; return 0;' EXIT INT TERM QUIT -- Sebastian Gniazdowski News: https://twitter.com/ZdharmaI IRC: https://kiwiirc.com/client/chat.freenode.net:+6697/#zplugin Blog: http://zdharma.org