[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r112832: * src/eval.c (backtrace_p, b
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r112832: * src/eval.c (backtrace_p, backtrace_top, backtrace_next): Export them to |
Date: |
Mon, 03 Jun 2013 11:18:18 -0400 |
User-agent: |
Bazaar (2.6b2) |
------------------------------------------------------------
revno: 112832
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Mon 2013-06-03 11:18:18 -0400
message:
* src/eval.c (backtrace_p, backtrace_top, backtrace_next): Export them to
.gdbinit.
* src/data.c (pure_write_error): Add `object' argument.
* src/puresize.h (CHECK_IMPURE): Use it.
* src/keyboard.c (safe_run_hooks_error): Improve error message.
modified:
src/ChangeLog
src/data.c
src/eval.c
src/keyboard.c
src/puresize.h
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2013-06-03 13:03:05 +0000
+++ b/src/ChangeLog 2013-06-03 15:18:18 +0000
@@ -1,3 +1,13 @@
+2013-06-03 Stefan Monnier <address@hidden>
+
+ * eval.c (backtrace_p, backtrace_top, backtrace_next): Export them to
+ .gdbinit.
+
+ * keyboard.c (safe_run_hooks_error): Improve error message.
+
+ * data.c (pure_write_error): Add `object' argument.
+ * puresize.h (CHECK_IMPURE): Use it.
+
2013-06-03 Michael Albinus <address@hidden>
* Makefile.in (NOTIFY_OBJ): New variable.
=== modified file 'src/data.c'
--- a/src/data.c 2013-06-03 09:01:53 +0000
+++ b/src/data.c 2013-06-03 15:18:18 +0000
@@ -100,9 +100,10 @@
}
void
-pure_write_error (void)
+pure_write_error (Lisp_Object obj)
{
- error ("Attempt to modify read-only object");
+ Fsignal (Qerror, Fcons (build_string ("Attempt to modify read-only object"),
+ Fcons (obj, Qnil)));
}
void
=== modified file 'src/eval.c'
--- a/src/eval.c 2013-06-03 09:01:53 +0000
+++ b/src/eval.c 2013-06-03 15:18:18 +0000
@@ -128,16 +128,18 @@
/* Helper functions to scan the backtrace. */
-LISP_INLINE bool backtrace_p (struct specbinding *pdl)
+EXTERN_INLINE bool backtrace_p (struct specbinding *pdl)
{ return pdl >= specpdl; }
-LISP_INLINE struct specbinding *backtrace_top (void)
+
+EXTERN_INLINE struct specbinding *backtrace_top (void)
{
struct specbinding *pdl = specpdl_ptr - 1;
- while (backtrace_p (pdl) && pdl->kind != SPECPDL_BACKTRACE) \
+ while (backtrace_p (pdl) && pdl->kind != SPECPDL_BACKTRACE)
pdl--;
return pdl;
}
-LISP_INLINE struct specbinding *backtrace_next (struct specbinding *pdl)
+
+EXTERN_INLINE struct specbinding *backtrace_next (struct specbinding *pdl)
{
pdl--;
while (backtrace_p (pdl) && pdl->kind != SPECPDL_BACKTRACE)
=== modified file 'src/keyboard.c'
--- a/src/keyboard.c 2013-06-03 13:03:05 +0000
+++ b/src/keyboard.c 2013-06-03 15:18:18 +0000
@@ -1882,7 +1882,7 @@
= CONSP (Vinhibit_quit) ? XCAR (Vinhibit_quit) : Vinhibit_quit;
Lisp_Object fun = CONSP (Vinhibit_quit) ? XCDR (Vinhibit_quit) : Qnil;
Lisp_Object args[4];
- args[0] = build_string ("Error in %s (%s): %S");
+ args[0] = build_string ("Error in %s (%S): %S");
args[1] = hook;
args[2] = fun;
args[3] = error_data;
=== modified file 'src/puresize.h'
--- a/src/puresize.h 2013-01-01 09:11:05 +0000
+++ b/src/puresize.h 2013-06-03 15:18:18 +0000
@@ -73,9 +73,9 @@
/* Signal an error if OBJ is pure. */
#define CHECK_IMPURE(obj) \
{ if (PURE_P (obj)) \
- pure_write_error (); }
+ pure_write_error (obj); }
-extern _Noreturn void pure_write_error (void);
+extern _Noreturn void pure_write_error (Lisp_Object);
/* Define PURE_P. */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r112832: * src/eval.c (backtrace_p, backtrace_top, backtrace_next): Export them to,
Stefan Monnier <=