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

1.1       root        1: ;      ERROR.CMD:      Parse Mark Williams C compilation error files
                      2: ;                      using MicroEMACS 3.9a
                      3: ;
                      4: ;      (C)opyright 1987 by Daniel M. Lawrence
                      5: ;
                      6: 
                      7: ;      Load up the needed macros
                      8:        set $discmd "FALSE"
                      9:        write-message "[Setting UP]"
                     10: 
                     11: ;      page up/down for the Atari 1040ST
                     12:        bind-to-key previous-page       FNC
                     13:        bind-to-key next-page           FN<
                     14: 
                     15: ;      cycle to the next error
                     16: 39     store-macro
                     17:        run closelast
                     18: !force 1 next-line
                     19:        run getnext
                     20: !endm
                     21:        bind-to-key execute-macro-39    FN1
                     22: 
                     23: ;      cycle to the previous error
                     24: 38     store-macro
                     25:        run closelast
                     26: !force 1 previous-line
                     27:        run getnext
                     28: !endm
                     29:        bind-to-key execute-macro-38    FN2
                     30: 
                     31: ;      get the next error
                     32: store-procedure        getnext
                     33: 
                     34:        ;check for end of errors
                     35:        2 next-window
                     36:        !if &seq $line ""
                     37:                3 next-window
                     38:                write-message "[No more errors]"
                     39:                !return
                     40:        !endif
                     41: 
                     42:        ;grab the line number and file name
                     43:        delete-next-word
                     44:        yank
                     45:        set %eline $kill
                     46:        search-forward " "
                     47:        set-mark
                     48:        search-forward ":"
                     49:        backward-character
                     50:        kill-region
                     51:        yank
                     52:        set %efile $kill
                     53: 
                     54:        ;mark the line
                     55:        beginning-of-line
                     56:        insert-string "["
                     57:        end-of-line
                     58:        insert-string "]"
                     59:        beginning-of-line
                     60:        unmark-buffer
                     61: 
                     62: ;      save the last file if different
                     63:        3 next-window
                     64:        !if &not &seq $lastfile ""
                     65:                !if &not &seq %lastfile %efile
                     66:                        save-file
                     67:                        select-buffer "[temp]"
                     68:                        delete-buffer $lastfile
                     69:                !endif
                     70:        !endif
                     71:        find-file %efile
                     72:        %eline goto-line
                     73:        update-screen
                     74:        write-message &cat &cat &cat &cat "[Error found in " %efile " at line " %eline "]"
                     75: !endm
                     76: 
                     77: ;      close the last error
                     78: store-procedure        closelast
                     79: 
                     80:        ;if at the end.... go away
                     81:        2 next-window
                     82:        !if &seq $line ""
                     83:                !return
                     84:        !endif
                     85: 
                     86:        ;unmark the last error
                     87:        beginning-of-line
                     88:        delete-next-character
                     89:        end-of-line
                     90:        delete-previous-character
                     91:        beginning-of-line
                     92: 
                     93:        ;and save the file name
                     94:        set %lastfile %efile
                     95: !endm
                     96: 
                     97: ;      Abort!
                     98: 40     store-macro
                     99:        4 exit-emacs
                    100: !endm
                    101:        bind-to-key execute-macro-40    FN5
                    102: 
                    103: ;      save current file
                    104: 
                    105:        bind-to-key save-file           FN9
                    106: 
                    107: ;      recompile!!!!
                    108: 
                    109:        bind-to-key     quick-exit      FN0
                    110: 
                    111: 
                    112: ;      set the help window
                    113: 
                    114:        1 split-current-window
                    115:        select-buffer "[MWC C-Errors]"
                    116:        insert-string "Mark Williams C                  Compilation Error Scanning~n"
                    117:        insert-string " F1      Go to next error        F9      Save current source file~n"
                    118:        insert-string " F2      Go to last error        F10     Re-compile~n"
                    119:        insert-string "                 F5      Abort compiler"
                    120:        beginning-of-file
                    121:        4 resize-window
                    122:        add-mode "red
                    123:        unmark-buffer
                    124: 
                    125: ;      set up the error line window
                    126: 
                    127:        next-window
                    128:        1 split-current-window
                    129:        4 resize-window
                    130:        add-mode "black"
                    131: *getcc
                    132:        !if &not &seq &left $cbufname 2 "cc"
                    133:                next-buffer
                    134:                !goto getcc
                    135:        !endif
                    136: 
                    137: ;      set up the current source window
                    138: 
                    139:        next-window
                    140:        next-buffer
                    141:        add-mode "blue
                    142: 
                    143: ;      initialize
                    144: 
                    145:        set %lastfile ""
                    146:        run getnext
                    147:        set $gflags 0
                    148: 
                    149: ;      wait for a command
                    150: 
                    151:        set $discmd "TRUE"

unix.superglobalmegacorp.com

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