1# Id: errors.tcl,v 8.2 1995/11/18 12:59:07 bostic Exp (Berkeley) Date: 1995/11/18 12:59:07 2# 3# File: errors.tcl 4# 5# Author: George V. Neville-Neil 6# 7# Purpose: This file contains vi/tcl code that allows a vi user to parse 8# compiler errors and warnings from a make.out file. 9 10proc findErr {} { 11 global errScreen 12 global currFile 13 global fileScreen 14 set errLine [lindex [viGetCursor $errScreen] 0] 15 set currLine [split [viGetLine $errScreen $errLine] :] 16 set currFile [lindex $currLine 0] 17 set fileScreen [viNewScreen $errScreen $currFile] 18 viSetCursor $fileScreen [lindex $currLine 1] 1 19 viMapKey $viScreenId nextErr 20} 21 22proc nextErr {} { 23 global errScreen 24 global fileScreen 25 global currFile 26 set errLine [lindex [viGetCursor $errScreen] 0] 27 set currLine [split [viGetLine $errScreen $errLine] :] 28 if {[string match $currFile [lindex $currLine 0]]} { 29 viSetCursor $fileScreen [lindex $currLine 1] 0 30 viSwitchScreen $fileScreen 31 } else { 32 viEndScreen $fileScreen 33 set currFile [lindex $currLine 0] 34 set fileScreen[viNewScreen $errScreen $currFile] 35 viSetCursor $fileScreen [lindex $currLine 1] 0 36 } 37} 38 39proc initErr {} { 40 global viScreenId 41 global errScreen 42 set errScreen [viNewScreen $viScreenId make.out] 43 viMapKey $viScreenId findErr 44} 45