rev 582 - in trunk: . bin include/prothon pr/test src

SVN User <[email protected]> Mon, 07 Jun 2004 01:27:10 -0400
Newsgroups gmane.comp.lang.prothon.cvs
Message-ID <[email protected]>
Author: mark
Date: 2004-06-07 01:27:07 -0400 (Mon, 07 Jun 2004)
New Revision: 582

Modified:
   trunk/CHANGES.txt
   trunk/bin/mark-rel-chklst.txt
   trunk/include/prothon/prothon.h
   trunk/pr/test/test.pr
   trunk/src/interp.c
   trunk/src/lock.c
   trunk/src/memory_mgr.c
Log:
***** release build *****

Modified: trunk/CHANGES.txt
===================================================================
--- trunk/CHANGES.txt	2004-06-05 23:28:54 UTC (rev 581)
+++ trunk/CHANGES.txt	2004-06-07 05:27:07 UTC (rev 582)
@@ -1,6 +1,23 @@
 
 			----- Prothon Release History ----
-			
+
+Version 0.1.1 - Build 582 - 6/06/04
+	- Added super keyword
+	- Integers now have unlimited precision
+    - Added obj.protos_ list and obj.attrs_ dictionary
+    - Removed old obj.attrs() method
+    - Changed protoList() method to protoChain()
+	- added built-in function mainModule?() 
+	  which returns true if run in Main
+	- Dict constructor now takes normal Dict as param
+	- Added adict.pr, imp.pr, imp2.pr, plist.pr, &
+	  supercall.pr test files
+	- Fixed permission bug in binding operation
+	- Fixed bug in starting generator more than once
+	- Fixed bug in gen keyword
+	- Fixed import bug
+	- Fixed exception bug
+
 Version 0.1.0 - Build 532 - 5/21/04 - Weekly Release
 	- Removed symbols and capitalized globals
 	- added self, outer, and caller prefixes

Modified: trunk/bin/mark-rel-chklst.txt
===================================================================
--- trunk/bin/mark-rel-chklst.txt	2004-06-05 23:28:54 UTC (rev 581)
+++ trunk/bin/mark-rel-chklst.txt	2004-06-07 05:27:07 UTC (rev 582)
@@ -6,7 +6,7 @@
 2) Test all pr files
 3) prepare changes.txt with NEXT build number
 4) touch prothon.h
-5) release with *** weekly build *** comment
+5) release with *** release build *** comment
 6) Do "release" build again with final build number
 7) build zip file and upload
 8) notify ben that release is ready for him
Modified: trunk/include/prothon/prothon.h
===================================================================
--- trunk/include/prothon/prothon.h	2004-06-05 23:28:54 UTC (rev 581)
+++ trunk/include/prothon/prothon.h	2004-06-07 05:27:07 UTC (rev 582)
@@ -1224,6 +1224,7 @@
 // free() from a malloc() call in C.
 void del_lock  (obj_p obj);		
 void del_unlock(obj_p obj);
+int is_del_locked(obj_p obj);
 
 //************************** ACCESS PERMISSION ********************************
 // Every thread as an access level defined at any one time.  The access levels are

Modified: trunk/pr/test/test.pr
===================================================================
--- trunk/pr/test/test.pr	2004-06-05 23:28:54 UTC (rev 581)
+++ trunk/pr/test/test.pr	2004-06-07 05:27:07 UTC (rev 582)
@@ -43,7 +43,7 @@
 
 m = Mod8Int(0)
 n = Mod8Int(1)
-for i in 1000:
+for i in 100:
     if m != i % 8:
         print "test failed:",i
         Sys.exit(1)

Modified: trunk/src/interp.c
===================================================================
--- trunk/src/interp.c	2004-06-05 23:28:54 UTC (rev 581)
+++ trunk/src/interp.c	2004-06-07 05:27:07 UTC (rev 582)
@@ -837,10 +837,8 @@
 		exc_exc_loc	= p->exc_loc;
 	}
 	while(TRUE){
-		if (debug_obj) {
-			if (debug_obj->attr_proto.proto != debug_obj_proto)
-				debug_obj_proto = debug_obj->attr_proto.proto;
-		}
+		if (debug_obj && !is_del_locked(debug_obj))
+			raise_exception(ist, OBJ(INTERPRETER_EXC), "DEBUG FAILURE");
 		while (have_exstk && (fr_pc <= exc_try_loc || fr_pc >= exc_exc_loc)) {
 			if (exc_final && fr_pc != exc_exc_loc) {
 				exc_final_return = fr_pc;

Modified: trunk/src/lock.c
===================================================================
--- trunk/src/lock.c	2004-06-05 23:28:54 UTC (rev 581)
+++ trunk/src/lock.c	2004-06-07 05:27:07 UTC (rev 582)
@@ -281,9 +281,13 @@
 	free_wrlock(obj);
 }
 
-//********************************* del_unlock ********************************
 void del_unlock(obj_p obj) {
+}
+
+int is_del_locked(obj_p obj) {
+	int res;
 	get_wrlock(obj, NO_WAIT);
-	obj->del_locked = FALSE;
+	res = obj->del_locked;
 	free_wrlock(obj);
-}
+	return res;
+}
\ No newline at end of file

Modified: trunk/src/memory_mgr.c
===================================================================
--- trunk/src/memory_mgr.c	2004-06-05 23:28:54 UTC (rev 581)
+++ trunk/src/memory_mgr.c	2004-06-07 05:27:07 UTC (rev 582)
@@ -268,8 +268,6 @@
 		while(obj) {
 			obj_count++;
 			if (obj->state != OBJ_STATE_NEW_OR_MARKED && !obj->del_locked) {
-				if (obj == debug_obj)
-					obj = debug_obj;
 				call_func(ist, obj, SYM(DEL_), 0, NULL, NULL);
 				ist->exception_obj = 0;
 				mm_write_lock(ist, obj);