guile-cvs
[Top][All Lists]
Advanced

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

guile/guile-core/libguile ChangeLog error.c err...


From: Mikael Djurfeldt
Subject: guile/guile-core/libguile ChangeLog error.c err...
Date: Thu, 20 Sep 2001 04:11:26 -0400

CVSROOT:        /cvs
Module name:    guile
Branch:         branch_release-1-6
Changes by:     Mikael Djurfeldt <address@hidden>       01/09/20 04:11:26

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

Log message:
        * error.c, error.h: Made error keys globally accessible.
        Applications might want to test for these or use them in a direct
        call to scm_error.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/ChangeLog.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.1465.2.21&tr2=1.1465.2.22&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/error.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.63.2.1&tr2=1.63.2.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/error.h.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.30&tr2=1.30.2.1&r1=text&r2=text

Patches:
Index: guile/guile-core/libguile/ChangeLog
diff -u guile/guile-core/libguile/ChangeLog:1.1509 
guile/guile-core/libguile/ChangeLog:1.1510
--- guile/guile-core/libguile/ChangeLog:1.1509  Sat Sep 15 17:56:52 2001
+++ guile/guile-core/libguile/ChangeLog Mon Sep 17 16:32:53 2001
@@ -1,9 +1,26 @@
+2001-09-17  Dirk Herrmann  <address@hidden>
+
+        The following patch partially undoes my patch from 2001-06-30,
+       where I added the function scm_gc_mark_cell_conservatively.  The
+       function is buggy, since it breaks guile during conservative
+       marking if a pointer on the stack points directly into the list of
+       free cells on the heap:  With conservative cell marking this will
+       cause the whole free list to be scanned and marked - boom!
+
+       * gc.c (allocated_mark, MARK, heap_segment,
+       scm_gc_mark_cell_conservatively, scm_init_storage), gc.h
+       (scm_gc_mark_cell_conservatively):  Remove function 
+       scm_gc_mark_cell_conservatively and update the corresponding
+       comments and uses accordingly.  Thanks to Christopher Cramer for
+       the patch.  (Minor corrections by me.)
+
 2001-09-15  Gary Houston  <address@hidden>
 
        * root.h (scm_root_state): removed the continuation_stack and
        continuation_stack_ptr members, which have no apparent purpose.
        (scm_continuation_stack, scm_continuation_stack_ptr): #defines
        removed.
+
        * root.c (root_mark), init.c (restart_stack, start_stack), gc
        (scm_igc): remove all references to contination_stack and
        continuation_stack_ptr, avoiding allocation of a vector and
Index: guile/guile-core/libguile/error.c
diff -u guile/guile-core/libguile/error.c:1.64 
guile/guile-core/libguile/error.c:1.65
--- guile/guile-core/libguile/error.c:1.64      Mon Jul  9 03:36:47 2001
+++ guile/guile-core/libguile/error.c   Fri Aug 31 10:42:31 2001
@@ -133,7 +133,6 @@
   else
     {
       SCM_VALIDATE_STRING (2, subr);
-      SCM_STRING_COERCE_0TERMINATION_X (subr);
       szSubr = SCM_STRING_CHARS (subr);
     }
 
@@ -144,7 +143,6 @@
   else
     {
       SCM_VALIDATE_STRING (2, message);
-      SCM_STRING_COERCE_0TERMINATION_X (message);
       szMessage = SCM_STRING_CHARS (message);
     }
 
@@ -292,57 +290,6 @@
 {
   scm_error (scm_misc_error_key, subr, message, args, SCM_BOOL_F);
 }
-
-#if (SCM_DEBUG_DEPRECATED == 0)
-
-SCM
-scm_wta (SCM arg, const char *pos, const char *s_subr)
-{
-  if (!s_subr || !*s_subr)
-    s_subr = NULL;
-  if ((~0x1fL) & (long) pos)
-    {
-      /* error string supplied.  */
-      scm_misc_error (s_subr, pos, scm_list_1 (arg));
-    }
-  else
-    {
-      /* numerical error code.  */
-      int error = (int) pos;
-
-      switch (error)
-       {
-       case SCM_ARGn:
-         scm_wrong_type_arg (s_subr, 0, arg);
-       case SCM_ARG1:
-         scm_wrong_type_arg (s_subr, 1, arg);
-       case SCM_ARG2:
-         scm_wrong_type_arg (s_subr, 2, arg);
-       case SCM_ARG3:
-         scm_wrong_type_arg (s_subr, 3, arg);
-       case SCM_ARG4:
-         scm_wrong_type_arg (s_subr, 4, arg);
-       case SCM_ARG5:
-         scm_wrong_type_arg (s_subr, 5, arg);
-       case SCM_ARG6:
-         scm_wrong_type_arg (s_subr, 6, arg);
-       case SCM_ARG7:
-         scm_wrong_type_arg (s_subr, 7, arg);
-       case SCM_WNA:
-         scm_wrong_num_args (arg);
-       case SCM_OUTOFRANGE:
-         scm_out_of_range (s_subr, arg);
-       case SCM_NALLOC:
-         scm_memory_error (s_subr);
-       default:
-         /* this shouldn't happen.  */
-         scm_misc_error (s_subr, "Unknown error", SCM_EOL);
-       }
-    }
-  return SCM_UNSPECIFIED;
-}
-
-#endif  /* SCM_DEBUG_DEPRECATED == 0 */
 
 void
 scm_init_error ()
Index: guile/guile-core/libguile/error.h
diff -u guile/guile-core/libguile/error.h:1.30 
guile/guile-core/libguile/error.h:1.31
--- guile/guile-core/libguile/error.h:1.30      Thu Jun  7 17:12:19 2001
+++ guile/guile-core/libguile/error.h   Fri Aug 31 10:42:31 2001
@@ -2,18 +2,19 @@
 
 #ifndef SCM_ERROR_H
 #define SCM_ERROR_H
+
 /* Copyright (C) 1995,1996,1997,1998,2000,2001 Free Software Foundation, Inc.
- * 
+ *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2, or (at your option)
  * any later version.
- * 
+ *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this software; see the file COPYING.  If not, write to
  * the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
@@ -42,7 +43,9 @@
  * If you write modifications of your own for GUILE, it is your choice
  * whether to permit this exception to apply to your modifications.
  * If you do not wish that, delete this exception notice.  */
+
 
+
 #include "libguile/__scm.h"
 
 
@@ -73,14 +76,6 @@
 extern void scm_misc_error (const char *subr, const char *message,
                             SCM args) SCM_NORETURN;
 extern void scm_init_error (void);
-
-
-
-#if (SCM_DEBUG_DEPRECATED == 0)
-
-extern SCM scm_wta (SCM arg, const char *pos, const char *s_subr);
-
-#endif  /* SCM_DEBUG_DEPRECATED == 0 */
 
 #endif  /* SCM_ERROR_H */
 



reply via email to

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