1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-14 10:51:20 -07:00
emacs/doc/lispref
Gregory Heytings 85ed1c9ca6 Code cleanup for long line optimizations
This commit does not change any code, it merely renames functions
and clarifies the documentation, to make the code hopefully easier
to grasp.

* src/dispextern.h (struct it): Rename the 'narrowed_begv',
'narrowed_zv', 'locked_narrowing_begv', 'locked_narrowing_zv' to
'medium_narrowing_begv', 'medium_narrowing_zv',
'large_narrowing_begv', 'large_narrowing_zv'.  Clarify the
comments.
Update the prototypes of the functions renamed in xdisp.c.

* src/lisp.h: Update the prototypes of the functions renamed in
editfns.c.  Remove the prototype of
'safe_run_hooks_maybe_narrowed', which is used only in keyboard.c.

* src/xdisp.c
(get_small_narrowing_begv): Renamed from
'get_closer_narrowed_begv'.
(get_medium_narrowing_begv): Renamed from 'get_narrowed_begv'.
(get_medium_narrowing_zv): Renamed from 'get_narrowed_zv'.
(get_large_narrowing_begv): Renamed from 'get_locked_narrowing_begv'.
(get_large_narrowing_zv): Renamed from 'get_locked_narrowing_zv'.
(SET_WITH_NARROWED_BEGV): Use the new field names.
(handle_fontified_prop): Use the new function and new field names.
(back_to_previous_line_start): Use the new field name.
(back_to_previous_visible_line_start): Use the new field name.
(reseat): Use the new function and new field names.
(get_visually_first_element): Use the new field name.
(move_it_vertically_backward): Use the new function name.
(redisplay_internal): Use the new function name.
Also add a large comment to explain how Emacs deals with long lines.

* src/keyboard.c:
(safe_run_hooks_maybe_narrowed): Use the new function names from
xdisp.c and editfns.c.  Make the function static, and add a
prototype.

* src/editfns.c:
(labeled_restrictions): Renamed from 'narrowing_locks'.
(labeled_restrictions_add): Renamed from 'narrowing_locks_add'.
(labeled_restrictions_remove): Renamed from
'narrowing_locks_remove'.
(labeled_restrictions_get_bound): Renamed from
'narrowing_lock_get_bound'.
(labeled_restrictions_peek_label): Renamed from
'narrowing_lock_peek_tag'.
(labeled_restrictions_push): Renamed from 'narrowing_lock_push'.
(labeled_restrictions_pop): Renamed from 'narrowing_lock_pop'.
(unwind_reset_outermost_restriction): Renamed from
'unwind_reset_outermost_narrowing'.
(reset_outermost_restrictions): Renamed from
'reset_outermost_narrowings'.
(labeled_restrictions_save): Renamed from 'narrowing_locks_save'.
(labeled_restrictions_restore): Renamed from
'narrowing_locks_restore'.
(unwind_labeled_narrow_to_region): Renamed from
'unwind_narrow_to_region_locked'.
(labeled_narrow_to_region): Renamed from
'narrow_to_region_locked'.
(Finternal__label_restriction): Renamed from
'Finternal__lock_narrowing'.
(Finternal__unlabel_restriction): Renamed from
'Finternal__unlock_narrowing'.
(Fwiden): Use the new function names.
(Fnarrow_to_region): Use the new function names.
(save_restriction_save): Use the new function names.
(syms_of_editfns): Use the new function names.
<outermost-restriction>: Renamed from 'outermost-narrowing'.

* lisp/subr.el (internal--with-restriction): Use the new internal
function name.
(internal--without-restriction): Use the new internal function
name.

* src/composite.c (composition_compute_stop_pos):
(find_automatic_composition): Use the new function name.

* doc/lispref/positions.texi (Narrowing): Add index entry.
2023-03-29 01:12:31 +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 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ChangeLog.1 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
commands.texi Improve documentation of 'read-choice' and related symbols 2023-03-28 21:08:12 +03:00
compile.texi ; Improve documentation of 'native-comp-enable-subr-trampolines' 2023-02-19 11:04:57 +02:00
control.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
customize.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
debugging.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
display.texi Fix documentation of the 'line-height' text property 2023-03-08 19:29:33 +02:00
doclicense.texi
edebug.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
elisp.texi Minor copyedits of documentation of OClosures 2023-03-03 15:23:22 +02:00
errors.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
eval.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
files.texi ; Clarify documentation of 'file-modes-number-to-symbolic' 2023-02-23 17:45:52 +02:00
frames.texi ; Fix documentation of 'icon-title-format'. 2023-02-21 22:06:30 +02:00
functions.texi ; More doc improvements for OClosures 2023-03-03 21:44:54 +02:00
gpl.texi
hash.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
help.texi ; Fix description of etc/DOC 2023-01-07 19:16:47 +02:00
hooks.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
index.texi
internals.texi ; One more improvement to ELisp "internals" appendix. 2023-03-11 19:30:06 +02:00
intro.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
keymaps.texi Expand defvar-keymap documentation 2023-03-21 10:57:39 +01:00
lay-flat.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
lists.texi ; Improve documentation of 'proper-list-p' 2023-02-05 15:15:35 +02:00
loading.texi ; Improve documentation of loading *.eln files 2023-02-26 19:51:59 +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 Rebind in read-regexp-map ‘M-c’ to ‘M-s c’ compatible with search-map 2023-01-18 20:05:19 +02:00
modes.texi * doc/lispref/modes.texi: Improve docs for obsolete '%m' construct 2023-03-27 00:16:35 +13:00
nonascii.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
numbers.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
objects.texi ; Minor wording fix in ELisp reference manual 2023-03-16 22:05:07 +02:00
os.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
package.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
parsing.texi Improve docstring of treesit-parent-while (bug#62301) 2023-03-21 14:51:41 -07:00
positions.texi Code cleanup for long line optimizations 2023-03-29 01:12:31 +02:00
processes.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
README ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
records.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
searching.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
sequences.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
spellfile
streams.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
strings.texi ; Fix minor mistakes in documentation 2023-01-18 14:28:59 +02:00
symbols.texi Improve warning about changing the string returned by symbol-name 2023-03-19 22:17:40 +01:00
syntax.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
text.texi ; Improve documentation of hash functions. 2023-02-11 12:28:43 +02:00
threads.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
tips.texi ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05: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 ; * doc/lispref/variables.texi (File Local Variables): Improve indexing. 2023-01-28 16:59:17 +02:00
windows.texi ; Fix wording of last change. 2023-02-18 19:45:33 +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/>.