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