]> code.delx.au - gnu-emacs/commitdiff
Port to 32-bit MingGW --with-wide-int
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 12 Jan 2015 19:26:06 +0000 (11:26 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 12 Jan 2015 19:28:05 +0000 (11:28 -0800)
Problem reported by Eli Zaretskii in:
http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00265.html
* lisp.h (struct Lisp_Sub_Char_Table): Check that offset matches
what we think it is, rather than checking only its alignment (and
doing so incorrectly on MinGW).

src/ChangeLog
src/lisp.h

index 32f17e1a863f9133cb4a8ecd9fde78db3500b548..252dfd33620d35695d289f0127439c8661984c19 100644 (file)
@@ -1,3 +1,12 @@
+2015-01-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port to 32-bit MingGW --with-wide-int
+       Problem reported by Eli Zaretskii in:
+       http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00265.html
+       * lisp.h (struct Lisp_Sub_Char_Table): Check that offset matches
+       what we think it is, rather than checking only its alignment (and
+       doing so incorrectly on MinGW).
+
 2015-01-12  Dmitry Antipov  <dmantipov@yandex.ru>
 
        * fileio.c (Ffile_name_as_directory, Fdirectory_file_name):
index 9ed9375cff8c172064b3c0c05e08c812b6cc9ea4..6a39f083a417bce2fa02aa2ffe82842a65e36557 100644 (file)
@@ -1689,10 +1689,9 @@ CHAR_TABLE_EXTRA_SLOTS (struct Lisp_Char_Table *ct)
          - CHAR_TABLE_STANDARD_SLOTS);
 }
 
-/* Make sure that sub char-table contents slot
-   is aligned on a multiple of Lisp_Objects.  */
-verify ((offsetof (struct Lisp_Sub_Char_Table, contents)
-        - offsetof (struct Lisp_Sub_Char_Table, depth)) % word_size == 0);
+/* Make sure that sub char-table contents slot is where we think it is.  */
+verify (offsetof (struct Lisp_Sub_Char_Table, contents)
+       == offsetof (struct Lisp_Vector, contents[SUB_CHAR_TABLE_OFFSET]));
 
 /***********************************************************************
                               Symbols