From mboxrd@z Thu Jan  1 00:00:00 1970
Path: news.gmane.org!not-for-mail
From: Stefan Monnier <monnier@IRO.UMontreal.CA>
Newsgroups: gmane.emacs.devel
Subject: Re: setenv's broken case when value is nil
Date: Thu, 18 Feb 2010 10:38:41 -0500
Message-ID: <jwvaav6ftg6.fsf-monnier+emacs@gnu.org>
References: <20100217175616.608022.FMU4029@unexploded-cow.prv.splode.com>
	<20100217180216.661079.FMU4029@unexploded-cow.prv.splode.com>
NNTP-Posting-Host: lo.gmane.org
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Trace: ger.gmane.org 1266507733 25618 80.91.229.12 (18 Feb 2010 15:42:13 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Thu, 18 Feb 2010 15:42:13 +0000 (UTC)
Cc: emacs-devel@gnu.org
To: Noah Friedman <noah@splode.com>
Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Feb 18 16:42:10 2010
Return-path: <emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org>
Envelope-to: ged-emacs-devel@m.gmane.org
Original-Received: from lists.gnu.org ([199.232.76.165])
	by lo.gmane.org with esmtp (Exim 4.69)
	(envelope-from <emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org>)
	id 1Ni8W1-00035m-CC
	for ged-emacs-devel@m.gmane.org; Thu, 18 Feb 2010 16:42:09 +0100
Original-Received: from localhost ([127.0.0.1]:55214 helo=lists.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.43)
	id 1Ni8W0-0001cb-SP
	for ged-emacs-devel@m.gmane.org; Thu, 18 Feb 2010 10:42:08 -0500
Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43)
	id 1Ni8Sn-0000Qw-F0
	for emacs-devel@gnu.org; Thu, 18 Feb 2010 10:38:49 -0500
Original-Received: from [140.186.70.92] (port=35596 helo=eggs.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.43) id 1Ni8Sj-0000Po-NA
	for emacs-devel@gnu.org; Thu, 18 Feb 2010 10:38:48 -0500
Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69)
	(envelope-from <monnier@IRO.UMontreal.CA>) id 1Ni8Si-0001iS-1L
	for emacs-devel@gnu.org; Thu, 18 Feb 2010 10:38:45 -0500
Original-Received: from chene.dit.umontreal.ca ([132.204.246.20]:39881)
	by eggs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <monnier@IRO.UMontreal.CA>) id 1Ni8Sh-0001iC-Qq
	for emacs-devel@gnu.org; Thu, 18 Feb 2010 10:38:43 -0500
Original-Received: from faina.iro.umontreal.ca (faina.iro.umontreal.ca [132.204.26.177])
	by chene.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id o1IFcfSO012140; 
	Thu, 18 Feb 2010 10:38:41 -0500
Original-Received: by faina.iro.umontreal.ca (Postfix, from userid 20848)
	id AFF473A6E4; Thu, 18 Feb 2010 10:38:41 -0500 (EST)
In-Reply-To: <20100217180216.661079.FMU4029@unexploded-cow.prv.splode.com>
	(Noah Friedman's message of "Wed, 17 Feb 2010 18:02:16 -0800 (PST)")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.91 (gnu/linux)
X-NAI-Spam-Score: 0
X-NAI-Spam-Rules: 1 Rules triggered
	RV3472=0
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3)
X-BeenThere: emacs-devel@gnu.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Emacs development discussions." <emacs-devel.gnu.org>
List-Unsubscribe: <http://lists.gnu.org/mailman/listinfo/emacs-devel>,
	<mailto:emacs-devel-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/pipermail/emacs-devel>
List-Post: <mailto:emacs-devel@gnu.org>
List-Help: <mailto:emacs-devel-request@gnu.org?subject=help>
List-Subscribe: <http://lists.gnu.org/mailman/listinfo/emacs-devel>,
	<mailto:emacs-devel-request@gnu.org?subject=subscribe>
Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org
Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org
Xref: news.gmane.org gmane.emacs.devel:121194
Archived-At: <http://permalink.gmane.org/gmane.emacs.devel/121194>

>> lorentey@elte.hu changed env.el on 2007-08-29 to define setenv-internal and
>> for setenv always to keep the variable name in process-environment, even if
>> value is nil.  In other words, he removed the distinction between the empty
>> string and nil, and therefore you can't remove variables from the
>> environment using setenv anymore.

That would be a bug, so bug-gnu-emacs would have been a better place to
send it.
This said, I don't see this bug: after (setenv "COLORTERM" nil),
a M-! printenv RET indeed doesn't show COLORTERM any more.

`process-environment' still has an entry for COLORTERM but this entry
has the form "COLORTERM" rather than "COLORTERM=" which distinguishes
the empty-string-envvars from the the absent-envvars.


        Stefan