guile-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

guile/guile-core/libguile ChangeLog backtrace.c...


From: Dirk Herrmann
Subject: guile/guile-core/libguile ChangeLog backtrace.c...
Date: Wed, 24 Jan 2001 07:58:46 -0800

CVSROOT:        /cvs
Module name:    guile
Changes by:     Dirk Herrmann <address@hidden>  01/01/24 07:58:46

Modified files:
        guile-core/libguile: ChangeLog backtrace.c backtrace.h throw.c 

Log message:
        * Make sure that scm_display_error validates its port argument.

CVSWeb URLs:
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/ChangeLog.diff?r1=1.1242&r2=1.1243
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/backtrace.c.diff?r1=1.57&r2=1.58
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/backtrace.h.diff?r1=1.12&r2=1.13
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/throw.c.diff?r1=1.74&r2=1.75

Patches:
Index: guile/guile-core/libguile/ChangeLog
diff -u guile/guile-core/libguile/ChangeLog:1.1242 
guile/guile-core/libguile/ChangeLog:1.1243
--- guile/guile-core/libguile/ChangeLog:1.1242  Tue Jan 23 17:26:44 2001
+++ guile/guile-core/libguile/ChangeLog Wed Jan 24 07:58:46 2001
@@ -1,3 +1,14 @@
+2001-01-24  Dirk Herrmann  <address@hidden>
+
+       * backtrace.[ch] (scm_i_display_error):  New function.
+
+       * backtrace.c (scm_display_error):  Added parameter check and
+       extracted the core functionality into function
+       scm_i_display_error.
+
+       * throw.c (handler_message):  Call scm_i_display_error to display
+       the error message.
+
 2001-01-23  Mikael Djurfeldt  <address@hidden>
 
        * eval.c (SCM_APPLY): Added # args check for application of
Index: guile/guile-core/libguile/backtrace.c
diff -u guile/guile-core/libguile/backtrace.c:1.57 
guile/guile-core/libguile/backtrace.c:1.58
--- guile/guile-core/libguile/backtrace.c:1.57  Fri Nov 17 08:25:03 2000
+++ guile/guile-core/libguile/backtrace.c       Wed Jan 24 07:58:46 2001
@@ -219,10 +219,14 @@
   return SCM_UNSPECIFIED;
 }
 
-SCM_DEFINE (scm_display_error, "display-error", 6, 0, 0,
-           (SCM stack, SCM port, SCM subr, SCM message, SCM args, SCM rest),
-"")
-#define FUNC_NAME s_scm_display_error
+
+/* The function scm_i_display_error prints out a detailed error message.  This
+ * function will be called directly within libguile to signal error messages.
+ * No parameter checks will be performed by scm_i_display_error.  Thus, User
+ * code should rather use the function scm_display_error.
+ */
+void
+scm_i_display_error (SCM stack, SCM port, SCM subr, SCM message, SCM args, SCM 
rest)
 {
   struct display_error_args a;
   struct display_error_handler_data data;
@@ -237,9 +241,22 @@
   scm_internal_catch (SCM_BOOL_T,
                      (scm_catch_body_t) display_error_body, &a,
                      (scm_catch_handler_t) display_error_handler, &data);
+}
+
+
+SCM_DEFINE (scm_display_error, "display-error", 6, 0, 0,
+           (SCM stack, SCM port, SCM subr, SCM message, SCM args, SCM rest),
+           "")
+#define FUNC_NAME s_scm_display_error
+{
+  SCM_VALIDATE_OUTPUT_PORT (2, port);
+
+  scm_i_display_error (stack, port, subr, message, args, rest);
+
   return SCM_UNSPECIFIED;
 }
 #undef FUNC_NAME
+
 
 typedef struct {
   int level;
Index: guile/guile-core/libguile/backtrace.h
diff -u guile/guile-core/libguile/backtrace.h:1.12 
guile/guile-core/libguile/backtrace.h:1.13
--- guile/guile-core/libguile/backtrace.h:1.12  Mon Jun 12 05:28:23 2000
+++ guile/guile-core/libguile/backtrace.h       Wed Jan 24 07:58:46 2001
@@ -52,6 +52,7 @@
 extern SCM scm_the_last_stack_fluid;
 
 void scm_display_error_message (SCM message, SCM args, SCM port);
+void scm_i_display_error (SCM stack, SCM port, SCM subr, SCM message, SCM 
args, SCM rest);
 SCM scm_display_error (SCM stack, SCM port, SCM subr, SCM message, SCM args, 
SCM rest);
 SCM scm_display_application (SCM frame, SCM port, SCM indent);
 SCM scm_display_backtrace (SCM stack, SCM port, SCM first, SCM depth);
Index: guile/guile-core/libguile/throw.c
diff -u guile/guile-core/libguile/throw.c:1.74 
guile/guile-core/libguile/throw.c:1.75
--- guile/guile-core/libguile/throw.c:1.74      Fri Dec  8 09:32:56 2000
+++ guile/guile-core/libguile/throw.c   Wed Jan 24 07:58:46 2001
@@ -434,7 +434,7 @@
          scm_display_backtrace (stack, p, SCM_UNDEFINED, SCM_UNDEFINED);
          scm_newline (p);
        }
-      scm_display_error (stack, p, subr, message, parts, rest);
+      scm_i_display_error (stack, p, subr, message, parts, rest);
     }
   else
     {



reply via email to

[Prev in Thread] Current Thread [Next in Thread]