1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-08 07:12:15 -07:00
emacs/doc/lispref
Basil L. Contovounesios d780007283 Add predicate for initial_terminal
This introduces the predicate frame-initial-p, which uses
struct frame.output_method or struct terminal.type to detect
initial_terminal without relying on its name (bug#80629).
For some prior discussion, see:
https://lists.gnu.org/r/emacs-devel/2019-12/msg00480.html
https://lists.gnu.org/r/emacs-devel/2020-01/msg00120.html

* doc/lispref/frames.texi (Frames): Document frame-initial-p.
(Finding All Frames): Fix grammar.
* etc/NEWS (Lisp Changes in Emacs 31.1): Announce frame-initial-p.
* lisp/desktop.el (desktop--check-dont-save):
* lisp/emacs-lisp/debug.el (debug):
* lisp/frameset.el (frameset-restore):
* lisp/menu-bar.el (menu-bar-update-buffers):
* lisp/xt-mouse.el (turn-on-xterm-mouse-tracking-on-terminal):
Use frame-initial-p instead of checking the "initial_terminal" name.
* lisp/emacs-lisp/byte-opt.el: Mark frame-initial-p as error-free.

* src/pgtkterm.c (pgtk_focus_changed): Use IS_DAEMON in place of
Fdaemonp, thus also accepting a named daemon session.
* src/terminal.c (decode_tty_terminal): Clarify commentary.
(Fframe_initial_p): New function.
(syms_of_terminal): Expose it.
(init_initial_terminal): Update commentary now that
menu-bar-update-buffers uses frame-initial-p (bug#53740).

* test/lisp/xt-mouse-tests.el (with-xterm-mouse-mode): Simulate the
lack of an initial terminal by overriding frame-initial-p now
that turn-on-xterm-mouse-tracking-on-terminal uses it.
* test/src/terminal-tests.el: New file.
2026-03-26 15:19:56 +01:00
..
abbrevs.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
anti.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
back.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
backups.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
book-spine.texi
buffers.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
ChangeLog.1 ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
commands.texi * doc/lispref/commands.texi (Special Events): Fix insert-special-event defun. 2026-02-16 10:34:05 +01:00
compile.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
control.texi (error-data): Delete function 2026-03-10 10:48:22 -04:00
customize.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
debugging.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
display.texi ; Fix the documentation of 'overlays-in' etc. 2026-02-28 15:36:07 +02:00
doclicense.texi
edebug.texi ; * doc/lispref/edebug.texi (Using Edebug): Fix a typo (bug#80459). 2026-02-21 10:29:45 +02:00
elisp.texi New function multiple-command-partition-arguments 2026-02-25 16:29:05 +00:00
elisp_type_hierarchy.jpg
elisp_type_hierarchy.txt
errors.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
eval.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
files.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
frames.texi Add predicate for initial_terminal 2026-03-26 15:19:56 +01:00
functions.texi ; Improve indexing in the ELisp manual 2026-02-02 15:24:21 +02:00
gpl.texi
hash.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
help.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
hooks.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
index.texi
internals.texi ; Mention when make_unibyte_string was introduced. 2026-02-14 20:41:20 +01:00
intro.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
keymaps.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
lay-flat.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
lists.texi ; Tweak documentation for ensure-proper-list. 2026-03-15 20:27:41 +00:00
loading.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
macros.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
Makefile.in ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
maps.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
markers.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
minibuf.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
modes.texi Fix typo in smie-rules-function documentation 2026-02-11 15:35:29 -05:00
nonascii.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
numbers.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
objects.texi Compare circular lists in 'equal' without error (bug#80456) 2026-02-24 12:47:52 +01:00
os.texi Don’t stuff keyboard input uselessly 2026-02-28 09:09:22 -08:00
package.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
parsing.texi ; Fix documentation of recent changes in treesit.el 2026-03-03 15:21:12 +02:00
peg.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
positions.texi In Elisp manual warn about unpredictable changes of point (Bug#79927) 2026-01-05 09:29:09 +01:00
processes.texi New function multiple-command-partition-arguments 2026-02-25 16:29:05 +00:00
README ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
records.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
searching.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
sequences.texi Improve documentation of 'seq-difference' 2026-01-31 16:08:52 +02:00
spellfile
streams.texi ; * doc/lispref/streams.texi (Output Functions): Fix markup (bug#80167). 2026-01-10 12:18:47 +02:00
strings.texi Correct manual entry for string-lessp 2026-02-28 16:38:27 +01:00
symbols.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
syntax.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
text.texi ; Move unfill-paragraph to fill.el. Document it in (elisp)Filling. 2026-03-05 15:48:03 +00:00
threads.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
tips.texi ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
two-volume-cross-refs.txt ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
two-volume.make ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
variables.texi ; * doc/lispref/variables.texi (Void Variables): Add cross-reference. 2026-03-21 09:05:59 +02:00
windows.texi ; Fix documentation of window-dimension functions 2026-03-19 17:40:31 +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-2026 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/>.