From f8307c0cacae98a9072f48649c3fda886d213a05 Mon Sep 17 00:00:00 2001 From: Karl Heuer Date: Mon, 24 Apr 1995 19:43:15 +0000 Subject: [PATCH] (Fplist_put): Don't signal an error if plist isn't a cons. --- src/fns.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/fns.c b/src/fns.c index 0cdaf8e707..e060f027e8 100644 --- a/src/fns.c +++ b/src/fns.c @@ -880,13 +880,12 @@ The PLIST is modified by side effects.") register Lisp_Object tail, prev; Lisp_Object newcell; prev = Qnil; - for (tail = plist; !NILP (tail); tail = Fcdr (Fcdr (tail))) + for (tail = plist; CONSP (tail) && CONSP (XCONS (tail)->cdr); + tail = XCONS (XCONS (tail)->cdr)->cdr) { - register Lisp_Object tem; - tem = Fcar (tail); - if (EQ (prop, tem)) + if (EQ (prop, XCONS (tail)->car)) { - Fsetcar (Fcdr (tail), val); + Fsetcar (XCONS (tail)->cdr, val); return plist; } prev = tail; @@ -895,7 +894,7 @@ The PLIST is modified by side effects.") if (NILP (prev)) return newcell; else - Fsetcdr (Fcdr (prev), newcell); + Fsetcdr (XCONS (prev)->cdr, newcell); return plist; } -- 2.20.1