From 9c203066b952a8cd446464b384d2bec9be9355c5 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Thu, 11 Jul 2013 00:17:23 -0700 Subject: [PATCH] * eval.c (backtrace_function, backtrace_args): Now EXTERNALLY_VISIBLE. This is for .gdbinit xbacktrace. --- src/ChangeLog | 3 +++ src/eval.c | 15 +++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index cd109c17f18..7b54b6195a9 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,8 @@ 2013-07-11 Paul Eggert + * eval.c (backtrace_function, backtrace_args): Now EXTERNALLY_VISIBLE. + This is for .gdbinit xbacktrace. + * sysdep.c, term.c, termcap.c, terminal.c: Integer-related minor fixes. * sysdep.c (emacs_get_tty): Return void, since nobody uses the value. (emacs_set_tty): Now static. diff --git a/src/eval.c b/src/eval.c index d3545add21d..31a774b9d27 100644 --- a/src/eval.c +++ b/src/eval.c @@ -114,6 +114,13 @@ Lisp_Object Vsignaling_function; frame is half-initialized. */ Lisp_Object inhibit_lisp_code; +/* These would ordinarily be static, but they need to be visible to GDB. */ +bool backtrace_p (union specbinding *) EXTERNALLY_VISIBLE; +Lisp_Object *backtrace_args (union specbinding *) EXTERNALLY_VISIBLE; +Lisp_Object backtrace_function (union specbinding *) EXTERNALLY_VISIBLE; +union specbinding *backtrace_next (union specbinding *) EXTERNALLY_VISIBLE; +union specbinding *backtrace_top (void) EXTERNALLY_VISIBLE; + static Lisp_Object funcall_lambda (Lisp_Object, ptrdiff_t, Lisp_Object *); static Lisp_Object apply_lambda (Lisp_Object fun, Lisp_Object args); @@ -152,7 +159,7 @@ specpdl_func (union specbinding *pdl) return pdl->unwind.func; } -static Lisp_Object +Lisp_Object backtrace_function (union specbinding *pdl) { eassert (pdl->kind == SPECPDL_BACKTRACE); @@ -166,7 +173,7 @@ backtrace_nargs (union specbinding *pdl) return pdl->bt.nargs; } -static Lisp_Object * +Lisp_Object * backtrace_args (union specbinding *pdl) { eassert (pdl->kind == SPECPDL_BACKTRACE); @@ -205,10 +212,6 @@ set_backtrace_debug_on_exit (union specbinding *pdl, bool doe) /* Helper functions to scan the backtrace. */ -bool backtrace_p (union specbinding *) EXTERNALLY_VISIBLE; -union specbinding *backtrace_top (void) EXTERNALLY_VISIBLE; -union specbinding *backtrace_next (union specbinding *pdl) EXTERNALLY_VISIBLE; - bool backtrace_p (union specbinding *pdl) { return pdl >= specpdl; } -- 2.11.4.GIT