aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert2020-03-25 17:40:57 -0700
committerPaul Eggert2020-03-25 18:38:07 -0700
commite4b6151ff119f36c64d3653b56f761fcdfe47fd3 (patch)
treea1e0c516bb6fa75b46aed2e217b065c9fa9fb144 /src
parentd08c9472e821615da06f92756e49c271be8da7f1 (diff)
downloademacs-e4b6151ff119f36c64d3653b56f761fcdfe47fd3.tar.gz
emacs-e4b6151ff119f36c64d3653b56f761fcdfe47fd3.zip
Fix integer overflow in forward-point
* lisp/subr.el (forward-point): Rewrite in Lisp and move here ... * src/cmds.c (Fforward_point): ... from here. This fixes an integer overflow bug with (forward-point most-positive-fixnum).
Diffstat (limited to 'src')
-rw-r--r--src/cmds.c10
1 files changed, 0 insertions, 10 deletions
diff --git a/src/cmds.c b/src/cmds.c
index 5d7a45e65f6..5b98a09fda9 100644
--- a/src/cmds.c
+++ b/src/cmds.c
@@ -31,15 +31,6 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
31 31
32static int internal_self_insert (int, EMACS_INT); 32static int internal_self_insert (int, EMACS_INT);
33 33
34DEFUN ("forward-point", Fforward_point, Sforward_point, 1, 1, 0,
35 doc: /* Return buffer position N characters after (before if N negative) point. */)
36 (Lisp_Object n)
37{
38 CHECK_FIXNUM (n);
39
40 return make_fixnum (PT + XFIXNUM (n));
41}
42
43/* Add N to point; or subtract N if FORWARD is false. N defaults to 1. 34/* Add N to point; or subtract N if FORWARD is false. N defaults to 1.
44 Validate the new location. Return nil. */ 35 Validate the new location. Return nil. */
45static Lisp_Object 36static Lisp_Object
@@ -526,7 +517,6 @@ syms_of_cmds (void)
526This is run after inserting the character. */); 517This is run after inserting the character. */);
527 Vpost_self_insert_hook = Qnil; 518 Vpost_self_insert_hook = Qnil;
528 519
529 defsubr (&Sforward_point);
530 defsubr (&Sforward_char); 520 defsubr (&Sforward_char);
531 defsubr (&Sbackward_char); 521 defsubr (&Sbackward_char);
532 defsubr (&Sforward_line); 522 defsubr (&Sforward_line);