1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-28 16:21:07 -08:00
emacs/src
Mattias Engdegård fa5c07fc87 Use non-Lisp allocation for internal hash-table vectors
Using xmalloc for allocating these arrays is much cheaper than using
Lisp vectors since they are no longer marked or swept by the GC, and
deallocated much sooner.  This makes GC faster and less frequent, and
improves temporal locality.

Zero-sized tables use NULL for their (0-length) vectors except the
index vector which has size 1 and uses a shared constant static vector
since it cannot be modified anyway.  This makes creation and
destruction of zero-sized hash tables very fast; they consume no
memory outside the base object.

* src/lisp.h (struct Lisp_Hash_Table): Retype the index, next, hash
and key_and_value vectors from Lisp_Object to appropriately typed
arrays (although hash values are still stored as Lisp fixnums).  Add
explicit table_size and index_size members.  All users updated.
* src/alloc.c (gcstat): Add total_hash_table_bytes.
(hash_table_allocated_bytes): New.
(cleanup_vector): Free hash table vectors when sweeping
the object.
(hash_table_alloc_bytes, hash_table_free_bytes): New.
(sweep_vectors): Update gcstat.total_hash_table_bytes.
(total_bytes_of_live_objects): Use it.
(purecopy_hash_table): Adapt allocation of hash table vectors.
(process_mark_stack): No more Lisp slots in the struct to trace.
* src/fns.c (empty_hash_index_vector): New.
(allocate_hash_table): Allocate without automatically GCed slots.
(alloc_larger_vector): Remove.
(make_hash_table, copy_hash_table, maybe_resize_hash_table):
Adapt vector allocation and initialisation.
* src/pdumper.c (hash_table_freeze, hash_table_thaw, dump_hash_table)
(dump_hash_table_contents):
Adapt dumping and loading to field changes.
2024-01-13 20:50:38 +01:00
..
bitmaps
.dbxinit
.gdbinit Esplain how to turn off GDB display of inferior-events 2024-01-10 12:15:36 -05:00
.lldbinit Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
alloc.c Use non-Lisp allocation for internal hash-table vectors 2024-01-13 20:50:38 +01:00
android-asset.h ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
android-emacs.c ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
android.c ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
android.h ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
androidfns.c ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
androidfont.c ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
androidgui.h ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
androidmenu.c ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
androidselect.c ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
androidterm.c Revert "Add new swap macro and use it" 2024-01-06 15:28:14 +08:00
androidterm.h ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
androidvfs.c Fix use after free in androidvfs.c 2024-01-10 14:48:00 +01:00
atimer.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
atimer.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
bidi.c Use min/max macros in a few more places 2024-01-09 07:55:51 +01:00
bignum.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
bignum.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
blockinput.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
buffer.c Revert "Add new swap macro and use it" 2024-01-06 15:28:14 +08:00
buffer.h Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
bytecode.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
callint.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
callproc.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
casefiddle.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
casetab.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
category.c Remove rehash-threshold and rehash-size struct members 2024-01-13 20:50:37 +01:00
category.h
ccl.c Prefer AREF in GET_TRANSLATION_TABLE 2024-01-13 10:18:03 +01:00
ccl.h
ChangeLog.1 ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
ChangeLog.2 ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
ChangeLog.3 Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
ChangeLog.4 Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
ChangeLog.5 ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
ChangeLog.6 ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
ChangeLog.7 ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
ChangeLog.8 ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
ChangeLog.9 ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
ChangeLog.10 ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
ChangeLog.11 Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
ChangeLog.12 Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
ChangeLog.13 ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
character.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
character.h
charset.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
charset.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
chartab.c ; Improve documentation of 'char-table-range' 2023-09-01 16:33:40 +03:00
cm.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
cm.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
cmds.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
coding.c Use min/max macros in a few more places 2024-01-09 07:55:51 +01:00
coding.h Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
commands.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
comp.c Abstract predicate and constant for unused hash keys 2024-01-12 18:03:02 +01:00
comp.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
composite.c Abstract predicate and constant for unused hash keys 2024-01-12 18:03:02 +01:00
composite.h Refactor: less layering violation in composite.h 2024-01-12 18:02:14 +01:00
conf_post.h Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
COPYING
cygw32.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
cygw32.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
data.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
dbusbind.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
decompress.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
deps.mk ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
dired.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
dispextern.h Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
dispnew.c Revert "Add new swap macro and use it" 2024-01-06 15:28:14 +08:00
disptab.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
dmpstruct.awk ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
doc.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
doprnt.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
dosfns.c Use min/max macros in a few more places 2024-01-09 07:55:51 +01:00
dosfns.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
dynlib.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
dynlib.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
editfns.c Revert "Add new swap macro and use it" 2024-01-06 15:28:14 +08:00
emacs-icon.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
emacs-module.c Remove rehash-threshold and rehash-size struct members 2024-01-13 20:50:37 +01:00
emacs-module.h.in Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
emacs.c Use min/max macros in a few more places 2024-01-09 07:55:51 +01:00
emacsgtkfixed.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
emacsgtkfixed.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
epaths.in Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
eval.c Decouple profiler from Lisp hash table internals 2024-01-12 18:02:14 +01:00
fileio.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
filelock.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
firstfile.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
floatfns.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
fns.c Use non-Lisp allocation for internal hash-table vectors 2024-01-13 20:50:38 +01:00
font.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
font.h Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
fontset.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
fontset.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
frame.c Remove rehash-threshold and rehash-size struct members 2024-01-13 20:50:37 +01:00
frame.h Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
fringe.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
ftcrfont.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
ftfont.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
ftfont.h
getpagesize.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
gfilenotify.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
gmalloc.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
gnutls.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
gnutls.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
gtkutil.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
gtkutil.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
haiku.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
haiku_draw_support.cc ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
haiku_font_support.cc ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
haiku_io.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
haiku_select.cc Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
haiku_support.cc Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
haiku_support.h Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
haikufns.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
haikufont.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
haikugui.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
haikuimage.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
haikumenu.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
haikuselect.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
haikuselect.h Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
haikuterm.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
haikuterm.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
hbfont.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
image.c Remove rehash-threshold and rehash-size struct members 2024-01-13 20:50:37 +01:00
indent.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
indent.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
inotify.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
insdel.c Use min/max macros in a few more places 2024-01-09 07:55:51 +01:00
intervals.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
intervals.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
itree.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
itree.h Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
json.c Abstract predicate and constant for unused hash keys 2024-01-12 18:03:02 +01:00
keyboard.c (backtrace-on-redisplay-error): Use handler-bind 2024-01-04 16:37:01 -05:00
keyboard.h Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
keymap.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
keymap.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
kqueue.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
lastfile.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
lcms.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
lisp.h Use non-Lisp allocation for internal hash-table vectors 2024-01-13 20:50:38 +01:00
lread.c Remove rehash-threshold and rehash-size struct members 2024-01-13 20:50:37 +01:00
macfont.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
macfont.m ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
macros.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
macros.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
macuvs.h
Makefile.in Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
marker.c Pacify Ubuntu GCC 13.2 in set_marker_internal 2024-01-06 13:40:38 -08:00
menu.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
menu.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
minibuf.c Abstract predicate and constant for unused hash keys 2024-01-12 18:03:02 +01:00
module-env-25.h
module-env-26.h
module-env-27.h
module-env-28.h
module-env-29.h
module-env-30.h ; * src/module-env-30.h: Fix commentary 2023-11-23 13:34:47 +01:00
msdos.c Remove redundant casts from void* with malloc functions 2024-01-10 14:48:00 +01:00
msdos.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
nsfns.m Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
nsfont.m * src/nsfont.m (nsfont_open): Fix Ffont_xlfd_name args. 2024-01-12 16:19:42 +01:00
nsgui.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
nsimage.m Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
nsmenu.m Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
nsselect.m ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
nsterm.h Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
nsterm.m Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
nsxwidget.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
nsxwidget.m ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
pdumper.c Use non-Lisp allocation for internal hash-table vectors 2024-01-13 20:50:38 +01:00
pdumper.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
pgtkfns.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
pgtkgui.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
pgtkim.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
pgtkmenu.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
pgtkselect.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
pgtkterm.c Remove rehash-threshold and rehash-size struct members 2024-01-13 20:50:37 +01:00
pgtkterm.h Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
print.c Use non-Lisp allocation for internal hash-table vectors 2024-01-13 20:50:38 +01:00
process.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
process.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
profiler.c Remove rehash-threshold and rehash-size struct members 2024-01-13 20:50:37 +01:00
puresize.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
ralloc.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
README ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
regex-emacs.c Revert "Add new swap macro and use it" 2024-01-06 15:28:14 +08:00
regex-emacs.h Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
region-cache.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
region-cache.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
scroll.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
search.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
sfnt.c ; Minor edits to PROBLEMS and sfnt.c 2024-01-10 11:38:54 +08:00
sfnt.h Properly instruct Italic Arial or BS Mono at small PPEM sizes 2024-01-08 15:51:51 +08:00
sfntfont-android.c ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
sfntfont.c Properly sort results for partial font specs 2024-01-13 09:51:59 +08:00
sfntfont.h ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
sheap.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
sheap.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
sort.c Use min/max macros in a few more places 2024-01-09 07:55:51 +01:00
sound.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
sqlite.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
syntax.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
syntax.h Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
sysdep.c Don't include sheap.h in sysdep.c 2024-01-03 05:22:15 +01:00
sysselect.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
syssignal.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
sysstdio.h Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
systhread.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
systhread.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
systime.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
systty.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
syswait.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
term.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
termcap.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
termchar.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
termhooks.h Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
terminal.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
terminfo.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
termopts.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
textconv.c Revert "Add new swap macro and use it" 2024-01-06 15:28:14 +08:00
textconv.h ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
textprop.c Revert "Add new swap macro and use it" 2024-01-06 15:28:14 +08:00
thread.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
thread.h Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
timefns.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
tparam.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
tparam.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
treesit.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
treesit.h Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
undo.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
unexaix.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
unexcoff.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
unexcw.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
unexec.h
unexelf.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
unexhp9k800.c
unexmacosx.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
unexsol.c
unexw32.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
verbose.mk.in Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
vm-limit.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
w16select.c Remove redundant casts from void* with malloc functions 2024-01-10 14:48:00 +01:00
w32.c Use min/max macros in a few more places 2024-01-09 07:55:51 +01:00
w32.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
w32common.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
w32console.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
w32cygwinx.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
w32fns.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
w32font.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
w32font.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
w32gui.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
w32heap.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
w32heap.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
w32image.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
w32inevt.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
w32inevt.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
w32menu.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
w32notify.c Fix NULL dereference in w32notify.c 2024-01-13 10:21:41 +01:00
w32proc.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
w32reg.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
w32select.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
w32select.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
w32term.c Remove redundant casts from void* with malloc functions 2024-01-10 14:48:00 +01:00
w32term.h Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
w32uniscribe.c Remove redundant casts from void* with malloc functions 2024-01-10 14:48:00 +01:00
w32xfns.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
widget.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
widget.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
widgetprv.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
window.c Merge from origin/emacs-29 2024-01-06 08:20:19 -05:00
window.h Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
xdisp.c Remove redundant conversion from bool to bool 2024-01-08 07:23:52 +01:00
xfaces.c Remove rehash-threshold and rehash-size struct members 2024-01-13 20:50:37 +01:00
xfns.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
xfont.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
xftfont.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
xgselect.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
xgselect.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
xmenu.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
xml.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
xrdb.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
xselect.c Pacify Ubuntu GCC 13.2 in x_get_local_selection 2024-01-06 13:40:38 -08:00
xsettings.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
xsettings.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
xsmfns.c Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
xterm.c Remove rehash-threshold and rehash-size struct members 2024-01-13 20:50:37 +01:00
xterm.h Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
xwidget.c ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
xwidget.h ; Add 2024 to copyright years 2024-01-02 09:47:10 +08: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-2024 Free Software Foundation, Inc.
See the end of the file for license conditions.


This directory contains the source files for the C component of GNU Emacs.
Nothing in this directory is needed for using Emacs once it is built
and installed, if the dumped Emacs is copied elsewhere.

See the files ../README and then ../INSTALL for installation instructions.

The file 'Makefile.in' is used as a template by the script
'../configure' to produce 'Makefile'.  This is the file which actually
controls the compilation of Emacs C source files.  All of this should
work transparently; you should only need to change to the parent
directory, run './configure', and then run 'make'.

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/>.