• Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

AltME groups: search

Help · search scripts · search articles · search mailing list

results summary

worldhits
r4wp119
r3wp1313
total:1432

results window for this page: [start: 1301 end: 1400]

world-name: r3wp

Group: Parse ... Discussion of PARSE dialect [web-public]
BrianH:
4-May-2011
If you're going to make a better parse, it might be good to take 
into account the efforts that have already started to improve it 
in R3. The R3 improvements need a little work in some cases, but 
the thought that went into the process is quite valuable.


[set end ...] or [copy end ...]: In R3, using any PARSE keyword (not 
just 'end) in a rule for other reasons triggers an error.
>> parse [a] [set end skip]
** Script error: PARSE - command cannot be used as variable: end

[any end] or [some end]: What Ladislav said.


[opt end]: The point of the combination is [opt [end (do something)]]. 
[opt anything] is no more useless than [opt end]. Don't exclude something 
that has no effect just for that reason. Remember, [none] has no 
effect as well, but it's still valuable for making rules more readable.
Endo:
20-Dec-2011
I'm using it to prepare data to bulk insert into a SQL Server table 
using BCP command line tool.

I need to make some changes like /no-quote to not quote string values. 
Because there is no option in BCP to tell my data has quoted string 
values.
Group: !REBOL2 Releases ... Discuss 2.x releases [web-public]
Henrik:
24-Aug-2008
Has anyone tried Cyphre's my-http.r on REBOL/View 2.7.6?

I get an error here:

>> read http://www.rebol.net
** Script Error: querying has no value
** Where: halt-view
** Near: http-command: either querying ["HEAD"] ["GET"]
sqlab:
9-Sep-2008
In the old days of  pre-Command  or  View/beta I wrote an ODBC-Wrapper.
Graham:
9-Sep-2008
you need R/command.
sqlab:
9-Sep-2008
At the moment I have no access to that old pc and script. I takes 
a few days, but then you can get it.

At least someone was even using it on Linux, as Command does not 
provide ODBC access there.
Carl:
28-Dec-2009
Last year we sold very few View/Pro licenses (maybe 2?)  People buy 
the SDK or Command.
Pekr:
28-Dec-2009
The only thing left in /Command is - fastcgi, SSL, ODBC, mySQL?
BrianH:
28-Dec-2009
Will, that "echo" calls a cmd.exe internal command on Windows. Might 
that be part of the delay?
amacleod:
28-Dec-2009
I think someone has google mail working with rebol command
amacleod:
28-Dec-2009
Not SDK command
Graham:
29-Dec-2009
It's already in Sdk/command ...
Graham:
29-Dec-2009
Carl hasn't mentioned anything about freeing Rebol command which 
still sells
amacleod:
29-Dec-2009
I did not know I would have the need when I bought SDK so I did not 
get SDK/Command
Graham:
29-Dec-2009
rebol command sdk
Graham:
29-Dec-2009
Seeing how he has released a free rebol command which currently lists 
for $349.
Pekr:
29-Dec-2009
BrianH: how can you write your own client to R3 Chat? Can you actually 
use its command set? I mean - create a gui, and "send" command like 
"n", "lm", etc. to console in the background?
Graham:
29-Dec-2009
>> help run
USAGE:
    RUN file /as suffix

DESCRIPTION:
     Runs the system application associated with a file.
     RUN is a native value.

ARGUMENTS:

     file -- The file to open (file, URL) or command to run (string). 
     (Type: file url string)

REFINEMENTS:
     /as
         suffix -- (Type: string file)
>> run "screen.png"
** Script Error: Feature not available in this REBOL
** Near: run "screen.png"
BrianH:
1-Jan-2010
No, the SDK isn't free. I'm not sure what extras /Command has yet 
- I haven't tried the final release yet, just test releases. Just 
got home.
BrianH:
2-Jan-2010
The next version should have support for the links to the online 
docs right from the R2 command line, just like R3.
Graham:
2-Jan-2010
Same failure under R/command
BrianH:
12-Jan-2010
The SSL/TLS in 2.7.7 works exactly as well as it did in /Command 
in prior versions. The only change was licensing.
Graham:
16-Mar-2010
There's a rebcmd with ssl that is part of rebol/command of course 
... I was guessing Carl was keeping it that way.
Gregg:
24-Mar-2010
I've thought about doing that as well Henrik, but by needs ended 
up being very static. I have also considered a test app that you 
could use to preview the result and then copy the command line, life 
effect-lab and font-lab.
TomBon:
7-Apr-2010
is there any solution or idea for multiple feeding a running console 
app
started via call/wait/input/output ?
have tried a pass a open port but no luck. the console needs more
than one command to work properly. the ideal solution would be to

hold the console app permanently open, feed it via write-io or (something
like this) and parse the output. any hint?
sqlab:
7-Apr-2010
If your app runs under linux, you can use the telnet scheme to command 
the app.
Pekr:
15-Apr-2010
is CLI connector done in REBOL? Or does it call some external command-line 
cross-db access tool and REBOL just parses the data?
Pekr:
15-Apr-2010
Theoretically it could be done all in REBOL. E.g. SQLite has sqlite.exe, 
MS SQL has some executable for querying the db too. I just thought, 
that calling command line tool is going to be orders of magnitude 
slower, than ODBC access ... at least under Windows ...
GiuseppeC:
1-May-2010
Sorry, I hava modified the command. Originally I needed reduce.
Maxim:
29-Jun-2010
I just want rebviewpro.exe to be available as well as rebol.exe. 


 the installer is a nuisance, why should /view require one while /core 
 doesn't?


I'd much rather have no install and have a mezz or native command 
I run in the console that does an "install"
BrianH:
29-Jun-2010
We need to have a way to have the program not install and not bring 
up the desktop without command line parameters, from the same executable 
that will under different circumstances offer to install. It's one 
of the modes I mentioned.
Maxim:
29-Jun-2010
the way I see it, the moment there is a rebol.r file in the same 
folder as the rebol.exe, no install should ever be required, whatever 
the rebol.r file contains.

the rebol.r file should operate before the sandbox is activated. 
 it needs access to the secure command, so it can prevent the sand 
box from ever starting.


If it can be made that simple, then install-away all you want.   
:-D
BrianH:
29-Jun-2010
It depends. If it has all of View, with the viewtop, I would call 
it /View (or /View/Pro with library support). If it has none of that 
I would call it /Face. If it has all of that plus /Command stuff, 
I would call it /Command/View. There are 3 graphics builds on Windows, 
license depending.
Maxim:
29-Jun-2010
as a reboler, I don't want to write system specific and environment 
 resolving code.  


my script should be able to ply itself to whatever system its installed 
on and still read/write its files in proper OS expected places.


This is what we are talking about Andreas... viewtop specifically 
has nothing to do with this.  this is for ALL scripts to be compliant.


if I had a command which allowed me to build a system-compliant "application 
data path" then it would write stuff in ~/application/ on linux and 
whatever profile/app data/application   path is being used by your 
flavour of windows.


right now, I'd have to write a library which determines this and 
it probably will screw up on ubuntu, or Mac Or the latest windows.
AdrianS:
29-Jun-2010
Maxim, see this about passing arguments to apps started by file association:


http://stackoverflow.com/questions/444388/how-can-i-pass-command-line-arguments-via-file-association-in-vista-64


Re. shortcuts having arguments, yes they can - Vista shortcuts could 
as well, though.
Maxim:
29-Jun-2010
and yes... you have to manually change the command-line arguments, 
but then the OS' editors break up in what I can't remember, I think 
rebol disapeared from the "installed applications" list, although 
the file association still worked.
GrahamC:
31-Dec-2010
Some of the registry stuff is broken on R2/command .. hope they are 
fixed and not just enabled
BrianH:
4-Jan-2011
Diffs from the old preliminary changes doc to the actual 2.7.8 release 
(that I know about):

- No installer changes yet (my bad, I didn't have time to do them)
- SINGLE? is LAST? instead
- RESOLVE is a (slow) mezzanine for now, not native

- Don't know about what the Command boot problem was or whether it 
was fixed
- No HTTP fixes yet
- No X fixes yet

- ASSERT and APPLY are still mezzanine, and ASSERT is still rather 
bad
- No FOREACH setword support yet
- SET-ENV native (with limits)
- Delay sound subtask creation (whatever that means)
- RUN function uses 'shell access in SECURE
- FIND and SELECT on objects
- FUNCT /extern option, SPEED? and DT

- Some fixes to bugs in RAMBO that I don't know since RAMBO is down
Dockimbel:
4-Jan-2011
I hope that the "Command boot problem" will be fixed in 2.7.8, it 
was one of the biggest regression in 2.7.7 (IIRC, it was causing 
scripts encapped with a /Command kernel to crash on start).
Group: !REBOL3 Extensions ... REBOL 3 Extensions discussions [web-public]
Maxim:
8-Nov-2010
also make sure you ASSIGN the return value of the command, as it 
may be garbage collected otherwise.  but depending on the rebol code, 
this might not be the issue... its just good practice.
Andreas:
9-Nov-2010
Interesting. Seems to make a difference whether I run a script which 
imports the extension or import the extension from the command line.
Maxim:
9-Nov-2010
same thing, command-line would last longer before a crash, but ultimately, 
it would still fail... only further down the execution.
Oldes:
10-Nov-2010
When I have command like:
	test: command [str [string!]]
And on C side I need a pointer to this string, how to get it?
BrianH:
11-Nov-2010
REBOL doesn't have pointers, it has references, and it doesn't have 
addresses. So the only way you could legitimately get a pointer is 
to return it from a command. But you don't want to have any way to 
construct an illegitimate pointer in REBOL and pass it to a command 
because that would be a much worse security and stability problem 
than just having commands at all, and treating pointers as integers 
lets you do that. So there is the handle! type to store pointers. 
A handle! is an immediate value that is the size of a pointer, but 
that you can't convert directly to or from any other value, or even 
mold it to see its contents. When you return a pointer from a command 
you set the value to the handle! type. Then that handle! will be 
usable when passed back to other commands in the same extension, 
and maybe even when passed to other extensions, depending on address 
space issues. Handles are also used to store function pointers in 
R3, and other opaque system values like library addresses.
Maxim:
11-Nov-2010
what you can do, is wrap your command within a function in the extension's 
module and expose that function.  this allows you to control the 
return type of the command better and handle it within the comfort 
of rebol.
ChristianE:
30-Nov-2010
Not sure If that's what you're after, but anyways ...

---- REBOL side ----
convert: command [value [number!] unit [word!]]

---- C side ----
if (unit == RL_MAP_WORD("ppi")) {
    // do something
} 
elseif (unit == RL_MAP_WORD("ppcm")) {
    // do some other thing
}

Do you get the idea?
>> convert 18 'ppi
>> convert 20 'ppcm
Oldes:
30-Nov-2010
the problem with the above is, that in A110:
words: [pixels-per-centimeter-resolution]
export testword: command ['wrd [lit-word!]]
...
case testword: {
   int unit = RL_MAP_WORD("pixels-per-centimeter-resolution");
   RL->print("int: %d\n", unit);
}

prints int: 1399  = something what I don't expect :)
Oldes:
1-Dec-2010
hm.. I think I understand how it's supposed to work now, but it looks 
it's just a temp solution. Here is the init part for graphics:
words: [
	;gui-metric
    screen-size
    border-size
    border-fixed
    title-size
    work-origin
    work-size
]
;temp hack - will be removed later
init-words: command [
	words [block!]
]
init-words words
Oldes:
1-Dec-2010
But I think that the easiest way is to define the enum constants 
during the extension init like:
    export PIXELS-PER-INCH-RESOLUTION: 1
    export PIXELS-PER-CENTIMETER-RESOLUTION: 2
    protect/words [
    	PIXELS-PER-INCH-RESOLUTION
    	PIXELS-PER-CENTIMETER-RESOLUTION
    ]
and then just use:
    SomeFunc PIXELS-PER-CENTIMETER-RESOLUTION
or
    SomeFunc 1

with the correct int bound check in the command so only valid numbers 
are processed.  I really like what is possible with R3.. I should 
start real coding in it soon.
Oldes:
1-Dec-2010
hm.. the protect above is not required anyway as long as there is 
the validity check in the command.
Oldes:
6-Dec-2010
But I would like to know, if I can just change the provided variable 
without returning it back as a command result. (as it's possible 
with series).
Cyphre:
6-Dec-2010
Brian, I'm not sure about that. IIRC the value slot of double passed 
as command! arg is just on the 'function command frame' at the time 
the command! is executed so it is a copy of the real value you are 
refering to.
Cyphre:
6-Dec-2010
because the arg passed to the command function is just a copy of 
the real value
Cyphre:
6-Dec-2010
Brian: actually the values on the 'command frame' are 'free value 
slots' as they are not part of any series...they are just in plain 
fixed size array. But  this is probably just playing with words ;)
BrianH:
6-Dec-2010
They are in the command frame :)
Oldes:
6-Dec-2010
Next question.. when I have:
		case CMD_MagickGetImageColors: {
			if(current_wand) {
				RXA_INT32(frm, 1) = MagickGetImageColors(
					current_wand);
				RXA_TYPE(frm, 1) = RXT_INTEGER;
			}
			return RXR_VALUE;
		}

While compilation using GCC I get this warning: use of cast expressions 
as lvalues is deprecated

The command is working, just would like to know if I can improve 
it somehow. The function is defined as:
	size_t MagickGetImageColors(MagickWand *wand)
Oldes:
14-Dec-2010
That's possible, but I was more thinking how to do it on the C side 
and not end with wrapper for each extension command.
Andreas:
14-Dec-2010
How about defining the command with `command [arg [integer! decimal!]]` 
and then detecting in C when you where passed an int and converting 
it to a float?
Oldes:
14-Dec-2010
and the command can be just  [number!]
Oldes:
14-Dec-2010
Do you think it's better to export all commands in flat structure 
like:
	export System_GetNumDrivers: command[]
	export System_GetDriverInfo: command[id [integer!]]
	...
Or rather close them to contexts like:
	export system: context [
		GetNumDrivers: command[]
		GetDriverInfo: command[id [integer!]]
		...
	]
Kaj:
17-Dec-2010
Is it safe to have a command without arguments return a value? Is 
there a return slot reserved anyway in the arguments frame?
Kaj:
22-Dec-2010
Interesting, but that's a very empty example. Can you try with command 
parameters?
Andreas:
22-Dec-2010
export cmds: context [cmd01: command [] cmd02: ...]
Kaj:
22-Dec-2010
It also bombs out for me when the fifteenth context slot is such 
an empty command
Oldes:
26-Dec-2010
I'm experimenting with image! as a command agrument and found this 
strange behaviour:
I have:
	img-echo: command [img [image!] ]
In RX_Call I use just:   return RXR_VALUE;

And then when I call the img-echo I get image, but with index at 
the tail so it looks like:
>> i: img-echo img
== make image! [50x20 #{
}]
>> index? i
== 1001

