comparison src/syntax.c @ 5027:22179cd0fe15

merge
author Ben Wing <ben@xemacs.org>
date Wed, 10 Feb 2010 07:25:19 -0600
parents ae48681c47fa
children d4f666cda5e6 b5df3737028a
comparison
equal deleted inserted replaced
5026:46cf825f6158 5027:22179cd0fe15
2296 2296
2297 static int 2297 static int
2298 copy_to_mirrortab (struct chartab_range *range, Lisp_Object UNUSED (table), 2298 copy_to_mirrortab (struct chartab_range *range, Lisp_Object UNUSED (table),
2299 Lisp_Object val, void *arg) 2299 Lisp_Object val, void *arg)
2300 { 2300 {
2301 Lisp_Object mirrortab = VOID_TO_LISP (arg); 2301 Lisp_Object mirrortab = GET_LISP_FROM_VOID (arg);
2302 2302
2303 if (CONSP (val)) 2303 if (CONSP (val))
2304 val = XCAR (val); 2304 val = XCAR (val);
2305 if (SYNTAX_FROM_CODE (XINT (val)) != Sinherit) 2305 if (SYNTAX_FROM_CODE (XINT (val)) != Sinherit)
2306 put_char_table (mirrortab, range, val); 2306 put_char_table (mirrortab, range, val);
2310 static int 2310 static int
2311 copy_if_not_already_present (struct chartab_range *range, 2311 copy_if_not_already_present (struct chartab_range *range,
2312 Lisp_Object UNUSED (table), 2312 Lisp_Object UNUSED (table),
2313 Lisp_Object val, void *arg) 2313 Lisp_Object val, void *arg)
2314 { 2314 {
2315 Lisp_Object mirrortab = VOID_TO_LISP (arg); 2315 Lisp_Object mirrortab = GET_LISP_FROM_VOID (arg);
2316 if (CONSP (val)) 2316 if (CONSP (val))
2317 val = XCAR (val); 2317 val = XCAR (val);
2318 if (SYNTAX_FROM_CODE (XINT (val)) != Sinherit) 2318 if (SYNTAX_FROM_CODE (XINT (val)) != Sinherit)
2319 { 2319 {
2320 Lisp_Object existing = 2320 Lisp_Object existing =
2355 over the standard table, copying values into the mirror table only if 2355 over the standard table, copying values into the mirror table only if
2356 entries don't already exist in that table. (The copying step requires 2356 entries don't already exist in that table. (The copying step requires
2357 another mapping.) 2357 another mapping.)
2358 */ 2358 */
2359 2359
2360 map_char_table (table, &range, copy_to_mirrortab, LISP_TO_VOID (mirrortab)); 2360 map_char_table (table, &range, copy_to_mirrortab, STORE_LISP_IN_VOID (mirrortab));
2361 /* second clause catches bootstrapping problems when initializing the 2361 /* second clause catches bootstrapping problems when initializing the
2362 standard syntax table */ 2362 standard syntax table */
2363 if (!EQ (table, Vstandard_syntax_table) && !NILP (Vstandard_syntax_table)) 2363 if (!EQ (table, Vstandard_syntax_table) && !NILP (Vstandard_syntax_table))
2364 map_char_table (Vstandard_syntax_table, &range, 2364 map_char_table (Vstandard_syntax_table, &range,
2365 copy_if_not_already_present, LISP_TO_VOID (mirrortab)); 2365 copy_if_not_already_present, STORE_LISP_IN_VOID (mirrortab));
2366 /* The resetting made the default be Qnil. Put it back to Sword. */ 2366 /* The resetting made the default be Qnil. Put it back to Sword. */
2367 set_char_table_default (mirrortab, make_int (Sword)); 2367 set_char_table_default (mirrortab, make_int (Sword));
2368 XCHAR_TABLE (mirrortab)->dirty = 0; 2368 XCHAR_TABLE (mirrortab)->dirty = 0;
2369 } 2369 }
2370 2370