summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libguile/backtrace.c5
-rw-r--r--libguile/throw.c2
2 files changed, 4 insertions, 3 deletions
diff --git a/libguile/backtrace.c b/libguile/backtrace.c
index b4bee732d..7e93ff3f5 100644
--- a/libguile/backtrace.c
+++ b/libguile/backtrace.c
@@ -1,5 +1,5 @@
/* Printing of backtraces and error messages
- * Copyright (C) 1996,1997,1998,1999,2000,2001, 2003, 2004, 2006, 2009, 2010 Free Software Foundation
+ * Copyright (C) 1996,1997,1998,1999,2000,2001, 2003, 2004, 2006, 2009, 2010, 2011 Free Software Foundation
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@@ -200,7 +200,8 @@ display_error_body (struct display_error_args *a)
if (SCM_FRAMEP (a->frame))
{
- source = scm_frame_source (a->frame);
+ if (scm_initialized_p)
+ source = scm_frame_source (a->frame);
if (!scm_is_symbol (pname) && !scm_is_string (pname))
pname = scm_procedure_name (scm_frame_procedure (a->frame));
}
diff --git a/libguile/throw.c b/libguile/throw.c
index bdc3829b7..5c25524b4 100644
--- a/libguile/throw.c
+++ b/libguile/throw.c
@@ -404,7 +404,7 @@ handler_message (void *handler_data, SCM tag, SCM args)
SCM parts = SCM_CADDR (args);
SCM rest = SCM_CADDDR (args);
- if (SCM_BACKTRACE_P && scm_is_true (stack))
+ if (SCM_BACKTRACE_P && scm_is_true (stack) && scm_initialized_p)
{
SCM highlights;