diff src/editfns.c @ 26742:936b39bd05b4

* editfns.c (Fdelete_and_extract_region): New function. (syms_of_editfns): register it. * insdel.c (del_range): update del_range_1 call. (del_range_1, del_range_2): Add a ret_string argument to request that the deleted text be returned. (del_range_byte, del_range_both): Update del_range_2 call. * lisp.h (del_range_1, del_range_2): change prototype * casefiddle.c (casify_region): Update del_range_1 call. * coding.c (code_convert_region): Update del_range_2 call. * fileio.c (Finsert_file_contents): Update del_range_2 call.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Tue, 07 Dec 1999 04:42:40 +0000
parents ed4ab9d24450
children bf700e4957ec
line wrap: on
line diff
--- a/src/editfns.c	Mon Dec 06 21:23:20 1999 +0000
+++ b/src/editfns.c	Tue Dec 07 04:42:40 1999 +0000
@@ -2509,6 +2509,16 @@
   del_range (XINT (start), XINT (end));
   return Qnil;
 }
+
+DEFUN ("delete-and-extract-region", Fdelete_and_extract_region,
+       Sdelete_and_extract_region, 2, 2, 0,
+  "Delete the text between START and END and return it.")
+  (start, end)
+     Lisp_Object start, end;
+{
+  validate_region (&start, &end);
+  return del_range_1 (XINT (start), XINT (end), 1, 1);
+}
 
 DEFUN ("widen", Fwiden, Swiden, 0, 0, "",
   "Remove restrictions (narrowing) from current buffer.\n\
@@ -3767,6 +3777,7 @@
   defsubr (&Ssubst_char_in_region);
   defsubr (&Stranslate_region);
   defsubr (&Sdelete_region);
+  defsubr (&Sdelete_and_extract_region);
   defsubr (&Swiden);
   defsubr (&Snarrow_to_region);
   defsubr (&Ssave_restriction);