* Macros defined in INITIAL.KEX as synonyms only in TEXTWINDOW mode * because COMMAND DOS and COMMAND DOSN are confused, if the current * PSCREEN x y PRESET differs from the initial PSCREEN x y RESET (?): * - start KEDIT in a TEXTWINDOW * - use DOSQ MODE 80,34 or similar changing the number of lines * - use PSCREEN 34 80 PRESET to inform KEDIT about the new MODE * - use COMMAND DOS or COMMAND DOSN, e.g. simply COMMAND DOSN EXIT * - now KEDIT is confused, status and command line can vanish, etc. * - workaround: * * if opmode.1() = 'TEXTWINDOW' then do * 'define dos.kml' /* contains macros DOS and DOSN */ * 'syn DOSN macro DOSN' /* command DOSQ needs no wrapper */ * 'syn DOS macro DOS' /* DOS and DOSN need SYN-wrapper */ * end * * Assuming that REXX is always available in OS/2 opmode TEXTWINDOW * for DOSN the most simple solution is probably a REXX address CMD. * Dummy 'command dosn' raises KEDIT error 3 for DOSN without arg.s * Bonus: the "new" DOSN returns any error code of its DOSN command. * Keep the initial /**/ comments, this forces REXX instead of KEXX. ::: :DOSN /**/ call trace 'O' if arg( 1 ) > '' then address CMD '@CLS &' arg( 1 ) else 'command dosn' exit rc :DOS /**/ if arg( 1 ) = '' then do 'macro DOSN ECHO Use the EXIT command to return to KEDIT & CMD' exit rc end 'macro DOSN' arg( 1 ) ; N = rc call charout '\dev\con' , d2c(10) || '(' || N || ') press any key' 'dosq pause > \dev\nul' ; exit N