Is this normal? How I can set the index on the C side?
Oldes:
27-Dec-2010
I've located where is the problem.. it's returning the image at the 
tail if the command is used in exported context!
Oldes:
27-Dec-2010
Correction... it returns image index at tail when there is any exported 
context.. the command can be out of the context.
Oldes:
17-Jan-2011
I would like to make a dialect for making extensions... so far I 
parsed spec for MagickWand and PixelWand API -
https://github.com/Oldes/R3-extension-iMagick

But I have a question... in some cases, like in this one:

MagickGetImageChannelRange: [
	"Gets the range for one or more image channels"
	wand	"MagickWand *"	"the magick wand."
	channel	"ChannelType"	"the image channel(s)."

 minima	"double *"	{The minimum pixel value for the specified channel(s).}

 maxima	"double *"	{The maximum pixel value for the specified channel(s).}
	return: "MagickBooleanType"
]


The command should return block [minima maxima] or FALSE... any idea 
how to specify it in the dialect?
Oldes:
17-Jan-2011
Just to make clear what's the issue.. for above example, the extension 
command should looks like:

MagickGetImageChannelRange: command [
	"Gets the range for one or more image channels"
	wand       [handle!] "the magick wand."
	channel  [integer!] "the image channel(s)."
]


The minima, maxima are just pointers to values which are used to 
return the result, which I must convert to REBOL block.
Maxim:
25-Jan-2011
Oldes, AFAIK its normal... in C we always have access to the full 
string.  

