emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs/src ChangeLog editfns.c


From: Stefan Monnier
Subject: [Emacs-diffs] emacs/src ChangeLog editfns.c
Date: Tue, 03 Nov 2009 21:35:03 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Stefan Monnier <monnier>        09/11/03 21:35:02

Modified files:
        src            : ChangeLog editfns.c 

Log message:
        (save_restriction_restore): Update the (pt/begv/vz)_markers
        when applicable (bug#4851).

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/src/ChangeLog?cvsroot=emacs&r1=1.7834&r2=1.7835
http://cvs.savannah.gnu.org/viewcvs/emacs/src/editfns.c?cvsroot=emacs&r1=1.473&r2=1.474

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/src/ChangeLog,v
retrieving revision 1.7834
retrieving revision 1.7835
diff -u -b -r1.7834 -r1.7835
--- ChangeLog   3 Nov 2009 15:30:39 -0000       1.7834
+++ ChangeLog   3 Nov 2009 21:34:59 -0000       1.7835
@@ -1,5 +1,8 @@
 2009-11-03  Stefan Monnier  <address@hidden>
 
+       * editfns.c (save_restriction_restore): Update the (pt/begv/vz)_markers
+       when applicable (bug#4851).
+
        * lisp.h: Make USE_LSB_TAG work with USE_LISP_UNION_TYPE.
        (P_): Support for prototypes is now required.
 
@@ -10,14 +13,14 @@
 
 2009-10-30  Eli Zaretskii  <address@hidden>
 
-       * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Redefine to waste less pure
-       space.
+       * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Redefine to waste less pure space.
 
 2009-10-30  Dan Nicolaescu  <address@hidden>
 
        * puresize.h (BASE_PURESIZE): Increase to 1470000.
 
-       * lread.c (Fload): Purecopy the file name when building 
Vpreloaded_file_list.
+       * lread.c (Fload): Purecopy the file name when building
+       Vpreloaded_file_list.
 
 2009-10-29  Jason Rumney  <address@hidden>
 
@@ -55,7 +58,7 @@
 
        * dired.c (Ffile_attributes): Simplify now that FIXNUM_OVERFLOW_P
        can properly handle unsigned types.
-       (make_uid, make_gid): Removed.
+       (make_uid, make_gid): Remove.
 
        * lisp.h (FIXNUM_OVERFLOW_P): Fix last change to handle unsigned
        types again.
@@ -108,10 +111,11 @@
        (handle_one_xevent): Set pending_event_wait.eventtype to 0 if we
        see pending_event_wait.eventtype.
        (handle_one_xevent): Don't change gravity when parent changes.
-       (x_new_font): Call change_frame_size with new rows/columns before we try
-       to resize the frame.
+       (x_new_font): Call change_frame_size with new rows/columns before we
+       try to resize the frame.
        (x_wait_for_event): New function.
-       (x_set_window_size_1): Don't change gravity unless change_gravity is 
set.
+       (x_set_window_size_1): Don't change gravity unless change_gravity
+       is set.
        Call XResizeWindow with FRAME_OUTER_WINDOW.  If we are visible,
        don't change frame size, instead wait for the ConfigureNotify.
        (x_set_window_size): Call x_set_window_size_1 for USE_X_TOOLKIT also.
@@ -126,7 +130,7 @@
 
        * gtkutil.c (xg_frame_set_char_size): Flush events and call
        x_wait_for_event.
-       (flush_and_sync): Removed again.
+       (flush_and_sync): Remove again.
        (xg_get_font_name): Suggest monospace if no previous font is known.
 
 2009-10-20  Stefan Monnier  <address@hidden>
@@ -329,8 +333,7 @@
        (ns_findfonts, nsfont_list_family): Use long format in printf, and
        cast argument.
        (nsfont_open): Use ns_char_width() everywhere.
-       (ns_uni_to_glyphs, NSGlyphStorage): Use NS[U]Integer where
-       appropriate.
+       (ns_uni_to_glyphs, NSGlyphStorage): Use NS[U]Integer where appropriate.
 
        * nsgui.h (NSPoint, NSSize) [!__OBJC__]: Define and use CGFloat.
 
@@ -399,7 +402,7 @@
 
 2009-10-02  Michael Albinus  <address@hidden>
 
-       * lisp.h (Qdelete_directory_internal): Removed, because it is not
+       * lisp.h (Qdelete_directory_internal): Remove, because it is not
        used anymore outside fileio.c.
 
        * w32fns.c (Fsystem_move_file_to_trash): Use delete-directory.
@@ -474,8 +477,8 @@
 2009-09-24  Juanma Barranquero  <address@hidden>
 
        * frame.c (xrdb_get_resource): Return nil for empty string resources;
-       some parts of Emacs code (like font selection) don't grok them.  See
-       http://lists.gnu.org/archive/html/emacs-devel/2009-09/msg00528.html
+       some parts of Emacs code (like font selection) don't grok them.
+       See http://lists.gnu.org/archive/html/emacs-devel/2009-09/msg00528.html
 
 2009-09-24  Andreas Schwab  <address@hidden>
 

Index: editfns.c
===================================================================
RCS file: /sources/emacs/emacs/src/editfns.c,v
retrieving revision 1.473
retrieving revision 1.474
diff -u -b -r1.473 -r1.474
--- editfns.c   19 Oct 2009 04:27:14 -0000      1.473
+++ editfns.c   3 Nov 2009 21:35:02 -0000       1.474
@@ -3275,12 +3275,26 @@
 save_restriction_restore (data)
      Lisp_Object data;
 {
+  struct buffer *cur = NULL;
+  struct buffer *buf = (CONSP (data)
+                       ? XMARKER (XCAR (data))->buffer
+                       : XBUFFER (data));
+
+  if (buf && buf != current_buffer && !NILP (buf->pt_marker))
+    { /* If `buf' uses markers to keep track of PT, BEGV, and ZV (as
+        is the case if it is or has an indirect buffer), then make
+        sure it is current before we update BEGV, so
+        set_buffer_internal takes care of managing those markers.  */
+      cur = current_buffer;
+      set_buffer_internal (buf);
+    }
+
   if (CONSP (data))
     /* A pair of marks bounding a saved restriction.  */
     {
       struct Lisp_Marker *beg = XMARKER (XCAR (data));
       struct Lisp_Marker *end = XMARKER (XCDR (data));
-      struct buffer *buf = beg->buffer; /* END should have the same buffer. */
+      eassert (buf == end->buffer);
 
       if (buf /* Verify marker still points to a buffer.  */
          && (beg->charpos != BUF_BEGV (buf) || end->charpos != BUF_ZV (buf)))
@@ -3305,8 +3319,6 @@
   else
     /* A buffer, which means that there was no old restriction.  */
     {
-      struct buffer *buf = XBUFFER (data);
-
       if (buf /* Verify marker still points to a buffer.  */
          && (BUF_BEGV (buf) != BUF_BEG (buf) || BUF_ZV (buf) != BUF_Z (buf)))
        /* The buffer has been narrowed, get rid of the narrowing.  */
@@ -3318,6 +3330,9 @@
        }
     }
 
+  if (cur)
+    set_buffer_internal (cur);
+
   return Qnil;
 }
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]