Annotation of coherent/f/usr/lib/wpage.cmd, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.