diff options
| author | Paul Eggert | 2013-07-11 00:17:23 -0700 |
|---|---|---|
| committer | Paul Eggert | 2013-07-11 00:17:23 -0700 |
| commit | 9c203066b952a8cd446464b384d2bec9be9355c5 (patch) | |
| tree | b085b144bb0c1b4aea1c034cf7598fa019f714bc /src | |
| parent | a43d577e485424c5352fe551e34fa35ea2724124 (diff) | |
| download | emacs-9c203066b952a8cd446464b384d2bec9be9355c5.tar.gz emacs-9c203066b952a8cd446464b384d2bec9be9355c5.zip | |
* eval.c (backtrace_function, backtrace_args): Now EXTERNALLY_VISIBLE.
This is for .gdbinit xbacktrace.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 3 | ||||
| -rw-r--r-- | 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 @@ | |||
| 1 | 2013-07-11 Paul Eggert <eggert@cs.ucla.edu> | 1 | 2013-07-11 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 2 | ||
| 3 | * eval.c (backtrace_function, backtrace_args): Now EXTERNALLY_VISIBLE. | ||
| 4 | This is for .gdbinit xbacktrace. | ||
| 5 | |||
| 3 | * sysdep.c, term.c, termcap.c, terminal.c: Integer-related minor fixes. | 6 | * sysdep.c, term.c, termcap.c, terminal.c: Integer-related minor fixes. |
| 4 | * sysdep.c (emacs_get_tty): Return void, since nobody uses the value. | 7 | * sysdep.c (emacs_get_tty): Return void, since nobody uses the value. |
| 5 | (emacs_set_tty): Now static. | 8 | (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; | |||
| 114 | frame is half-initialized. */ | 114 | frame is half-initialized. */ |
| 115 | Lisp_Object inhibit_lisp_code; | 115 | Lisp_Object inhibit_lisp_code; |
| 116 | 116 | ||
| 117 | /* These would ordinarily be static, but they need to be visible to GDB. */ | ||
| 118 | bool backtrace_p (union specbinding *) EXTERNALLY_VISIBLE; | ||
| 119 | Lisp_Object *backtrace_args (union specbinding *) EXTERNALLY_VISIBLE; | ||
| 120 | Lisp_Object backtrace_function (union specbinding *) EXTERNALLY_VISIBLE; | ||
| 121 | union specbinding *backtrace_next (union specbinding *) EXTERNALLY_VISIBLE; | ||
| 122 | union specbinding *backtrace_top (void) EXTERNALLY_VISIBLE; | ||
| 123 | |||
| 117 | static Lisp_Object funcall_lambda (Lisp_Object, ptrdiff_t, Lisp_Object *); | 124 | static Lisp_Object funcall_lambda (Lisp_Object, ptrdiff_t, Lisp_Object *); |
| 118 | static Lisp_Object apply_lambda (Lisp_Object fun, Lisp_Object args); | 125 | static Lisp_Object apply_lambda (Lisp_Object fun, Lisp_Object args); |
| 119 | 126 | ||
| @@ -152,7 +159,7 @@ specpdl_func (union specbinding *pdl) | |||
| 152 | return pdl->unwind.func; | 159 | return pdl->unwind.func; |
| 153 | } | 160 | } |
| 154 | 161 | ||
| 155 | static Lisp_Object | 162 | Lisp_Object |
| 156 | backtrace_function (union specbinding *pdl) | 163 | backtrace_function (union specbinding *pdl) |
| 157 | { | 164 | { |
| 158 | eassert (pdl->kind == SPECPDL_BACKTRACE); | 165 | eassert (pdl->kind == SPECPDL_BACKTRACE); |
| @@ -166,7 +173,7 @@ backtrace_nargs (union specbinding *pdl) | |||
| 166 | return pdl->bt.nargs; | 173 | return pdl->bt.nargs; |
| 167 | } | 174 | } |
| 168 | 175 | ||
| 169 | static Lisp_Object * | 176 | Lisp_Object * |
| 170 | backtrace_args (union specbinding *pdl) | 177 | backtrace_args (union specbinding *pdl) |
| 171 | { | 178 | { |
| 172 | eassert (pdl->kind == SPECPDL_BACKTRACE); | 179 | eassert (pdl->kind == SPECPDL_BACKTRACE); |
| @@ -205,10 +212,6 @@ set_backtrace_debug_on_exit (union specbinding *pdl, bool doe) | |||
| 205 | 212 | ||
| 206 | /* Helper functions to scan the backtrace. */ | 213 | /* Helper functions to scan the backtrace. */ |
| 207 | 214 | ||
| 208 | bool backtrace_p (union specbinding *) EXTERNALLY_VISIBLE; | ||
| 209 | union specbinding *backtrace_top (void) EXTERNALLY_VISIBLE; | ||
| 210 | union specbinding *backtrace_next (union specbinding *pdl) EXTERNALLY_VISIBLE; | ||
| 211 | |||
| 212 | bool | 215 | bool |
| 213 | backtrace_p (union specbinding *pdl) | 216 | backtrace_p (union specbinding *pdl) |
| 214 | { return pdl >= specpdl; } | 217 | { return pdl >= specpdl; } |