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 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline 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++)