From: Evan Webb Date: 2006-02-08T02:06:26+09:00 Subject: Re: [RCR] ruby --quiet; was Re: ANDCALL / iff? / &? (was Re: ruby-dev summary 28206-28273) I think you've hit the point exactly, -w is only really useful at development time. At runtime, you never want the warnings popping out because you've already delt with them. Perhaps thats the reason matz has left -w off by default (matz, care to chime in?), so it can be used as runtime lint. The main problem occurs when people want warns to occur at runtime. Suddenly, they're getting warnings for perfectly valid code that works great just so that some other warning somewhere else might be emitted. The crux of this is that the warning system needs a bit of an overhaul (Dan Berger has been requesting this for quite a while). The overhaul might include the ability to turn certain warnings on or off, or might include that much fabled ruby lint. - Evan On 2/7/06, ara.t.howard@noaa.gov wrote: > 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 > > -- When I do good, I feel good; when I do bad, I feel bad, and that is my religion. -- Abraham Lincoln (1809 - 1865)