Annotation of coherent/f/usr/lib/wpage.cmd, revision 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.