]> code.delx.au - gnu-emacs/blobdiff - src/fns.c
* fns.c: #include keyboard.h.
[gnu-emacs] / src / fns.c
index 74f184b838e874202ec82e12b9388915e71023a8..6eb97d4683ab749b612e001f0396e96efde1d07d 100644 (file)
--- a/src/fns.c
+++ b/src/fns.c
@@ -29,6 +29,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #include "commands.h"
 
 #include "buffer.h"
+#include "keyboard.h"
 
 Lisp_Object Qstring_lessp;
 
@@ -620,7 +621,7 @@ to be sure of changing the value of `foo'.")
   while (!NILP (tail))
     {
       tem = Fcar (tail);
-      if (Fequal (elt, tem))
+      if (! NILP (Fequal (elt, tem)))
        {
          if (NILP (prev))
            list = Fcdr (tail);
@@ -1114,6 +1115,10 @@ Also accepts Space to mean yes, or Delete to mean no.")
       if (ans == 7 || ans == '\035')
        Vquit_flag = Qt;
       QUIT;
+
+      /* If we don't clear this, then the next call to read_char will
+        return quit_char again, and we'll enter an infinite loop.  */
+      Vquit_flag = Qnil;
       if (ans >= 0)
        ans = DOWNCASE (ans);
       if (ans == 'y' || ans == ' ')