• 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
r4wp13
r3wp199
total:212

results window for this page: [start: 1 end: 100]

world-name: r4wp

Group: #Red ... Red language group [web-public]
DocKimbel:
26-Sep-2012
Ah, found an HowTo: http://stackoverflow.com/questions/3780378/how-to-display-japanese-kanji-inside-a-cmd-window-under-windows
Pekr:
28-Oct-2012
what about calling it CMD (as is the command, cmd.exe, which you 
have to issue to open that black old console), or CON, as a "console"?
james_nak:
27-Jun-2013
Getting closer. I now have jarsigner but the cmd expected to see 
it in the root dir. So I just placed jarsigner there along with the 
jli.dll.  That may not be a good idea because it seems to do its 
thing but finally dies with:
Signing apk...

Error: Could not find or load main class sun.security.tools.JarSigner
Aligning apk...
Unable to open 'builds\eval-signed.apk' as zip archive
Group: Rebol School ... REBOL School [web-public]
Sujoy:
10-Oct-2012
:)
is this because pool-list is empty?

i put in a debug "print" cmd in the on-new-client function of task-master.r, 
which is the only place i could see pool-list being appended to...but 
it seems the function is not called
PatrickP61:
2-May-2013
Quick Question: I'm having some trouble understanding ANY.  I thought 
it meant that you could state a condition such as IF var = ANY ["val1" 
"val2"] [do something]

But that only becomes true on the first condition, not the second. 
 Example code:


>> forever [do cmd: ask "? " if cmd = any ["quit" "q"] [print "done" 
break]]
? q
? quit
done
>>
what am I missing?
Gregg:
2-May-2013
forever [cmd: ask "? "  do cmd]
Gregg:
2-May-2013
So, coming back to the original question... :-) Rather than doing 
"script =" for every command, you could say "if find ["quit" "q"] 
cmd [break]", so it's easier to check multiple commands, aliases, 
etc. e.g., what about HALT?
Group: !REBOL3 ... General discussion about REBOL 3 [web-public]
BrianH:
30-Dec-2012
I use .r for scripts that are expected to run in R2 or R3, .r2 for 
R2-only scripts and .r3 for R3-only scripts. However, a lot of my 
scripts are .cmd and call themselves with the appropriate Rebol.
BrianH:
30-Dec-2012
I use .cmd instead of .bat because the tricks you use to call Rebol 
safely require cmd.exe (in NT-based Windows) and won't work with 
command.com (in Win9x/Me). It's not necessary to use .cmd for this, 
but it's a good reminder.
Cyphre:
22-Feb-2013
yes, the problem is MINGW is using own 'custom' version of MAKE called 
"mingw32-make.exe" which doesn't behave well on the R3 makefile (at 
least from my experience).
So my Windows setup is:
-I installed CodeBlocks with MINGW support

-then I installed MSYS and extracted only 'necessary' files from 
MSYS/bin folder and put it into CodeBlocks\msys\bin\ folder
-then I deleted the MSYS instalation to not have bloat on my disk

-I set paths to CodeBlocks\MinGW\bin CodeBlocks\msys\bin in the WIndows 
console

-from now I can  just type MAKE ALL in the CMD console and R3 builds 
fine


Just in case here is the list of "necessary" MSYS/bin files I extracted 
(around 3MB of data):

cp.exe
make.exe
mkdir.exe
msys-1.0.dll
msys-iconv-2.dll
msys-intl-8.dll
msys-regex-1.dll
msys-termcap-0.dll
rm.exe
rmdir.exe
sh.exe
GrahamC:
23-Feb-2013
This is a tip for where you have those pesky @s in a username. You 
still can't get past that by using %40 in a url as Rebol converts 
those when it evaluates the url but you can do this


>> cmd: open decode-url "ftp://user%40rebol.com:[password-:-ftp-:-rebol-:-com]"
make object! [
    title: "FTP Protocol"
    scheme: 'ftp

    ref: [scheme: 'ftp pass: "password" user: "user%40rebol.com" host: 
    "ftp.rebol.com"]
    path: none
    host: "ftp.rebol.com"
    port-id: 21
    pass: "password"
    user: "user%40rebol.com"
]
port opened ...
Bo:
7-Jul-2013
Hmmm...interesting behavior.  I am trying to use R3 to act as a TCP 
server on Linux-ARM.  Here's a code snippet:

	if probe port? prt: wait [1 camsrv][
		probe cmd: copy prt
		call/wait reform [cmd "> cmdout.txt"]
		insert prt probe read cmdout.txt
		close prt
	]


The probe at the top returns 'false when there is no TCP activity, 
but it returns "TCP-event accept" when there is, and then it just 
sits there.  Escape (ESC) and CTRL-C will not break out of R3 at 
that point.  CTRL-C just outputs "[escape]" each time it is pressed, 
but doesn't escape.
Bo:
7-Jul-2013
But my real problem is that the line

	probe cmd: copy prt


never outputs anything, even after the "TCP-even accept" line is 
printed.  Even if I put a 'print statement as the first line of the 
'if block, nothing is printed.  So that leads me to believe that 
there is a problem right at the

	probe port? prt: wait [1 camsrv]

that locks up R3 hard.

world-name: r3wp

Group: All ... except covered in other channels [web-public]
JaimeVargas:
24-Feb-2005
;Interesting every second the client send a request that looks like
cmd: live data:  [world-name binary64]
;and the server replies with this
cmd: lookup data: ok
Group: !AltME ... Discussion about AltME [web-public]
Pekr:
5-Sep-2006
well, so basically you are expecting altme to distinguish particular 
suffixes as .bat, .pif, .exe .cmd and prevent their direct execution?
PeterWood:
17-Sep-2006
Thanks, Volker. Ctrl-C and Ctrl-V work fine!! I think I must have 
been pressing Alt-C and Alt-V when I tried before (to used to Cmd-C 
& Cmd-V on my Mac!!).


I notice that right-click isn't supported. Scrolling seems better 
than under Windows though.
james_nak:
8-May-2007
Hey, it works! Thanks. I got to thinking that maybe I should try 
to just try to start it from the CMD and presto! Thanks!
Pekr:
29-Oct-2007
hmm, I am a clever guy, right? :-) Here's my packet sniff using WireShark 
(Ethereal):


