From: Karl Heuer Date: Mon, 24 Apr 1995 19:43:15 +0000 (+0000) Subject: (Fplist_put): Don't signal an error if plist isn't a cons. X-Git-Tag: emacs-19.34~4319 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=f8307c0cacae98a9072f48649c3fda886d213a05;p=emacs.git (Fplist_put): Don't signal an error if plist isn't a cons. --- diff --git a/src/fns.c b/src/fns.c index 0cdaf8e707b..e060f027e83 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; }