Mercurial > hg > xemacs-beta
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 |