From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27435 invoked from network); 10 Feb 1999 17:25:10 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 10 Feb 1999 17:25:10 -0000 Received: (qmail 15453 invoked by alias); 10 Feb 1999 17:24:48 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 5333 Received: (qmail 15435 invoked from network); 10 Feb 1999 17:24:43 -0000 From: "Bart Schaefer" Message-Id: <990210092417.ZM5236@candle.brasslantern.com> Date: Wed, 10 Feb 1999 09:24:17 -0800 In-Reply-To: <9902101654.AA46271@ibmth.df.unipi.it> Comments: In reply to Peter Stephenson "PATCH: zsh-3.1.5-pws-7: emulate locally" (Feb 10, 5:54pm) References: <9902101654.AA46271@ibmth.df.unipi.it> X-Mailer: Z-Mail (4.0b.820 20aug96) To: zsh-workers@sunsite.auc.dk (Zsh hackers list) Subject: PATCH: 3.0.5: Re: PATCH: zsh-3.1.5-pws-7: emulate locally MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii On Feb 10, 5:54pm, Peter Stephenson wrote: } Subject: PATCH: zsh-3.1.5-pws-7: emulate locally } } When using `emulate' in a shell function to ensure the correct } environment, it's a good habit to make sure the effect is local by } setting localoptions. To encourage this good habit, I thought perhaps } it might be sensible to have an option -L to emulate itself Here's the same patch against 3.0.5 (lacking doc, unfortunately). Index: Src/builtin.c =================================================================== --- builtin.c 1999/01/15 16:39:06 1.11 +++ builtin.c 1999/02/10 17:21:08 @@ -4768,6 +4768,8 @@ bin_emulate(char *nam, char **argv, char *ops, int func) { emulate(*argv, ops['R']); + if (ops['L']) + dosetopt(LOCALOPTIONS, 1, 0); return 0; } Index: Src/hashtable.h =================================================================== --- hashtable.h 1997/06/27 19:18:21 1.3 +++ hashtable.h 1999/02/10 17:21:22 @@ -271,7 +271,7 @@ {NULL, "disown", 0, bin_fg, 0, -1, BIN_DISOWN, NULL, NULL}, {NULL, "echo", BINF_PRINTOPTS | BINF_ECHOPTS, bin_print, 0, -1, BIN_ECHO, "neE", "-"}, {NULL, "echotc", 0, bin_echotc, 1, -1, 0, NULL, NULL}, - {NULL, "emulate", 0, bin_emulate, 1, 1, 0, "R", NULL}, + {NULL, "emulate", 0, bin_emulate, 1, 1, 0, "LR", NULL}, {NULL, "enable", 0, bin_enable, 0, -1, BIN_ENABLE, "afmr", NULL}, {NULL, "eval", BINF_PSPECIAL, bin_eval, 0, -1, BIN_EVAL, NULL, NULL}, {NULL, "exit", BINF_PSPECIAL, bin_break, 0, 1, BIN_EXIT, NULL, NULL}, -- Bart Schaefer Brass Lantern Enterprises http://www.well.com/user/barts http://www.brasslantern.com