home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / CMDS / memacs400_cmds.lzh / MEMACS400 / CMD / epage.cmd < prev    next >
OS/2 REXX Batch file  |  1996-04-25  |  3KB  |  123 lines

  1. ;    EPAGE.CMD:    EMACS Macro Programming Page
  2. ;            for MicroEMACS 3.9d and above
  3. ;            (C)opyright 1987 by Daniel M Lawrence
  4.  
  5. ; set the clean procedure up
  6. store-procedure clean
  7.     delete-buffer "[display-variable]"
  8.     delete-buffer "[eval-exp]"
  9.     delete-buffer "[compile-buffer]"
  10.     delete-buffer "[toggle-debugging]"
  11.     unbind-key S-FN5
  12.     unbind-key S-FN6
  13.     unbind-key S-FN7
  14.     unbind-key S-FN8
  15.     unbind-key S-FN9
  16.     unbind-key S-FN0
  17. !endm
  18.  
  19. ; make sure the function key window is up
  20.     set %rcfkeys FALSE
  21.     toggle-fkeys
  22.     write-message "Loading..."
  23.  
  24. ; Write out the page instructions
  25.     save-window
  26.     1 next-window
  27.     beginning-of-file
  28.     set $curcol 25
  29.     overwrite-string " F1 display variable       F2 evaluate expression"
  30.     next-line
  31.     set $curcol 25
  32.     overwrite-string " F3 compile buffer         F4 debug mode [OFF]"
  33.     next-line
  34.     set $curcol 25
  35.     overwrite-string " F5 execute buffer         F6 execute macro"
  36.     next-line
  37.     set $curcol 18
  38.     overwrite-string "EMAC"
  39.     set $curcol 25
  40.     overwrite-string " F7 indent region          F8 undent region"
  41.     next-line
  42.     set $curcol 25
  43.     overwrite-string " F9 execute DOS command   F10 shell to DOS"
  44.     unmark-buffer
  45.     beginning-of-file
  46.     !force restore-window
  47.     update-screen
  48.  
  49. ; display a variable
  50.  
  51. store-procedure    display-variable
  52.     set %rcdebug $debug
  53.     set $debug FALSE
  54.     set %rctmp @&cat &cat "Variable to display[" %rcvar "]: "
  55.     !if ¬ &seq %rctmp ""
  56.         set %rcvar %rctmp
  57.     !endif
  58.     write-message &cat &cat &cat %rcvar " = [" &ind %rcvar "]"
  59.     set $debug %rcdebug
  60. !endm
  61. macro-to-key display-variable    S-FN1
  62.  
  63. ;    evaluate expresion
  64.  
  65. store-procedure eval-exp
  66.     delete-buffer "[temp]"
  67.     set %rcbuf $cbufname
  68.     set %cline $cwline
  69.     select-buffer "[temp]"
  70.     insert-string "set %rcval "
  71.     !force insert-string @"EXP: "
  72.     execute-buffer "[temp]"
  73.     unmark-buffer
  74.     select-buffer %rcbuf
  75.     delete-buffer "[temp]"
  76.     %cline redraw-display
  77.     write-message &cat &cat "Value = [" %rcval "]"
  78. !endm
  79. macro-to-key eval-exp S-FN2
  80.  
  81. ;    compile the current buffer
  82.  
  83. store-procedure compile-buffer
  84. ;    here is where to add code to handle compiling the current buffer
  85.     write-message "[No Compiler module loaded]"
  86. !endm
  87. macro-to-key compile-buffer S-FN3
  88.  
  89. ;    Toggle debug mode
  90.  
  91. store-procedure toggle-debugging
  92.     set $debug FALSE
  93.     set %cbuf $cbufname
  94.     set %cline $cwline
  95.     select-buffer "Function Keys"
  96.     beginning-of-file
  97.     next-line
  98.     68 forward-character
  99.     set %rcdebug &equ $curchar 70
  100.     delete-previous-character
  101.     2 delete-next-character
  102.     !if %rcdebug
  103.         insert-string "ON "
  104.     !else
  105.         insert-string "OFF"
  106.     !endif
  107.     unmark-buffer
  108.     select-buffer %cbuf    
  109.     %cline redraw-display
  110.     write-message &cat &cat "[Debug Mode " %rcdebug "]"
  111.     set $debug %rcdebug
  112. !endm
  113. macro-to-key toggle-debugging S-FN4
  114.  
  115.     bind-to-key execute-buffer S-FN5
  116.     bind-to-key execute-macro S-FN6
  117.     bind-to-key indent-region S-FN7
  118.     bind-to-key undent-region S-FN8
  119.     bind-to-key shell-command S-FN9
  120.     bind-to-key i-shell S-FN0
  121.     set %rcvar ""
  122.     write-message "[Program page loaded]"
  123.