From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12230 invoked from network); 23 Sep 2004 10:46:23 -0000 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 23 Sep 2004 10:46:23 -0000 Received: (qmail 3054 invoked from network); 23 Sep 2004 10:46:17 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 23 Sep 2004 10:46:17 -0000 Received: (qmail 22733 invoked by alias); 23 Sep 2004 10:45:34 -0000 Mailing-List: contact zsh-users-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 8015 Received: (qmail 22724 invoked from network); 23 Sep 2004 10:45:34 -0000 Received: from unknown (HELO a.mx.sunsite.dk) (130.225.247.88) by sunsite.dk with SMTP; 23 Sep 2004 10:45:34 -0000 Received: (qmail 1587 invoked from network); 23 Sep 2004 10:44:34 -0000 Received: from lhuumrelay3.lnd.ops.eu.uu.net (62.189.58.19) by a.mx.sunsite.dk with SMTP; 23 Sep 2004 10:44:33 -0000 Received: from MAILSWEEPER01.csr.com (mailhost1.csr.com [62.189.183.235]) by lhuumrelay3.lnd.ops.eu.uu.net (8.11.0/8.11.0) with ESMTP id i8NAiWv06546 for ; Thu, 23 Sep 2004 10:44:32 GMT Received: from EXCHANGE02.csr.com (unverified [192.168.137.45]) by MAILSWEEPER01.csr.com (Content Technologies SMTPRS 4.3.12) with ESMTP id for ; Thu, 23 Sep 2004 11:43:35 +0100 Received: from news01.csr.com ([192.168.143.38]) by EXCHANGE02.csr.com with Microsoft SMTPSVC(5.0.2195.6713); Thu, 23 Sep 2004 11:46:08 +0100 Received: from news01.csr.com (localhost.localdomain [127.0.0.1]) by news01.csr.com (8.12.11/8.12.11) with ESMTP id i8NAiRQJ013342 for ; Thu, 23 Sep 2004 11:44:27 +0100 Received: from csr.com (pws@localhost) by news01.csr.com (8.12.11/8.12.11/Submit) with ESMTP id i8NAiRFE013339 for ; Thu, 23 Sep 2004 11:44:27 +0100 Message-Id: <200409231044.i8NAiRFE013339@news01.csr.com> X-Authentication-Warning: news01.csr.com: pws owned process doing -bs To: zsh-users@sunsite.dk (Zsh users list) Subject: Tip of the day: suspend-shell widget Date: Thu, 23 Sep 2004 11:44:26 +0100 From: Peter Stephenson X-OriginalArrivalTime: 23 Sep 2004 10:46:08.0632 (UTC) FILETIME=[88BB4780:01C4A15A] X-Spam-Checker-Version: SpamAssassin 2.63 on a.mx.sunsite.dk X-Spam-Level: X-Spam-Status: No, hits=0.0 required=6.0 tests=none autolearn=no version=2.63 X-Spam-Hits: 0.0 I was rather to surprised to find the following zle widget works seamlessly (at least with the latest version of zsh), but then I'm a cynic. Save it as suspend-shell in your $fpath. Sample use: autoload suspend-shell zle -N suspend-shell bindkey '^z' suspend-shell ^z now suspends the shell in the middle of the line editor. When you bring it back to the foreground, you are exactly where you left off editing. Obviously this is useless if the shell is running directly in a terminal window, but detecting that is quite hard. Possibly worth adding to Functions/Zle? # start of suspend-shell # Suspend the shell in the middle of line editing. # When you continue, it resumes exactly where you left off. # Won't suspend a login shell unless you pass a numeric argument. if (( ${NUMERIC:-0} )); then # "builtin" is in case someone decides to call this function suspend builtin suspend -f else if [[ -o login ]]; then zle -M "Can't suspend login shell (use numeric argument)" return 1 else builtin suspend fi fi zle redisplay # end of suspend-shell -- Peter Stephenson Software Engineer CSR Ltd., Science Park, Milton Road, Cambridge, CB4 0WH, UK Tel: +44 (0)1223 692070 ********************************************************************** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. This footnote also confirms that this email message has been swept by MIMEsweeper for the presence of computer viruses. www.mimesweeper.com **********************************************************************