Discussion:
Suggested enhancement: bypass symbol definitions when executing DCL commands
Add Reply
Simon Clubley
2021-05-31 18:10:20 UTC
Reply
Permalink
It was sometimes useful to add an incorrect character to avoid a symbol
definition - for example deletes
It still is useful. If you work at various customers' systems from time
to time, with setups varying from customer to customer, it is convenient
to type "$ direx /qual1 /qual2" to get displayed exactly the file
attributes you want for the files you want to see.
I never found a customer system with "direx" defined as a symbol, and if
it would be defined it wouldn't do much harm. On the other side, most
customers have some dir* symbols defined, with and without abbreviaton.
Similar for other commands like copy etc.
That's one hell of an ugly hack and there should be a far better way to
handle this other than resorting to that.

Didn't one of the other DCL implementations (maybe RSTS/E V9 onwards)
allow the use of a leading underscore to skip any symbol translations ?

Something like:

$ _dir filename.dat

would get you the "real" dir command without having to worry about
symbols.

I wonder if we could have something like this for VMS DCL ?

Simon.
--
Simon Clubley, ***@remove_me.eisner.decus.org-Earth.UFP
Walking destinations on a map are further away than they appear.
Phillip Helbig (undress to reply)
2021-05-31 19:56:32 UTC
Reply
Permalink
Post by Simon Clubley
I wonder if we could have something like this for VMS DCL ?
I've known about a trailing underscore for decades.
Stephen Hoffman
2021-05-31 20:31:45 UTC
Reply
Permalink
Post by Phillip Helbig (undress to reply)
Post by Simon Clubley
I wonder if we could have something like this for VMS DCL ?
I've known about a trailing underscore for decades.
There's no trailing-underscore syntax in DCL—any more than there's
actually really any leading underscore syntax in logical name support
with V4.0 and later—there's just stuff appended to the command that
gets ignored by the parser but that also suppresses symbol matches.
--
Pure Personal Opinion | HoffmanLabs LLC
Phillip Helbig (undress to reply)
2021-06-01 04:32:39 UTC
Reply
Permalink
Post by Phillip Helbig (undress to reply)
Post by Simon Clubley
I wonder if we could have something like this for VMS DCL ?
I've known about a trailing underscore for decades.
There's no trailing-underscore syntax in DCL—any more than there's
actually really any leading underscore syntax in logical name support
with V4.0 and later—there's just stuff appended to the command that
gets ignored by the parser but that also suppresses symbol matches.
Right. But it works. :-)
Simon Clubley
2021-06-01 12:08:48 UTC
Reply
Permalink
Post by Phillip Helbig (undress to reply)
Post by Simon Clubley
I wonder if we could have something like this for VMS DCL ?
I've known about a trailing underscore for decades.
Very much _NOT_ the same thing.

Using a trailing underscore in that way is no different than typing
a trailing letter and is as big a hack.

You can't use a trailing underscore after only 3 characters and you have
to type 4 characters before you can append the underscore, just as you do
when appending a letter.

I wonder how much effort it would be to add support for a leading underscore.

Simon.
--
Simon Clubley, ***@remove_me.eisner.decus.org-Earth.UFP
Walking destinations on a map are further away than they appear.
Arne Vajhøj
2021-05-31 23:42:33 UTC
Reply
Permalink
Post by Simon Clubley
It was sometimes useful to add an incorrect character to avoid a symbol
definition - for example deletes
It still is useful. If you work at various customers' systems from time
to time, with setups varying from customer to customer, it is convenient
to type "$ direx /qual1 /qual2" to get displayed exactly the file
attributes you want for the files you want to see.
I never found a customer system with "direx" defined as a symbol, and if
it would be defined it wouldn't do much harm. On the other side, most
customers have some dir* symbols defined, with and without abbreviaton.
Similar for other commands like copy etc.
That's one hell of an ugly hack and there should be a far better way to
handle this other than resorting to that.
Didn't one of the other DCL implementations (maybe RSTS/E V9 onwards)
allow the use of a leading underscore to skip any symbol translations ?
$ _dir filename.dat
would get you the "real" dir command without having to worry about
symbols.
I wonder if we could have something like this for VMS DCL ?
DCL does have:

$ set symbol/scope=(nolocal,noglobal)

Arne
Simon Clubley
2021-06-01 12:11:03 UTC
Reply
Permalink
Post by Arne Vajhøj
Post by Simon Clubley
Didn't one of the other DCL implementations (maybe RSTS/E V9 onwards)
allow the use of a leading underscore to skip any symbol translations ?
$ _dir filename.dat
would get you the "real" dir command without having to worry about
symbols.
I wonder if we could have something like this for VMS DCL ?
$ set symbol/scope=(nolocal,noglobal)
Not exactly viable for interactive use unfortunately. :-)

Simon.
--
Simon Clubley, ***@remove_me.eisner.decus.org-Earth.UFP
Walking destinations on a map are further away than they appear.
Arne Vajhøj
2021-06-01 12:42:48 UTC
Reply
Permalink
Post by Simon Clubley
Post by Arne Vajhøj
Post by Simon Clubley
Didn't one of the other DCL implementations (maybe RSTS/E V9 onwards)
allow the use of a leading underscore to skip any symbol translations ?
$ _dir filename.dat
would get you the "real" dir command without having to worry about
symbols.
I wonder if we could have something like this for VMS DCL ?
$ set symbol/scope=(nolocal,noglobal)
Not exactly viable for interactive use unfortunately. :-)
So you do want some symbols.

:-)

$ set symbol/scope=notable

to disable symbols that shadows verbs in dcltables?

:-)