cmd: open data: ["testik" 0].cmd: lookup data: [new 64#{xRXJdGGJkqhVd9WK5FzbXXZdT9o=}] 
.cmd: info data: [64#{oCjeSRyaoHOn75+8XOLs3tfSXalI1/XH} 192.168.0.136 
5400 1.2.13 0 *].cmd: lookup data: ok .
Pekr:
9-May-2009
Also - how do you start those world? I created cmd files na start 
it like: altme.com -s "My-world-server" -p 5401
Pekr:
23-Oct-2009
I have probably new bug with Altme server - I can't connect to world. 
It even does not try to, as I can't see any outgoing packets to IP 
of my world on particular port (xyz:5402). AltME client says - xyz 
exists, but not-online. But - our worlds ARE online. When I go to 
altme.com/check.html, the world seem to be online, and the site also 
is able to connect to it.


So I inspected TCP packets in Wireshark, and it states: "cmd: find 
data: ["xyz" 0 1.2.17.3.1 4811897].cmd: lookup data: inactive ."
Pekr:
28-Dec-2009
Carl - and here's what happened, but just once. I sent it to feedback 
- very special case:

Hi,


after last outage, I am not able to connect to my worlds - Xidys, 
Vertuzo.


The client even does not try to connect, as I can't see any outgoing 
packets to IP of my world on particular port (Xidys:5402). AltME 
client says - "Xidys exists, but not-online". But - our worlds are 
online. 


When I go to altme.com/check.html, the world seems to be online, 
and the site also is able to connect to it.


So I inspected TCP packets in Wireshark, and it states: "cmd: find 
data: ["Xidys" 0 1.2.17.3.1 4811897].cmd: lookup data: inactive ."
Carl:
28-Dec-2009
That packet is not correct.  "].cmd" ?
Carl:
28-Dec-2009
What concerns me is that I CAN see your cmd: open -- which is your 
world startup.  But, there are no cmd: live pings.
Carl:
28-Dec-2009
WNS log shows:

command 28-Dec-2009/16:12:30-8:00 [75.101.29.32 {cmd: open data: 
["testtest" 0]}]

command 28-Dec-2009/16:13:31-8:00 [75.101.29.32 {cmd: live data: 
["testtest" 64#{OD...}]}]
Pekr:
28-Dec-2009
I start it from Total Commander, running altme-vertuzo.cmd:

start altme.exe -s "Vertuzo" -p 5401
Carl:
28-Dec-2009
ping success!

command 28-Dec-2009/16:49:20-8:00 [193.85.151.2 {cmd: open data: 
["vertuzo" 0]}]

command 28-Dec-2009/16:50:27-8:00 [193.85.151.2 {cmd: live data: 
["vertuzo" 64#{kDj
Pekr:
28-Dec-2009
ok, I restarted it "the old way". I wanted to have it in .cmd, to 
auto-start servers, when machine reboots ...
Pekr:
28-Dec-2009
The question now is, why doesn't it "ping", when started from .cmd
Pekr:
22-Feb-2010
So I thought I will put an end to "your world has expired" nonsense 
(which is technologically done in totally dumb way - your worlds 
are running, and yet they expire, and it totally contradicts what 
is communicated on the web - your world expires, if not used for 
more than 10 days) ....


... but unfortunatelly, following registration link does not work 
- http://www.altme.com/cgi-bin/orders/cart.r?cmd=buy&prod=100-1&
Group: RAMBO ... The REBOL bug and enhancement database [web-public]
Ladislav:
6-Apr-2005
hi all, I found a nasty surprise in alpha async, at least for me 
it is a nasty surprise:


 http://www.rebol.net/cgi-bin/rambo.r?sort=4&limit=1&cmd=Search&id=&pattern=Read+handler


The behaviour I observed is observable in OpenBSD 3.6 too, Gabriele, 
could you add this note to it?
Gabriele:
14-May-2005
a lot of bugs fixed: http://www.rebol.net/cgi-bin/rambo.r?sort=1&limit=2&cmd=Search&id=&pattern=&subject-only=true
Gabriele:
20-May-2005
http://www.rebol.net/cgi-bin/rambo.r?sort=6&limit=3&cmd=Search&id=&pattern=&subject-only=true
sqlab:
18-Jul-2005
just a few weeks ago I wrote that with the new rebcmd for Win my 
problems with odbc and catch were gone.

Now I encountered a "Crash, should not happen" with a script doing 
not more than receiving data from tcp sockets, parsing the data, 
writing to files and sending a response back.

Some almost identical scripts were working with the old cmd for months 
without interruption.
sqlab:
1-Aug-2005
Rambo #3869 "** CRASH (Should not happen) - Invalid string width 
16 : type 41" 

sounds very similar to the problem I have with cmd. Just that I have 
to wait a few thousand messages and at least two days for one crash.
Maxim:
26-Feb-2007
but btw... in my bug (which might or not be the same) it does not 
only corrupt the http protocol... the whole exists? cmd is down, 
since I am testing files in my case!
GrahamC:
31-Oct-2010
as cmd is a non gui product
Group: Core ... Discuss core issues [web-public]
Micha:
16-Mar-2005
;serwer proxy


p: make port! tcp://:80

p/awake: func [ port /local  data conn targed cmd partner url 
] [



conn: first port
wait conn
data: to-string copy conn

replace/all data "^M" ""
source data

targed: copy/part data find data "HTTP/1.1"
data: find/tail data "^/"
print targed

cmd: parse targed none

url:  decode-url cmd/2 

if not url/path  [url/path: "" ]

if not url/target  [url/target: ""]

partner: open/no-wait to-url rejoin [ "tcp://" url/host ":80" ]




insert partner rejoin [ cmd/1" /" url/path url/target " HTTP/1.1^/" 
 data]

wait partner

tmp: copy partner




close partner



insert conn tmp



close conn 

]


append system/ports/wait-list p


open/binary/no-wait p
 wait []


halt
Anton:
16-Mar-2005
insert partner rejoin [ cmd/1" /" url/path url/target " HTTP/1.1^/" 
 data]
?? data
wait partner
Micha:
28-Apr-2005
handler: func [port action arg /local cmd send ping] [ 


                                    
        switch action [ 

            init   [print "init"
                    set-modes port [timeout: 00:05:00]]
            adress [print arg ]

            open   [ping: to-integer  (0:05:00 - get-modes port 'timeout )* 1000 
            ]
                    
                  
         
            close [print "close"         close port]
           
          
        ]
    ]





check: func [ p h] [  open/direct/binary/async  join tcp://  [ p 
":" h ]  :handler ]





check 219.147.198.195 1080 

   

    halt
Anton:
28-Apr-2005
gm: func [port][reform ["timeout:" get-modes port 'timeout]]

handler: func [port action arg /local cmd send time] [ 
	time: now/time/precise
	switch action [ 
		init    [
			print [time gm port "--- init"]
			set-modes port [timeout: 0:00:05] ; five seconds
		]
		address [print [time gm port "--- address lookup: " arg]]
		open    [print [time gm port "--- open:" now/precise]]
		close   [print [time gm port "--- close"] close port]

  error   [print [time gm port "-- error:" mold disarm :arg] close 
  port]
	]
]

check: func [p h][
	open/direct/binary/async  join tcp://  [ p ":" h ]  :handler
]

check 219.147.198.195 1080
Volker:
12-Dec-2005
http://www.rebol.net/cgi-bin/rambo.r?sort=1&limit=1&cmd=Search&id=&pattern=forall
Pekr:
26-Jan-2006
ah, it is call/console "cmd /C ping 10.0.0.10"
Group: View ... discuss view related issues [web-public]
Allen:
11-May-2005
Carl has slain one of the nasty recycle bugs. Yay! http://www.rebol.net/cgi-bin/rambo.r?sort=1&limit=1&cmd=Search&id=3403&pattern=
Fixed in test build 1.2.103
Group: I'm new ... Ask any question, and a helpful person will try to answer. [web-public]
Gregg:
11-May-2009
REBOL []

do %include.r
include %file-list.r


flash-wnd: flash "Finding test files..."

if file: request-file/only [
    files: read first split-path file
]
if none? file [halt]

items: collect/only item [
    foreach file files [item: reduce [file none]]
]

unview/only flash-wnd



;-------------------------------------------------------------------------------
;-- Generic functions

call*: func [cmd] [
    either find first :call /show [call/show cmd] [call cmd]
]

change-each: func [
    [throw]

    "Change each value in the series by applying a function to it"

    'word   [word!] "Word or block of words to set each time (will be 
    local)"
    series  [series!] "The series to traverse"

    body    [block!] "Block to evaluate. Return value to change current 
    item to."
    /local do-body
][
    do-body: func reduce [[throw] word] body
    forall series [change/only series do-body series/1]

    ; The newer FORALL doesn't return the series at the tail like the 
    old one

    ; did, but it will return the result of the block, which is CHANGE's 
    result,
    ; so we need to explicitly return the series here.
    series
]

collect: func [
    "Collects block evaluations." [throw]
    'word
    block [block!] "Block to evaluate."
    /into dest [block!] "Where to append results"
    /only "Insert series results as series"

    /local fn code marker at-marker? marker* mark replace-marker rules
][
    block: copy/deep block
    dest: any [dest make block! []]

    fn: func [val] compose [(pick [insert insert/only] not only) tail 
    dest get/any 'val

        get/any 'val
    ]
    code: 'fn
    marker: to set-word! word
    at-marker?: does [mark/1 = marker]
    replace-marker: does [change/part mark code 1]
    marker*: [mark: set-word! (if at-marker? [replace-marker])]
    parse block rules: [any [marker* | into rules | skip]]
    do block
    head :dest
]

edit-file: func [file] [
    ;print mold file

    call* join "notepad.exe " to-local-file file ;join test-file-dir 
    file
]

flatten: func [block [any-block!]][
    parse block [

        any [block: any-block! (change/part block first block 1) :block | 
        skip]
    ]
    head block
]

logic-to-words: func [block] [

    change-each val block [either logic? val [to word! form val] [:val]]
]

standardize: func [

    "Make sure a block contains standard key-value pairs, using a template 
    block"
    block    [block!] "Block to standardize"
    template [block!] "Key value template pairs"
][
    foreach [key val] template [
        if not found? find/skip block key 2 [
            repend block [key val]
        ]
    ]
]

tally: func [

    "Counts values in the series; returns a block of [value count] sub-blocks."
    series [series!]
    /local result blk
][
    result: make block! length? unique series

    foreach value unique series [repend result [value reduce [value 0]]]
    foreach value series [
        blk: first next find/skip result value 2
        blk/2: blk/2 + 1
    ]
    extract next result 2
]


;-------------------------------------------------------------------------------

counts: none

refresh: has [i] [
    reset-counts
    i: 0
    foreach item items [
        i: i + 1
        set-status reform ["Testing" mold item/1]
        item/2: random/only reduce [true false]
        show main-lst
        set-face f-prog i / length? items
        wait .25
    ]
    update-counts
    set-status mold counts
]

reset-counts: does [counts: copy [total 0 passed 0 failed 0]]

set-status: func [value] [set-face status form value]

update-counts: has [pass-fail] [
    counts/total: length? items

    pass-fail: logic-to-words flatten tally collect res [foreach item 
    items [res: item/2]]
    ;result (e.g.): [true 2012 false 232]
    standardize pass-fail [true 0 false 0]
    counts/passed: pass-fail/true
    counts/failed: pass-fail/false
]

;---------------------------------------------------------------


main-lst: sld: ; The list and slider faces
c-1:           ; A face we use for some sizing calculations
    none
ml-cnt:        ; Used to track the result list slider value.
visible-rows:  ; How many result items are visible at one time.
    0

lay: layout [
    origin 5x5
    space 1x0
    across

    style col-hdr text 100 center black mint - 20

    text 600 navy bold {

        This is a sample using file-list and updating progress as files are
        processed. 
    }
    return
    pad 0x10

    col-hdr "Result"  col-hdr 400 "File" col-hdr 100
    return
    pad -2x0

    ; The first block for a LIST specifies the sub-layout of a "row",

    ; which can be any valid layout, not just a simple "line" of data.

    ; The SUPPLY block for a list is the code that gets called to display

    ; data, in this case as the list is scrolled. Here COUNT tells us

    ; which ~visible~ row data is being requested for. We add that to 
    the

    ; offset (ML-CNT) set as the slider is moved. INDEX tells us which
    ; ~face~ in the sub-layout the data is going to.

    ; COUNT is defined in the list style itself, as a local variable 
    in
    ; the 'pane function.
    main-lst: list 607x300 [
        across space 1x0 origin 0x0
        style cell text 100x20 black mint + 25 center middle
        c-1: cell  cell 400 left   cell [edit-file item/1]
    ] supply [
        count: count + ml-cnt
        item: pick items count
        face/text: either item [
            switch index [
                1 [

                    face/color: switch item/2 reduce [none [gray] false [red] true [green]]
                    item/2
                ]
                2 [mold item/1]
                3 ["Edit"]
            ]
        ] [none]
    ]

    sld: scroller 16x298 [ ; use SLIDER for older versions of View

        if ml-cnt <> (val: to-integer value * subtract length? items visible-rows) 
        [
            ml-cnt: val
            show main-lst
        ]
    ]
    return
    pad 0x20
    f-prog: progress 600x16
    return
    status: text 500 return
    button 200 "Run" [refresh  show lay]
    pad 200
    button "Quit" #"^q" [quit]
]

visible-rows: to integer! (main-lst/size/y / c-1/size/y)

either visible-rows >= length? items [
    sld/step: 0
    sld/redrag 1
][
    sld/step: 1 / ((length? items) - visible-rows)
    sld/redrag (max 1 visible-rows) / length? items
]

view lay
Group: Parse ... Discussion of PARSE dialect [web-public]
Henrik:
11-May-2008
set 'html-gen func [
    "Low level HTML dialect"

    data [none! string! tag! url! number! time! date! get-word! word! 
    block!]
    /local cmd blk header row-blk start-tag dr tr pr wr
  ] [
    if get-word? data [data: get data]

    if any [url? data string? data number? data word? data time? data 
    date? data] [out data return true]
    if none? data [return true]

    dr: bind data-rules 'data ; this is the easiest way? can we not bind 
    directly in the parse block?
    tr: bind tag-rules 'data
    pr: bind page-rules 'data
    wr: bind word-rules 'data
    parse data [any [cmd: [dr | tr | pr | wr]]]
  ]
Chris:
11-Nov-2008
Reflecting on words -- where does 'and come from?  Reads a little 
awkwardly:

	cmd: [list [everything]]
	parse cmd ['list and block! into ['everything | 'something]]

'at might be more apt?

	parse cmd ['list at block! into ['everything]]
	parse cmd ['list not at [paren! | hash!] into ['everything]]
PatrickP61:
17-Jul-2009
Hi All,  I'm new to PARSE, so I've come here to learn a little more. 
 I'm working on and off on a little testing project of my own for 
R3.

My goal is to navigate through some website(s), capture Rebol code, 
and the expeceted responses such as this page: 
http://rebol.com/r3/docs/functions/try.html

I'd like to capture the text inside a block like this:
[ "cmd" {if error? try [1 + "x"] [print "Did not work."]}
rsp
   {Did not work.} 
cmd
  {if error? try [load "$10,20,30"] [print "No good"]}
rsp
  {No good}]


Can anyone point me to some parse example code which can "tear apart" 
an HTTP page based on text and the type of text?

I realize I may be biting off a bit more than I can chew, but I'd 
still like to give it a try.
Thanks in advance.
Paul:
17-Jul-2009
You can just set your block that you want to parse to a word.  Such 
as:

blk: [ "cmd" {if error? try [1 + "x"] [print "Did not work."]}
rsp
   {Did not work.} 
cmd
  {if error? try [load "$10,20,30"] [print "No good"]}
rsp
  {No good}]

; and then do this:

>> parse blk [some [set s string! (print s)]]
PatrickP61:
17-Jul-2009
I have this code which does this:

cmd-txt: "unasg"  cmd-term: "<"

pre-txt: "unasg"  pre-bgn:  "<pre>"               pre-end: "</pre>"

rsp-txt: "unasg"  rsp-bgn:  {<span class="eval">} rsp-end: {</span>}
site-url:	http://rebol.com/r3/docs/functions/try.html

page-txt: to-string read site-url
probe parse page-txt [thru pre-bgn copy pre-txt to pre-end]
probe parse pre-txt  [copy cmd-txt to cmd-term]
probe parse pre-txt  [thru rsp-bgn copy rsp-txt to rsp-end]

print [{"cmd"} "{" cmd-txt "}"]
print [{"rsp"} "{" rsp-txt "}"]

will yield this:
cmd

 { if error? try [1 + "x"] [print "Did not work."]          <-- this 
 is close to what I want to do
}
rsp
 { Did not work. }


This is close to what I want, but it is not foolproof.  For example, 
I would like to capture all displayable text that is separated from 
any html tags.  In my code example, if a displayable greater than 
symbol  < was displayed, then the parse would stop prematurely.


I am guessing someone has already created some code to "pull apart" 
a html web page, separating displayable text from invisible markup 
code.
Brock:
18-Jul-2009
This should help with the parse itself...
parse page-txt [
	thru pre-bgn 
	copy cmd-txt 
	to rsp-bgn
	thru rsp-bgn
	copy rsp-term 
	to rsp-end 
	(print ["Cmd: " cmd-txt "RSP: " rsp-term])
	to end
]
Group: MySQL ... [web-public]
Dockimbel:
16-Jun-2007
MySQL driver release v.1.1.2 Download at : http://rebol.softinnov.org/mysql

- Fix for an infinite loop issue when the server times out the connection 
(unix platforms).

- TCP keepalive option activated by default (for longstanding idle 
connections).

- Send-cmd function optimized to be a little bit faster and use less 
memory.
- Added new-lines markers to resulting recorsets.

- Added option to switch on/off new-lines marker through port/locals/newlines? 
flag.

- Recycle call removed from read-rows function. Should speed up the 
results a little bit.
- Minor source code cleanup.
Group: Linux ... [web-public] group for linux REBOL users
François:
9-Jul-2005
Can anyone tell me where is rebol/cmd 2.5.125 on rebol.org/builds/ 
for linux??? On 15-Jun there are only Base, Pro and Core. But no 
command!
François:
10-Aug-2005
Jonathan, try to launch rebol from the console rather than by double-clicking 
on the icon. Also, make sure you launch rebol from a place you have 
write access. For example, i installed rebol within /opt/rebol-cmd/bin 
but I do not have write access on this folder. So, from my home folder, 
i launch rebol like this: /opt/rebol-cmd/bin/rebview
Pekr:
5-Apr-2007
I get following error message with my old Fedora Core install. I 
can't run SDK (dated 2.8.2006) rebols, it throws following error 
to the console:


/usr/local/rebol-sdk-cmd/bin/rebcmd: error while loading shared libraries: 
libstdc++-libc6.2-2.so.3: cannot open shared object file: No such 
file or directory
Pekr:
1-Oct-2008
Need an adice from Linux gurus. My webserver might get kind of hacked. 
It is hidden behind 5 firewall nodes, and only ports forwarded (= 
no public IP address there) are 110, 80, 25, 21. What actually is 
happening is, that I found around 20K spam emails in mail queue :-(


I provide Squirrel Mail to few of my friends, but it is rather old 
version 1.4.3a. When I start sendmail service, I can see two processes 
started, sendmail, and sm-msp-queue, so I wonder if the second one 
is valid? It might be for sending mails from localhost?

After some time, many of processes are started:

root      5069  0.0  0.5  6836 2680 ?        S    22:30   0:00 sendmail: 
accepting connections

smmsp     5078  0.0  0.4  7144 2332 ?        S    22:30   0:00 sendmail: 
Queue [runner-:-00]:10:00 for /var/spool/clientmqueue

root      5194  0.0  0.6  7300 3412 ?        S    22:58   0:00 sendmail: 
./m91Kw05b005192 msa-mx6.hinet.net.: client greeting

root      5199  0.0  0.6  7584 3504 ?        S    22:58   0:00 sendmail: 
./m91L1x5b005199 mx01.uchicago.edu.: client greeting

root      5230  0.0  0.6  7292 3388 ?        S    22:59   0:00 sendmail: 
./m91KxO5b005213 relay2.peterlink.ru.: user open

root      5239  0.0  0.7  7444 3764 ?        S    23:00   0:00 sendmail: 
./m91Kxd5b005220 148.240.4.32.: user open

root      5261  0.1  0.6  7568 3300 ?        S    23:01   0:00 sendmail: 
server 123-204-0-27.dynamic.seed.net.tw [123.204.0.27] (may be forged) 
cmd read

root      5269  0.0  0.6  7568 3252 ?        S    23:01   0:00 sendmail: 
server [61.110.143.2] cmd read

root      5271  0.4  0.6  7568 3252 ?        S    23:02   0:00 sendmail: 
server c-98-235-97-52.hsd1.nj.comcast.net [98.235.97.52] cmd read

root      5272  0.0  0.6  7568 3240 ?        S    23:02   0:00 sendmail: 
server dynamic-98-140-229-24.dsl.cavtel.net [98.140.229.24] cmd read

root      5273  0.5  0.6  7292 3156 ?        S    23:02   0:00 sendmail: 
server [222.162.139.49] cmd read

root      5274  0.0  0.1  3336  796 pts/3    R    23:02   0:00 ps 
-aux

Any clues where should I look to remove the hack?
Kaj:
17-Dec-2009
system(cmd)
Pekr:
30-Jun-2010
Hi, need an advice. I am setting up very simple CGI, and I use ClearOS, 
and CZ installation. But one of CGI scripts seems to be in UTF-8 
or so, and I think error I am getting has nothing in common with 
Apache or its config. When I press enter on the file in Midnight 
Commander, I get following error (the text is my english translation, 
no exact wording):


./test.cgi: line 1: ï¿#!/usr/local/rebol-sdk-cmd/bin/rebol: not 
a file nor a directory


It seems like file is containing an unicode BOM marker at the very 
beginning, so even shebang line can't be interpreted? How can I solve 
it, apart from converting file into some CZ compatible charset?
Group: CGI ... web server issues [web-public]
Allen:
28-May-2005
does http://www.rebol.net/cgi-bin/rbbs.r?cmd=sourcework?
François:
22-Jul-2005
Hi, I have some trouble to configure apache to use fastcgi with Rebol/Cmd.
François:
24-Jul-2005
Hello, I finally get FastCGI with rebol/cmd with Lite Speed Web Server, 
but not with Apache.
François:
25-Jul-2005
LiteSpeed and lighttpd are both amazingly easy to install and configure 
and works fine with Rebol/Cmd in FastCGI (both in compatibility and 
external modes). Furthermore, those web servers are much faster and 
reponsive than Apache 2.0 (2 to 6 times faster!!)
François:
6-Aug-2005
Hi Pekr, Rebol/Cmd works fine with lighttpd and LiteSpeed Web Servers. 
I configure succesfully those web servers to work with rebol/cmd 
as static server (i did not try as external server but this sould 
work too). But I did not succeed with Apache!
Group: AGG ... to discus new Rebol/View with AGG [web-public]
Cyphre:
30-Dec-2005
Ok, so here it is:

-fixed image keying bug (swapped color components in keying tuple!)
-line width is now now changing according to scale

-fixed rendering of transformed images(now uses aplha premultiplied 
data)

-fixed LINE-PATTERN bug (multiple line patterns in DRAW block should 
work properly now)

-fixed MATRIX bug(wrong matrix calcualtion was corrected in this 
case)

-fixed SKEW command inconsistency (now it takes degrees as arguments 
instead of radians)

-fixed FILL-PEN bug when filling images (now it doesn't render images 
upside down)

-fixed ANTI-ALIAS cmd(now it is possible to switch this mode within 
one DRAW block)

-removed POP command (was obsolete, PUSH with block! arg is used 
instead)
-fixed fill/outline pixel aligning problem
-fixed visual bug when rendering circle with line-width > 1
-fixed text character encoding problem
-improved gradients: added REFLECT and REPEAT modes, example:
view layout [
	origin 0
	box 400x460 effect [
		draw [
			pen none
			fill-pen linear 10x10 0 190 0 1 1 black red green blue black
			box 10x10 390x90

   fill-pen linear 10x160 0 190 0 1 1 black red green blue black repeat
			box 10x100 390x180

   fill-pen linear 10x310 0 190 0 1 1 black red green blue black reflect
			box 10x190 390x270
			fill-pen radial 80x350 0 20 0 1 1 black red green blue black
			circle 80x350 70

   fill-pen radial 190x350 0 20 0 1 1 black red green blue black repeat
			circle 190x350 70

   fill-pen radial 320x350 0 20 0 1 1 black red green blue black reflect
			circle 320x350 70
		]
	]
]
Group: Dialects ... Questions about how to create dialects [web-public]
Volker:
16-Sep-2006
rebol [
    Title: "Immersive" 
    Usage: {
>> fed
fed> p 3 This is a demo line, its not loadable :)
p with 3 " This is a demo line, its not loadable :)"
fed> print "This is pure rebol"
This is pure rebol
fed> "this too"
== "this too"
fed>
}
] 
ctx-fed: context [
    arg-lens: [p 2] 
    line: cmd: none 
    last-err: none 

    p: func [lineno line] [print ["p with" lineno mold line] exit] 
    t: func [lineno] [print ["t with" lineno] exit] 
    e: func ["format err"] [throw last-err] 
    do-line: func [line /local arg-len-pos res] [
        set [val rest] load/next line 
        either arg-len-pos: find/skip arg-lens val 2 [
            cmd: reduce [val] 
            loop arg-len-pos/2 - 1 [
                set [val rest] load/next rest 
                append cmd val
            ] 
            append cmd rest
        ] [
            cmd: load/all line
        ] 
        bind cmd self 
        case [
            error? set/any 'res try [do cmd] [
                probe disarm last-err: res
            ] 
            value? 'res [print ["==" mold :res]]
        ]
    ] 
    rebol/words/fed: func [] [
        forever [
            do-line ask "fed> "
        ]
    ]
] 
fed
Group: Web ... Everything web development related [web-public]
yeksoon:
19-Sep-2005
quick question on Magic and FastMagic.

I understand that FastMagic supports FastCGI.


Is there any difference between the requirements? Does FastMagic 
requires /cmd  or just /core?

where can I find more info. on FastMagic
Group: SDK ... [web-public]
Geomol:
31-Jan-2007
Pekr, there was some problem with HTTPS in the SDK. I don't know, 
if it has been fixed in your version.

http://www.rebol.net/cgi-bin/rambo.r?sort=1&limit=1&cmd=Search&id=&pattern=HTTPS
Graham:
8-Feb-2008
Does enface return a value for use in .cmd scripts?  I wish to run 
a cmd script that enfaces a rebol script, and if sucessful, then 
to run the encapped program
Graham:
8-Feb-2008
something like this

if enface.exe myscript.r  -o myscript.exe [
 myscript.exe
]

but using the cmd shell syntax
Graham:
28-Jun-2008
Not really sdk, but I've finally found a use for those fast launch 
buttons on my laptop .. they now encap the latest versions of my 
software .. much easier than finding the compile.cmd script in the 
now very large source directory!
Graham:
15-Jun-2009
I use a .cmd file myself ... to build my sources and then run them.
BenBran:
12-Aug-2009
I received this via email. ...rebol-sdk-cmd-z2l7np..... Is there 
another place to download the latest?
onetom:
6-May-2011
https://secure28.inmotionhosting.com/~rebolc5/cgi-bin/order.cgi?cmd=buy&prod=command
sqlab:
13-Jan-2012
Which cmd or SDK version is the best using call/output on Win?
sqlab:
13-Jan-2012
I was not aware that Nenads call also supports output. 
And indeed win-call/output was not working for me.

So far 2.7.5. 2.6.2, 2.5.6 and 2.5.125 is working for me, but the 
cmd window is annoying, especially as my calls take a long time.
Rondon:
14-Jan-2012
Mike, I'm using Rebol /Cmd, because when I call rebol/view at my 
isp, I receive an error of libX not found..
Group: Rebol School ... Rebol School [web-public]
Vladimir:
30-Oct-2008
Trace/net  did gave more info:

Its not my new internet provider... :)  its our old router used in 
a new way... :)
This is the message I get...
Username... pass.... OK.... and then:
Net-log: "Opening listen port 2655"
Net-log: [["PORT" port/locals/active-check] "200"]
Net-log: "200 PORT command successful"
Net-log: [["CWD" port/path] ["25" "200"]]
Net-log: "250 OK. Current directory is /apl"
Net-log: "Type: new"
Net-log: ["TYPE I" "200"]
Net-log: "200 TYPE is now 8-bit binary"
Net-log: [["STOR" port/target] ["150" "125"]]
Net-log: "Closing cmd port 2652 21"
Net-log: "Closing listen port 2655"
** Access Error: Network timeout
** Where: confirm
** Near: to-port: open/binary/new/direct server/:file
Vladimir:
30-Oct-2008
user name is "visaprom.com"
Total commander is set up simply...
use passive is ON...
here is what is happening with ftp/passive: true:

Net-log: "215 UNIX Type: L8"
Net-log: ["PWD" "25"]
Net-log: {257 "/" is your current location}
Net-log: ["PASV" "227"]
Net-log: "227 Entering Passive Mode (194,9,94,127,235,183)"
Net-log: [["CWD" port/path] ["25" "200"]]

this is where it pauses and then:

Net-log: "Closing cmd port 3565 21"
** Access Error: Network timeout
** Where: confirm
** Near: to-port: open/binary/new/direct server/:file
Pekr:
30-Oct-2008
here's list from my system:

connecting to: www.jablunkovsko.cz
Net-log: [none ["220" "230"]]
Net-log: "220 (vsFTPd 1.2.1)"
Net-log: [["USER" port/user] "331"]
Net-log: "331 Please specify the password."
Net-log: [["PASS" port/pass] "230"]
Net-log: "230 Login successful."
Net-log: ["SYST" "*"]
Net-log: "215 UNIX Type: L8"
Net-log: ["PWD" "25"]
Net-log: {257 "/"}
Net-log: "Opening listen port 50061"
Net-log: [["PORT" port/locals/active-check] "200"]
Net-log: "200 PORT command successful. Consider using PASV."
Net-log: "Type: dir"
Net-log: ["TYPE A" "200"]
Net-log: "200 Switching to ASCII mode."
Net-log: ["LIST" ["150" "125"]]
Net-log: "150 Here comes the directory listing."
Net-log: "Closing listen port 50061"
Net-log: "Closing data port 193.85.151.2 50061 20"
Net-log: [none ["226" "250"]]
Net-log: "226 Directory send OK."
Net-log: "Caching cmd-port www.jablunkovsko.cz 50060 21"
Vladimir:
30-Oct-2008
print read ftp://visaprom.com:[pass-:-ftp-:-visaprom-:-com]
URL Parse: visaprom.com 8ofhjo99 ftp.visaprom.com none none none
Net-log: ["Opening" "tcp" "for" "FTP"]
Net-log: [none ["220" "230"]]

Net-log: {220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------}
Net-log: "220-You are user number 210 of 400 allowed."
Net-log: "220-Local time is now 11:43. Server port: 21."
Net-log: "220-This is a private system - No anonymous login"
Net-log: {220-IPv6 connections are also welcome on this server.}

Net-log: {220 You will be disconnected after 15 minutes of inactivity.}
Net-log: [["USER" port/user] "331"]
Net-log: "331 User visaprom.com OK. Password required"
Net-log: [["PASS" port/pass] "230"]
Net-log: {230-User visaprom.com has group access to:  www     }
Net-log: "230 OK. Current restricted directory is /"
Net-log: ["SYST" "*"]
Net-log: "215 UNIX Type: L8"
Net-log: ["PWD" "25"]
Net-log: {257 "/" is your current location}
Net-log: ["PASV" "227"]
Net-log: "227 Entering Passive Mode (194,9,94,127,232,3)"
Net-log: "Type: dir"
Net-log: ["TYPE A" "200"]
Net-log: "Closing cmd port 3783 21"
** Access Error: Network timeout
** Where: confirm
** Near: print read ftp://visaprom.com:[8ofhjo99-:-ftp-:-visaprom-:-com]
Pekr:
30-Oct-2008
I tried it here, here's where it starts to differ:

Net-log: ["TYPE A" "200"]
Net-log: "200 TYPE is now ASCII"
Net-log: ["LIST" ["150" "125"]]
Net-log: "150 Accepted data connection"
Net-log: "Closing data port 194.9.94.127 50078 56405"
Net-log: [none ["226" "250"]]
Net-log: "226-Options: -a -l "
Net-log: "226 11 matches total"
Net-log: "Caching cmd-port 194.9.94.127 50077 21"

apl/ apl101/ apl104/ apl105/ apl201/ apl202/ apl204/ apl206/ visaprom.com/
Pekr:
30-Oct-2008
There seems to be problem with cmd port. But that runs on port 21, 
whereas data usually runs on 20. Have you tried with system/schemes/ftp/passive: 
true   ?
Vladimir:
5-Nov-2008
there it is.... difference is:

in total cmd:
on Request: STOR ik104test.zip
ftp > mgemanagement [ACK] Seq=80 Ack=35 Win=16500 Len=0
Response: 150 Accepted data connection

and in rebol
response is

 290 7.903130    194.9.94.127          192.168.2.108         TCP  
     ftp > spiral-admin [ACK] Seq=613 Ack=111 Win=16500 Len=0
30 seconds pause

1279 37.655879   192.168.2.108         194.9.94.127          TCP 
     spiral-admin > ftp [FIN, ACK] Seq=111 Ack=613 Win=15888 Len=0 
   149 4.247163    194.9.94.127          192.168.2.108         TCP
Dockimbel:
5-Nov-2008
Your REBOL FTP session doesn't seem to use passive mode while Total 
Cmd does.
Gregg:
21-Nov-2008
transform: func [
	block [block!] "Datatset to transform"
	cmds  [block!] "Transformation commands to perform"
	/local
		run-map-transform
		main= map-blk= src= dest=
		      =map-blk =src =dest
][

 run-map-transform: func [src [integer!] dest [integer!] map [any-block!] 
 /local val] [
		foreach item block [
			if val: select/skip map item/:src 2 [change item/:dest val]
			;print [val mold item]
		]
	]
	map-blk=: ['using set =map-blk word!] 
	src=: ['field set =src integer!]
	dest=: ['into opt 'field set =dest integer!]
	map-cmd=: [
		['map src= map-blk= dest= | map-blk= 'map src= dest=]
		;(print [=map-blk =src =dest])
		(run-map-transform =src =dest get =map-blk)
	]
	main=: [some map-cmd=]

 either parse cmds main= [dataset] [none] ; decide how to handle bad 
 cmd scenario
]


transform copy dataset [map field 2  using glcodehash into field 
4]

transform copy dataset [using glcodehash  map field 2 into field 
4]
Group: Tech News ... Interesting technology [web-public]
JaimeVargas:
12-Jan-2006
So it is pro/cmd etc.
Chris:
21-Jun-2006
Could those examples be better addressed with an appropriately designed 
Reblet?  (I guess I make the reblet/widget distinction as 'reblet' 
= 1. behaving as a traditional application within the OS, in that 
it appears in the taskbar/dock and can be alt/cmd-tabbed to and 2. 
contained within an OS window, opaque though perhaps containing custom 
styling)
Group: !REBOL3-OLD1 ... [web-public]
Anton:
11-Apr-2006
net-utils/net-log join "Type: " type: any [
	    all [new-dir? 'new-dir] 
	    all [new? 'new] 
	    all [dir-read? port 'dir] 

     all [port/state/flags and system/standard/port-flags/open-append 
     <> 0 'app] 
	    'file
	] 
	do select [
	    file [

  confirm-cmd port either port/algorithm = 'nlst [nlst-check] [list-check] 
		accept-connect port type 
		parse-dir-list port 
		if tmp: select locals/dir-cache to-file port/target [
		    port/status: first tmp 
		    port/date: third tmp 

      if any [none? port/size: second tmp 1024 > port/size] [port/size: 
      0]
		] 
		data-connect port 
		confirm-cmd port binary-type-check 
		if 0 < cmd-port/state/index: port/state/index [
		    confirm-cmd port restart-check
		] 
		confirm-cmd port read-check
	    ] 
	    new [confirm-cmd port write-check] 
	    new-dir [confirm-cmd port mkdir-check] 

     dir [confirm-cmd port either port/algorithm = 'nlst [nlst-check] 
     [list-check]] 
	    app [confirm-cmd port append-check]
	] type 
	accept-connect port type 
	if type = 'dir [
	    port/size: port/state/tail: parse-dir-list port
	]
    ] 
    port
]
close: func [port /local cmd-port cache-size][
    cmd-port: port/locals/cmd-port 
    if not dir-read? port [error-try? [confirm-transfer port]] 

    net-utils/net-log reform ["Caching cmd-port" cmd-port/host cmd-port/local-port 
    cmd-port/remote-port] 
    cmd-port/host: cmd-port/locals/tuple
Group: !Cheyenne ... Discussions about the Cheyenne Web Server [web-public]
Dockimbel:
10-Jun-2007
Sure, but may need some improvement in UniServe to make services 
collaboration more flexible. I guess it can be done with the current 
UniServe and the uniserve/shared context to make the ftp-cmd and 
ftp-data port collaborate.
Graham:
25-Jun-2007
I put an echo now > when.txt in the .cmd file and it definitely is 
being executed
Graham:
25-Jun-2007
but the same .cmd file works fine in a rebol console.
Graham:
25-Jun-2007
otherwise the cmd file would not work :)
BrianH:
25-Jun-2007
Have you considered reading the source of the .cmd script and translating 
its behavior to REBOL? You might be better able to call the command 
line tools directly rather than through cmd.exe.
Henrik:
1-Jan-2008
I think I found the problem in Uniserve:

In uni-engine.r, replacing:

call join form to-local-file system/options/boot [" -s " cmd]

with:

call join form to-local-file system/options/boot [" -sq " cmd]

quiets it down
Oldes:
17-Feb-2009
in uni-engine.r is used:
launch*: func [cmd [string!]][
	call join form to-local-file system/options/boot [" -s " cmd]
]
There must be -sq not just -s
Graham:
5-Mar-2009
I need cmd for the odbc
Graham:
1-Aug-2009
would you do a cmd encap?
Group: !CureCode ... web-based bugtracking tool [web-public]
Steeve:
22-Sep-2009
pie-chart: func [
    con [block!] ;-- block of overriden constants
    cmd [block!] ;-- commands to draw the pie-chart 
    /local push angle middle bottom pane bout sens
    size back-color start line text
][

    ;-- default constants (overridable by con block)
    size: 300x200       ;--size of the box
    back-color: white   ;-- back color of the drawing

    start: -90          ;-- starting angle of the pie chart (in degrees)
    line: [pen gray line]   ;-- draw block used for lines

    text: [pen none fill-pen gray text vectorial]   ;-- draw block used 
    for texts
    ;--
    do bind con 'size
    pane: make block! 30
    push: func [data][append pane compose data]
    center: size / 2    ; -- center of the pie chart
    radius: to-pair divide min size/x size/y 2.5
    sens: true
    bottom: 0 
   
    foreach [title color percent] cmd [
        if issue? color [color: to-tuple debase/base color 16]

        push [pen back-color fill-pen (color) arc center radius (start) (angle: 
        round/ceiling percent * 360) closed]
        middle: angle / 2 + start
        push line 
        push [

            (center + as-pair radius/x * cosine middle radius/x * sine middle)

            (bout: center + as-pair radius/x + 3 * cosine middle radius/x + 3 
            * sine middle)
        ]
        either 0 <= cosine middle [
            unless sens [bottom: 0 send: true]
            push reduce [
                bout: as-pair center/x + radius/x bout/y
                bout: as-pair bout/x + 8 max bout/y bottom
                bout: as-pair bout/x + 3 bout/y
            ]
            bottom: bout/y + 12
        ][
            if sens [bottom: size/y sens: false]
            push reduce [
                bout: as-pair center/x - radius/x bout/y
                bout: as-pair bout/x - 8 min bout/y bottom
                bout: as-pair bout/x - 3 bout/y
            ]
            bottom: bout/y - 12
            bout: as-pair bout/x - first size-text make face [
                size: 5000x5000
                text: title
            ] bout/y 
        ]
        push text 
        push [(bout + 1x-8 ) (title)]
        start: start + angle
    ] 
    pane
]
Steeve:
22-Sep-2009
pie-chart: func [
    con [block!] ;-- block of overriden constants
    cmd [block!] ;-- commands to draw the pie-chart 
    /local push angle middle bottom pane bout sens
    size back-color start line text font* font
][

    ;-- default constants (overridable by con block)
    size: 300x200       ;--size of the box
    back-color: white   ;-- back color of the pie
	font: make face/font [color: gray size: 12]

    start: -90          	;-- starting angle of the pie chart (in degrees)
    line: [pen gray line]   ;-- draw block used for lines
    ;--
    do bind con 'size
    font/offset: 0x0
    pane: make block! 30
    push: func [data][append pane compose data]
    center: size / 2    ; -- center of the pie chart
    radius: to-pair divide min size/x size/y 2.5
    sens: true
    bottom: 0 
   	font*: font
    foreach [title color percent] cmd [
        if issue? color [color: to-tuple debase/base color 16]

        push [pen back-color fill-pen (color) arc center radius (start) (angle: 
        round/ceiling percent * 360) closed]
        middle: angle / 2 + start
        push line
        push [

            (center + as-pair radius/x * cosine middle radius/x * sine middle)

            (bout: center + as-pair radius/x + 3 * cosine middle radius/x + 3 
            * sine middle)
        ]
        text: to-image make blank-face [

         size: size-text make face [size: 5000x5000 text: title font: font*]
        	text: title
        	font: font*
        	color: none
        ]
        either 0 <= cosine middle [
            unless sens [bottom: 0 sens: true]
            push reduce [
                bout: as-pair center/x + radius/x bout/y
                bout: as-pair bout/x + 8 max bout/y bottom
                bout: as-pair bout/x + 3 bout/y
            ]
            bottom: bout/y + text/size/y
        ][
            if sens [bottom: size/y sens: false]
            push reduce [
                bout: as-pair center/x - radius/x bout/y
                bout: as-pair bout/x - 8 min bout/y bottom
                bout: as-pair bout/x - 3 bout/y
            ]
            bottom: bout/y - text/size/y
            bout: as-pair bout/x - text/size/x bout/y 
        ]

        push [image (text) (bout + as-pair 1 text/size/y / -2 - 0.5 ) black 
        ]
        start: start + angle
    ] 
    pane
]
Group: DevCon2008 (post-chatter) ... DevCon2008 [web-public]
Geomol:
17-Dec-2008
Graham, what happens if you in Windows start a cmd and type:
start http://www.rebol.com

(I can't remember, where the problem is, so I'm just giving ideas.)
Group: reblets ... working reblets (50-100 lines or less) [web-public]
Maxim:
19-Mar-2009
rebol [
	title: "explore.r"
	version 1.0
	date: 2009-03-19
	author: "Maxim Olivier-Adlhoch"
	copyright: "2009(c)Maxim Olivier-Adlhoch"
	tested: "win xp"

 notes: "Add any dir to the dirs block.  options are self explanatory"
]

dirs: [
	%/C/ []
	%"/C/program files/" [expand]
	"%tmp%" [label "temp dir"]
	"" [ label "my documents"]
]

blk: []

explore-dir: func [path expand? /local cmd][

 call/shell rejoin [" explorer " either expand? ["/n,/e,"]["/n,"] 
 path ]
]

ctr: 1
foreach [item opts] dirs [
	ctr: ctr + 1
	expand?: found? find opts 'expand
	label: any [select opts 'label to-local-file item]
	append blk compose/deep [ 
		pad 20 
		(to-set-word setw: rejoin ["dir" ctr]) check (expand?) 
		pad 20 

  btn 200 left (label) [ explore-dir to-local-file item get in (to-word 
  setw) 'data ]
	]
	append blk 'return
]


view layout compose [across vtext right "expand?" vtext "folder" 
 return (blk)]
1 / 212[1] 23