directory alias bug?

#1
I have a directory alias:

alias hu*tils:=c:\_\HUtils\

The definition is accepted, but when I use it only the full form (e.g., dir hutils:) works; the abbreviated (e.g., dir hu:) versions do not. I don't see anything in the help saying that abbreviation cannot be used in directory aliases.
 
Jun 2, 2008
284
1
Newton, MA
#2
> the abbreviated (e.g., dir hu:) versions do not. I
> don't see anything in the help saying that
> abbreviation cannot be used in directory aliases.

In fact, abbreviations don't work because of the requirement to have a
colon. With your definition, "hu*tils:=c:\_\HUtils\", you would have to
issue the command as "dir hu" with no colon, since "hu:" does not match
the beginning characters of "hutils:".

I wish that Rex had made directory aliases distinct from command aliases
(loaded into a separate memory space). Then one could define a directory
alias

diralias hu*tils=c:\_\HUtils\ (note: no colon in the alias name)

Then the expressions hu:, hut:, hutil:, etc. would all match that
abbreviated directory alias, with the terminating colon being the signal
to check the directory alias definitions. By storing the directory
aliases together with the command aliases, I suspect it is really hard
to deal with abbreviations of directory aliases.

What I do is define a whole series of directory aliases:

hu:=dirname
hut:=dirname
huti:dirname
(etc.)

It's slightly tedious, but it works.

-- Jay
 

rconn

Administrator
Staff member
May 14, 2008
10,499
94
#3
> I have a directory alias:
>
> alias hu*tils:=c:\_\HUtils\
>
> The definition is accepted, but when I use it only the full form (e.g.,
> dir hutils:) works; the abbreviated (e.g., dir hu:) versions do not. I
> don't see anything in the help saying that abbreviation cannot be used
> in directory aliases.
You cannot use abbreviations in directory aliases. (There's nothing in the
help that says you *can* use abbreviations!)

If I could do it over, I would eliminate all abbreviated alias support, as
IMO it provides a miniscule benefit for a miniscule number of users, while
greatly complicating expansion.

Rex Conn
JP Software
 
#4
On Wed, 25 Nov 2009 19:31:09 -0600, rconn <> wrote:

|---Quote---
|> I have a directory alias:
|>
|> alias hu*tils:=c:\_\HUtils\
|>
|> The definition is accepted, but when I use it only the full form (e.g.,
|> dir hutils:) works; the abbreviated (e.g., dir hu:) versions do not. I
|> don't see anything in the help saying that abbreviation cannot be used
|> in directory aliases.
|---End Quote---
|You cannot use abbreviations in directory aliases. (There's nothing in the
|help that says you *can* use abbreviations!)
|
|If I could do it over, I would eliminate all abbreviated alias support, as
|IMO it provides a miniscule benefit for a miniscule number of users, while
|greatly complicating expansion.

I've never used it in fifteen years or so. What's the point? Why use (and
remember) anything longer than the shortest form?
--
- Vince
 
Jun 2, 2008
284
1
Newton, MA
#5
> I've never used it in fifteen years or so.

I, on the other hand, have used it extensively.

> What's the point? Why use (and remember) anything
> longer than the shortest form?

I find it's easier and more reliable to remember long, self-descriptive
command names, and then to use shorter forms. If I'm not sure I remember
the short form, I can always use the long one.

On the other hand, I think that Rex is correct: we really could do
without them. Today's computers have tons of memory, so who cares if we
have to define several versions of an alias. So instead of defining, for
example

plugl*oad=*plugin /L ...

one can define

plugload=*plugin /L ...
plugl=plugload

Not only do we have tons of memory, but computers are so fast that the
extra processing time to handle the larger number of aliases is negligible.

-- Jay

P.S. I should have used that same approach in my previous directory
alias example.

hu:=c:\_\HUtils\
hut:=hu:
huti:=hu:
hutil:=hu:
hutils:=hu:

This way the whole set of definitions can be changed on one line.