comparison src/specifier.c @ 3836:edaaf9a96d40

[xemacs-hg @ 2007-02-19 14:10:43 by stephent] Fix specifier tag alist dereference crash. <87wt2emdwe.fsf@uwakimon.sk.tsukuba.ac.jp>
author stephent
date Mon, 19 Feb 2007 14:10:44 +0000
parents caceb9db5b0a
children 515b91f904c1
comparison
equal deleted inserted replaced
3835:b104432f208e 3836:edaaf9a96d40
1291 void 1291 void
1292 setup_device_initial_specifier_tags (struct device *d) 1292 setup_device_initial_specifier_tags (struct device *d)
1293 { 1293 {
1294 Lisp_Object rest, rest2; 1294 Lisp_Object rest, rest2;
1295 Lisp_Object device = wrap_device (d); 1295 Lisp_Object device = wrap_device (d);
1296 Lisp_Object device_predicate, charset_predicate; 1296 Lisp_Object device_predicate;
1297 int list_len; 1297 int list_len;
1298 1298
1299 DEVICE_USER_DEFINED_TAGS (d) = Fcopy_alist (Vuser_defined_tags); 1299 DEVICE_USER_DEFINED_TAGS (d) = Fcopy_alist (Vuser_defined_tags);
1300 1300
1301 /* Now set up the initial values */ 1301 /* Now set up the initial values */
1393 1393
1394 GCPRO1 (list); 1394 GCPRO1 (list);
1395 1395
1396 LIST_LOOP (rest, DEVICE_USER_DEFINED_TAGS (d)) 1396 LIST_LOOP (rest, DEVICE_USER_DEFINED_TAGS (d))
1397 { 1397 {
1398 if (!NILP (XCADR (XCAR (rest)))) 1398 if (!NILP (XCDR (XCAR (rest))))
1399 list = Fcons (XCAR (XCAR (rest)), list); 1399 list = Fcons (XCAR (XCAR (rest)), list);
1400 } 1400 }
1401 1401
1402 list = Fnreverse (list); 1402 list = Fnreverse (list);
1403 list = Fcons (DEVICE_CLASS (d), list); 1403 list = Fcons (DEVICE_CLASS (d), list);