* chartab.c (make_sub_char_table): Fix size typo.
authorPaul Eggert <eggert@cs.ucla.edu>
Fri, 8 Nov 2013 07:28:21 +0000 (23:28 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Fri, 8 Nov 2013 07:28:21 +0000 (23:28 -0800)
This bug was introduced in my 2013-06-21 change, and caused
struct Lisp_Sub_Char_Table objects to be given too many slots,
which broke 'make -C admin/unidata'.

Fixes: debbugs:15825

src/ChangeLog
src/chartab.c

index 2914c23..9bf71b9 100644 (file)
@@ -1,3 +1,10 @@
+2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * chartab.c (make_sub_char_table): Fix size typo (Bug#15825).
+       This bug was introduced in my 2013-06-21 change, and caused
+       struct Lisp_Sub_Char_Table objects to be given too many slots,
+       which broke 'make -C admin/unidata'.
+
 2013-11-07  Jan Djärv  <jan.h.d@swipnet.se>
 
        Import changes from mac-port 4.5.
index b7b9590..16dd85c 100644 (file)
@@ -141,7 +141,8 @@ static Lisp_Object
 make_sub_char_table (int depth, int min_char, Lisp_Object defalt)
 {
   Lisp_Object table;
-  int size = CHAR_TABLE_STANDARD_SLOTS + chartab_size[depth];
+  int size = (PSEUDOVECSIZE (struct Lisp_Sub_Char_Table, contents)
+             + chartab_size[depth]);
 
   table = Fmake_vector (make_number (size), defalt);
   XSETPVECTYPE (XVECTOR (table), PVEC_SUB_CHAR_TABLE);