M[UMPS] Commands


Approved for inclusion in a future ANSI M[UMPS] language standard.

This command copies parts of a routine from implementation specific internal storage into a local or global variable. Typical practice is to edit the copy that is obtained in this way by modifying the local or global variable in question, and then re-create the routine in implementation specific internal storage by means of the RSAVE command.

Any keywords in the argument of the command are processed in strict left-to-right order. When multiple equivalent parameters are encountered, the last occurrence processed will define the action(s) to be taken.

If the argument of this command specifies a non-existent routine, an error will occur (M88).

Copy a routine into a local array. The value of LOCVAR(1) will be the same as $TEXT(+1^DIK).

Assume that the routine DEMO consists of the following lines:

DEMO ; This is an example
 WRITE !,"This is the second line"
 WRITE !,"Last line with WRITE command"

And assume that the array EDIT contains the following nodes:

SET EDIT(2)="This disappears"
SET EDIT(2,1)="This remains"
SET EDIT(3.5)=" ;This stays as well"
SET EDIT("Last Word")=" ;The final word"

After the command RLOAD DEMO:EDIT, the array will contain:

EDIT(1)="DEMO ; This is an example"
EDIT(2)=" WRITE !,""This is the second line"""
EDIT(2,1)="This remains"
EDIT(3)=" WRITE !,""Last line with WRITE command"""
EDIT(3.5)=" ;This stays as well"
EDIT("Last Word")=" ;The final word"

Examples with naked references:

SET ^ABC(1,2)="reset naked indicator"
; Naked indicator is now ^ABC(1,

; Store code in ^ABC(1,3,4)
; Naked indicator is now: ^ABC(1,3,
; Actual reference is: ^ABC(1,3,4)

Note: the code will be stored into ^ABC(1,3,4,1), ^ABC(1,3,4,2) etcetera, but the naked indicator will remain ^ABC(1,3,.

SET ^ABC(1,2)="reset naked indicator"
; Naked indicator is now ^ABC(1,
RLOAD NAME:^(3,4):(KEY1=^(5,6):KEY2=^(7,8))

; Fetch the value for the first parameter from ^(5,6) = ^ABC(1,5,6)
; Naked indicator is now: ^ABC(1,5,
; Fetch the value from ^(7,8) = ^ABC(1,5,7,8)
; Naked indicator is now: ^ABC(1,5,7,
; Store code in ^(3,4) = ^ABC(1,5,7,3,4)
Note: the code will be stored into ^ABC(1,5,7,3,4,1), ^ABC(1,5,7,3,4,2) etcetera, but the naked indicator will remain ^ABC(1,5,7,3,.

This document is © Ed de Moel, 1995-2005.
It is part of a book by Ed de Moel that is published under the title "M[UMPS] by Example" (ISBN 0-918118-42-5).
Printed copies of the book are no longer available.

This document describes the various commands that are defined in the M[UMPS] language standard (ANSI X11.1, ISO 11756).

The information in this document is NOT authoritative and subject to be modified at any moment.
Please consult the appropriate (draft) language standard for an authoritative definition.

In this document, information is included that will appear in future standards.
The MDC cannot guarantee that these 'next' standards will indeed appear.