we use RL_SERIES to figure out the portion of the string which is 
used by a specific Series reference.

so basically if you call:

a: [1 2 3]
b: next a


and use A or B in the command, you get the same string (logically, 
not physically), but with only the RL_SERIES and RXA_INDEX() which 
are set to different values.
Oldes:
25-Jan-2011
I wonder if we can somehow solve that you must provide handle in 
most cases for each command..

In Kaj'scurl it's the SESSION handle, in iMagick it's the WAND handle... 
etc. what we can expect from the devices?
Maxim:
25-Jan-2011
which is why I built this structure when I know I am going to be 
using the data outside of my command block...

typedef struct ht_value HTVAL;
struct ht_value {
	RXIARG value;
	u32 type;
};
BrianH:
26-Jan-2011
I'm sorry that you got used to loading extensions without needing 
to turn off the security restrictions in R3. If it helps you to know, 
you can also specify modules to import on the command line, or put 
your platform-specific delayed module loads in %rebol.r.
Oldes:
16-Feb-2011
What is error: ** Script error: invalid command format (extension 
function) ?
Oldes:
16-Feb-2011
hmm... it's possible to use max 7 args for command.
BrianH:
17-Feb-2011
The command call process does a lot of marshalling to get the values 
into the native code. You only have limited access to the original 
values in REBOL memory.
BrianH:
28-Sep-2011
Thanks! I've been using R2/Command to do the database access and 
R3 to process the data. All in the same script, using a trick I'll 
post to the Windows group.
Group: !REBOL3 GUI ... [web-public]
Aloysius:
11-Dec-2010
running the same script from command console: "r3.exe testgui.r3" 
works just fine. It opens a new console window with the same output 
" REBOL 3.0 A110 2-Nov-2010/3:56:20 handler added" and another window 
showing the button
Aloysius:
11-Dec-2010
In Scite, I configured the command Go (F5) as:

