1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-02 02:10:46 -08:00
emacs/etc
Paul Eggert d614e4a8cd Turn misc objects into pseudovectors
Eliminate the category of miscellaneous objects, and turn all
such objects into pseudovectors.  The immediate motivation
for this change is to free up an enum Lisp_Type tag value, a
scarce resource that can be better used elsewhere.  However,
this change is worthwhile in its own right, as it improves
performance slightly on my platform, 0.3% faster for 'make
compile-always' on Fedora 28, and it simplifies the garbage
collector and interpreter (Bug#32405).
* doc/lispref/internals.texi (Garbage Collection):
* etc/NEWS:
Document change to garbage-collect return value.
* src/alloc.c (total_markers, total_free_markers):
(union aligned_Lisp_Misc, MARKER_BLOCK_SIZE)
(struct marker_block, marker_block, marker_block_index)
(misc_free_list, allocate_misc, live_misc_holding)
(live_misc_p, sweep_misc):
* src/lisp.h (lisp_h_MARKERP, lisp_h_MISCP, MARKERP, MISCP)
(Lisp_Misc, enum Lisp_Misc_Type, Lisp_Misc_Free)
(Lisp_Misc_Marker, Lisp_Misc_Overlay, Lisp_Misc_Finalizer)
(Lisp_Misc_Ptr, Lisp_Misc_User_Ptr, Lisp_Misc_Limit)
(Lisp_Misc_Bignum)
(XSETMISC, struct Lisp_Misc_Any, XMISCANY, XMISCTYPE)
(struct Lisp_Free, union Lisp_Misc, XMISC):
Remove.  All uses removed.
(cleanup_vector): Clean up objects that were formerly misc
and are now pseudovectors.
(make_misc_ptr, build_overlay, Fmake_marker, build_marker)
(make_bignum_str, make_number, make_pure_bignum)
(make_user_ptr, Fmake_finalizer):
Build as pseudovectors, not as misc objects.
(mark_finalizer_list, queue_doomed_finalizers)
(compact_undo_list, mark_overlay, mark_object)
(unchain_dead_markers):
Mark as vector-like objects, not as misc objects.
(mark_maybe_object, mark_maybe_pointer, valid_lisp_object_p)
(total_bytes_of_live_objects, survives_gc_p):
* src/fns.c (sxhash):
No need to worry about misc objects.
(garbage_collect_1): Do not generate a 'misc' component.
(syms_of_alloc): No need for 'misc' symbol.
* src/buffer.c (overlays_at, overlays_in, overlay_touches_p)
(overlay_strings, recenter_overlay_lists)
(fix_start_end_in_overlays, fix_overlays_before)
(Foverlay_lists, report_overlay_modification)
(evaporate_overlays):
* src/editfns.c (overlays_around):
* src/data.c (Ftype_of):
* src/fns.c (internal_equal):
* src/lisp.h (mint_ptrp, xmint_pointer, FINALIZERP)
(XFINALIZER, MARKERP, XMARKER, OVERLAYP, XOVERLAY, USER_PTRP)
(XUSER_PTR, BIGNUMP, XBIGNUM):
* src/print.c (print_vectorlike, print_object):
* src/undo.c (record_marker_adjustments):
* src/xdisp.c (load_overlay_strings):
Formerly misc objects are now pseudovectors.
* src/lisp.h (PVEC_MARKER, PVEC_OVERLAY, PVEC_FINALIZER)
(PVEC_BIGNUM, PVEC_MISC_PTR, PVEC_USER_PTR):
New constants, replacing their misc versions.  All uses changed.
(struct Lisp_Marker, struct Lisp_Overlay, struct Lisp_Misc_Ptr)
(struct Lisp_Bignum, struct Lisp_User_Ptr, struct Lisp_Finalizer):
Make usable as a pseudovector by using a pseudovector header,
replacing any DIY components, and putting Lisp_Object members
first.  All uses changed.
2018-08-11 18:50:25 -07:00
..
charsets Update copyright year to 2018 2018-01-01 00:57:59 -08:00
e Prefer straight quoting in some etc text files 2015-08-26 14:09:07 -07:00
forms Update copyright year to 2018 2018-01-01 00:57:59 -08:00
gnus
images Merge from origin/emacs-26 2018-01-01 01:13:04 -08:00
nxml Update nXML to use Emacs's Unicode support, and lexical-binding 2016-01-15 10:29:20 -05:00
org Update Org to v9.1.9 2018-03-27 23:34:41 +02:00
refcards Use “Cc” for email copies, as per RFC 5322. 2018-05-20 11:02:50 -07:00
schema Update copyright year to 2018 2018-01-01 00:57:59 -08:00
srecode Update copyright year to 2018 2018-01-01 00:57:59 -08:00
themes Disable no-byte-compile in built-in themes 2018-07-13 11:28:16 -04:00
tutorials Fix copyright years by hand 2018-01-01 01:02:09 -08:00
AUTHORS * etc/AUTHORS: Update. 2018-05-25 17:19:29 +02:00
CALC-NEWS ; Fix doc typos related to indefinite articles 2018-02-16 17:33:57 -05:00
CENSORSHIP Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
ChangeLog.1 Update copyright year to 2018 2018-01-01 00:57:59 -08:00
compilation.txt Update copyright year to 2018 2018-01-01 00:57:59 -08:00
COPYING Merge from Gnulib 2017-10-01 18:31:10 -07:00
DEBUG Merge from emacs-26 2018-06-10 18:43:49 -04:00
DEVEL.HUMOR Prefer straight quoting in some etc text files 2015-08-26 14:09:07 -07:00
DISTRIB Update copyright year to 2018 2018-01-01 00:57:59 -08:00
edt-user.el Update copyright year to 2018 2018-01-01 00:57:59 -08:00
emacs-buffer.gdb Bring emacs-buffer.gdb up to date with recent lisp.h changes. 2018-01-26 18:52:19 -08:00
emacs.appdata.xml * etc/emacs.appdata.xml: Update Emacs screenshot. 2018-06-06 20:55:33 +02:00
emacs.desktop * etc/emacs.desktop: Add "Keywords". 2014-10-30 21:10:19 -07:00
emacs.icon
emacs.service Notify systemd in daemon-initialized and kill-emacs (Bug#31498) 2018-07-25 21:07:03 -04:00
enriched.txt Use Enriched mode in etc/HELLO to keep charset information 2018-05-19 18:17:38 +03:00
ERC-NEWS Update copyright year to 2018 2018-01-01 00:57:59 -08:00
ETAGS.EBNF ; Fix doc typos related to indefinite articles 2018-02-16 17:33:57 -05:00
ETAGS.README Update copyright year to 2018 2018-01-01 00:57:59 -08:00
FTP Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
future-bug
GNU Update copyright year to 2015 2015-01-01 09:18:06 -08:00
GNUS-NEWS Update copyright year to 2018 2018-01-01 00:57:59 -08:00
gnus-tut.txt Update copyright year to 2018 2018-01-01 00:57:59 -08:00
grep.txt Update copyright year to 2018 2018-01-01 00:57:59 -08:00
HELLO * etc/HELLO: Add a few more scripts. 2018-05-26 15:11:20 +03:00
HISTORY * etc/HISTORY: Cite Brinkoff on early history. 2018-07-01 08:25:46 -07:00
JOKES
LINUX-GNU Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
MACHINES Update copyright year to 2018 2018-01-01 00:57:59 -08:00
MH-E-NEWS Update copyright year to 2018 2018-01-01 00:57:59 -08:00
MORE.STUFF
NEWS Turn misc objects into pseudovectors 2018-08-11 18:50:25 -07:00
NEWS.1-17 Update copyright year to 2018 2018-01-01 00:57:59 -08:00
NEWS.18 Use “Cc” for email copies, as per RFC 5322. 2018-05-20 11:02:50 -07:00
NEWS.19 Use “Cc” for email copies, as per RFC 5322. 2018-05-20 11:02:50 -07:00
NEWS.20 Use “Cc” for email copies, as per RFC 5322. 2018-05-20 11:02:50 -07:00
NEWS.21 ; Fix doc typos related to indefinite articles 2018-02-16 17:33:57 -05:00
NEWS.22 ; Fix doc typos related to indefinite articles 2018-02-16 17:33:57 -05:00
NEWS.23 Update copyright year to 2018 2018-01-01 00:57:59 -08:00
NEWS.24 Update copyright year to 2018 2018-01-01 00:57:59 -08:00
NEWS.25 Update copyright year to 2018 2018-01-01 00:57:59 -08:00
NEWS.26 Merge from origin/emacs-26 2018-07-20 10:00:32 -07:00
NEXTSTEP Update copyright year to 2018 2018-01-01 00:57:59 -08:00
NXML-NEWS Update copyright year to 2018 2018-01-01 00:57:59 -08:00
ORDERS Make etc/FTP and etc/ORDERS obsolete 2014-01-09 21:44:51 -05:00
ORG-NEWS Update Org to v9.1.9 2018-03-27 23:34:41 +02:00
package-keyring.gpg * etc/package-keyring.gpg: New file. 2014-09-24 10:28:27 -04:00
PROBLEMS Remove old combreloc hack 2018-06-15 14:38:26 -07:00
ps-prin0.ps Update copyright year to 2018 2018-01-01 00:57:59 -08:00
ps-prin1.ps Update copyright year to 2018 2018-01-01 00:57:59 -08:00
publicsuffix.txt Update publicsuffix.txt. 2016-02-06 16:11:18 +11:00
README Update copyright year to 2018 2018-01-01 00:57:59 -08:00
rgb.txt
ses-example.ses Update copyright year to 2018 2018-01-01 00:57:59 -08:00
spook.lines
TERMS Update copyright year to 2018 2018-01-01 00:57:59 -08:00
THE-GNU-PROJECT Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
TODO Doc fixes re obsolete items 2018-03-13 13:49:05 -04:00
WHY-FREE Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
yow.lines Prefer straight quoting in some etc text files 2015-08-26 14:09:07 -07:00

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-2018 Free Software Foundation, Inc.
  License: GNU General Public License version 3 or later (see COPYING)