Existing 'upgrade:
>> source upgrade
upgrade: func [
    "Download a new version of REBOL if available."
    /local platforms fields me message
][
    do http://www.rebol.com/releases.html
]

Perhaps something like:
read all rebol.r files, looking for an 'upgrade address in the script
header, then 'do-ing that address in a 'try block.

Upgrade_Scripts: function [][Script Header][
    foreach Filename read %. [
        if found? find/last Filename ".r" [
            print Filename
            Script: load/header Filename
            Header: first Script
            if all [
                found? find first Header 'Upgrade
                url? Header/Upgrade
                ][
                try [
                    print ["Upgrade:" Header/Upgrade]
                    ; do Header/Upgrade
                    ]
                ]
            ]
        ]
    ]

Unfortunately, this fails with:

** Internal Error: No more global variable space.
** Where: Script: load/header Filename

after about 24 scripts have been checked. I hope this problem is fixed in
the new version of REBOL/Core.

Andrew Martin
ICQ: 26227169
[EMAIL PROTECTED]
http://members.xoom.com/AndrewMartin/
-><-

Reply via email to