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