command.go.$(file.patterns.rebol)=c:\Users\awi\Documents\rebol\r3.exe 
"$(FilePath)"
so nothing different here
Edgar:
12-Dec-2010
Add this to your configuration, and you will be able to use Ctrl-5 
to run rebol3. Change the path as needed.
command.name.5.$(file.patterns.rebol)=RunRebol3File

command.5.$(file.patterns.rebol)="C:\usr\local\rebol3\r3.exe" "$(FilePath)"
command.subsystem.5.*=2
command.is.filter.5=1
Cyphre:
8-Mar-2011
There are multiple ways how to doit....But If you are going to be 
style author you just need to know the syntax used in stylize command, 
nothing more ;)
Cyphre:
19-Mar-2011
Jocko, rgearding the: circle: [pair! | number! | number!] definition.

This is correct as the definition doesn't describe the exact syntax 
of the command but it works more like the rules used by DELECT.

So in this case the CIRCLE command can be used only in these combination:
circle pair! number!
circle pair! number! number! 


which corresponds to the syntax described here: http://www.rebol.com/r3/docs/view/draw-curves.html#section-3


Ofcourse, now when the float pair! has been implemented we could 
extend the syntax for another pair to:
circle: [pair! | pair! | number! | number!]
to allow also:
circle pair! pair!


