]> code.delx.au - gnu-emacs/blobdiff - src/casetab.c
(map_char_table): New arg SUBTABLE. Callers changed.
[gnu-emacs] / src / casetab.c
index ab3cac1de97ec6b4ec86de1c4939f8673d44875d..9bec57f068ef989cb6418fb8fb3e4056d29fd78f 100644 (file)
@@ -15,7 +15,8 @@ GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with GNU Emacs; see the file COPYING.  If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
 
 /* Written by Howard Gayle.  See chartab.c for details. */
 
@@ -158,7 +159,12 @@ set_case_table (table, standard)
   if (standard)
     Vascii_downcase_table = table;
   else
-    current_buffer->downcase_table = table;
+    {
+      current_buffer->downcase_table = table;
+      current_buffer->upcase_table = up;
+      current_buffer->case_canon_table = canon;
+      current_buffer->case_eqv_table = eqv;
+    }
 
   return table;
 }
@@ -208,6 +214,7 @@ init_casetab_once ()
 
   down = Fmake_char_table (Qcase_table, Qnil);
   Vascii_downcase_table = down;
+  XCHAR_TABLE (down)->purpose = Qcase_table;
 
   for (i = 0; i < 256; i++)
     XCHAR_TABLE (down)->contents[i] = (i >= 'A' && i <= 'Z') ? i + 040 : i;
@@ -233,7 +240,10 @@ syms_of_casetab ()
   Qcase_table_p = intern ("case-table-p");
   staticpro (&Qcase_table_p);
 
+  staticpro (&Vascii_canon_table);
   staticpro (&Vascii_downcase_table);
+  staticpro (&Vascii_eqv_table);
+  staticpro (&Vascii_upcase_table);
 
   defsubr (&Scase_table_p);
   defsubr (&Scurrent_case_table);