<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/msdos, branch feature/delsel-replace</title>
<subtitle>Emacs is the extensible, customizable, self-documenting real-time display editor. 
</subtitle>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/'/>
<entry>
<title>; Add 2026 to copyright years.</title>
<updated>2026-01-01T12:54:34+00:00</updated>
<author>
<name>Sean Whitton</name>
</author>
<published>2026-01-01T12:54:34+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=c31f6adc31d48076c63ad82b83b2970e1b0d7b9b'/>
<id>c31f6adc31d48076c63ad82b83b2970e1b0d7b9b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix the DJGPP port</title>
<updated>2025-12-08T02:06:29+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2025-12-08T02:06:29+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=15f9050ce5c21d1c7d455db90443ddb4124641aa'/>
<id>15f9050ce5c21d1c7d455db90443ddb4124641aa</id>
<content type='text'>
* msdos/sed2v2.inp (ALIGNOF_EMACS_INT): Define to 4.

* msdos/sedlibmk.inp (OMIT_GNULIB_MODULE_fchmodat)
(OMIT_GNULIB_MODULE_issymlinkat, OMIT_GNULIB_MODULE_issymlink)
(OMIT_GNULIB_MODULE_lchmod): Define to true.

* src/gmalloc.c (__morecore, __after_morecore_hook)
(__malloc_initialize_hook): Don't declare till stddef.h has been
included for `ptrdiff_t'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* msdos/sed2v2.inp (ALIGNOF_EMACS_INT): Define to 4.

* msdos/sedlibmk.inp (OMIT_GNULIB_MODULE_fchmodat)
(OMIT_GNULIB_MODULE_issymlinkat, OMIT_GNULIB_MODULE_issymlink)
(OMIT_GNULIB_MODULE_lchmod): Define to true.

* src/gmalloc.c (__morecore, __after_morecore_hook)
(__malloc_initialize_hook): Don't declare till stddef.h has been
included for `ptrdiff_t'.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix the MS-DOS port and reading of symlink targets</title>
<updated>2025-11-05T02:06:23+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2025-11-05T02:06:23+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=abcc099c732489354f8f2be70b9a919fffeb3d84'/>
<id>abcc099c732489354f8f2be70b9a919fffeb3d84</id>
<content type='text'>
* doc/misc/eglot.texi (Eglot Features): Add comma after @xref.

* msdos/sed2v2.inp (GNULIB_ISSYMLINK): Define to 1.

* msdos/sedlibmk.inp (HAVE_RANDOM_H): Undefine, in line with its
deletion from gnulib.mk.
(GL_GNULIB_STRINGEQ): Define to 1.

* src/msdos.c (careadlinkat): NULL terminate at the end of the
data written, not one character beyond the same.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* doc/misc/eglot.texi (Eglot Features): Add comma after @xref.

* msdos/sed2v2.inp (GNULIB_ISSYMLINK): Define to 1.

* msdos/sedlibmk.inp (HAVE_RANDOM_H): Undefine, in line with its
deletion from gnulib.mk.
(GL_GNULIB_STRINGEQ): Define to 1.

* src/msdos.c (careadlinkat): NULL terminate at the end of the
data written, not one character beyond the same.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix the DJGPP port</title>
<updated>2025-06-28T13:51:31+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2025-06-28T13:51:31+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=acefe3bb122d20112313d22b74f0f6ab6e404cf1'/>
<id>acefe3bb122d20112313d22b74f0f6ab6e404cf1</id>
<content type='text'>
* msdos/sedlibmk.inp (NEXT_AS_FIRST_DIRECTIVE_STDCKDINT_H)
(NEXT_STDCKDINT_H): Define to presumably unused values.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* msdos/sedlibmk.inp (NEXT_AS_FIRST_DIRECTIVE_STDCKDINT_H)
(NEXT_STDCKDINT_H): Define to presumably unused values.
</pre>
</div>
</content>
</entry>
<entry>
<title>; * msdos/emacs.djl: Don't interfere with the order of other symbols.</title>
<updated>2025-03-25T02:38:43+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2025-03-25T02:37:09+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=c3492b969da3b117904a070a2617b31dd965f109'/>
<id>c3492b969da3b117904a070a2617b31dd965f109</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix the DJGPP build</title>
<updated>2025-03-25T02:38:43+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2025-03-25T02:34:40+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=49eab999f13fede351ab7700c1469ba6cbf3d6b8'/>
<id>49eab999f13fede351ab7700c1469ba6cbf3d6b8</id>
<content type='text'>
* msdos/emacs.djl (.bss): Guarantee that lread.o is 8-byte
aligned.

* msdos/sed2v2.inp (ALIGNOF_INT, ALIGNOF_LONG)
(ALIGNOF_LONG_LONG): Correct typos.

* src/term.c (tty_free_frame_resources): Synchronize with
non-DOS variant.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* msdos/emacs.djl (.bss): Guarantee that lread.o is 8-byte
aligned.

