=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Doc/ox.sm1,v retrieving revision 1.17 retrieving revision 1.21 diff -u -p -r1.17 -r1.21 --- OpenXM/src/kan96xx/Doc/ox.sm1 2001/08/22 03:23:25 1.17 +++ OpenXM/src/kan96xx/Doc/ox.sm1 2002/11/08 14:18:00 1.21 @@ -1,4 +1,6 @@ -%%%%%%%%%%% $OpenXM: OpenXM/src/kan96xx/Doc/ox.sm1,v 1.16 2001/08/22 02:36:34 takayama Exp $ +%%%%%%%%%%% $OpenXM: OpenXM/src/kan96xx/Doc/ox.sm1,v 1.20 2002/08/03 06:02:35 takayama Exp $ + +/ox.sm1.loaded 1 def %%%%%%%%%%%% Configuration: Specify your server path %%%%% ox, ox_sm1, oxlog are contained in kxx.tgz %%%%% These should be under /usr/local/lib/sm1 or LOAD_SM1_PATH @@ -143,6 +145,7 @@ ox.version [(Version)] system_variable gt (oxpopcmo1, oxpopcmo2, sm1connect2, sm1connect3) (sm1connectr ox_launch, ox_launch_nox) (oxNoX : set an environment to invoke oxlog without xterm and to call oxlog with >& /dev/null) + (oxresetAll, oxIsInterruptable, [(oxGetClientList)] extension ) $ ex 1. (ox.sm1) run oxNoX sm1connectr $ $ ex 2. (oxasir.sm1) run oxNoX (x^2-1). fctr pmat ; $ ] @@ -1017,8 +1020,96 @@ ox.verbose { ] ] putUsages +/ox_get_os { + [/in-ox_get_ox /os1 /os2] pushVariables + [ + /os1 [(ostype)] extension 0 get def + os1 (windows) eq { + [(getenv) (WINDOWID)] extension tag 0 eq not { + %% expect cygwin X + /os2 (xcygwin) def + }{ + [(getenv) (OSTYPE)] extension tag 0 eq not + [(getenv) (MACHTYPE)] extension tag 0 eq not or + [(getenv) (PWD)] extension tag 0 eq not or + { + %% expect cygwin environment + /os2 (cygwin) def + }{ + %% expect the native windows environment + /os2 (native) def + } ifelse + } ifelse + }{ + /os2 null def + } ifelse + /arg1 [os1 os2] def + ] pop + popVariables + arg1 +} def + +/ox.ostype ox_get_os def + +/ox_backslash_to_slash { + /arg1 set + [/in-ox_backslash_to_slash /sss ] pushVariables + [ + /sss arg1 def + sss (array) dc /sss set + sss { dup 92 eq { pop 47 } { } ifelse } map + { (string) dc } map cat /arg1 set + ] pop + popVariables + arg1 +} def +/ox_slash_to_backslash { + /arg1 set + [/in-ox_slash_to_backslash /sss ] pushVariables + [ + /sss arg1 def + sss (array) dc /sss set + sss { dup 47 eq { pop 92 } { } ifelse } map + { (string) dc } map cat /arg1 set + ] pop + popVariables + arg1 +} def + +/oxIsInterruptable { + /arg1 set % Client Object + [/in-ox_get_server_name /mcap /ans /sname] pushVariables + [ + /mcap arg1 def + /ans 0 def + mcap tag 6 eq { + mcap 10 get tag 6 eq { + mcap 10 get 1 get 0 get 1 get /sname set + }{ /sname ( ) def } ifelse + }{ + /sname ( ) def + } ifelse + (ox_sm1) sname isSubstr -1 eq { + } { /ans 1 def } ifelse + (ox_asir) sname isSubstr -1 eq { + } { /ans 1 def } ifelse + /arg1 ans def + ] pop + popVariables + arg1 +} def + +/oxresetAll { + [(oxGetClientList)] extension + { dup oxIsInterruptable { oxreset } { pop } ifelse } map +} def + [(ostype)] extension 0 get (windows) eq { + (ox-win.sm1.loaded) boundp { + }{ + [(parse) (ox-win.sm1) pushfile] extension + } ifelse }{ initializePathNamesForOx %% This should be } ifelse