diff options
author | Ken Raeburn <raeburn@raeburn.org> | 2000-03-30 09:56:31 +0000 |
---|---|---|
committer | Ken Raeburn <raeburn@raeburn.org> | 2000-03-30 09:56:31 +0000 |
commit | 8801a864d2f7d9b6a77dfffa606f27f338127582 (patch) | |
tree | 470499e90d35dabee56b08f00c6841a886dccdee /src/data.c | |
parent | 326855a0f45fe45c4ddd9000046ed6a9aa31534b (diff) | |
download | emacs-8801a864d2f7d9b6a77dfffa606f27f338127582.tar.gz |
* lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW, XSUBR, XBUFFER):
Verify correct object type before returning pointer, using eassert.
* frame.h (XFRAME): Likewise.
* buffer.c (Frename_buffer, Fset_buffer_multibyte,
swap_out_buffer_local_variables, Fmove_overlay): Don't apply XSYMBOL, XBUFFER,
etc, to values that may be nil or of the wrong type.
* data.c (set_internal): Likewise.
* dispextern.h (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P): Likewise.
* fileio.c (auto_save_1): Likewise.
* insdel.c (check_markers): Likewise.
* marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
* undo.c (record_insert): Likewise.
* vmsproc.c (child_sig): Likewise.
* window.c (unshow_buffer, window_loop): Likewise.
* xterm.c (x_erase_phys_cursor): Likewise.
Diffstat (limited to 'src/data.c')
-rw-r--r-- | src/data.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/data.c b/src/data.c index f736f7f6c81..c267c5540f0 100644 --- a/src/data.c +++ b/src/data.c @@ -1012,7 +1012,8 @@ set_internal (symbol, newval, buf, bindflag) isn't the right one, or if it's a Lisp_Buffer_Local_Value and the default binding is loaded, the loaded binding may be the wrong one. */ - if (buf != XBUFFER (XBUFFER_LOCAL_VALUE (valcontents)->buffer) + if (!BUFFERP (XBUFFER_LOCAL_VALUE (valcontents)->buffer) + || buf != XBUFFER (XBUFFER_LOCAL_VALUE (valcontents)->buffer) || (XBUFFER_LOCAL_VALUE (valcontents)->check_frame && !EQ (selected_frame, XBUFFER_LOCAL_VALUE (valcontents)->frame)) || (BUFFER_LOCAL_VALUEP (valcontents) |