delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2012/04/08/18:37:56

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
X-Recipient: djgpp AT delorie DOT com
X-Authenticated: #27081556
X-Provags-ID: V01U2FsdGVkX1+emqkwY4CeskSVNy1fIAwQhGpzoI5B7F1nqF19Jw
J6tTOSDbwvelyJ
From: Juan Manuel Guerrero <juan DOT guerrero AT gmx DOT de>
To: djgpp AT delorie DOT com
Subject: DOS/DJGPP specific patch for emacs 23.4
Date: Mon, 9 Apr 2012 00:07:40 +0200
User-Agent: KMail/1.9.10
MIME-Version: 1.0
Message-Id: <201204090007.40200.juan.guerrero@gmx.de>
X-Y-GMX-Trusted: 0

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++)

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019