aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2017-01-30 19:26:02 +0200
committerEli Zaretskii2017-01-30 19:26:02 +0200
commit998e1976acc554a35cb7064b7fc7f3b323a30fe6 (patch)
treeede52f2cd3ef97dc1c37f7810ef7f5605cf8b663 /src
parentab96c8509736a7ed622916ad2749ff356e520d02 (diff)
downloademacs-998e1976acc554a35cb7064b7fc7f3b323a30fe6.tar.gz
emacs-998e1976acc554a35cb7064b7fc7f3b323a30fe6.zip
More fixes to prevent crashes on C-g
* src/fns.c (Fassq, Frassq, Fplist_put): Reset immediate_quit before returning, to avoid crashes in quit. (Bug#25566)
Diffstat (limited to 'src')
-rw-r--r--src/fns.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/fns.c b/src/fns.c
index 5769eac9987..0d93f824748 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -1472,7 +1472,7 @@ Elements of LIST that are not conses are ignored. */)
1472 immediate_quit = false; 1472 immediate_quit = false;
1473 return XCAR (tail); 1473 return XCAR (tail);
1474 } 1474 }
1475 immediate_quit = true; 1475 immediate_quit = false;
1476 CHECK_LIST_END (tail, list); 1476 CHECK_LIST_END (tail, list);
1477 return Qnil; 1477 return Qnil;
1478} 1478}
@@ -1537,7 +1537,7 @@ The value is actually the first element of LIST whose cdr is KEY. */)
1537 immediate_quit = false; 1537 immediate_quit = false;
1538 return XCAR (tail); 1538 return XCAR (tail);
1539 } 1539 }
1540 immediate_quit = true; 1540 immediate_quit = false;
1541 CHECK_LIST_END (tail, list); 1541 CHECK_LIST_END (tail, list);
1542 return Qnil; 1542 return Qnil;
1543} 1543}
@@ -2090,7 +2090,7 @@ The PLIST is modified by side effects. */)
2090 2090
2091 prev = tail; 2091 prev = tail;
2092 } 2092 }
2093 immediate_quit = true; 2093 immediate_quit = false;
2094 Lisp_Object newcell 2094 Lisp_Object newcell
2095 = Fcons (prop, Fcons (val, NILP (prev) ? plist : XCDR (XCDR (prev)))); 2095 = Fcons (prop, Fcons (val, NILP (prev) ? plist : XCDR (XCDR (prev))));
2096 if (NILP (prev)) 2096 if (NILP (prev))