[m-dev.] diff: fix exception-handling bug

Fergus Henderson fjh at cs.mu.OZ.AU
Sat Feb 26 04:47:45 AEDT 2000


I should include a test case with this,
but I'll do that later... finding a good
test case will take some time, and
I though it best to commit the fix ASAP.

I'll commit this on both the main branch
and the version-0_9_x branch.

----------

Estimated hours taken: 1

Fix a bug with exception handling
that was reported by Renaud Paquay <rpa at miscrit.be>.

library/exception.m:
	Fix a bug: it was not restoring MR_curfr correctly 
	after an exception was thrown.

Workspace: /d-drive/home/hg/fjh/mercury
Index: library/exception.m
===================================================================
RCS file: /home/mercury1/repository/mercury/library/exception.m,v
retrieving revision 1.12
diff -u -d -r1.12 exception.m
--- library/exception.m	1999/12/30 15:06:26	1.12
+++ library/exception.m	2000/02/25 17:44:56
@@ -1385,7 +1385,7 @@
 	** since it invalidates all the framevars.)
 	*/
 	MR_maxfr = MR_prevfr_slot(MR_curfr);
-	MR_curfr = MR_maxfr;
+	MR_curfr = MR_succfr_slot(MR_curfr);
 
 	/*
 	** Now longjmp to the catch, which will invoke the handler

-- 
Fergus Henderson <fjh at cs.mu.oz.au>  |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>  |  of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3        |     -- the last words of T. S. Garp.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list