diff options
| author | Tom Tromey | 2013-01-16 11:48:32 -0700 |
|---|---|---|
| committer | Tom Tromey | 2013-01-16 11:48:32 -0700 |
| commit | 6f4de085f065e11f4df3195d47479f28f5ef08ba (patch) | |
| tree | 1211a00f1afc86c2b73624897993db02a4852943 /src/data.c | |
| parent | e078a23febca14bc919c5806670479c395e3253e (diff) | |
| parent | ffe04adc88e546c406f9b050238fb98a7243c7a0 (diff) | |
| download | emacs-6f4de085f065e11f4df3195d47479f28f5ef08ba.tar.gz emacs-6f4de085f065e11f4df3195d47479f28f5ef08ba.zip | |
merge from trunk
Diffstat (limited to 'src/data.c')
| -rw-r--r-- | src/data.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/data.c b/src/data.c index e9f3a2cff3f..8a66cbe9197 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -951,13 +951,11 @@ store_symval_forwarding (union Lisp_Fwd *valcontents, register Lisp_Object newva | |||
| 951 | case Lisp_Fwd_Buffer_Obj: | 951 | case Lisp_Fwd_Buffer_Obj: |
| 952 | { | 952 | { |
| 953 | int offset = XBUFFER_OBJFWD (valcontents)->offset; | 953 | int offset = XBUFFER_OBJFWD (valcontents)->offset; |
| 954 | Lisp_Object type = XBUFFER_OBJFWD (valcontents)->slottype; | 954 | Lisp_Object predicate = XBUFFER_OBJFWD (valcontents)->predicate; |
| 955 | 955 | ||
| 956 | if (!(NILP (type) || NILP (newval) | 956 | if (!NILP (predicate) && !NILP (newval) |
| 957 | || (XINT (type) == Lisp_Int0 | 957 | && NILP (call1 (predicate, newval))) |
| 958 | ? INTEGERP (newval) | 958 | wrong_type_argument (predicate, newval); |
| 959 | : XTYPE (newval) == XINT (type)))) | ||
| 960 | buffer_slot_type_mismatch (newval, XINT (type)); | ||
| 961 | 959 | ||
| 962 | if (buf == NULL) | 960 | if (buf == NULL) |
| 963 | buf = current_buffer; | 961 | buf = current_buffer; |