Reply to note from Carl DistefanoMon, 23 Feb 2009 22:56:00 -0500 I've rounded out the "search for the unSEarchable" routine (SEFU) with two new "wild" options. In addition to searching for any 3- byte char (arg 3), any Ascii 255-based 3-byter (arg 255) and any Ascii 254-based 3-byter (arg 254), you can now search for any 3- byte function (arg F), and any wildcard character (arg W). Please note that quotation marks around these special arguments are no longer part of the syntax and should not be used. Of course -- and this is the primary motivation for this routine -- SEFU can still be used to search for *any* string, particularly strings containing wildcard characters, which are truly unSEarchable with the native SEarch command. As before, the search_string can either be placed on the CMline or DeFined in text. If text is DeFined, it trumps any search_string on the CMline (a change from prior usage). An interesting "self-referential" element here arises when the search_string contains Ascii 10, 13, 13+10 (CrLf), 174 or 175 (XYDECode: ~J ~M '^ ~< ~> ). In that instance the search_string MUST be DeFined in text; there is, inherently, no CMline option. Xy4 will not allow you to put any of these characters on the CMline in 1- byte form. When you attempt to do so, they are transformed into the corresponding SEarch wildcards (XYDECode: ;~< ;~> ;~Y ;~Q ;~[ ) -- which clearly is NOT what you want when using this routine! I didn't have this in mind when I added the DeFine usage, but in this instance having the ability to construct and DeFine a search_string in text becomes indispensable. Here's the revised routine: a new Help screen, for XYWWWEB.INF, and the U2 frame itself. I'll post an updated routine for Xy3 in a separate message. '%--_XYENCode_start-- '0 checksum 7184D05A '02-27-2009 23:59:59 For_XYWWWEB.INF'.'^'^{SEfu}'^~ SEFU.PM_for_XyWrite_IV~ _--_C.L.Distefano_rev.2/27/09'^Search_for_"unSEarchable"_ strings'.'^~ 1)_Search_for_strings_consisting_of,_o r_including,_wildcard_characters___[;A;L;N;O;S;W;X;-;~Y;~Q;~[; %.;~<;~>;0;1;2;3;4;5;6;7;8;9]_~ qua~ _strings_and_ other_;r;e;v;e;r;s;e;_;v;i;d;e;o_characters,_which_cannot_be_f ound_with_the_native_SEarch_command',_and'^2)_Perform_"wild"_s earches_for_any_3-byte_character_or_for_particular_types_of_3- byte_characters.'^'^~ Usages_(2)'^==========~ '^~< MDIT~>1)_Search'-string_on_CMline~ '^___SEFU_[search'-st ring]|3|254|255|F|W '^'^~ "Wildcard"_Args~ '^Arg__Searches_for'.'^---__-------------'^3____Any_3-byte_cha racter_(:A,_'BC,_;X,_~256,_et_al.)'^254__Any_3-byter_with_Asci i-254_in_byte_#1_(~256-~909,_et_al.)'^255__Any_3-byter_with_As cii-255_in_byte_#1_(:A,_'BC,_;X,_et_al.)'^F____Any_3-byte_func tion_('BC,_'BX,_'Q2,_et_al.)'^W____Any_3-byte_;r;e;v;e;r;s;e;- ;v;i;d;e;o_char_(SEarch_wildcards,_et_al.)'^'^~ 2)_Searc h'-string_DeFined_in_text'.~ '^___SEFU '^___~ Note'._This_usage_is_*required*_for_any_search'-strin g_that_contains_the_following_Ascii_characters_in_1-byte_form'. _10_(line_feed),_13_(carriage_return),_13+10_(CrLf),_and_174_o r_175_(angle_brackets_or_guillemets)._These_characters_cannot_ be_placed_on_the_CMline_in_true_form',_if_you_attempt_to_do_so _(e.g.,_with_frame_PUTDF-CM),_they'`re_transformed_into_wildca rds--which_will_NOT_do_for_present_purposes'|_Alternatively,_y ou_can_issue_~ ~ ~>'JM2.GetPath'Q2 ~ +"\XYWWWEB.INF"~>'JM2.CallorGo/9'Q2'DX'TF'BXse/ f__U2L,U2L*,'Q2'JM2.MoveHM'Q2'DO'FF~>U2L~ _to_o pen_a_"large_CMline"_text_window,_construct_your_SEFU_command_ there,_and_issue_U2L _again_to_execute_the_search.'^'^ Additional_remarks'.'^-_Cursor_stops_on_first_character_of_sea rch'-string_if_found.'^-_All_searches_are_cAsE-Absolute.'^-_De Fined_text_takes_precedence_over_CMline_arg.'^-_To_learn_about _XyWrite'`s_3-byte_characters_and_their_uses,'^____read~ _~ 'JM2.ViewURL'Q2~>CTRLCHAR.TXT~ .'^'^~ '^For_use_by_R ENUMBER.PM'^Renumber_frame_SEFU_in_PACK_mode'^Default_S/G_rang e_=_01-10',_50'^OPTIONs_(1)'.'^FREEZE_50'^~ '^-~I-~I-~I-~I -~I-~I-~I-~I-~I-'^'^For_U2'.'^'^{{5SEfu}}_Search_for_"unSEarch able"_strings_[CLD_rev.2/25/09]'^~B~ ==1~>~ 'DZ~ >0~>~ ~ -~ ~>~ ~ >0~>'BXes_1'Q2'GT~ 'NO~ ~< XS02,03,04,05,05~>~ ~ ~ )=="""F"" "'|@upr(~ )=="""W"""~>~ ~ )=="" "F"""~>~ ~ ~="DLL"~>~ +"~131"~>~ ~ ~ ~ =="""255"""'|~ >1~>~ ~>~ ~ ~ =="""254"""~>~< SX50,~ ~>~ ~ ~ ~>'DX~ ~< LBb~>'YD'CR~ <1~>~ +1024~>'DF'BXjmp_~ 'Q2~ <1~>'CR'CL~ 'DF~ ',*','^',*',_Ar g_[search'-string],_"254",_"255",_"F"_or_"W"'.'^~ <> """3"""~>~ ~ ~ ~{~ ~>~ <>~ &~ <0~>~ ~ ',*','^',*', _Possible_hit'.'^~ +~ ~>~ ~ >-1~>',*','^',*',_Wild_func_or_wild_wildcard_(arg_"F"_or_"W" )'.'^~ >1~>~ +~ +3~>'BXjmp_~ 'Q2'YD'DF'CL',*','^',*',___Tame_erratic_cursor_on_"hot"_3- byter'.'^~ <>~ -3~>~ -3~>'BXjmp_~ 'Q2~
',*','^'DF~ 'YD~ +"~252"+~ ~>~ ~ ',*','^~ >0&~ ~{~ <0~>~ ~ ',*',_Not_a_func'^~< IF~ <1&(~ <"~192"'|~ =="~192"&~ <"~128 ")~>',*',_Not_a_wildcard'^~ ~ ',*','^~ ~>~< GLd~>~ ',*',_Func_or_wildcard_found'^',*',_Search'-string_ found'.'^~ +~ ~>~ 'YD'BXjmp_~ 'Q2 ~ >0~>~ +~ ~>'DO'FF'DF'BXjmp_~ 'Q2'DF'DB~ 'DX~ ~ >7~>'MU~ ~ ~< SX02,"Found'._~ ="+~ ~>'DO'FF~ ~ ~ ', *','^',*',_Wild_3-byter_(arg_"3")'.'^~ ~ ~= ~ ~>~ ~{~ ~>~ ~ ~=~ ~>~ <0'|~ ~{~ <~ ~>~ ~{~ ~>~ ~ ~ <0~>~ ~ ~ ~ 'BXjmp_~ 'Q2'DO'FF~ ~ ~ ~ ~>~ ~< EI~>~ ~B'^'^~Z '%--_XYENCode___end-- -- Carl Distefano cld@xxxxxxxx