comparison src/specifier.c @ 771:943eaba38521

[xemacs-hg @ 2002-03-13 08:51:24 by ben] The big ben-mule-21-5 check-in! Various files were added and deleted. See CHANGES-ben-mule. There are still some test suite failures. No crashes, though. Many of the failures have to do with problems in the test suite itself rather than in the actual code. I'll be addressing these in the next day or so -- none of the test suite failures are at all critical. Meanwhile I'll be trying to address the biggest issues -- i.e. build or run failures, which will almost certainly happen on various platforms. All comments should be sent to ben@xemacs.org -- use a Cc: if necessary when sending to mailing lists. There will be pre- and post- tags, something like pre-ben-mule-21-5-merge-in, and post-ben-mule-21-5-merge-in.
author ben
date Wed, 13 Mar 2002 08:54:06 +0000
parents fdefd0186b75
children e38acbeb1cae
comparison
equal deleted inserted replaced
770:336a418893b5 771:943eaba38521
286 if (!NILP (sp->fallback)) 286 if (!NILP (sp->fallback))
287 { 287 {
288 write_c_string (" fallback=", printcharfun); 288 write_c_string (" fallback=", printcharfun);
289 print_internal (sp->fallback, printcharfun, escapeflag); 289 print_internal (sp->fallback, printcharfun, escapeflag);
290 } 290 }
291 unbind_to (count, Qnil); 291 unbind_to (count);
292 sprintf (buf, " 0x%x>", sp->header.uid); 292 sprintf (buf, " 0x%x>", sp->header.uid);
293 write_c_string (buf, printcharfun); 293 write_c_string (buf, printcharfun);
294 } 294 }
295 295
296 static void 296 static void
2041 Lisp_Object how_to_add) 2041 Lisp_Object how_to_add)
2042 { 2042 {
2043 int depth = unlock_ghost_specifiers_protected (); 2043 int depth = unlock_ghost_specifiers_protected ();
2044 Fadd_spec_to_specifier (XSPECIFIER(specifier)->fallback, 2044 Fadd_spec_to_specifier (XSPECIFIER(specifier)->fallback,
2045 instantiator, locale, tag_set, how_to_add); 2045 instantiator, locale, tag_set, how_to_add);
2046 unbind_to (depth, Qnil); 2046 unbind_to (depth);
2047 } 2047 }
2048 2048
2049 struct specifier_spec_list_closure 2049 struct specifier_spec_list_closure
2050 { 2050 {
2051 Lisp_Object head, tail; 2051 Lisp_Object head, tail;
2239 Lisp_Object tag_set, Lisp_Object exact_p) 2239 Lisp_Object tag_set, Lisp_Object exact_p)
2240 { 2240 {
2241 int depth = unlock_ghost_specifiers_protected (); 2241 int depth = unlock_ghost_specifiers_protected ();
2242 Fremove_specifier (XSPECIFIER(specifier)->fallback, 2242 Fremove_specifier (XSPECIFIER(specifier)->fallback,
2243 locale, tag_set, exact_p); 2243 locale, tag_set, exact_p);
2244 unbind_to (depth, Qnil); 2244 unbind_to (depth);
2245 } 2245 }
2246 2246
2247 struct copy_specifier_closure 2247 struct copy_specifier_closure
2248 { 2248 {
2249 Lisp_Object dest; 2249 Lisp_Object dest;
2504 Qunbound, Qspecifier, errb, 5, specifier, 2504 Qunbound, Qspecifier, errb, 5, specifier,
2505 matchspec, domain, val, depth); 2505 matchspec, domain, val, depth);
2506 2506
2507 if (!UNBOUNDP (val)) 2507 if (!UNBOUNDP (val))
2508 { 2508 {
2509 unbind_to (count, Qnil); 2509 unbind_to (count);
2510 UNGCPRO; 2510 UNGCPRO;
2511 return val; 2511 return val;
2512 } 2512 }
2513 } 2513 }
2514 } 2514 }
2515 2515
2516 unbind_to (count, Qnil); 2516 unbind_to (count);
2517 UNGCPRO; 2517 UNGCPRO;
2518 return Qunbound; 2518 return Qunbound;
2519 } 2519 }
2520 2520
2521 /* Given a SPECIFIER and a DOMAIN, return a specific instance for that 2521 /* Given a SPECIFIER and a DOMAIN, return a specific instance for that