but this change needs to be reflected also in the to-draw function 
and dialect-draw definition object used by DELECT in the R3GUI.


I'll add this enhancement so it will be available in the next RMA 
release for you.


Also note, the current DRAW dialect (implemented by the preprocessor 
mezzanines) is trying to reflect only  the R3 draw reference documentation 
(in the link above) syntax which has been designed at the time the 
float pair! was not available. The review of the syntax is planned 
in the future.
Group: !REBOL3 Host Kit ... [web-public]
Pekr:
19-Oct-2010
What does it mean?:

- Embedded GOB containers in text
- Gob - Renders GOB embedded in text


I can't imagine, how this stuff works, and is organised. However 
- i am buying a book on text typography and layout, but so far from 
what I have read, you basically divide page into columns or boxes 
section, you can link them, those columns/rows have those typical 
margins, origings, etc. set, but we are talking DTP tools here :-) 
Are we getting something similar here?:


It is possible to have multiple paragraphs defined in one Rich Text 
block. Paragraphs are positioned one ofter another vertically. Vertical 
space between pargraphs is defined by PARA/INDENT/Y values. Use COLUMNS 
command(see below) to define how many paragraph columns should be 
used for paragraph layout.


... some wireframe model showing the terms on the image would be 
usefull ... but maybe others will understand, what's your idea ...
Maxim:
26-Oct-2010
its just a command-prompt function.
Andreas:
4-Nov-2010
No, I'm just saying that for those set of command line flags, your 
linker behaves strange.
ssolie:
4-Nov-2010
I'm not seeing my Dev_Event device's RDC_QUIT vector being called 
when I exit r3 with a 'q' from the command line. I do see the RDC_INIT 
vector being called.
ssolie:
7-Nov-2010
Amiga has CTRL-D which means interrupt script and CTRL-C which means 
interrupt command (from the shell).
Henrik:
14-Nov-2010
henrik:R3/Lobby>> help
sh: xdg-open: command not found
sh: x-www-browser: command not found
** Access error: external process failed: "Undefined error: 0"

