emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/src/buffer.c


From: Stefan Monnier
Subject: [Emacs-diffs] Changes to emacs/src/buffer.c
Date: Tue, 15 Jul 2003 15:32:05 -0400

Index: emacs/src/buffer.c
diff -c emacs/src/buffer.c:1.433 emacs/src/buffer.c:1.434
*** emacs/src/buffer.c:1.433    Fri Jul 11 05:05:18 2003
--- emacs/src/buffer.c  Tue Jul 15 15:32:05 2003
***************
*** 447,453 ****
    for (; list; list = list->next)
      {
        Lisp_Object overlay, start, end, old_overlay;
!       int charpos;
  
        XSETMISC (old_overlay, list);
        charpos = marker_position (OVERLAY_START (old_overlay));
--- 447,453 ----
    for (; list; list = list->next)
      {
        Lisp_Object overlay, start, end, old_overlay;
!       EMACS_INT charpos;
  
        XSETMISC (old_overlay, list);
        charpos = marker_position (OVERLAY_START (old_overlay));
***************
*** 1630,1635 ****
--- 1630,1640 ----
  {
    char *err;
  
+   if (EQ (buffer, Fwindow_buffer (selected_window)))
+     /* Basically a NOP.  Avoid signalling an error if the selected window
+        is dedicated, or a minibuffer, ...  */
+     return Fset_buffer (buffer);
+ 
    err = no_switch_window (selected_window);
    if (err) error (err);
  
***************
*** 4097,4102 ****
--- 4102,4115 ----
  
    overlay = Qnil;
    tail = NULL;
+ 
+   /* We used to run the functions as soon as we found them and only register
+      them in last_overlay_modification_hooks for the purpose of the `after'
+      case.  But running elisp code as we traverse the list of overlays is
+      painful because the list can be modified by the elisp code so we had to
+      copy at several places.  We now simply do a read-only traversal that
+      only collects the functions to run and we run them afterwards.  It's
+      simpler, especially since all the code was already there.  -stef  */
  
    if (!after)
      {




reply via email to

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