On Wed, Dec 01, 2010 at 01:52 PM, Grissiom said: > Nice work ;) Thanks.
> I have a suggestion regard with BROWSER. I think we should > check BROWSER at first. If it fails for some reason(invalid > name, dead link etc.), we should warn the user and proceed to > find a suitable browser by our own. I think mix the BROWSER and > {graphical,text}_browsers are bad idea because users won't be > aware of the wrong settings. Originally help.fish would blindly use $BROWSER if the variable existed regardless of whether it it existed or was appropriate (it tried to open firefox in a vconsole and I got no help). By mixing $BROWSER in with the lists, I was able to accomplish most of the things you are requesting, plus other good things: 1) Test $BROWSER before blindly assuming it exists. 2) Fallback to our list of browsers if $BROWSER fails. 3) Don't try $BROWSER first in text mode unless we know it is a text browser. 4) But use it as a last resort in text mode as long as it is not a known graphical browser. The only thing I don't do is warn the user if $BROWSER didn't work. This is slightly complicated by the fact that we don't try $BROWSER first in text mode (unless it is a known text browser). But something like this might work: if test "$BROWSER" = "$browsers[1]" -a "$BROWSER" ~= "$fish_browser" echo "Error message" end If it was the first choice and we didn't select it then it must be broken. I should probably loop over $CONSOLE_BROWSER and $BROWSER (yet again). > P.S. it seems you use mixed tab and space indent... fish_indent > is your friend ;) Thanks. Sorry about that. I had been using: >XX> functions help > ~/fish.help to create the version I upload. I figured that would do the right thing. I'll try to pipe it through my poorly patched version of fish_indent next time. > P.P.S. the if block started in line 101 seems a bit complected, is > that what you mean? ;) The comment says: #------------------------------------------------------------------------ # Always try user's browser first in graphical mode. Only try it first # in text mode if it is a known text browser, otherwise use it as a last # resort, if it is not a known graphical browser, since by then we have # little to lose. #------------------------------------------------------------------------ $graphical_browsers contains the list of browser we will check in graphical mode. $text_browsers contains the list we will check in text mode. So we always prepend $BROWSER to $graphical_browsers, we prepend it to $text_browsers if it is a known text browser, otherwise, we append it to $text_browsers as long as it is not a known graphical browser. I can use the "not" builtin to get rid of the else clause, perhaps this is what you were hinting at. I think I'm doing the right thing in that block and I think I'm doing it as simply as possible (modulo the minor change above). But if that's the case then I need to add some comments because the existing code and comments are still confusing. IMO the block starting on line 101 was the heart of my changes to the code. If I've won you over to my was of seeing things, can you offer a suggestion of what comments to add to make this more clear for others? Perhaps I could add the 4-point list above to the existing comment. Peace, James ------------------------------------------------------------------------------ Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! Tap into the largest installed PC base & get more eyes on your game by optimizing for Intel(R) Graphics Technology. Get started today with the Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. http://p.sf.net/sfu/intelisp-dev2dev _______________________________________________ Fish-users mailing list Fish-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/fish-users