diff options
| author | Joakim Verona | 2013-01-11 00:03:43 +0100 |
|---|---|---|
| committer | Joakim Verona | 2013-01-11 00:03:43 +0100 |
| commit | 26f277ba01010776e63623d446f182f5b6f23dd3 (patch) | |
| tree | aa2a9a9f31241f687902eafafc1535ea23bd1887 /src/data.c | |
| parent | 09708f70bd02e7a2edec79e1bcfd04fb9b7f48d3 (diff) | |
| parent | a778dd57d0da9004a72320f8082d4f6220f178e2 (diff) | |
| download | emacs-26f277ba01010776e63623d446f182f5b6f23dd3.tar.gz emacs-26f277ba01010776e63623d446f182f5b6f23dd3.zip | |
auto upstream
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 50dc188684f..6622088b648 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -914,13 +914,11 @@ store_symval_forwarding (union Lisp_Fwd *valcontents, register Lisp_Object newva | |||
| 914 | case Lisp_Fwd_Buffer_Obj: | 914 | case Lisp_Fwd_Buffer_Obj: |
| 915 | { | 915 | { |
| 916 | int offset = XBUFFER_OBJFWD (valcontents)->offset; | 916 | int offset = XBUFFER_OBJFWD (valcontents)->offset; |
| 917 | Lisp_Object type = XBUFFER_OBJFWD (valcontents)->slottype; | 917 | Lisp_Object predicate = XBUFFER_OBJFWD (valcontents)->predicate; |
| 918 | 918 | ||
| 919 | if (!(NILP (type) || NILP (newval) | 919 | if (!NILP (predicate) && !NILP (newval) |
| 920 | || (XINT (type) == Lisp_Int0 | 920 | && NILP (call1 (predicate, newval))) |
| 921 | ? INTEGERP (newval) | 921 | wrong_type_argument (predicate, newval); |
| 922 | : XTYPE (newval) == XINT (type)))) | ||
| 923 | buffer_slot_type_mismatch (newval, XINT (type)); | ||
| 924 | 922 | ||
| 925 | if (buf == NULL) | 923 | if (buf == NULL) |
| 926 | buf = current_buffer; | 924 | buf = current_buffer; |