]> git.eshelyaron.com Git - emacs.git/commit
Avoid crashes when casifying noncontiguous regions
authorPaul Eggert <eggert@cs.ucla.edu>
Sun, 22 Sep 2019 17:43:21 +0000 (10:43 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sun, 22 Sep 2019 17:45:14 +0000 (10:45 -0700)
commit2f600e97e7ca43965f55f019759582d93d8bca73
treed885dcef77f04a60da6cec56a2750b19a8e64192
parentdddff96a585531608d5e8d27375a6363679a9fb5
Avoid crashes when casifying noncontiguous regions

This is a followon fix for Bug#37477.
* lisp/simple.el (region-extract-function):
Use setq here, since the var is now defined in C code.
* src/casefiddle.c (casify_pnc_region): New function.
(Fupcase_region, Fdowncase_region, Fcapitalize_region)
(Fupcase_initials_region): Use it.
(Fupcase_initials_region): Add region-noncontiguous-p flag
for consistency with the others.  All uses changed.
(syms_of_casefiddle): Define Qbounds, Vregion_extract_function.
* src/insdel.c (prepare_to_modify_buffer_1):
* src/keyboard.c (command_loop_1):
Use Vregion_extraction_function.
* src/insdel.c (syms_of_insdel): No need to define
Qregion_extract_function.
* test/src/casefiddle-tests.el (casefiddle-oldfunc): New var.
(casefiddle-loopfunc, casefiddle-badfunc): New functions.
(casefiddle-invalid-region-extract-function): New test.
etc/NEWS
lisp/simple.el
src/casefiddle.c
src/insdel.c
src/keyboard.c
src/search.c
test/src/casefiddle-tests.el