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