• Paul Eggert's avatar
    Avoid crashes when casifying noncontiguous regions · 2f600e97
    Paul Eggert authored
    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
    * test/src/casefiddle-tests.el (casefiddle-oldfunc): New var.
    (casefiddle-loopfunc, casefiddle-badfunc): New functions.
    (casefiddle-invalid-region-extract-function): New test.
casefiddle.c 22.2 KB