On Wed, 8 Feb 2006, Timothy J. Wood wrote:

>
> On Feb 7, 2006, at 7:05 AM, ara.t.howard / noaa.gov wrote:
>> i agree.  however -w should not be changed.  simply do
>> 
>>   $VERBOSE=nil
>> 
>> and you will get no warnings.  i use it often due to ruby's over-zealous
>> warnings
>
>  These two statements seem contradictory to me.  If -w is useful, then it
>  shouldn't be turned off.  If it isn't useful, then it shouldn't exist (or
>  should be fixed).

array bounds checking is useful - but it's often desirable to turn it off
because it hinders performance.  by that i mean to say that just because
something is useful under some circumstances does not mean that it is useful
in all circumstances.  specifically -w is not useful when world writable
directories are involved since programs of any significant length and
complexity will spew pages of warnings.  i write much code that is shared and
run by users who know nothing about ruby; when they see a page of warnings go
screaming by it's hardly confidence inspiring.  -w is useful to me during
development, but not to them in a production environment.

btw.  the RCR i made was essentially to modify -w to make it more useful, but
currently setting $VERBOSE directly is the way to get around it.

>  How about the same idiom as in gcc for this particular case?
>
> 	if a = b # warns
> 		...
> 	end
>
> 	if (a = b) # doesn't warn
> 		...
> 	end
>
>  Better yet have warnings be individually configurable:
>
> 	ruby -w # all warnings on
> 	ruby -w -wno_assign_in_conditional # everything but this warning
>
> 	# Or, at runtime...
> 	$WARNINGS[:assign_in_conditional] = false
>
>  I admit, I'm a warning zealot and compile my C code with '-Wall -Werror 
> -Weverything-not-included-inWall' ... :)

indeed.  a more complex warning scheme would be nice.

regards.

-a

-- 
happiness is not something ready-made.  it comes from your own actions.
- h.h. the 14th dali lama