** Where: browse parse try either either forever command-loop make 
context do catch either either -apply- do try chat
** Near: browse help-url

Seems these are broken in A110 for OSX.
Henrik:
14-Nov-2010
>> browse http://www.google.com
sh: xdg-open: command not found
sh: x-www-browser: command not found
** Access error: external process failed: "Undefined error: 0"
** Where: browse
** Near: browse http://www.google.com
ChristianE:
15-Nov-2010
I may be missing something fundamental, but


1) am I supposed to be able to build a A110 r3.exe from the sources 
at github.com/carls/R3A110 on Windows with MinGW and gcc? The gcc 
makefile differs in a lot of places from earlier versions (A109 and 
below) and even seems to generate some .so's instead of .dll's. It 
fails for me with 

gcc  -c -O1 -D_FILE_OFFSET_BITS=64 -Wno-pointer-sign -I ../src/include/ 
 -o obj/host-main.o ../src/os/host-main.c

cc1.exe: error: unrecognized command line option "-Wno-pointer-sign"
before doing anything.


2) given that I somehow manage to build it and include my own changes 
in a clone of that repo, what happens to them if once there's a A111 
repo? I don't see how a A110 repo could be turned into a A111 repo 
- I would have expected to have a R3 repo on github and to have commits 
tagged as constituting a alpha version like A110, A110 etc.
Oldes:
2-Jan-2011
For example the CMD_TEXT_TEXT command is called on each mouse move 
event (redraw).
Oldes:
4-Jan-2011
Hm.. my mistake... probably commented the SHOW command when i was 
testing ... so I can confirm that for redraw on each mouse move I 
get same CPU usage.. pretty high. So the problem will be elsewhere.

Sorry for that.. I should take a break... here is my test file: https://github.com/Oldes/R3A110/blob/master/tests/text-test4.r3
BrianH:
14-Feb-2011
Using the Cygwin compilers turned out to be unnecessary, so I can 
get away with just the Cygwin base install plus make for the NDK, 
TDD-GCC for the host kit, and Git for Windows for the Git support. 
Only one set of compilers per target platform, but 3 mostly duplicated 
sets of general command line tools.
Group: Core ... Discuss core issues [web-public]
PeterWood:
20-Mar-2011
First I ran a small command line pgm:
PeterWood:
20-Mar-2011
This is the console output from the command line pgm:

C:\REBOLServicesTest>cr
)haracter 13 is enclosed in the parentheses (


I then checked that the command line pgm could be successfully called 
with the following two lines of Ruby:

	puts %x{cr}
	print %x{cr}.dump

Which gave the following output:
C:\REBOLServicesTest>ruby call_test.rb
)haracter 13 is enclosed in the parentheses (
Character 13 is enclosed in the parentheses (\r)

I then called the command line pgm from a REBOL Console session:

>> call/console "cr"
Character 13 is enclosed in the parentheses (
)== 0
>> print to-binary {Character 13 is enclosed in the parentheses (
{    )}
#{
43686172616374657220313320697320656E636C6F73656420696E2074686520
706172656E74686573657320280A29
}
>> buffer: make string! 256
== ""
>> call/output "cr" buffer
== 0
>> probe buffer
Character 13 is enclosed in the parentheses (^/)
== "Character 13 is enclosed in the parentheses (^/)"
>> print to-binary buffer
#{
43686172616374657220313320697320656E636C6F73656420696E2074686520
706172656E74686573657320280A29
}


As you can see both call/console and call/output turned the 0x0D 
into a 0x0A.
PeterWood:
1-Apr-2011
If you only need to encrypt data at a single source, you could easily 
call a command line tool such as OpenSSL to perform the encryption 
for you. (It could well be quicker than REBOL too).
Ashley:
11-Apr-2011
OK, this is freaky:

