diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2012-05-25 11:19:24 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2012-05-25 11:19:24 -0700 |
commit | 42b2a986d9d4b7040fb20c90ec0efeffb78e761a (patch) | |
tree | d38e7bf5307837f2f38982757f088100de18a64e /src/undo.c | |
parent | e4d81efc58695c19154d5f6733d91172b4c3e5b7 (diff) | |
parent | a8d3cbf75d219d7a249fc0623219511179e959da (diff) | |
download | emacs-42b2a986d9d4b7040fb20c90ec0efeffb78e761a.tar.gz |
Merge from trunk.
Diffstat (limited to 'src/undo.c')
-rw-r--r-- | src/undo.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/undo.c b/src/undo.c index 929955ffcf5..9b763984d7f 100644 --- a/src/undo.c +++ b/src/undo.c @@ -436,6 +436,13 @@ truncate_undo_list (struct buffer *b) unbind_to (count, Qnil); } + +static void user_error (const char*) NO_RETURN; +static void user_error (const char *msg) +{ + xsignal1 (Quser_error, build_string (msg)); +} + DEFUN ("primitive-undo", Fprimitive_undo, Sprimitive_undo, 2, 2, 0, doc: /* Undo N records from the front of the list LIST. @@ -528,7 +535,7 @@ Return what remains of the list. */) end = Fcdr (cdr); if (XINT (beg) < BEGV || XINT (end) > ZV) - error ("Changes to be undone are outside visible portion of buffer"); + user_error ("Changes to be undone are outside visible portion of buffer"); Fput_text_property (beg, end, prop, val, Qnil); } else if (INTEGERP (car) && INTEGERP (cdr)) @@ -537,7 +544,7 @@ Return what remains of the list. */) if (XINT (car) < BEGV || XINT (cdr) > ZV) - error ("Changes to be undone are outside visible portion of buffer"); + user_error ("Changes to be undone are outside visible portion of buffer"); /* Set point first thing, so that undoing this undo does not send point back to where it is now. */ Fgoto_char (car); @@ -588,14 +595,14 @@ Return what remains of the list. */) if (pos < 0) { if (-pos < BEGV || -pos > ZV) - error ("Changes to be undone are outside visible portion of buffer"); + user_error ("Changes to be undone are outside visible portion of buffer"); SET_PT (-pos); Finsert (1, &membuf); } else { if (pos < BEGV || pos > ZV) - error ("Changes to be undone are outside visible portion of buffer"); + user_error ("Changes to be undone are outside visible portion of buffer"); SET_PT (pos); /* Now that we record marker adjustments |