1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-01 08:17:38 +00:00
emacs/etc
Stefan Monnier 004f2493a5 cl-preloaded.el: Fix the type lattice
We generally want types to form not just a DAG but a lattice.
If objects can be both `keyword` and `symbol-with-pos`, this
means there should be a more precise type describing this intersection.
If we ever find the need for such a refinement, we could add
such a `keyword-with-pos` type, but here I took the simpler
route of treating `keyword` not as a proper built-in type but
as a second-class type like `natnum`.

While fixing this problem, also fix the problem we had where
`functionp` was not quite adequate to characterize objects of type
`function`, by introducing a new predicate `cl-functionp` for that.

* lisp/emacs-lisp/cl-preloaded.el (cl-functionp): New function.
(function): Use it.
(keyword): Don't declare it as a built-in type.
(user-ptrp): Remove redundant declaration.

* lisp/emacs-lisp/cl-generic.el (cl--generic--unreachable-types):
Delete constant.
(cl-generic-generalizers): Remove corresponding test.

* lisp/emacs-lisp/cl-macs.el (cl-deftype-satisfies): Add entry for
`keyword` type.

* lisp/emacs-lisp/comp.el (comp-known-predicates): Fix type for
negative result of `characterp`.  Remove duplicate `numberp` entry.
Fix types for `keywordp` now that `keyword` is not a built-in type any more.

* test/src/data-tests.el (data-tests--cl-type-of): Add a few cases.
Remove workaround for `function`.
2024-03-26 13:14:15 -04:00
..
charsets ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
e Implement alternative sub-buffer support in term.el 2022-01-24 20:02:33 +01:00
forms ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
gnus
images 'read-passwd' can toggle the visibility of passwords 2024-02-25 10:06:09 +01:00
nxml
org ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
refcards Revert "Update to Org 9.6.19" 2024-02-17 18:53:05 +02:00
schema ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
srecode ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
themes Update modus-themes to their 4.4.0 version 2024-03-17 18:46:15 +02:00
tutorials Update Polish translation of tutorial 2024-01-20 09:18:27 +02:00
AUTHORS ; Regenerate lisp/ldefs-boot.el and etc/AUTHORS for 29.2. 2024-01-18 05:17:44 -05:00
CALC-NEWS Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
ChangeLog.1 Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
compilation.txt Make Compilation mode recognize Lua errors 2024-01-10 14:48:00 +01:00
COPYING Merge from Gnulib 2017-10-01 18:31:10 -07:00
DEBUG ; * etc/DEBUG: Add a blurb about disabling ASLR on macOS. 2024-01-26 21:02:10 +02:00
DEVEL.HUMOR ; * etc/DEVEL.HUMOR: Add a recent joke. 2022-02-11 10:15:20 +02:00
DISTRIB ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
edt-user.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
EGLOT-NEWS Eglot: bump to 1.17 2024-01-25 12:20:27 +00:00
emacs_lldb.py Add a proper type for obarrays 2024-02-23 13:02:27 +01:00
emacs-buffer.gdb ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
emacs-mail.desktop Hide emacs-mail.desktop, emacsclient-mail.desktop from menus 2021-07-02 13:09:18 +02:00
emacs.desktop Drop redundant keywords in .desktop files. 2021-08-11 14:05:25 +02:00
emacs.icon
emacs.metainfo.xml ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
emacs.service * etc/emacs.service: 2020-12-14 17:59:58 +01:00
emacsclient-mail.desktop Add 'server-eval-args-left' to server.el 2023-10-29 14:10:23 +02:00
emacsclient.desktop Make emacsclient handle org-protocol:// links 2023-09-18 12:54:22 +02:00
enriched.txt ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
ERC-NEWS Make erc-cmd-AMSG session local; add /GMSG, /AME and /GME 2024-02-23 18:45:44 -08:00
ETAGS.EBNF ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
ETAGS.README ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
future-bug
gnus-tut.txt ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
grep.txt ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
HELLO ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
HISTORY * Update etc/HISTORY and ChangeLog.4 for 29.2 release. 2024-01-18 04:40:34 -05:00
JOKES
MACHINES Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
MH-E-NEWS ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
NEWS cl-preloaded.el: Fix the type lattice 2024-03-26 13:14:15 -04:00
NEWS.1-17 ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
NEWS.18 ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
NEWS.19 ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
NEWS.20 Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
NEWS.21 Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
NEWS.22 Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
NEWS.23 Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
NEWS.24 Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
NEWS.25 * etc/NEWS.25: Add 'obarrayp' as well 2024-02-24 13:12:20 -05:00
NEWS.26 Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
NEWS.27 ; Delete pre-release remainder in NEWS.27 2024-01-19 00:40:12 +01:00
NEWS.28 ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
NEWS.29 ; Merge NEWS.29. 2024-01-20 06:40:54 -05:00
NEXTSTEP ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
NXML-NEWS ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
ORG-NEWS ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
org.gnu.emacs.defaults.gschema.xml ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
package-keyring.gpg * etc/package-keyring.gpg: Update with new key 2022-12-28 12:19:02 -05:00
PROBLEMS Merge from origin/emacs-29 2024-02-24 06:35:16 -05:00
ps-prin0.ps ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
ps-prin1.ps ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
publicsuffix.txt Update publicsuffix.txt from upstream 2023-12-10 14:44:41 +01:00
README ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
rgb.txt Revert "Update etc/rgb.txt from X.Org upstream" 2023-10-16 08:56:53 +08:00
ses-example.ses ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
spook.lines Add more spook.lines 2019-07-13 05:09:45 +02:00
TERMS ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
TODO * etc/TODO (Native compiler improvements): Remove an entry as completed. 2024-02-29 14:21:49 +01:00
w32-feature.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08: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-2024 Free Software Foundation, Inc.
  License: GNU General Public License version 3 or later (see COPYING)