>> system/version
== 2.7.8.2.5
>> a: list-env
== [
    "TERM_PROGRAM" "Apple_Terminal" 
    "TERM" "xterm-color" 
    "SHELL" "/bin/bash" 
    "TMPDIR" "/var/folders/6O/6OnXy9XG...
>> help a
A is a block of value: [
    "TERM_PROGRAM" "Apple_Terminal" 
    "TERM" "xterm-color" 
    "SHELL" "/bin/bash" 

    "TMPDIR" "/var/folders/6O/6OnXy9XGEjiDp3wDqfCJo++++TI/-Tmp-/" 
    "Apple_PubSub_Socket_Render" "/tmp/launch-BrITkG/Render" 
    "TERM_PROGRAM_VERSION" "273.1" 
    "USER" "Ash" 
    "COMMAND_MODE" "legacy" 
    "SSH_AUTH_SOCK" "/tmp/launch-HlnoPI/Listeners" 
    "__CF_USER_TEXT_ENCODING" "0x1F5:0:0" 

    "PATH" {/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin} 
    "PWD" "/Users/Ash" 
    "LANG" "en_AU.UTF-8" 
    "SHLVL" "1" 
    "HOME" "/Users/Ash" 
    "LOGNAME" "Ash" 
    "DISPLAY" "/tmp/launch-U0Gaqw/org.x:0" 
    "_" "/Users/Ash/REBOL/rebol"
]
>> length? a    
== 18
>> select a "USER"
== "Ash"
>> select a "HOME"
== none
Group: !REBOL3 Proposals ... For discussion of feature proposals [web-public]
PatrickP61:
1-Jan-2011
I would like to see some support for automatic logging of events.


Rebol currently has two "hooks" to allow "Front-end" code to execute 
automatically in the REBOL.r and USER.r files.

I would like to see another "hook" to allow "Back-end" code to execute 
automatically whenever Rebol stops its current evaluations for any 
reason such as encountering the HALT, QUIT, or any error which causes 
Rebol to stop evaluation.  


This could allow for some kind of automatic logging of  QUIT, HALT 
or ERROR as well as capturing the error messages.  It would be nice 
to allow capturing of any other information such as the script name, 
computer name, current timestamp, and where in the script the evaluation 
stopped, and how it stopped.


I would use this to log all of my scripts that is invoked (put the 
code in REBOL.r file) and then the termination conditions defined 
so they could be triggered automatically.  With such a function, 
I could even have certain selected scripts send an automatic SMS 
messages to my phone if certain scripts errored out etc.



I'd like to propose a new function called WHEN that can be used to 
trigger code at a terminating event.

WHEN  block  /all

For any specified terminating condition, evaluates what follows it.

Arguments:

block [block!] - Block of terminating events (conditions followed 
by values)
Refinements:

/all - Evaluate all terminating conditions (do not stop at first 
true terminating condition)


The WHEN command would be used to define code to be evaluated whenever 
a termination condition of any kind occurred in which continued evaluation 
will stop.

Examples:
WHEN/ALL [

 HALT?	[ print "This script will HALT now" ]  ; code to be evaluated 
 before the HALT is evaluated

 QUIT?	[ print "This script will QUIT now" ]   ; code to evaluate 
 befoe the QUIT is evaluated 

 ERR?	[ print "An error was discovered"  ]   ;code to evaluate after 
 an error is captured, but before the message is printed
	END?	[
		  print "Script about to end"
		  if  now/time  >  23:00:00  print "Stopped after 11 pm"

  ]                                                              ; 
   code to evaluate whenever the current evaluation has stopped for 
  any reason
	]


Note:  HALT?, QUIT?, ERR?, END? are all logic values which become 
true depending upon how evaluations will be stopped.

END? will always be true and one of the other terminating conditions 
will always be true.

What do you think?
BrianH:
31-Jan-2011
Please check if an object can be used by extension code to resolve 
the case aliases. I don't really see how they could if the words 
are translated to numbers at command call time, but that might be 
a limit of my imagination.
Group: !REBOL3 Parse ... REBOL3 Parse [web-public]
Steeve:
14-Jan-2011
Well, it's worst, you can't exit from an INTO command with ACCEPT 
or BREAK
1301 / 143212345...111213[14] 15