skip ( set [ value new ] load/next str emit str new str: new )
:str
instead of
skip (set [value new] load/next str emit str new) :new
works.
it seems there is only one position-variable allowed in /core ?
Volker
>
> with /core on linux ( REBOL 2.2.0.4.2 )
> this hangs, with view/beta4 it runs. ?!
>
> parse script blk-rule: [
> ...
> str: (print copy/part str 10)
> prints lots of
> REBOL [
> Ti
>
> And, my script with rebol[] in it fails, of course.
> will change to [join "RE" "BOL"] :-)
>
> i like this script :-)
>
> Volker
>
> > Here's a useful little script for those of you who are
> > diligently working on REBOL this Memorial Day weekend.
> >
> > -Carl
> >
> > REBOL [
> > Title: "REBOL Script Cleaner"
> > Author: "Carl Sassenrath"
> > File: %clean-script.r
> > Date: 27-May-2000
> > Email: [EMAIL PROTECTED]
> > Purpose: {
> > Cleans REBOL scripts by parsing the REBOL code
> > and supplying standard indentation and spacing.
> > }
> > Note: {
> > This script produces STANDARD script indentation and
> > spacing. No doubt you will want to modify it to use
> > your own rules. Send your enhancements and I will
> > consider adding them to the distribution... but keep
> > this header intact and keep the code clean. No hacks.
> > }
> > Category: [script util text 3]
> > History: [
> > "Carl Sassenrath" 1.0.0 27-May-2000 "Original program."
> > ]
> > ]
> >
> > script-cleaner: make object! [
> >
> > out: none ; output text
> > spaced: off ; add extra bracket spacing
> > indent: "" ; holds indentation tabs
> >
> > emit-line: func [] [append out newline]
> >
> > emit-space: func [pos] [
> > append out either newline = last out [indent][
> > pick [#" " ""] found? any [
> > spaced
> > not any [find "[(" last out find ")]" first pos]
> > ]
> > ]
> > ]
> >
> > emit: func [p1 p2] [emit-space p1 append out copy/part p1 p2]
> >
> > set 'clean-script func [
> > "Returns new script text with standard spacing."
> > script "Original Script text"
> > /spacey "Optional spaces near brackets and parens"
> > /local str new
> > ][
> > spaced: found? spacey
> > out: append clear copy script newline
> > parse script blk-rule: [
> > some [
> > str:
> > newline (emit-line) |
> > #";" thru newline new: (emit str new) |
> > [#"[" | #"("] (emit str 1 append indent tab) blk-rule |
> > [#"]" | #")"] (remove indent emit str 1) |
> > skip (set [value new] load/next str emit str new) :new
> > ]
> > ]
> > remove out ; remove first char
> > ]
> > ]
> >
> > ;Example: print clean-script read %clean-script.r
> >
> >
> >
> >
>
>
>