diff src/minibuf.c @ 83159:38500c0c86ab

Merged in changes from CVS trunk. Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-398 Tweak permissions * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-399 Tweak directory permissions * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-400 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-401 More build-in-place tweaking of arch tagging * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-402 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-403 Yet more build-in-place tweaking of arch tagging * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-404 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-405 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-406 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-407 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-199
author Karoly Lorentey <lorentey@elte.hu>
date Mon, 14 Jun 2004 20:00:54 +0000
parents cf8f0a3b5cb4 3d12da599e18
children dbcd0af66869
line wrap: on
line diff
--- a/src/minibuf.c	Fri Jun 11 13:58:35 2004 +0000
+++ b/src/minibuf.c	Mon Jun 14 20:00:54 2004 +0000
@@ -1290,20 +1290,21 @@
 	  XSETFASTINT (zero, 0);
 
 	  /* Ignore this element if it fails to match all the regexps.  */
-	  {
-	    int count = SPECPDL_INDEX ();
-	    specbind (Qcase_fold_search, completion_ignore_case ? Qt : Qnil);
-	    for (regexps = Vcompletion_regexp_list; CONSP (regexps);
-		 regexps = XCDR (regexps))
-	      {
-		tem = Fstring_match (XCAR (regexps), eltstring, zero);
-		if (NILP (tem))
-		  break;
-	      }
-	    unbind_to (count, Qnil);
-	    if (CONSP (regexps))
-	      continue;
-	  }
+	  if (CONSP (Vcompletion_regexp_list))
+	    {
+	      int count = SPECPDL_INDEX ();
+	      specbind (Qcase_fold_search, completion_ignore_case ? Qt : Qnil);
+	      for (regexps = Vcompletion_regexp_list; CONSP (regexps);
+		   regexps = XCDR (regexps))
+		{
+		  tem = Fstring_match (XCAR (regexps), eltstring, zero);
+		  if (NILP (tem))
+		    break;
+		}
+	      unbind_to (count, Qnil);
+	      if (CONSP (regexps))
+		continue;
+	    }
 
 	  /* Ignore this element if there is a predicate
 	     and the predicate doesn't like it. */
@@ -1541,20 +1542,21 @@
 	  XSETFASTINT (zero, 0);
 
 	  /* Ignore this element if it fails to match all the regexps.  */
-	  {
-	    int count = SPECPDL_INDEX ();
-	    specbind (Qcase_fold_search, completion_ignore_case ? Qt : Qnil);
-	    for (regexps = Vcompletion_regexp_list; CONSP (regexps);
-		 regexps = XCDR (regexps))
-	      {
-		tem = Fstring_match (XCAR (regexps), eltstring, zero);
-		if (NILP (tem))
-		  break;
-	      }
-	    unbind_to (count, Qnil);
-	    if (CONSP (regexps))
-	      continue;
-	  }
+	  if (CONSP (Vcompletion_regexp_list))
+	    {
+	      int count = SPECPDL_INDEX ();
+	      specbind (Qcase_fold_search, completion_ignore_case ? Qt : Qnil);
+	      for (regexps = Vcompletion_regexp_list; CONSP (regexps);
+		   regexps = XCDR (regexps))
+		{
+		  tem = Fstring_match (XCAR (regexps), eltstring, zero);
+		  if (NILP (tem))
+		    break;
+		}
+	      unbind_to (count, Qnil);
+	      if (CONSP (regexps))
+		continue;
+	    }
 
 	  /* Ignore this element if there is a predicate
 	     and the predicate doesn't like it. */
@@ -1789,19 +1791,20 @@
     return call3 (alist, string, predicate, Qlambda);
 
   /* Reject this element if it fails to match all the regexps.  */
-  {
-    int count = SPECPDL_INDEX ();
-    specbind (Qcase_fold_search, completion_ignore_case ? Qt : Qnil);
-    for (regexps = Vcompletion_regexp_list; CONSP (regexps);
-	 regexps = XCDR (regexps))
-      {
-	if (NILP (Fstring_match (XCAR (regexps),
-				 SYMBOLP (tem) ? string : tem,
-				 Qnil)))
-	  return unbind_to (count, Qnil);
-      }
-    unbind_to (count, Qnil);
-  }
+  if (CONSP (Vcompletion_regexp_list))
+    {
+      int count = SPECPDL_INDEX ();
+      specbind (Qcase_fold_search, completion_ignore_case ? Qt : Qnil);
+      for (regexps = Vcompletion_regexp_list; CONSP (regexps);
+	   regexps = XCDR (regexps))
+	{
+	  if (NILP (Fstring_match (XCAR (regexps),
+				   SYMBOLP (tem) ? string : tem,
+				   Qnil)))
+	    return unbind_to (count, Qnil);
+	}
+      unbind_to (count, Qnil);
+    }
 
   /* Finally, check the predicate.  */
   if (!NILP (predicate))