dash.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Eric Blake <eblake@redhat.com>
To: Joachim Breitner <mail@joachim-breitner.de>, dash@vger.kernel.org
Subject: Re: dash drops exported bash functions
Date: Wed, 10 Feb 2016 08:54:40 -0700	[thread overview]
Message-ID: <56BB5D40.4070401@redhat.com> (raw)
In-Reply-To: <1455117533.18345.59.camel@joachim-breitner.de>

[-- Attachment #1: Type: text/plain, Size: 1409 bytes --]

On 02/10/2016 08:18 AM, Joachim Breitner wrote:
> Dear dash developers,
> 
> a change in 0.5.8, very likely this one
> http://git.kernel.org/cgit/utils/dash/dash.git/commit/?id=46d3c1a614f11f0d40a7e73376359618ff07abcd
> broke the exporting of bash shell functions via the environment.

Not a bug. POSIX says that on shell startup, the behavior of any
inherited environment variables that do not start with a proper shell
name is undefined; and allows shells to scrub such items out of the
environment on startup.  Just because bash does not scrub them (but
instead treats them as shell function imports) does not mean dash has to
behave the same.

That said, preserving any unusable environment variables unchanged,
rather than scrubbing them, may be slightly nicer behavior, but I'm not
sure it's worth the bloat to dash to do so.

> 
> Exporting bash functions via the environment might be a rarely used
> feature, but it is used in practice, unfortunately (otherwise I
> wouldn’t have noticed this).

Exporting bash functions is only usable if you plan on directly invoking
bash.  Don't drag dash into the mess.  Inserting a dash child in between
a bash parent and grandchild means all bets are off for whether the
grandparent can export anything to the grandchild.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]

  reply	other threads:[~2016-02-10 15:54 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-10 15:18 dash drops exported bash functions Joachim Breitner
2016-02-10 15:54 ` Eric Blake [this message]
2016-02-10 16:31   ` Joachim Breitner
2016-02-11  3:53 Makarius
2016-02-11 12:15 ` Makarius
2016-02-11 13:40   ` Makarius
2016-02-11 14:19     ` Olof Johansson
2016-02-11 14:30       ` Makarius
2016-02-11 14:46         ` Stephane Chazelas

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=56BB5D40.4070401@redhat.com \
    --to=eblake@redhat.com \
    --cc=dash@vger.kernel.org \
    --cc=mail@joachim-breitner.de \
    /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.
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).