home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / APPS / memacs.3.12_mm1.lzh / CMD / wpage.cmd < prev   
OS/2 REXX Batch file  |  1995-07-04  |  4KB  |  169 lines

  1. ;    WPAGE.CMD:    Wordprocessing Macro Page
  2. ;            for MicroEMACS 3.9d and above
  3. ;            (C)opyright 1987 by Daniel M Lawrence
  4. ; set the clean procedure up
  5. store-procedure clean
  6.     delete-buffer "[Macro 10]"
  7.            bind-to-key execute-macro-11 S-FN2
  8.     bind-to-key execute-macro-12 S-FN3
  9.     delete-buffer "[Macro 13]"
  10.     delete-buffer "[Macro 14]"
  11.     delete-buffer "[Macro 15]"
  12.     delete-buffer "[Macro 16]"
  13.     delete-buffer "[Macro 17]"
  14.     bind-to-key execute-macro-18 S-FN9
  15.     delete-buffer "[Macro 19]"
  16.     set $cmode %oldmode
  17.     set $gmode %oldgmode
  18. !endm
  19. ; make sure the function key window is up
  20.     set %rcfkeys FALSE
  21.     toggle-fkeys
  22.     write-message "Loading..."
  23. ; Write out the page instructions
  24.     save-window
  25.     1 next-window
  26.     beginning-of-file
  27.     set $curcol 25
  28.     overwrite-string " F1 center line                                     "
  29.     next-line
  30.     set $curcol 25
  31.     overwrite-string " F3 reformat paragraph     F4 spell check file      "
  32.     next-line
  33.     set $curcol 25
  34.     overwrite-string " F5 ref indented paragraph F6 PREVIEW output        "
  35.     next-line
  36.     set $curcol 18
  37.     overwrite-string "WORD"
  38.     set $curcol 25
  39.     overwrite-string " F7 toggle words           F8 output DRAFT          "
  40.     next-line
  41.     set $curcol 25
  42.     overwrite-string " F9 count words           F10 output FINAL          "
  43.     unmark-buffer
  44.     beginning-of-file
  45.     !force restore-window
  46.     update-screen
  47. ; Center the current line
  48. 10    store-macro
  49.     end-of-line
  50.     set %rctmp $curcol
  51.     beginning-of-line
  52.     &div &sub $fillcol %rctmp 2 insert-space
  53.     beginning-of-line
  54. !endm
  55. bind-to-key nop S-FN2
  56. bind-to-key fill-paragraph S-FN3
  57. ;    Spell check the current buffer
  58. 13    store-macro
  59.     set %rctmp @"User dictionary(<ret> if none): "
  60.     !if &seq %rctmp "ERROR"
  61.         !return
  62.     !endif
  63.     !if ¬ &seq %rctmp ""
  64.         set %rctmp &cat &cat "-u" %rctmp " "
  65.     !endif
  66.     save-file
  67.     set %rcspell TRUE
  68.     write-message ~n
  69.     shell-command &cat &cat "spell " %rctmp $cfname
  70.     execute-file "scan.cmd"
  71.     delete-other-windows
  72.     !if &seq %rcfkeys TRUE
  73.         set %rcfkeys FALSE
  74.         toggle-fkeys
  75.     !endif
  76.     update-screen
  77.     write-message "[Spell Check complete]"
  78. !endm
  79. ;    reformat indented paragraph
  80. 14    store-macro
  81.     write-message "                    [Fixing paragraph]"
  82.     ;remember where we are..and set up
  83.     set %endpos $cwline
  84.     set $discmd "FALSE"
  85.     ;snarf the paragraph and put it in its own buffer
  86.     kill-region
  87.     2 split-current-window
  88.     select-buffer "[temp]"
  89.     yank
  90.     ;get rid of the blank lines at the end
  91.     end-of-file
  92.     !while &and &seq $line "" ¬ &equ $curline 1
  93.         delete-previous-character
  94.     !endwhile
  95.     forward-character
  96.     ;get rid of the indents
  97.     set %endline $curline
  98.     beginning-of-file
  99.     !while &gre %endline $curline
  100.         !while &or &equ $curchar 32 &equ $curchar 9
  101.             delete-next-character
  102.         !endwhile
  103.         next-line
  104.     !endwhile
  105.     ;re-format it
  106.     &sub $fillcol 8 set-fill-column
  107.     1 goto-line
  108.     fill-paragraph
  109.     &add $fillcol 8 set-fill-column
  110.     ;insert new indents
  111.     end-of-file
  112.     set %endline $curline
  113.     beginning-of-file
  114.     !while &less $curline &sub %endline 1
  115.         beginning-of-line
  116.         handle-tab
  117.         next-line
  118.     !endwhile
  119.     ;move it back into the original buffer
  120.     beginning-of-file
  121.     set-mark
  122.     end-of-file
  123.     kill-region
  124.     unmark-buffer
  125.     delete-window
  126.     yank
  127.     ;and clean up
  128.     delete-buffer "[temp]"
  129.     set $cwline %endpos
  130.     set $discmd TRUE
  131.     write-message "                    [Fixed paragraph]"
  132. !endm
  133. 15    store-macro
  134.     write-message "[MicroSCRIBE not ready]"
  135. !endm
  136. ;    swap the word the cursor is on and it's predisesor
  137. 16    store-macro
  138.     set %rctmp $search
  139.     forward-character
  140.     previous-word
  141.     0 delete-next-word
  142.     set %second $kill
  143.     insert-string "~~"
  144.     !force previous-word
  145.     !if &seq $status FALSE
  146.         set %first %second
  147.     !else
  148.         0 delete-next-word
  149.         set %first $kill
  150.         insert-string %second
  151.     !endif
  152.     search-forward "~~"
  153.     delete-previous-character
  154.     insert-string %first
  155.     previous-word
  156.     set $search %rctmp
  157. !endm
  158. 17    store-macro
  159.     write-message "[MicroSCRIBE not ready]"
  160. !endm
  161. bind-to-key count-words S-FN9
  162. 19    store-macro
  163.     write-message "[MicroSCRIBE not ready]"
  164. !endm
  165.     set %oldmode $cmode
  166.     set %oldgmode $gmode
  167.     add-mode wrap
  168.     add-global-mode wrap
  169.     write-message "[Wordprocessing mode loaded]"