aboutsummaryrefslogtreecommitdiffstats
path: root/src/editfns.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/editfns.c')
-rw-r--r--src/editfns.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/editfns.c b/src/editfns.c
index f34c574cae3..e0b0347fe69 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -373,7 +373,7 @@ get_pos_property (Lisp_Object position, register Lisp_Object prop, Lisp_Object o
373 if (NILP (object)) 373 if (NILP (object))
374 XSETBUFFER (object, current_buffer); 374 XSETBUFFER (object, current_buffer);
375 else if (WINDOWP (object)) 375 else if (WINDOWP (object))
376 object = XWINDOW (object)->buffer; 376 object = XWINDOW (object)->contents;
377 377
378 if (!BUFFERP (object)) 378 if (!BUFFERP (object))
379 /* pos-property only makes sense in buffers right now, since strings 379 /* pos-property only makes sense in buffers right now, since strings
@@ -839,14 +839,14 @@ Lisp_Object
839save_excursion_save (void) 839save_excursion_save (void)
840{ 840{
841 return make_save_value 841 return make_save_value
842 ("oooo", 842 (SAVE_TYPE_OBJ_OBJ_OBJ_OBJ,
843 Fpoint_marker (), 843 Fpoint_marker (),
844 /* Do not copy the mark if it points to nowhere. */ 844 /* Do not copy the mark if it points to nowhere. */
845 (XMARKER (BVAR (current_buffer, mark))->buffer 845 (XMARKER (BVAR (current_buffer, mark))->buffer
846 ? Fcopy_marker (BVAR (current_buffer, mark), Qnil) 846 ? Fcopy_marker (BVAR (current_buffer, mark), Qnil)
847 : Qnil), 847 : Qnil),
848 /* Selected window if current buffer is shown in it, nil otherwise. */ 848 /* Selected window if current buffer is shown in it, nil otherwise. */
849 ((XBUFFER (XWINDOW (selected_window)->buffer) == current_buffer) 849 (EQ (XWINDOW (selected_window)->contents, Fcurrent_buffer ())
850 ? selected_window : Qnil), 850 ? selected_window : Qnil),
851 BVAR (current_buffer, mark_active)); 851 BVAR (current_buffer, mark_active));
852} 852}
@@ -915,7 +915,7 @@ save_excursion_restore (Lisp_Object info)
915 tem = XSAVE_OBJECT (info, 2); 915 tem = XSAVE_OBJECT (info, 2);
916 if (WINDOWP (tem) 916 if (WINDOWP (tem)
917 && !EQ (tem, selected_window) 917 && !EQ (tem, selected_window)
918 && (tem1 = XWINDOW (tem)->buffer, 918 && (tem1 = XWINDOW (tem)->contents,
919 (/* Window is live... */ 919 (/* Window is live... */
920 BUFFERP (tem1) 920 BUFFERP (tem1)
921 /* ...and it shows the current buffer. */ 921 /* ...and it shows the current buffer. */
@@ -3958,7 +3958,7 @@ usage: (format STRING &rest OBJECTS) */)
3958 trailing "d"). */ 3958 trailing "d"). */
3959 pMlen = sizeof pMd - 2 3959 pMlen = sizeof pMd - 2
3960 }; 3960 };
3961 verify (0 < USEFUL_PRECISION_MAX); 3961 verify (USEFUL_PRECISION_MAX > 0);
3962 3962
3963 int prec; 3963 int prec;
3964 ptrdiff_t padding, sprintf_bytes; 3964 ptrdiff_t padding, sprintf_bytes;
@@ -4241,7 +4241,10 @@ usage: (format STRING &rest OBJECTS) */)
4241 memcpy (buf, initial_buffer, used); 4241 memcpy (buf, initial_buffer, used);
4242 } 4242 }
4243 else 4243 else
4244 XSAVE_POINTER (buf_save_value, 0) = buf = xrealloc (buf, bufsize); 4244 {
4245 buf = xrealloc (buf, bufsize);
4246 set_save_pointer (buf_save_value, 0, buf);
4247 }
4245 4248
4246 p = buf + used; 4249 p = buf + used;
4247 } 4250 }