[Date Prev][Date Next][Subject Prev][Subject Next][ Date Index][ Subject Index]

Re: AE* expand*



On Thu, Apr 10, 2008 at 7:42 PM, Carl Distefano mailto:cld@xxxxxxxx wrote:

To start from the end and work backwards: JM 2.routinenameQ2 is the
XPL syntax to call a routine stored in the loaded U2 file. And, yes,
the "2" refers to U2; JM 3.routinenameQ2 calls a routine stored in
U3, and so on. JM routinenameQ2 (no numeric prefix) calls a routine
in the loaded DiaLoG (DG) file (usually XY4.DLG), which is the
factory-issued (but user-modifiable) repository for the dialog boxes
that are part of the (optional) menus. (The top level menu routines,
by the way, are stored in the MeNU (MN) file. As a point of
(negative) interest, there is no method for calling a MN routine
directly from an XPL program. The only access to those routines is
via func SH, which displays the top-level menu, followed by
navigation keystrokes; e.g., SH my (that's func SH, letter M, letter
Y) to get to the Styles menu options.)

Func XH, as you point out, is supposed to cancel any displayed menu.
Clearing menus before starting an XPL procedure is a good idea, as
some statements might be misinterpreted if a menu is displayed.
Whether func XH actually clears any menus (or does anything at all,
for that matter) is questionable, at least in Xy4; in truth, I've
never seen it produce any such effect. We include it in our KBD file
macros for good form's sake. Well, that's my take, anyway; Robert
may have more to say on the subject.

The func NO that starts virtually every KBD macro of ours is there
to accommodate http://STACK.PM, Robert's command history tool. It avoids
the "Hit key again" PRompt that Stack issues when it's waiting for a
CursorUp or Down keystroke (to scroll through the command history),
but receives another keystroke instead. If you don't use Stack, you
can omit the func NO, but since Robert and I both view Stack as
essential, the initial NO will be ever-present in our KBD file
usage.


Thank you. I do use stack, and wondered where that "Hit key again" came from as I was developing the keyboard macro, without the NO. A pleasure to have your help. FW.