1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-20 19:42:53 -08:00
emacs/etc
Mattias Engdegård c60b59e04c Disallow creation of circular variable alias chains
Make `defvaralias` signal an error upon attempts to create variable
alias cycles.  This detects errors earlier and makes the alias
traversal during execution simpler and faster since no cycle detection
is needed elsewhere.
Now variable and function aliases are handled identically in these
respects.

* src/lisp.h (indirect_variable): Remove declaration.
* src/data.c (indirect_variable): Remove.
(Findirect_variable): Update doc string.  Simplify alias resolution.
(Fboundp, find_symbol_value, set_internal, default_value)
(set_default_internal, Fmake_variable_buffer_local)
(Fmake_local_variable, Fkill_local_variable, Flocal_variable_p)
(Flocal_variable_if_set_p, Fvariable_binding_locus):
* src/buffer.c (buffer_local_value):
* src/eval.c (specbind): Simplify variable alias resolution.
(Fdefvaralias): Update doc string.  Check for cycles.
* doc/lispref/variables.texi (Variable Aliases):
Mention that `defvaralias` can signal `cyclic-variable-indirection`
but `indirect-variable` cannot.
* etc/NEWS: Announce the change.
* test/src/eval-tests.el (eval-tests-defvaralias): New test.
2023-04-14 19:34:23 +02:00
..
charsets ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
e
forms ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
gnus
images Improve portability of newly added icons 2023-04-03 16:16:06 +08:00
nxml
org ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
refcards Merge from origin/emacs-29 2023-04-06 14:38:20 -04:00
schema ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
srecode ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
themes Update Modus themes to version 4.1.0 2023-02-22 20:00:13 +02:00
tutorials ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
AUTHORS Merge from origin/emacs-29 2023-02-21 09:44:57 +01:00
CALC-NEWS ; 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
compilation.txt Tighten and simplify typescript compilation-mode regexps (bug#61104) 2023-02-06 17:47:00 +01:00
COPYING
DEBUG Merge from origin/emacs-29 2023-01-01 05:47:47 -05:00
DEVEL.HUMOR
DISTRIB ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
edt-user.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
EGLOT-NEWS Eglot: Bump to 1.14 2023-04-03 01:40:30 +01:00
emacs-buffer.gdb ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
emacs-mail.desktop
emacs.desktop
emacs.icon
emacs.metainfo.xml ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
emacs.service
emacs_lldb.py ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
emacsclient-mail.desktop Avoid using bash in the emacsclient desktop file 2023-03-08 19:37:27 +01:00
emacsclient.desktop Fix quoted argument in emacsclient-mail.desktop Exec key 2022-12-24 09:19:40 +02:00
enriched.txt ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ERC-NEWS * etc/ERC-NEWS: Add section for ERC 5.6. 2023-04-08 14:23:51 -07:00
ETAGS.EBNF ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ETAGS.README ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
future-bug
gnus-tut.txt ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
grep.txt ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
HELLO ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
HISTORY Update HISTORY for Emacs 28.3 2023-02-17 11:22:19 +01:00
JOKES
MACHINES ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
MH-E-NEWS ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NEWS Disallow creation of circular variable alias chains 2023-04-14 19:34:23 +02:00
NEWS.1-17 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NEWS.18 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NEWS.19 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NEWS.20 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NEWS.21 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NEWS.22 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NEWS.23 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NEWS.24 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NEWS.25 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NEWS.26 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NEWS.27 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NEWS.28 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NEWS.29 Merge from origin/emacs-29 2023-04-06 14:38:20 -04:00
NEXTSTEP ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
NXML-NEWS ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ORG-NEWS Update to Org 9.6.1-48-g92471e 2023-03-18 21:41:22 -04:00
org.gnu.emacs.defaults.gschema.xml ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
package-keyring.gpg * etc/package-keyring.gpg: Update with new key 2022-12-28 12:19:02 -05:00
PROBLEMS Merge commit '1bc9dfc5be' 2023-03-27 17:14:27 -04:00
ps-prin0.ps ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ps-prin1.ps ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
publicsuffix.txt Update publicsuffix.txt from upstream 2023-04-01 06:00:47 +02:00
README ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
rgb.txt
ses-example.ses ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
spook.lines
TERMS ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
TODO ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
w32-feature.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
yow.lines

This directory contains the architecture-independent files used by or
with Emacs.  This includes some text files of documentation for GNU
Emacs or of interest to Emacs users, and the file of dumped docstrings
for Emacs functions and variables.

COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES

File: emacs.icon
  Author: Sun Microsystems, Inc
  Copyright (C) 1999, 2001-2023 Free Software Foundation, Inc.
  License: GNU General Public License version 3 or later (see COPYING)