* msdos/sed2v2.inp (ALIGNOF_INT, ALIGNOF_LONG)
(ALIGNOF_LONG_LONG): Correct typos.

* src/term.c (tty_free_frame_resources): Synchronize with
non-DOS variant.
</pre>
</div>
</content>
</entry>
<entry>
<title>Re-port to 32-bit systems without alignment primitives</title>
<updated>2025-03-09T15:07:33+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2025-03-09T15:02:21+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=a5f8ce9f1eae29f87fe13adb61bd4e15faa628a2'/>
<id>a5f8ce9f1eae29f87fe13adb61bd4e15faa628a2</id>
<content type='text'>
* configure.ac (ALIGNOF_INT, ALIGNOF_LONG, ALIGNOF_LONG_LONG):
New variables.
(emacs_cv_alignas_unavailable): Define if alignas and structure
alignment primitives are unavailable.  In such an environment,
the MSB tagging scheme must be enabled, as must the GNU malloc.

* msdos/sed2v2.inp: Adjust correspondingly.

* src/alloc.c (union emacs_align_type): Remove types which
contain flexible array members.  The address of a field
subsequent to an aggregate with flexible array members cannot
validly be taken.
(mark_memory) [!USE_LSB_TAG &amp;&amp; !WIDE_EMACS_INT]: Strip type bits
before scanning memory.

* src/emacs.c (main):

* src/eval.c (Fautoload_do_load):

* src/fns.c (Frequire): Rename a number of illogically named
fields.

* src/lisp.h (ALIGNOF_EMACS_INT): Define to the natural
alignment of EMACS_INT.
(IDEAL_GCALIGNMENT): New macro.
(USE_LSB_TAG): Disable if no alignment specifiers are available,
WIDE_EMACS_INT is undefined, and the natural alignment of
EMACS_INT falls short of LSB tagging's requirements.
(gflags): Rename illogically named fields and don't define them
as bitfields, which runs afoul of certain compiler issues.
(will_dump_p, will_bootstrap_p, will_dump_with_pdumper_p)
(dumped_with_pdumper_p): Adjust accordingly.

* src/pdumper.c (VM_SUPPORTED): Define to 0 when !USE_LSB_TAG.
It is better to read dump files into the heap by hand than to be
supplied with an address that is not representable.
(_dump_object_start_pseudovector): Rename to
dump_object_start_pseudovector, to avoid encroaching on reserved
names.
(START_DUMP_PVEC): Adjust correspondingly.
(dump_mmap_contiguous_vm): Preserve errno around failure
cleanup.
(dump_bitset_bit_set_p): Work around certain compiler issues.
(pdumper_load) [!USE_LSB_TAG]: Reject dump file allocations
that are not representable as Lisp_Objects.

Tested on i386-unknown-solaris2.10, sparc-sun-solaris2.10.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* configure.ac (ALIGNOF_INT, ALIGNOF_LONG, ALIGNOF_LONG_LONG):
New variables.
(emacs_cv_alignas_unavailable): Define if alignas and structure
alignment primitives are unavailable.  In such an environment,
the MSB tagging scheme must be enabled, as must the GNU malloc.

* msdos/sed2v2.inp: Adjust correspondingly.

* src/alloc.c (union emacs_align_type): Remove types which
contain flexible array members.  The address of a field
subsequent to an aggregate with flexible array members cannot
validly be taken.
(mark_memory) [!USE_LSB_TAG &amp;&amp; !WIDE_EMACS_INT]: Strip type bits
before scanning memory.

* src/emacs.c (main):

* src/eval.c (Fautoload_do_load):

* src/fns.c (Frequire): Rename a number of illogically named
fields.

* src/lisp.h (ALIGNOF_EMACS_INT): Define to the natural
alignment of EMACS_INT.
(IDEAL_GCALIGNMENT): New macro.
(USE_LSB_TAG): Disable if no alignment specifiers are available,
WIDE_EMACS_INT is undefined, and the natural alignment of
EMACS_INT falls short of LSB tagging's requirements.
(gflags): Rename illogically named fields and don't define them
as bitfields, which runs afoul of certain compiler issues.
(will_dump_p, will_bootstrap_p, will_dump_with_pdumper_p)
(dumped_with_pdumper_p): Adjust accordingly.

* src/pdumper.c (VM_SUPPORTED): Define to 0 when !USE_LSB_TAG.
It is better to read dump files into the heap by hand than to be
supplied with an address that is not representable.
(_dump_object_start_pseudovector): Rename to
dump_object_start_pseudovector, to avoid encroaching on reserved
names.
(START_DUMP_PVEC): Adjust correspondingly.
(dump_mmap_contiguous_vm): Preserve errno around failure
cleanup.
(dump_bitset_bit_set_p): Work around certain compiler issues.
(pdumper_load) [!USE_LSB_TAG]: Reject dump file allocations
that are not representable as Lisp_Objects.

