The new std.process is ready for review

Steven Schveighoffer schveiguy at yahoo.com
Tue Feb 26 07:26:49 PST 2013


On Tue, 26 Feb 2013 10:19:04 -0500, Vladimir Panteleev  
<vladimir at thecybershadow.net> wrote:

> On Tuesday, 26 February 2013 at 14:56:37 UTC, Steven Schveighoffer wrote:
>>> That would break with programs using distinct components that rely on  
>>> that setting's value...
>>
>> They would just segfault instead of throwing an exception, no?  I think  
>> people would understand those consequences, but they could be spelled  
>> out in the docs for that property.
>>
>> We could also make the default true, since that is what existing code  
>> currently expects.
>
> I'm not really following... What does a segfault have to do with it?
>
> What I meant is that you may use two components (two libraries, or the  
> main program and one library) where one sets  
> environment.throwOnUnsetVariable. If at least one component assumes that  
> the setting is enabled or disabled, and the other component does not  
> restore the previous setting after changing it, then the first  
> component's behavior will change in an unexpected way.

You mean changing as in, instead of throwing an exception, it tries to use  
a null value and segfaults?  Not a very significant difference.

But we are splitting hairs here.  The first one could potentially change  
the environment variable that the second uses, thereby affecting the  
behavior.

-Steve


More information about the Digitalmars-d mailing list