1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-30 17:10:51 -08:00
emacs/src
Paul Eggert a038df77de Allow gap before first non-Lisp pseudovec member
Problem reported by Keith David Bershatsky in:
https://lists.gnu.org/r/emacs-devel/2019-04/msg00259.html
Solution suggested by Stefan Monnier in:
https://lists.gnu.org/r/emacs-devel/2019-04/msg00282.html
* src/buffer.h (BUFFER_LISP_SIZE): Simplify by using PSEUDOVECSIZE.
(BUFFER_REST_SIZE): Simplify by using VECSIZE and BUFFER_LISP_SIZE.
* src/lisp.h (PSEUDOVECSIZE): Base it on the last Lisp field,
not the first non-Lisp field.  All callers changed.  Callers
without Lisp fields changed to use ALLOCATE_PLAIN_PSEUDOVECTOR.
(ALLOCATE_PLAIN_PSEUDOVECTOR): New macro.
2019-04-08 13:01:21 -07:00
..
bitmaps
.dbxinit
.gdbinit Simpler way to export HAVE_X_WINDOWS to GDB 2019-03-27 21:51:57 -07:00
alloc.c Allow gap before first non-Lisp pseudovec member 2019-04-08 13:01:21 -07:00
atimer.c Use a runtime test for timerfd on Cygwin (Bug#34618) 2019-03-10 10:43:00 -04:00
atimer.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
bidi.c Fix misuses of NULL when talking about the NUL character 2019-03-21 23:55:28 -04:00
bignum.c Allow gap before first non-Lisp pseudovec member 2019-04-08 13:01:21 -07:00
bignum.h Update more copyright years 2018-12-31 18:47:22 -08:00
blockinput.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
buffer.c * src/buffer.c (Fget_buffer_create): Apply booleans's eta-reduction 2019-04-06 18:54:31 -04:00
buffer.h Allow gap before first non-Lisp pseudovec member 2019-04-08 13:01:21 -07:00
bytecode.c Add portable dumper 2019-01-15 17:37:36 -05:00
callint.c Fix misuses of NULL when talking about the NUL character 2019-03-21 23:55:28 -04:00
callproc.c Merge from origin/emacs-26 2019-02-08 09:20:40 -08:00
casefiddle.c Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
casetab.c Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
category.c Add portable dumper 2019-01-15 17:37:36 -05:00
category.h Rename integerp->fixnum, etc, in preparation for bignums 2018-07-12 22:12:27 -06:00
ccl.c Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
ccl.h Prefer HTTPS to FTP and HTTP in documentation 2017-09-13 15:54:37 -07:00
ChangeLog.1 Update copyright year to 2019 2019-01-01 01:01:13 +00:00
ChangeLog.2 Update copyright year to 2019 2019-01-01 01:01:13 +00:00
ChangeLog.3 Update copyright year to 2019 2019-01-01 01:01:13 +00:00
ChangeLog.4 ; Fix some trivial doc typos 2019-01-12 14:47:33 -08:00
ChangeLog.5 Update copyright year to 2019 2019-01-01 01:01:13 +00:00
ChangeLog.6 Update copyright year to 2019 2019-01-01 01:01:13 +00:00
ChangeLog.7 Update copyright year to 2019 2019-01-01 01:01:13 +00:00
ChangeLog.8 Update copyright year to 2019 2019-01-01 01:01:13 +00:00
ChangeLog.9 Update copyright year to 2019 2019-01-01 01:01:13 +00:00
ChangeLog.10 Update copyright year to 2019 2019-01-01 01:01:13 +00:00
ChangeLog.11 ; Fix some trivial doc typos 2019-01-12 14:47:33 -08:00
ChangeLog.12 Update copyright year to 2019 2019-01-01 01:01:13 +00:00
ChangeLog.13 Update copyright year to 2019 2019-01-01 01:01:13 +00:00
character.c Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
character.h More macro renamings for bignum 2018-08-07 18:08:53 -06:00
charset.c Fix 'define-charset' after dumping with pdumper 2019-03-17 17:49:37 +02:00
charset.h Fix 'define-charset' after dumping with pdumper 2019-03-17 17:49:37 +02:00
chartab.c Add make_vector and make_nil_vector 2018-12-09 00:23:55 -08:00
cm.c Update copyright year to 2019 2019-01-01 01:01:13 +00:00
cm.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
cmds.c Widen modiff counts to avoid wraparound 2019-01-31 10:31:43 -08:00
coding.c Don't run buffer-related hooks in " *code conversion work*" buffers 2019-03-30 12:01:58 +03:00
coding.h Don't run buffer-related hooks in " *code conversion work*" buffers 2019-03-30 12:01:58 +03:00
commands.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
composite.c Simplify fill_gstring_header 2019-04-07 11:44:04 -07:00
composite.h Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
conf_post.h Rename CANNOT_DUMP to HAVE_UNEXEC 2019-02-01 13:05:39 -08:00
COPYING Merge from Gnulib 2017-10-01 18:31:10 -07:00
cygw32.c Update copyright year to 2019 2019-01-01 01:01:13 +00:00
cygw32.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
data.c Make struct Lisp_Objfwd etc. objects read-only 2019-04-01 12:02:37 -07:00
dbusbind.c Add portable dumper 2019-01-15 17:37:36 -05:00
decompress.c Allow partial decompression (Bug#33133) 2019-04-02 22:02:32 -04:00
deps.mk Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
dired.c Fix misuses of NULL when talking about the NUL character 2019-03-21 23:55:28 -04:00
dispextern.h Support native image resizing on cairo 2019-03-27 11:12:18 +09:00
dispnew.c Define macros to abstract support for external menu/tool-bars 2019-03-16 13:15:07 -06:00
disptab.h Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
dmpstruct.awk ; Copyright fixes for pdumper files 2019-01-16 04:39:50 -05:00
doc.c Fix misuses of NULL when talking about the NUL character 2019-03-21 23:55:28 -04:00
doprnt.c Fix misuses of NULL when talking about the NUL character 2019-03-21 23:55:28 -04:00
dosfns.c Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
dosfns.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
dynlib.c Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
dynlib.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
editfns.c Port recent ngettext stub to non-glibc 2019-03-25 15:20:59 -07:00
emacs-icon.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
emacs-module.c Allow gap before first non-Lisp pseudovec member 2019-04-08 13:01:21 -07:00
emacs-module.h.in Ignore pending_signals when checking for quits. 2019-02-24 22:43:07 +01:00
emacs.c Fix misuses of NULL when talking about the NUL character 2019-03-21 23:55:28 -04:00
emacsgtkfixed.c Update copyright year to 2019 2019-01-01 01:01:13 +00:00
emacsgtkfixed.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
epaths.in Update copyright year to 2019 2019-01-01 01:01:13 +00:00
eval.c * lisp/subr.el (prog2): Define as a macro 2019-04-02 10:04:44 -04:00
fileio.c Fix misuses of NULL when talking about the NUL character 2019-03-21 23:55:28 -04:00
filelock.c Encode the FILENAME argument of 'file-locked-p' 2019-04-06 17:53:30 +03:00
fingerprint-dummy.c ; Copyright fixes for pdumper files 2019-01-16 04:39:50 -05:00
fingerprint.h ; Copyright fixes for pdumper files 2019-01-16 04:39:50 -05:00
firstfile.c Update copyright year to 2019 2019-01-01 01:01:13 +00:00
floatfns.c Fix logb on zero, infinite, NaN args 2019-01-06 16:25:40 -08:00
fns.c Allow gap before first non-Lisp pseudovec member 2019-04-08 13:01:21 -07:00
font.c Fix misuses of NULL when talking about the NUL character 2019-03-21 23:55:28 -04:00
font.h * src/font.h: Fix commentary. 2019-03-04 00:05:04 -08:00
fontset.c Add portable dumper 2019-01-15 17:37:36 -05:00
fontset.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
frame.c Allow gap before first non-Lisp pseudovec member 2019-04-08 13:01:21 -07:00
frame.h Allow gap before first non-Lisp pseudovec member 2019-04-08 13:01:21 -07:00
fringe.c Add portable dumper 2019-01-15 17:37:36 -05:00
ftcrfont.c Unify three font info structures 2019-02-08 09:05:11 +01:00
ftfont.c Unify three font info structures 2019-02-08 09:05:11 +01:00
ftfont.h Unify three font info structures 2019-02-08 09:05:11 +01:00
ftxfont.c Add portable dumper 2019-01-15 17:37:36 -05:00
getpagesize.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
gfilenotify.c * src/gfilenotify.c: Fix indenting. 2019-03-04 00:05:04 -08:00
gmalloc.c Add portable dumper 2019-01-15 17:37:36 -05:00
gnutls.c Simplify list creation in C code 2019-03-04 00:05:04 -08:00
gnutls.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
gtkutil.c Minor cleanup in gtkutil.c 2019-04-05 10:01:58 +03:00
gtkutil.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
image.c Support native image resizing on cairo 2019-03-27 11:12:18 +09:00
indent.c Fix 'end-of-visual-line' with overlay strings with newlines 2019-03-02 12:17:47 +02:00
indent.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
inotify.c Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
insdel.c Fix misuses of NULL when talking about the NUL character 2019-03-21 23:55:28 -04:00
intervals.c Maintain interval ->position fields correctly in update_interval 2019-03-01 17:37:56 +00:00
intervals.h Maintain interval ->position fields correctly in update_interval 2019-03-01 17:37:56 +00:00
json.c Fix misuses of NULL when talking about the NUL character 2019-03-21 23:55:28 -04:00
keyboard.c Fix misuses of NULL when talking about the NUL character 2019-03-21 23:55:28 -04:00
keyboard.h Use bool for menu_items_inuse 2019-03-15 18:25:24 -07:00
keymap.c Simplify list creation in C code 2019-03-04 00:05:04 -08:00
keymap.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
kqueue.c Simplify list creation in C code 2019-03-04 00:05:04 -08:00
lastfile.c Rename CANNOT_DUMP to HAVE_UNEXEC 2019-02-01 13:05:39 -08:00
lcms.c Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
lisp.h Allow gap before first non-Lisp pseudovec member 2019-04-08 13:01:21 -07:00
lread.c Make struct Lisp_Objfwd etc. objects read-only 2019-04-01 12:02:37 -07:00
macfont.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
macfont.m Add portable dumper 2019-01-15 17:37:36 -05:00
macros.c DEFVAR_INT variables are now intmax_t 2019-02-27 01:23:30 -08:00
macros.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
macuvs.h ; * src/macuvs.h: Regenerate with new header. 2018-12-15 15:24:31 -08:00
Makefile.in * src/Makefile.in ($(AM_V_GEN)POSIXLY_CORRECT): Use AM_V_GEN. 2019-03-23 11:47:49 +02:00
marker.c Remove unreliable assertion in buf_bytepos_to_charpos 2019-03-05 18:25:23 +02:00
menu.c Define macros to abstract support for external menu/tool-bars 2019-03-16 13:15:07 -06:00
menu.h Define macros to abstract support for external menu/tool-bars 2019-03-16 13:15:07 -06:00
mini-gmp-emacs.c Update more copyright years 2018-12-31 18:47:22 -08:00
mini-gmp.c Update more copyright years 2018-12-31 18:47:22 -08:00
mini-gmp.h Update more copyright years 2018-12-31 18:47:22 -08:00
minibuf.c Merge from origin/emacs-26 2019-03-20 13:47:07 -07:00
module-env-25.h Fix misuses of NULL when talking about the NUL character 2019-03-21 23:55:28 -04:00
module-env-26.h emacs-module.h: Create emacs_env_26 2017-06-17 19:16:14 +02:00
module-env-27.h Ignore pending_signals when checking for quits. 2019-02-24 22:43:07 +01:00
msdos.c Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
msdos.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
nsfns.m Simplify list creation in C code 2019-03-04 00:05:04 -08:00
nsfont.m Add portable dumper 2019-01-15 17:37:36 -05:00
nsgui.h Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
nsimage.m Add native image scaling (bug#33587) 2019-01-10 19:24:20 +00:00
nsmenu.m Add portable dumper 2019-01-15 17:37:36 -05:00
nsselect.m Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
nsterm.h Add native image scaling (bug#33587) 2019-01-10 19:24:20 +00:00
nsterm.m Don't redraw the glyph on top of bar cursors 2019-03-09 09:17:08 +00:00
pdumper.c Allow gap before first non-Lisp pseudovec member 2019-04-08 13:01:21 -07:00
pdumper.h Reindent pdumper per usual Emacs style 2019-03-11 11:08:14 -07:00
print.c Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
process.c Allow gap before first non-Lisp pseudovec member 2019-04-08 13:01:21 -07:00
process.h Allow gap before first non-Lisp pseudovec member 2019-04-08 13:01:21 -07:00
profiler.c DEFVAR_INT variables are now intmax_t 2019-02-27 01:23:30 -08:00
ptr-bounds.h Update more copyright years 2018-12-31 18:47:22 -08:00
puresize.h Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
ralloc.c Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
README Update copyright year to 2019 2019-01-01 01:01:13 +00:00
regex-emacs.c Tweak re_registers allocation 2019-03-27 21:24:26 -07:00
regex-emacs.h Tweak re_registers allocation 2019-03-27 21:24:26 -07:00
region-cache.c Update copyright year to 2019 2019-01-01 01:01:13 +00:00
region-cache.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
scroll.c DEFVAR_INT variables are now intmax_t 2019-02-27 01:23:30 -08:00
search.c Release regexp before signalling overflow error 2019-03-30 11:54:10 +01:00
sheap.c Add portable dumper 2019-01-15 17:37:36 -05:00
sheap.h Add portable dumper 2019-01-15 17:37:36 -05:00
sound.c Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
syntax.c Fix misuses of NULL when talking about the NUL character 2019-03-21 23:55:28 -04:00
syntax.h Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
sysdep.c Fix misuses of NULL when talking about the NUL character 2019-03-21 23:55:28 -04:00
sysselect.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
syssignal.h Prefer static to extern where either will do 2019-01-31 15:33:21 -08:00
sysstdio.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
systhread.c Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
systhread.h Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
systime.h Add portable dumper 2019-01-15 17:37:36 -05:00
systty.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
syswait.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
term.c DEFVAR_INT variables are now intmax_t 2019-02-27 01:23:30 -08:00
termcap.c Fix misuses of NULL when talking about the NUL character 2019-03-21 23:55:28 -04:00
termchar.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
termhooks.h Allow gap before first non-Lisp pseudovec member 2019-04-08 13:01:21 -07:00
terminal.c Allow gap before first non-Lisp pseudovec member 2019-04-08 13:01:21 -07:00
terminfo.c Update copyright year to 2019 2019-01-01 01:01:13 +00:00
termopts.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
textprop.c Widen modiff counts to avoid wraparound 2019-01-31 10:31:43 -08:00
thread.c Allow gap before first non-Lisp pseudovec member 2019-04-08 13:01:21 -07:00
thread.h Allow gap before first non-Lisp pseudovec member 2019-04-08 13:01:21 -07:00
timefns.c Fix misuses of NULL when talking about the NUL character 2019-03-21 23:55:28 -04:00
tparam.c Update copyright year to 2019 2019-01-01 01:01:13 +00:00
tparam.h Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
undo.c DEFVAR_INT variables are now intmax_t 2019-02-27 01:23:30 -08:00
unexaix.c Update copyright year to 2019 2019-01-01 01:01:13 +00:00
unexcoff.c Rename CANNOT_DUMP to HAVE_UNEXEC 2019-02-01 13:05:39 -08:00
unexcw.c Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
unexec.h
unexelf.c Update copyright year to 2019 2019-01-01 01:01:13 +00:00
unexhp9k800.c
unexmacosx.c Fix misuses of NULL when talking about the NUL character 2019-03-21 23:55:28 -04:00
unexsol.c
unexw32.c Clean up memory allocation and unexec support on MS-Windows 2019-01-18 17:04:00 +02:00
vm-limit.c Update copyright year to 2019 2019-01-01 01:01:13 +00:00
w16select.c Fix misuses of NULL when talking about the NUL character 2019-03-21 23:55:28 -04:00
w32.c Fix misuses of NULL when talking about the NUL character 2019-03-21 23:55:28 -04:00
w32.h Add portable dumper 2019-01-15 17:37:36 -05:00
w32common.h Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
w32console.c Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
w32cygwinx.c Simplify list creation in C code 2019-03-04 00:05:04 -08:00
w32fns.c ; * src/w32fns.c (Fw32_read_registry): Doc fix. 2019-04-06 16:16:32 +03:00
w32font.c Add portable dumper 2019-01-15 17:37:36 -05:00
w32font.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
w32gui.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
w32heap.c Rename CANNOT_DUMP to HAVE_UNEXEC 2019-02-01 13:05:39 -08:00
w32heap.h Clean up memory allocation and unexec support on MS-Windows 2019-01-18 17:04:00 +02:00
w32inevt.c Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
w32inevt.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
w32menu.c Add portable dumper 2019-01-15 17:37:36 -05:00
w32notify.c Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
w32proc.c Avoid compiler warning in w32proc.c 2019-03-23 10:31:06 +02:00
w32reg.c Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
w32select.c Fix misuses of NULL when talking about the NUL character 2019-03-21 23:55:28 -04:00
w32select.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
w32term.c Allow gap before first non-Lisp pseudovec member 2019-04-08 13:01:21 -07:00
w32term.h Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
w32uniscribe.c Merge from origin/emacs-26 2019-01-18 07:50:47 -08:00
w32xfns.c Update copyright year to 2019 2019-01-01 01:01:13 +00:00
widget.c Minor cleanup in widget.c 2019-04-05 10:15:46 +03:00
widget.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
widgetprv.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
window.c Allow gap before first non-Lisp pseudovec member 2019-04-08 13:01:21 -07:00
window.h Allow gap before first non-Lisp pseudovec member 2019-04-08 13:01:21 -07:00
xdisp.c Fix misuses of NULL when talking about the NUL character 2019-03-21 23:55:28 -04:00
xfaces.c Simplify list creation in C code 2019-03-04 00:05:04 -08:00
xfns.c ; * src/xfns.c (x-display-monitor-attributes-list) Fix typo. 2019-04-07 12:56:14 -06:00
xfont.c Fix misuses of NULL when talking about the NUL character 2019-03-21 23:55:28 -04:00
xftfont.c Unify three font info structures 2019-02-08 09:05:11 +01:00
xgselect.c Update copyright year to 2019 2019-01-01 01:01:13 +00:00
xgselect.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
xmenu.c Use bool for menu_items_inuse 2019-03-15 18:25:24 -07:00
xml.c Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
xrdb.c Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
xselect.c DEFVAR_INT variables are now intmax_t 2019-02-27 01:23:30 -08:00
xsettings.c Help the compiler with byte order 2019-04-07 11:44:04 -07:00
xsettings.h Update copyright year to 2019 2019-01-01 01:01:13 +00:00
xsmfns.c Update copyright year to 2019 2019-01-01 01:01:13 +00:00
xterm.c Allow gap before first non-Lisp pseudovec member 2019-04-08 13:01:21 -07:00
xterm.h Allow gap before first non-Lisp pseudovec member 2019-04-08 13:01:21 -07:00
xwidget.c Allow gap before first non-Lisp pseudovec member 2019-04-08 13:01:21 -07:00
xwidget.h Allow gap before first non-Lisp pseudovec member 2019-04-08 13:01:21 -07: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-2019 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/>.