aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKarl Heuer1995-04-24 19:43:15 +0000
committerKarl Heuer1995-04-24 19:43:15 +0000
commitf8307c0cacae98a9072f48649c3fda886d213a05 (patch)
treea967d96b6e9cf89375516c2088d6399ecca206ab /src
parent2820e30882955b60736729fe8387ebb952a8de1b (diff)
downloademacs-f8307c0cacae98a9072f48649c3fda886d213a05.tar.gz
emacs-f8307c0cacae98a9072f48649c3fda886d213a05.zip
(Fplist_put): Don't signal an error if plist isn't a cons.
Diffstat (limited to 'src')
-rw-r--r--src/fns.c11
1 files changed, 5 insertions, 6 deletions
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.")
880 register Lisp_Object tail, prev; 880 register Lisp_Object tail, prev;
881 Lisp_Object newcell; 881 Lisp_Object newcell;
882 prev = Qnil; 882 prev = Qnil;
883 for (tail = plist; !NILP (tail); tail = Fcdr (Fcdr (tail))) 883 for (tail = plist; CONSP (tail) && CONSP (XCONS (tail)->cdr);
884 tail = XCONS (XCONS (tail)->cdr)->cdr)
884 { 885 {
885 register Lisp_Object tem; 886 if (EQ (prop, XCONS (tail)->car))
886 tem = Fcar (tail);
887 if (EQ (prop, tem))
888 { 887 {
889 Fsetcar (Fcdr (tail), val); 888 Fsetcar (XCONS (tail)->cdr, val);
890 return plist; 889 return plist;
891 } 890 }
892 prev = tail; 891 prev = tail;
@@ -895,7 +894,7 @@ The PLIST is modified by side effects.")
895 if (NILP (prev)) 894 if (NILP (prev))
896 return newcell; 895 return newcell;
897 else 896 else
898 Fsetcdr (Fcdr (prev), newcell); 897 Fsetcdr (XCONS (prev)->cdr, newcell);
899 return plist; 898 return plist;
900} 899}
901 900