rev 745 - in trunk: . src

SVN User <[email protected]> Fri, 16 Jul 2004 18:54:23 -0400
Newsgroups gmane.comp.lang.prothon.cvs
Message-ID <[email protected]>
Author: mark
Date: 2004-07-16 18:54:20 -0400 (Fri, 16 Jul 2004)
New Revision: 745

Modified:
   trunk/STATUS.txt
   trunk/src/parser_routines.c
   trunk/src/prothon.y
Log:
lack of -d@ no longer closes Prothon

Modified: trunk/STATUS.txt
===================================================================
--- trunk/STATUS.txt	2004-07-16 21:39:44 UTC (rev 744)
+++ trunk/STATUS.txt	2004-07-16 22:54:20 UTC (rev 745)
@@ -1,7 +1,6 @@
 
 ----------------------- TO-DO  FOR 1.0 ALPHA release -----------------------
 
---- no -d@ kicks you totally out of Prothon
 --- bug in simple instantiation in the console in 710
 --- "import as" broken
 --- bug: prints ... after 15 items in a list

Modified: trunk/src/parser_routines.c
===================================================================
--- trunk/src/parser_routines.c	2004-07-16 21:39:44 UTC (rev 744)
+++ trunk/src/parser_routines.c	2004-07-16 22:54:20 UTC (rev 745)
@@ -68,7 +68,6 @@
 FILE* parse_debug_fout;
 
 code_p debug_retrn(isp ist, int line_no, code_p res){
-	check_exceptions(ist);
 	if (trace_parser)
 		fprintf(parse_debug_fout, "******> lin:%4d, len:%3d, dep:%3d, max:%3d\n", line_no, res->len, res->stack_depth, res->max_stack_depth);
 	return res;
@@ -294,10 +293,9 @@
 	int i, llen = clist_len(parm->src_objs);
 	obj_p str_obj;
 	char buf[256], *dst, *end = buf+255;
-	if (!allow_at_sign_debug) {
-		printf("Parser error, at-sign @ debug print only allowed when -d@ command-line argument used\n");
-		pr_exit(1);
-	}
+	if (!allow_at_sign_debug)
+		raise_exception(IST, OBJ(INTERPRETER_EXC),
+			     "@debug print only allowed with -d@ command-line option\n");
 	apr_snprintf(buf, sizeof(buf), "@debug file %s, line ", parm->file_path);
 	dst = buf + strlen(buf);
 	for (i=0; i < llen; i++) {

Modified: trunk/src/prothon.y
===================================================================
--- trunk/src/prothon.y	2004-07-16 21:39:44 UTC (rev 744)
+++ trunk/src/prothon.y	2004-07-16 22:54:20 UTC (rev 745)
@@ -753,6 +753,8 @@
 	int c, indent_cnt=0, unknown_indent_flag=0, mixed_indents, level_mismatch;
 	double floatval;
 	
+	if (IST->exception_obj) return ERR;
+	
 	if (!state->token_buf_ptr) {
 	    apr_snprintf(state->token_buf, 120, "%d: ", state->line);
 	    state->token_buf_ptr = (int) strlen(state->token_buf);