HCoop
/
bpt
/
emacs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use BSET for write access to Lisp_Object members of struct buffer.
[bpt/emacs.git]
/
src
/
cmds.c
diff --git
a/src/cmds.c
b/src/cmds.c
index
ed5bf5d
..
24778fa
100644
(file)
--- a/
src/cmds.c
+++ b/
src/cmds.c
@@
-1,6
+1,6
@@
/* Simple built-in editing commands.
/* Simple built-in editing commands.
-Copyright (C) 1985, 1993-1998, 2001-201
1
Free Software Foundation, Inc.
+Copyright (C) 1985, 1993-1998, 2001-201
2
Free Software Foundation, Inc.
This file is part of GNU Emacs.
This file is part of GNU Emacs.
@@
-22,8
+22,8
@@
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <setjmp.h>
#include "lisp.h"
#include "commands.h"
#include <setjmp.h>
#include "lisp.h"
#include "commands.h"
-#include "buffer.h"
#include "character.h"
#include "character.h"
+#include "buffer.h"
#include "syntax.h"
#include "window.h"
#include "keyboard.h"
#include "syntax.h"
#include "window.h"
#include "keyboard.h"
@@
-296,9
+296,12
@@
At the end, it runs `post-self-insert-hook'. */)
if (remove_boundary
&& CONSP (BVAR (current_buffer, undo_list))
if (remove_boundary
&& CONSP (BVAR (current_buffer, undo_list))
- && NILP (XCAR (BVAR (current_buffer, undo_list))))
+ && NILP (XCAR (BVAR (current_buffer, undo_list)))
+ /* Only remove auto-added boundaries, not boundaries
+ added be explicit calls to undo-boundary. */
+ && EQ (BVAR (current_buffer, undo_list), last_undo_boundary))
/* Remove the undo_boundary that was just pushed. */
/* Remove the undo_boundary that was just pushed. */
- B
VAR (current_buffer, undo_list) = XCDR (BVAR (current_buffer, undo_list
));
+ B
SET (current_buffer, undo_list, XCDR (BVAR (current_buffer, undo_list)
));
/* Barf if the key that invoked this was not a character. */
if (!CHARACTERP (last_command_event))
/* Barf if the key that invoked this was not a character. */
if (!CHARACTERP (last_command_event))
@@
-443,7
+446,8
@@
internal_self_insert (int c, EMACS_INT n)
/* If we expanded an abbrev which has a hook,
and the hook has a non-nil `no-self-insert' property,
return right away--don't really self-insert. */
/* If we expanded an abbrev which has a hook,
and the hook has a non-nil `no-self-insert' property,
return right away--don't really self-insert. */
- if (SYMBOLP (sym) && ! NILP (sym) && ! NILP (XSYMBOL (sym)->function)
+ if (SYMBOLP (sym) && ! NILP (sym)
+ && ! NILP (XSYMBOL (sym)->function)
&& SYMBOLP (XSYMBOL (sym)->function))
{
Lisp_Object prop;
&& SYMBOLP (XSYMBOL (sym)->function))
{
Lisp_Object prop;
@@
-471,7
+475,7
@@
internal_self_insert (int c, EMACS_INT n)
}
replace_range (PT, PT + chars_to_delete, string, 1, 1, 1);
}
replace_range (PT, PT + chars_to_delete, string, 1, 1, 1);
-
move_point (n + spaces_to_insert, 1
);
+
Fforward_char (make_number (n + spaces_to_insert)
);
}
else if (n > 1)
{
}
else if (n > 1)
{