Files
emacs/src
Paul Eggert 2f600e97e7 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.
2019-09-22 10:45:14 -07:00
..
2019-07-12 22:29:57 -07:00
2019-09-14 10:56:12 -07:00
2019-01-01 01:01:13 +00:00
2019-07-08 17:50:39 -07:00
2019-01-01 01:01:13 +00:00
2019-09-03 22:46:11 -07:00
2019-09-16 14:05:03 -07:00
2019-09-21 11:38:36 -07:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-12 14:47:33 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-05-26 01:00:16 -07:00
2019-05-26 01:00:16 -07:00
2019-01-01 01:01:13 +00:00
2019-05-26 01:00:16 -07:00
2019-01-12 14:47:33 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2019-09-15 20:12:33 -07:00
2019-09-16 14:05:03 -07:00
2019-01-01 01:01:13 +00:00
2019-01-31 10:31:43 -08:00
2019-08-25 11:08:11 +03:00
2019-08-25 11:08:11 +03:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-08-24 15:55:09 -07:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-04-10 21:00:47 -07:00
2019-07-07 12:33:35 -07:00
2019-06-27 12:35:09 -07:00
2019-01-01 01:01:13 +00:00
2019-04-26 10:39:24 +03:00
2019-08-14 18:24:33 -07:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-09-16 14:05:03 -07:00
2019-09-21 11:38:36 -07:00
2019-01-01 01:01:13 +00:00
2019-07-01 21:12:55 +03:00
2019-01-01 01:01:13 +00:00
2019-08-25 10:10:01 +03:00
2019-08-24 15:55:08 -07:00
2019-08-24 15:55:08 -07:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-07-01 21:12:55 +03:00
2019-01-01 01:01:13 +00:00
2019-05-07 12:28:10 -07:00
2019-03-15 18:25:24 -07:00
2019-01-01 01:01:13 +00:00
2019-02-01 13:05:39 -08:00
2018-12-31 17:57:29 -08:00
2019-09-21 11:38:36 -07:00
2019-09-21 11:38:36 -07:00
2019-01-01 01:01:13 +00:00
2019-02-27 01:23:30 -08:00
2019-01-01 01:01:13 +00:00
2019-06-22 11:41:49 -07:00
2019-07-08 17:50:39 -07:00
2019-04-26 16:54:17 -06:00
2018-12-31 18:47:22 -08:00
2019-08-20 18:11:34 -07:00
2019-04-28 13:17:30 -07:00
2019-04-17 09:32:40 -07:00
2019-04-26 16:54:17 -06:00
2019-07-08 17:50:39 -07:00
2019-09-22 14:02:15 +02:00
2018-12-31 18:47:22 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-03-27 21:24:26 -07:00
2019-06-20 00:41:13 -07:00
2019-01-01 01:01:13 +00:00
2019-01-15 17:37:36 -05:00
2019-01-15 17:37:36 -05:00
2018-12-31 17:57:29 -08:00
2019-08-24 15:55:08 -07:00
2019-01-01 01:01:13 +00:00
2019-08-24 15:55:08 -07:00
2018-12-31 17:57:29 -08:00
2019-04-22 12:25:53 -07:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-09-16 14:05:03 -07:00
2019-01-01 01:01:13 +00:00
2019-05-19 19:50:32 -06:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-04-24 13:37:15 -07:00
2019-08-24 15:55:09 -07:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2019-08-10 19:08:31 +02:00
2018-12-31 17:57:29 -08:00
2019-07-07 12:33:35 -07:00
2019-01-01 01:01:13 +00:00
2019-03-04 00:05:04 -08:00
2019-09-17 14:19:54 +03:00
2019-02-01 13:05:39 -08:00
2019-01-01 01:01:13 +00:00
2019-04-26 16:54:17 -06:00
2018-12-31 17:57:29 -08:00
2019-03-23 10:31:06 +02:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-07-08 17:50:39 -07:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-07-08 17:50:39 -07:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-03-15 18:25:24 -07:00
2018-12-31 17:57:29 -08:00
2019-04-26 16:54:17 -06:00
2019-07-08 17:50:39 -07:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Copyright (C) 2001-2019 Free Software Foundation, Inc.
See the end of the file for license conditions.


This directory contains the source files for the C component of GNU Emacs.
Nothing in this directory is needed for using Emacs once it is built
and installed, if the dumped Emacs is copied elsewhere.

See the files ../README and then ../INSTALL for installation instructions.

The file 'Makefile.in' is used as a template by the script
'../configure' to produce 'Makefile'.  This is the file which actually
controls the compilation of Emacs C source files.  All of this should
work transparently; you should only need to change to the parent
directory, run './configure', and then run 'make'.

This file is part of GNU Emacs.

GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.