]> OCCT Git - occt-wok.git/commitdiff
Initial revision
authorcascade <cascade@opencascade.com>
Fri, 17 Oct 2003 22:22:22 +0000 (22:22 +0000)
committercascade <cascade@opencascade.com>
Fri, 17 Oct 2003 22:22:22 +0000 (22:22 +0000)
src/WOKsite/cmd-input.tcl [new file with mode: 0755]
src/WOKsite/wokinit.bat [new file with mode: 0755]

diff --git a/src/WOKsite/cmd-input.tcl b/src/WOKsite/cmd-input.tcl
new file mode 100755 (executable)
index 0000000..7702f67
--- /dev/null
@@ -0,0 +1,58 @@
+ namespace eval CmdInput {\r
+\r
+        # We want to allow shell commands to execute automatically\r
+        # as in normal interactive use.  The "unknown" proc checks\r
+        # that "info script" returns "", before it enables that\r
+        # behaviour, so we subclass "info".  In Tcl 8.4 we could simply\r
+        # call 'info script ""' I believe, but 8.3 and earlier don't do\r
+        # that.\r
+        variable this_script [info script]\r
+        proc info {args} {\r
+                set result [uplevel [concat __org_info $args]]\r
+                set cmd [lindex $args 0]\r
+\r
+                variable this_script\r
+                if {"script" == $cmd && "$result" == $this_script} {\r
+                        return ""\r
+                } else {\r
+                        return $result\r
+                }\r
+        }\r
+        rename ::info ::__org_info ;# using a namespace proc here cores\r
+        proc ::info {args} "uplevel \[concat [namespace which info] \$args\]"\r
+\r
+        proc loop {} {\r
+                # preparations\r
+                fconfigure stdin  -buffering line\r
+                fconfigure stdout -buffering line\r
+                fconfigure stderr -buffering line\r
+                set ::tcl_interactive 1\r
+\r
+                if {[file exists ~/tclshrc_WOK8.0]} {\r
+                        namespace eval :: {uplevel \#0 source ~/tclshrc_WOK8.3}\r
+                }\r
+\r
+                # input loop\r
+                while {1} {\r
+                        catch {uplevel \#0 $::tcl_prompt1}\r
+                        flush stdout\r
+                        set cmd {}\r
+                        while {1} {\r
+                                append cmd [gets stdin] "\n"\r
+                                if {[info complete $cmd]} {\r
+                                        break\r
+                                }\r
+                                catch {uplevel \#0 $::tcl_prompt2}\r
+                                flush stdout\r
+                        }\r
+                        history add $cmd\r
+                        catch {uplevel \#0 $cmd} result\r
+                        puts $result\r
+                }\r
+                return ""\r
+        }\r
+ }\r
+\r
+ catch {CmdInput::loop} result\r
+ puts $result\r
+ exit 0\r
diff --git a/src/WOKsite/wokinit.bat b/src/WOKsite/wokinit.bat
new file mode 100755 (executable)
index 0000000..9399b29
--- /dev/null
@@ -0,0 +1,9 @@
+set TCLHOME=%CASROOT%/../3rdparty/win32/tcltk\r
+set TCLBIN=%TCLHOME%/bin\r
+set WOKHOME=%CASROOT%/../wok\r
+set PATH=%TCLBIN%;%WOKHOME%/lib/wnt;%PATH%\r
+set TCL_RCFILE=%WOKHOME%/site/tclshrc.tcl\r
+set WOK_ROOTADMDIR=%WOKHOME%/wok_entities\r
+set HOME=%WOKHOME%/site\r
+cd %WOK_ROOTADMDIR%\r
+%TCLBIN%/tclsh.exe < %HOME%/CreateFactory.tcl\r