[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

New command suggestion



    Date: Monday, 30 July 1984, 17:32-EDT
    From: Mike McMahon <MMcM at SCRC-TENEX>

        Date: 21 Jul 1984  20:44 EDT (Sat)
        From: Scott Layson <X.GYRO@MIT-OZ>

        This is a really handy command I invented for the FinalWord editor.
        FW users are so fond of it that I thought someone might want to add it
        to Zmacs.  I bind it to c-C, which (as far as I know) has never been
        bound in the default system.

    I'm curious why people find this command useful (don't misunderstand --
    I'm not denying that they do).  Is it because it works on the previous
    word so easily, saving one the trouble of typing c--?  Or are
    uppercasing and lowercasing and capitalizing similar enough that it's
    easier to try this command until you get the look you wanted than
    remember the correct command?

The former, I believe.  Its usefulness seems directly connected with
its being on a single easily available keystroke.  It's very much in
the same spirit as c-T.  And I feel like it's not so much a problem to
@i<remember> the correct one of m-L, m-C, m-U as it is to build it
into one's fingers, if you will -- particularly the complex dance
required to type m-- m-C.  In fact, I find I usually know in advance
(having by now had a lot of practice) whether I will need to type one
or two c-C's.

    This command really doesn't undo itself, for example if applied to
    FinalWord.  Not that it should, but the documentation claims that it
    does.

Quite right.  I'm musing on the possibility that it should do
something more intelligent in such cases -- this might be handy for
writing code in languages that encourage mixed-case names -- but I
don't have a coherent proposal.

    The lowercase determination isn't hairy enough.  Some word-alphabetic
    characters aren't letters.  For example, this command is a no-op on the
    word "105foobar".  m-C would capitalize the "f".

Right again.  This is so rarely annoying that I've never bothered to
fix it.

    A command that doesn't move point as part of its user interface
    shouldn't move it internally.  Instead, you should compute BP's for the
    range you want to operate in and call subroutines rather than the actual
    commands.  What you did is unfortunately often easier without any
    extension writers tools.

Yeah, I've never taken the time to familiarize myself with Zwei
internals or proper command-writing style.  I understand what you
mean, though, and would have preferred to do it that way, but was
lazy.

    Why should an argument be ignored?

Well, what should it do?  Executing the command 4 times is (with the
noted exceptions) just like executing it once, so c-U is pretty
useless; the only interesting number of times to do it is 2, or if you
prefer -1, but it's easier to hit the key twice.  Actually, I just
thought of something I would like: a single c-U should make it act as
if Atom Word Mode were on.  I would like to be able to use it to
uppercase symbols in text (as opposed to code).

-- Scott