Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

DOS/DJGPP specific patch for emacs 23.4

5 views
Skip to first unread message

Juan Manuel Guerrero

unread,
Apr 8, 2012, 6:07:40 PM4/8/12
to dj...@delorie.com
I have tried to build emacs out-of-the-box and it did not work.
It seems that something has changed in handling of the size member
of struct Lisp_Vector and nobody cared about adjusting the DOS specific
files accordingly. Here is a patch to fix it.

Regards,
Juan M. Guerrero



diff -aprNU5 emacs-23.4.orig/src/dosfns.c emacs-23.4/src/dosfns.c
--- emacs-23.4.orig/src/dosfns.c 2012-01-11 12:35:00 +0000
+++ emacs-23.4/src/dosfns.c 2012-04-08 23:47:28 +0000
@@ -68,11 +68,11 @@ REGISTERS should be a vector produced by
Lisp_Object val;

CHECK_NUMBER (interrupt);
no = (unsigned long) XINT (interrupt);
CHECK_VECTOR (registers);
- if (no < 0 || no > 0xff || XVECTOR (registers)-> size != 8)
+ if (no < 0 || no > 0xff || XVECTOR_SIZE (registers) != 8)
return Qnil;
for (i = 0; i < 8; i++)
CHECK_NUMBER (XVECTOR (registers)->contents[i]);

inregs.x.ax = (unsigned long) XFASTINT (XVECTOR (registers)->contents[0]);
@@ -110,11 +110,11 @@ Return the updated VECTOR. */)
Lisp_Object val;

CHECK_NUMBER (address);
offs = (unsigned long) XINT (address);
CHECK_VECTOR (vector);
- len = XVECTOR (vector)-> size;
+ len = XVECTOR_SIZE (vector);
if (len < 1 || len > 2048 || offs < 0 || offs > 0xfffff - len)
return Qnil;
buf = alloca (len);
dosmemget (offs, len, buf);

@@ -135,11 +135,11 @@ DEFUN ("msdos-memput", Fdos_memput, Sdos
Lisp_Object val;

CHECK_NUMBER (address);
offs = (unsigned long) XINT (address);
CHECK_VECTOR (vector);
- len = XVECTOR (vector)-> size;
+ len = XVECTOR_SIZE (vector);
if (len < 1 || len > 2048 || offs < 0 || offs > 0xfffff - len)
return Qnil;
buf = alloca (len);

for (i = 0; i < len; i++)

Eli Zaretskii

unread,
Apr 9, 2012, 2:49:33 AM4/9/12
to Juan Manuel Guerrero, dj...@delorie.com
> From: Juan Manuel Guerrero <juan.g...@gmx.de>
> Date: Mon, 9 Apr 2012 00:07:40 +0200
>
> I have tried to build emacs out-of-the-box and it did not work.
> It seems that something has changed in handling of the size member
> of struct Lisp_Vector and nobody cared about adjusting the DOS specific
> files accordingly. Here is a patch to fix it.

Thanks. Emacs 23.4 was an unplanned emergency release, due to a
security problem uncovered in one of the Emacs packages. That problem
cannot affect the DJGPP port, so I never even tried to build 23.4. As
it turns out, several changes done on the development trunk were
merged at the last moment to the Emacs 23 branch, and one of them had
this bad effect. Sorry about that.

Anyway, there will be no more releases of the Emacs 23.x series, and
the problem you encountered does not exist on the trunk. So there's
no need to apply this patch. However, people who want to build Emacs
23.4 should indeed use it.

Juan Manuel Guerrero

unread,
Apr 9, 2012, 10:32:29 AM4/9/12
to
On 9 Apr., 08:49, Eli Zaretskii <e...@gnu.org> wrote:
> > From: Juan Manuel Guerrero <juan.guerr...@gmx.de>
It is OK with me. It was not my intention to build
an emacs port, I only wanted to test binutils 2.22
using large source code packages.

Regards,
Juan M. Guerrero
0 new messages