Tested on i386-unknown-solaris2.10, sparc-sun-solaris2.10.
</pre>
</div>
</content>
</entry>
<entry>
<title>Port to modern GCC and pdumper on MS-DOS</title>
<updated>2025-02-20T06:04:59+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2025-02-20T06:04:59+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=c22957c4bf7dd25857a44946169c4818996a49d9'/>
<id>c22957c4bf7dd25857a44946169c4818996a49d9</id>
<content type='text'>
* config.bat (mvOk): Protoize.
(djgppOk): Include sys/version.h for _DJGPP_MINOR.

* lisp/loadup.el: If system-type is ms-dos, dump bootstrap-emacs
as b-emacs.dmp.

* msdos/INSTALL: Document new versions of tools that have been
verified successfully to compile Emacs.

* msdos/emacs.djl: New linker script that arranges to link
symbols in `.subrs' in a contiguous part of data, as the DJGPP
runtime appears to treat any non-data and non-text section as
allocatable.

* msdos/mainmake.v2 (install): Install emacs.dmp alongside
emacs.exe.

* msdos/sed1v2.inp (CFLAGS): Define to -O2 -g3.
(LDFLAGS): Provide the said linker script.
(HAVE_PDUMPER): Define to yes.
(UNEXEC_OBJ, PAXCTL_dumped, PAXCTL_notdumped): Delete.
(DUMPING): Set to pdumper.
(MAKE_PDUMPER_FINGERPRINT): Don't erase this variable.
Don't stubify or set minstack.  Remove native-comp specific
directives.  Don't remove temacs prior to copying and replace
`pdmp' extension with DOS-conformant `dmp'.

* msdos/sed2v2.inp (HAVE_UNEXEC): Remove definition.
(HAVE_PDUMPER): Define to 1.

* msdos/sed6.inp (top_srcdir): Define appropriately.

* msdos/sedlibmk.inp (HAVE_BLKCNT_T): Define to 1.

* src/emacs.c (load_pdump) [MSDOS]: Use `dmp' suffix.

* src/pdumper.c (Fdump_emacs_portable) [MSDOS]: Replace ".pdmp"
suffixes with ".dmp".
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* config.bat (mvOk): Protoize.
(djgppOk): Include sys/version.h for _DJGPP_MINOR.

* lisp/loadup.el: If system-type is ms-dos, dump bootstrap-emacs
as b-emacs.dmp.

* msdos/INSTALL: Document new versions of tools that have been
verified successfully to compile Emacs.

* msdos/emacs.djl: New linker script that arranges to link
symbols in `.subrs' in a contiguous part of data, as the DJGPP
runtime appears to treat any non-data and non-text section as
allocatable.

* msdos/mainmake.v2 (install): Install emacs.dmp alongside
emacs.exe.

* msdos/sed1v2.inp (CFLAGS): Define to -O2 -g3.
(LDFLAGS): Provide the said linker script.
(HAVE_PDUMPER): Define to yes.
(UNEXEC_OBJ, PAXCTL_dumped, PAXCTL_notdumped): Delete.
(DUMPING): Set to pdumper.
(MAKE_PDUMPER_FINGERPRINT): Don't erase this variable.
Don't stubify or set minstack.  Remove native-comp specific
directives.  Don't remove temacs prior to copying and replace
`pdmp' extension with DOS-conformant `dmp'.

* msdos/sed2v2.inp (HAVE_UNEXEC): Remove definition.
(HAVE_PDUMPER): Define to 1.

* msdos/sed6.inp (top_srcdir): Define appropriately.

* msdos/sedlibmk.inp (HAVE_BLKCNT_T): Define to 1.

* src/emacs.c (load_pdump) [MSDOS]: Use `dmp' suffix.

* src/pdumper.c (Fdump_emacs_portable) [MSDOS]: Replace ".pdmp"
suffixes with ".dmp".
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'scratch/no-purespace' into 'master'</title>
<updated>2025-02-01T03:56:52+00:00</updated>
<author>
<name>Stefan Kangas</name>
</author>
<published>2025-02-01T03:56:52+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=bf97946d7dc460b7d3c3ce03193041b891b51faf'/>
<id>bf97946d7dc460b7d3c3ce03193041b891b51faf</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>; Fix the MS-DOS build</title>
<updated>2025-01-02T12:29:12+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2025-01-02T12:29:12+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=1bc8412ecbf58a16efc4e9ddb0d46ef25ce7c14f'/>
<id>1bc8412ecbf58a16efc4e9ddb0d46ef25ce7c14f</id>
<content type='text'>
* msdos/sedlibmk.inp: Adapt to new GNulib module names.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* msdos/sedlibmk.inp: Adapt to new GNulib module names.
</pre>
</div>
</content>
</entry>
</feed>
