commit 62c77d2bdd4be70891ca2fb7b9bd8ef221489728
parent bd1a46920d03b79310ba5fb6c53b7baa57798652
Author: Alexander Burger <abu@software-lab.de>
Date: Wed, 12 Oct 2011 10:29:10 +0200
Save "reason" in 'errEXYZ'
Diffstat:
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/src64/err.l b/src64/err.l
@@ -1,4 +1,4 @@
-# 11oct11abu
+# 12oct11abu
# (c) Software Lab. Alexander Burger
# Debug print routine
@@ -31,6 +31,9 @@
# Y message format
# Z message parameter
(code 'errEXYZ)
+ link
+ push E # <L I> Save reason
+ link
sub S (+ 240 IV) # <S> Message buffer, <S 240> outFrame
cc sprintf(S Y Z) # Build message
null X # Error context?
@@ -39,8 +42,7 @@
ld (Up) A # Save it
nul (S) # Message empty?
if nz # No
- push E # Save reason
- lea E (S I) # Make transient symbol
+ ld E S # Make transient symbol
call mkStrE_E
ld (Msg) E # Store in '*Msg'
ld C (Catch) # Search catch frames
@@ -73,7 +75,6 @@
end
ld C (C) # Next frame
loop
- pop E # Retrieve reason
end
ld (Chr) 0 # Init globals
ld (ExtN) 0
@@ -108,15 +109,14 @@
if nz # Yes
ld C ErrTok # Print error token
call outStringC
- push E # Save reason
ld E X # Get context
- call printE_E # Print context
+ call printE # Print context
call newline
- pop E # Retrieve reason
end
- null E # Reason?
+ ld E (L I) # Get reason
+ null E # any?
if nz # Yes
- call printE_E # Print reason
+ call printE # Print reason
ld C Dashes # Print " -- "
call outStringC
end