REXX assign issue

A forum for general AmigaOS 4.x support questions that are not platform-specific
User avatar
Amigo1
Posts: 221
Joined: Sun Jan 01, 2012 3:32 pm

REXX assign issue

Post by Amigo1 »

Nice revamp of the website. This blue theme looks good. :)

I noticed something when starting an ARexx script using "RX". Apparently the REXX: assign is not searched throughly in all subpaths for a AREXX script but only SYS:S/ARexx.

I created and saved an example script named "Amiga.rexx" to RAM:ARexx.
Added the path to REXX:

assign REXX: ram:arexx ADD

and tried

"RX amiga" and "RX amiga.rexx" in a shell

Command returned 5/1: Program not found

I also added added ram:arexx to the path

path ram:arexx add

and verified that the REXX: Assign and the shell path contain the new path with

Assign LIST
and
Path

and both Additions are added to the Path and REXX: assign correctly.

But the program is still not found.

This is on AmigaOne X1000 4.1FE Update 1
I tested the same when booting from the AmigaOS 4.1 Final Edition DVD with the same result.

After this unsuccessful test, I tried again on AmigaOS 3.1 and 3.1.4.
Both classic OSs do find the ARexx script after I added ram:arexx to the REXX: assign.

I tried:

1.OS3.1:>RX amiga

and the program is launched.

Can someone confirm this?
Last edited by Amigo1 on Wed Mar 25, 2020 5:26 pm, edited 1 time in total.
User avatar
Raziel
Posts: 1170
Joined: Sat Jun 18, 2011 4:00 pm
Location: a dying planet

Re: REXX assign issue

Post by Raziel »

REXX: is set to System:S/AREXX for me and all the prgrams in there start up fine, regardless from where i start them.
Seems to be something else that interferes for you?

e.g.
PullDown Menu from Workbench
Execute command
rx OpenDrawer

brings up an ASL requester just fine
People are dying.
Entire ecosystems are collapsing.
We are in the beginning of a mass extinction.
And all you can talk about is money and fairytales of eternal economic growth.
How dare you!
– Greta Thunberg
User avatar
Amigo1
Posts: 221
Joined: Sun Jan 01, 2012 3:32 pm

Re: REXX assign issue

Post by Amigo1 »

hi,

yes, everything in SYS:S/ARexx starts just well.

The Amiga ARexx manual states that the "RX" command searches the directory "REXX:" for executables. (https://wiki.amigaos.net/wiki/AmigaOS_M ... ed#Running ARexx Programs)
but apparently it does not work if a Path is added to that assign.

Try this:
- create a new dir RAM:C
- type "Assign C: ram:C ADD" in a shell
- copy an executable from C: to to ram:C and temporarely rename the original in c: by appending .off to the name
- run the executable from a shell while your current directory is not c: or ram:c
- you will notice the command will execute

This in not the case for "RX" and the "REXX:" assingn..
At least not on AmigaOS4.1FEu1.

So the fastest fix for this, is to change the passage on the Amiga Wiki from

"ARexx programs are usually stored in the REXX: directory (which is generally assigned to the SYS:S/ARexx directory)."

to

"ARexx programs are usually stored in the SYS:S/ARexx directory."
and then change the behaviour on AmigaOS 3.2 too for consistency.

But I prefer they way it currently works on Amiga OS 3.1.4 and 3.1 and the very example with the C: directory.
User avatar
Raziel
Posts: 1170
Joined: Sat Jun 18, 2011 4:00 pm
Location: a dying planet

Re: REXX assign issue

Post by Raziel »

Ah, i see what you mean, yes, confirmed.

It doesn't look (respectively find) programs/scripts in any of the "+" added REXX: pathes.
People are dying.
Entire ecosystems are collapsing.
We are in the beginning of a mass extinction.
And all you can talk about is money and fairytales of eternal economic growth.
How dare you!
– Greta Thunberg
User avatar
Amigo1
Posts: 221
Joined: Sun Jan 01, 2012 3:32 pm

Re: REXX assign issue

Post by Amigo1 »

Ah, i see what you mean, yes, confirmed.

It doesn't look (respectively find) programs/scripts in any of the "+" added REXX: pathes.
Thanks for verifying!

I wonder if this is a general "assign" issue or just related to RX..

Does it work on a 68k Amiga OS for you?
User avatar
Raziel
Posts: 1170
Joined: Sat Jun 18, 2011 4:00 pm
Location: a dying planet

Re: REXX assign issue

Post by Raziel »

I fear it might be a sole RX problem and i further fear that it might never get fixed.

I don't have a classic anymore, so no way to check
People are dying.
Entire ecosystems are collapsing.
We are in the beginning of a mass extinction.
And all you can talk about is money and fairytales of eternal economic growth.
How dare you!
– Greta Thunberg
User avatar
nbache
Beta Tester
Beta Tester
Posts: 1714
Joined: Mon Dec 20, 2010 7:25 pm
Location: Copenhagen, Denmark
Contact:

Re: REXX assign issue

Post by nbache »

If I remember correctly, it's not a general problem as such, i.e. assigns with ADD do what they are supposed to, but some programs are not prepared for the existance of more than one component of an assign target. So it looks like Rx is one such program, not surprising, since it is part of the ARexx package which was written long ago, and hasn't seen much development in recent years.

I would personally guess that it is one of those things that will only get looked at when/if that program has to be touched for some other reason.

To verify if this is the problem here, try cancelling the REXX: assign and set it up again in the opposite order, so the RAM:ARexx component comes first.

BTW, adding the dir to Path will not help, that is only for searching commands etc. for direct execution (i.e. without Rx, Execute, etc.).

Best regards,

Niels
User avatar
Raziel
Posts: 1170
Joined: Sat Jun 18, 2011 4:00 pm
Location: a dying planet

Re: REXX assign issue

Post by Raziel »

@nbache

I've done exactly that, tried to find a workaround or solution, but to no avail.
"RX" only accesses the very first assign entry and disregards all the others.

Is the source code for AREXX available?
My memory is making me believe someone told me that AREXX is a lost cause, because there are no sources...
People are dying.
Entire ecosystems are collapsing.
We are in the beginning of a mass extinction.
And all you can talk about is money and fairytales of eternal economic growth.
How dare you!
– Greta Thunberg
User avatar
nbache
Beta Tester
Beta Tester
Posts: 1714
Joined: Mon Dec 20, 2010 7:25 pm
Location: Copenhagen, Denmark
Contact:

Re: REXX assign issue

Post by nbache »

Raziel wrote: Wed Mar 25, 2020 7:26 pm @nbache

I've done exactly that, tried to find a workaround or solution, but to no avail.
"RX" only accesses the very first assign entry and disregards all the others.
Well, that's why I suggested putting the RAM:ARexx component first and SYS:S/ARexx second, just for the sake of the test. That was in order to check whether it could then access the RAM:-based path (but not the SYS:S/ARexx one)..

If it can, it's the same problem that I described, if not, it's another problem, probably specific to Rx.

Best regards,

Niels
User avatar
Raziel
Posts: 1170
Joined: Sat Jun 18, 2011 4:00 pm
Location: a dying planet

Re: REXX assign issue

Post by Raziel »

Like i said, i did that "test" and it turns out that rx cannot access the first ADDed path (and all others further down the line)
People are dying.
Entire ecosystems are collapsing.
We are in the beginning of a mass extinction.
And all you can talk about is money and fairytales of eternal economic growth.
How dare you!
– Greta Thunberg
Post Reply