1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-06 06:20:55 -08:00
emacs/doc/lispref
Spencer Baugh 5c8fc0b059 Add 'case-symbols-as-words' to configure symbol case behavior
In some programming languages and styles, a symbol (or every
symbol in a sequence of symbols) might be capitalized, but the
individual words making up the symbol should never be capitalized.

For example, in OCaml, type names Look_like_this and variable names
look_like_this, but it is basically never correct for something to
Look_Like_This.  And one might have "aa_bb cc_dd ee_ff" or "Aa_bb
Cc_dd Ee_ff", but never "Aa_Bb Cc_Dd Ee_Ff".

To support this, the new variable 'case-symbols-as-words' causes
symbol constituents to be treated as part of words only for case
operations.

* src/casefiddle.c (case_ch_is_word): New function.
(case_character_impl, case_character): Use 'case_ch_is_word'.
(syms_of_casefiddle): Define 'case-symbols-as-words'.
* src/search.c (Freplace_match): Use 'case-symbols-as-words'
when calculating case pattern.
* test/src/casefiddle-tests.el (casefiddle-tests--check-syms)
(casefiddle-case-symbols-as-words): Test 'case-symbols-as-words'.
* etc/NEWS: Announce 'case-symbols-as-words'.
* doc/lispref/strings.texi (Case Conversion): Document
'case-symbols-as-words'.
(Bug#66614)
2023-10-29 13:32:43 +02:00
..
abbrevs.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
anti.texi Rewrite Antinews in ELisp manual for Emacs 29 2023-01-01 19:37:22 +02:00
back.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
backups.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
book-spine.texi
buffers.texi (buffer-match-p): Replace &optional with &rest (bug#65797) 2023-10-20 20:42:04 -04:00
ChangeLog.1 ; Fix spelling of my name in all ChangeLog files 2023-10-25 15:20:46 +02:00
commands.texi (sleep-for): Make the millisec argument obsolete 2023-10-20 18:59:51 -04:00
compile.texi ; Grammar fixes ("allow to" et al) 2023-09-17 16:49:21 +02:00
control.texi Correct many instances of ``allows to'' 2023-09-10 09:33:50 +08:00
customize.texi Fix typo and inaccuracy in the ELisp Reference manual 2023-04-18 15:03:32 +03:00
debugging.texi correct info documentation of benchmark-call 2023-07-04 17:35:40 +02:00
display.texi ; Grammar fixes ("allow to" et al) 2023-09-17 16:49:21 +02:00
doclicense.texi
edebug.texi Output better error messages on certain edebug spec errors 2023-09-02 13:50:03 +00:00
elisp.texi Elaborate Elisp dialect selection in manual 2023-10-23 14:48:42 +02:00
errors.texi ; Fix Texinfo warnings 2023-10-22 12:21:08 +03:00
eval.texi Improved eval documentation 2023-10-23 14:48:42 +02:00
files.texi Merge from origin/emacs-29 2023-10-21 08:06:09 -04:00
frames.texi Mention additional return values for framep et al 2023-10-27 11:17:47 +08:00
functions.texi (sit-for): Remove support for old calling convention 2023-10-13 19:28:30 -04:00
gpl.texi
hash.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
help.texi ; Fix last change 2023-03-12 10:25:10 +02:00
hooks.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
index.texi
internals.texi ; Grammar fixes ("allow to" et al) 2023-09-17 16:49:21 +02:00
intro.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
keymaps.texi Merge from origin/emacs-29 2023-09-16 07:36:49 -04:00
lay-flat.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
lists.texi Improved copy-tree documentation and test (bug#63509) 2023-05-19 15:50:42 +02:00
loading.texi Make Emacs 21 compat aliases easy-mmode-* obsolete 2023-08-08 04:03:17 +02:00
macros.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
Makefile.in ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
maps.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
markers.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
minibuf.texi Merge from origin/emacs-29 2023-09-16 07:36:49 -04:00
modes.texi Documentation for treesit-font-lock-rules change 2023-10-21 11:07:30 -07:00
nonascii.texi ; Grammar fixes ("allow to" et al) 2023-09-17 16:49:21 +02:00
numbers.texi Reorder NaN, INF paras 2023-07-13 23:56:10 -07:00
objects.texi Merge from origin/emacs-29 2023-09-09 04:32:45 -04:00
os.texi Merge from origin/emacs-29 2023-10-14 06:55:05 -04:00
package.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
parsing.texi Change treesit-local-parsers-in to treesit-local-parsers-on 2023-09-07 16:04:29 -07:00
positions.texi Obsolete treesit-block/sexp/sentence/text-type-regexp 2023-09-01 20:38:25 -07:00
processes.texi Merge from origin/emacs-29 2023-10-13 16:16:19 +02:00
README ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
records.texi Improved copy-tree documentation and test (bug#63509) 2023-05-19 15:50:42 +02:00
searching.texi ; Fix mistyped --enable-checking in docs. 2023-10-01 18:42:52 +02:00
sequences.texi ; Improve documentation of 'char-table-range' 2023-09-01 16:33:40 +03:00
spellfile
streams.texi * doc/lispref/streams.texi (Output Variables): Document pp-default-function 2023-06-17 17:27:52 -04:00
strings.texi Add 'case-symbols-as-words' to configure symbol case behavior 2023-10-29 13:32:43 +02:00
symbols.texi Correct the handling of symbols with position in equal 2023-09-04 12:51:24 +00:00
syntax.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
text.texi Merge from origin/emacs-29 2023-09-09 04:33:47 -04:00
threads.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
tips.texi Elaborate Elisp dialect selection in manual 2023-10-23 14:48:42 +02:00
two-volume-cross-refs.txt ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
two-volume.make ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
variables.texi Modernise text about using dynamic variables 2023-10-23 14:48:42 +02:00
windows.texi ; Grammar fixes ("allow to" et al) 2023-09-17 16:49:21 +02: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-2023 Free Software Foundation, Inc.  -*- outline -*-
See the end of the file for license conditions.


README for the Emacs Lisp Reference Manual.

* This directory contains the texinfo source files for the Emacs Lisp
Reference Manual.

* Report bugs in the Lisp Manual (or in Emacs) using M-x report-emacs-bug.
To ask questions, use the help-gnu-emacs mailing list.

* The Emacs Lisp Reference Manual is quite large.  It totals around
1100 pages in smallbook format; the info files total around 3.0 megabytes.

* You can format this manual for Info, for printing hardcopy using TeX,
or for HTML.

* You can buy nicely printed copies from the Free Software Foundation.
Buying a manual from the Free Software Foundation helps support our GNU
development work.  See <https://shop.fsf.org/>.
(At time of writing, this manual is out of print.)

* The master file for formatting this manual for Tex is called 'elisp.texi'.
It contains @include commands to include all the chapters that make up
the manual.

* This distribution contains a Makefile that you can use with GNU Make.

** To make an Info file, you need to install Texinfo, then run 'make info'.

** Use 'make elisp.pdf' or 'make elisp.html' to create PDF or HTML versions.


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/>.