Arne
Arne Vajhøj
2021-06-01 12:44:41 UTC
Reply
Permalink
Post by Arne Vajhøj
Post by Simon Clubley
Post by Arne Vajhøj
Post by Simon Clubley
Didn't one of the other DCL implementations (maybe RSTS/E V9 onwards)
allow the use of a leading underscore to skip any symbol translations ?
$ _dir filename.dat
would get you the "real" dir command without having to worry about
symbols.
I wonder if we could have something like this for VMS DCL ?
$ set symbol/scope=(nolocal,noglobal)
Not exactly viable for interactive use unfortunately. :-)
So you do want some symbols.
:-)
$ set symbol/scope=notable
to disable symbols that shadows verbs in dcltables?
:-)
No matter what then I don't see this as a major problem
worth much effort by VSI.

Arne
V***@SendSpamHere.ORG
2021-06-01 14:33:58 UTC
Reply
Permalink
Post by Simon Clubley
Post by Arne Vajhøj
Post by Simon Clubley
Didn't one of the other DCL implementations (maybe RSTS/E V9 onwards)
allow the use of a leading underscore to skip any symbol translations ?
$ _dir filename.dat
would get you the "real" dir command without having to worry about
symbols.
I wonder if we could have something like this for VMS DCL ?
$ set symbol/scope=(nolocal,noglobal)
Not exactly viable for interactive use unfortunately. :-)
It works interactively. Try it.
--
VAXman- A Bored Certified VMS Kernel Mode Hacker VAXman(at)TMESIS(dot)ORG

I speak to machines with the voice of humanity.
Simon Clubley
2021-06-01 17:38:14 UTC
Reply
Permalink
Post by V***@SendSpamHere.ORG
Post by Simon Clubley
Post by Arne Vajhøj
$ set symbol/scope=(nolocal,noglobal)
Not exactly viable for interactive use unfortunately. :-)
It works interactively. Try it.
It was more a comment on having to issue and then reverse the command
potentially multiple times during an interactive session. Using /VERB
does make it more viable thanks but that's still not perfect.

I wonder how many other people didn't know about this either given
the number of comments here about still placing a character at the
end of a command ?

Simon.
--
Simon Clubley, ***@remove_me.eisner.decus.org-Earth.UFP
Walking destinations on a map are further away than they appear.
Arne Vajhøj
2021-06-01 19:01:14 UTC
Reply
Permalink
Post by Simon Clubley
Post by V***@SendSpamHere.ORG
Post by Simon Clubley
Post by Arne Vajhøj
$ set symbol/scope=(nolocal,noglobal)
Not exactly viable for interactive use unfortunately. :-)
It works interactively. Try it.
It was more a comment on having to issue and then reverse the command
potentially multiple times during an interactive session. Using /VERB
does make it more viable thanks but that's still not perfect.
/VERB seems useful for COM files.

But I do not see a big difference interactively. It must be
extremely rare to use symbols in parameters/qualifier interactive.

Arne
Stephen Hoffman
2021-06-01 20:54:14 UTC
Reply
Permalink
I wonder how many other people didn't know about this either given the
number of comments here about still placing a character at the end of a
command ?
Local preference would be tools that better handle symbol scope, which
DCL does not do at all well.

I've used SET SYMBOL mostly defensively, though prefer to append a character.

Particularly prefer it interactively, as SET SYMBOL will invariably
blow out some other needed symbol.

DCL is a creature of the 1970s, with ~forty years of baggage.
--
Pure Personal Opinion | HoffmanLabs LLC
V***@SendSpamHere.ORG
2021-06-01 14:31:31 UTC
Reply
Permalink
Post by Simon Clubley
It was sometimes useful to add an incorrect character to avoid a symbol
definition - for example deletes
It still is useful. If you work at various customers' systems from time
to time, with setups varying from customer to customer, it is convenient
to type "$ direx /qual1 /qual2" to get displayed exactly the file
attributes you want for the files you want to see.
I never found a customer system with "direx" defined as a symbol, and if
it would be defined it wouldn't do much harm. On the other side, most
customers have some dir* symbols defined, with and without abbreviaton.
Similar for other commands like copy etc.
That's one hell of an ugly hack and there should be a far better way to
handle this other than resorting to that.
Didn't one of the other DCL implementations (maybe RSTS/E V9 onwards)
allow the use of a leading underscore to skip any symbol translations ?
$ _dir filename.dat
would get you the "real" dir command without having to worry about
symbols.
I wonder if we could have something like this for VMS DCL ?
$ SET SYMBOL/VERB/SCOPE
--
VAXman- A Bored Certified VMS Kernel Mode Hacker VAXman(at)TMESIS(dot)ORG

I speak to machines with the voice of humanity.
Simon Clubley
2021-06-01 17:33:14 UTC
Reply
Permalink
Post by V***@SendSpamHere.ORG
$ SET SYMBOL/VERB/SCOPE
That works Brian even though it says it's only for use in command
procedures.

The annoying thing is that it appears to be global so you can't
override a DIR command while leaving a /CONFIRM on DELETE in place.

Simon.
--
Simon Clubley, ***@remove_me.eisner.decus.org-Earth.UFP
Walking destinations on a map are further away than they appear.
V***@SendSpamHere.ORG
2021-06-02 16:55:23 UTC
Reply
Permalink
Post by Simon Clubley
Post by V***@SendSpamHere.ORG
$ SET SYMBOL/VERB/SCOPE
That works Brian even though it says it's only for use in command
procedures.
The annoying thing is that it appears to be global so you can't
override a DIR command while leaving a /CONFIRM on DELETE in place.
Redefine the DELETE command and make /CONFIRM a default qualifier.
--
VAXman- A Bored Certified VMS Kernel Mode Hacker VAXman(at)TMESIS(dot)ORG

I speak to machines with the voice of humanity.
Loading...