]> code.delx.au - gnu-emacs/commitdiff
; Merge branch 'fix/no-undo-boundary-on-secondary-buffer-change'
authorPhillip Lord <phillip.lord@russet.org.uk>
Thu, 12 Nov 2015 22:01:22 +0000 (22:01 +0000)
committerPhillip Lord <phillip.lord@russet.org.uk>
Thu, 12 Nov 2015 22:01:22 +0000 (22:01 +0000)
Conflicts:
src/cmds.c
src/keyboard.c

1  2 
lisp/simple.el
src/cmds.c
src/keyboard.c
src/lisp.h
src/undo.c

diff --cc lisp/simple.el
Simple merge
diff --cc src/cmds.c
index 0afc023e681006514daaf2c8c711c8efd8d08a13,6f19a046893ce6a0600f38302877690fffec7ba7..167ebb74302d9dc1d08f237daffcca221422d16f
@@@ -262,8 -234,8 +232,8 @@@ because it respects values of `delete-a
  
    CHECK_NUMBER (n);
  
 -  if (abs (XINT (n)) < 2)
 +  if (eabs (XINT (n)) < 2)
-     remove_excessive_undo_boundaries ();
+     call0 (Qundo_auto__amalgamate);
  
    pos = PT + XINT (n);
    if (NILP (killflag))
@@@ -305,11 -277,11 +275,11 @@@ At the end, it runs `post-self-insert-h
  {
    CHECK_NUMBER (n);
  
 -  if (XFASTINT (n) < 0)
 -    error ("Negative repetition argument %"pI"d", XFASTINT (n));
 +  if (XINT (n) < 0)
 +    error ("Negative repetition argument %"pI"d", XINT (n));
  
    if (XFASTINT (n) < 2)
-     remove_excessive_undo_boundaries ();
+     call0 (Qundo_auto__amalgamate);
  
    /* Barf if the key that invoked this was not a character.  */
    if (!CHARACTERP (last_command_event))
diff --cc src/keyboard.c
index 851207874db1bb3c8163df5282eadba95f6353a9,1f08e1f23ed10bb6ab8baf8c311a7f6e195b70d7..2449abb7dfcbd4472f5eee2923417f04e35dade8
@@@ -1230,9 -1278,10 +1230,6 @@@ static int read_key_sequence (Lisp_Obje
                                bool, bool, bool, bool);
  static void adjust_point_for_property (ptrdiff_t, bool);
  
- /* The last boundary auto-added to buffer-undo-list.  */
- Lisp_Object last_undo_boundary;
 -/* FIXME: This is wrong rather than test window-system, we should call
 -   a new set-selection, which will then dispatch to x-set-selection, or
 -   tty-set-selection, or w32-set-selection, ...  */
--
  Lisp_Object
  command_loop_1 (void)
  {
diff --cc src/lisp.h
Simple merge
diff --cc src/undo.c
index e0924b2b989b8b4a57300ec325d40a51c22e3736,364b37eeeb4203c21e1b66591a2240599357f58e..009ebc0f959b5767f675c45d879794c1150ad5f5
@@@ -21,12 -21,11 +21,8 @@@ along with GNU Emacs.  If not, see <htt
  #include <config.h>
  
  #include "lisp.h"
 -#include "character.h"
  #include "buffer.h"
 -#include "commands.h"
 -#include "window.h"
  
- /* Last buffer for which undo information was recorded.  */
- /* BEWARE: This is not traced by the GC, so never dereference it!  */
- static struct buffer *last_undo_buffer;
  /* Position of point last time we inserted a boundary.  */
  static struct buffer *last_boundary_buffer;
  static ptrdiff_t last_boundary_position;