zsh-users
 help / color / mirror / code / Atom feed
From: Peter Stephenson <pws@ifh.de>
To: ramos@ih4ess.ih.lucent.com, zsh-users@math.gatech.edu (Zsh users list)
Subject: Re: Perl replacement challenge
Date: Wed, 29 Oct 1997 17:46:58 +0100	[thread overview]
Message-ID: <199710291646.RAA02780@hydra.ifh.de> (raw)
In-Reply-To: "ramos@ih4ess.ih.lucent.com"'s message of "Wed, 29 Oct 1997 10:19:56 MET." <199710291619.KAA11548@ihnns581.ih.lucent.com>

ramos@ih4ess.ih.lucent.com wrote:
> I have a very simple and effective solution:
> 
> 	# Use "kshdot some_ksh_script" instead of ". some_ksh_script"
> 
> 	kshdot() { source =(ksh -c ". $* 1>&2; senv") }
> 
> Where 'senv' is the following Perl script:
> ...

As a minimal modification which omits the Perl script, how about

kshdot() { 
  setopt allexport localoptions
  source =(ksh -c ". $* 1>&2; typeset +x _ PWD; typeset -x")
}

This lists exported variables directly from ksh, which quotes them
where necessary; also it unexports _ and PWD (this does not reach back
to the calling zsh of course) so they don't appear in the list.  Since
ksh doesn't put the `export' in front, you can use `allexport'; that
only lasts for the length of the function.

But remember you can make emulate local to a function.  You might get
away with something like

kshdot() { emulate ksh; setopt localoptions; . $*; }

at least for some of the scripts.

-- 
Peter Stephenson <pws@ifh.de>       Tel: +49 33762 77366
WWW:  http://www.ifh.de/~pws/       Fax: +49 33762 77413
Deutsches Elektronen-Synchrotron --- Institut fuer Hochenergiephysik Zeuthen
DESY-IfH, Platanenallee 6, 15738 Zeuthen, Germany.


  reply	other threads:[~1997-10-29 16:52 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-10-29 16:19 ramos
1997-10-29 16:46 ` Peter Stephenson [this message]
1997-10-29 16:59 ` Bruce Stephens
1997-10-29 17:08 ` Andrew Main
1997-10-29 17:11 ` Bart Schaefer
1997-10-29 17:09 ramos
1997-10-29 20:20 ` TGAPE!

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=199710291646.RAA02780@hydra.ifh.de \
    --to=pws@ifh.de \
    --cc=ramos@ih4ess.ih.lucent.com \
    --cc=zsh-users@math.gatech.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).