[Date Prev][Date Next][Subject Prev][Subject Next][
Date Index][
Subject Index]
Re: Change Invisibles: migrating from Xy 3.55 to 4.017 (should be4.018
- Subject: Re: Change Invisibles: migrating from Xy 3.55 to 4.017 (should be4.018
- From: Carl Distefano CLDistefano@xxxxxxxx
- Date: Sat, 11 Mar 2000 01:43:00 +0000
Reply to note from Leslie Bialler Fri, 10 Mar
2000 14:26:50 -0500
-> "Note #8. Searching for a function call. ... If you want to
-> search for a function call that is not assigned to a key, or if
-> you want to put the search command within a program, you have
-> to use the following format:
->
-> se/fn |string mnstring|
The manual is wrong! You *can* search for a function by putting the
function itself in the SEarch command. Take this odd-looking
statement:
BX se "BX "Q2
It flags each instance of func BX, just as you'd hope and expect.
But this bombs:
BX se "Q2 "Q2
The Q2 in quotes is misinterpreted as the mate to the initial func
BX , and you get a "Separator is missing" error. The solution is to
use the alternate BX syntax, which is to enclose the command in
parens (), brackets [] or braces {}. So this...
BX {se "Q2 "}
....works as expected. It flags each instance of "Q2 ". David A.,
Harry B., and other philosophers will have noted that we're deep
into Use-Mention here. Since "()", "[]" and "{}" are the only valid
command delimiters, all of these necessarily bomb:
BX se "([{Q2 }])"Q2
BX {se "([{Q2 }])"}
BX [se "([{Q2 }])"]
BX (se "([{Q2 }])")
Indeed, the feedback loop created by "([{Q2 }])" and strings like it
means that it's impossible to construct a single SEarch statement
that will flag it. You simply can't do it.
Or can you? (Hint: Yes, you can.) Takers?
First one to solve it gets a free subscription to this list.
--------------
Carl Distefano
CLDistefano@xxxxxxxx
http://users.datarealm.com/xywwweb/