comparison 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
comparison
equal deleted inserted replaced
83158:f948c9fd910c 83159:38500c0c86ab
1288 Lisp_Object regexps; 1288 Lisp_Object regexps;
1289 Lisp_Object zero; 1289 Lisp_Object zero;
1290 XSETFASTINT (zero, 0); 1290 XSETFASTINT (zero, 0);
1291 1291
1292 /* Ignore this element if it fails to match all the regexps. */ 1292 /* Ignore this element if it fails to match all the regexps. */
1293 { 1293 if (CONSP (Vcompletion_regexp_list))
1294 int count = SPECPDL_INDEX (); 1294 {
1295 specbind (Qcase_fold_search, completion_ignore_case ? Qt : Qnil); 1295 int count = SPECPDL_INDEX ();
1296 for (regexps = Vcompletion_regexp_list; CONSP (regexps); 1296 specbind (Qcase_fold_search, completion_ignore_case ? Qt : Qnil);
1297 regexps = XCDR (regexps)) 1297 for (regexps = Vcompletion_regexp_list; CONSP (regexps);
1298 { 1298 regexps = XCDR (regexps))
1299 tem = Fstring_match (XCAR (regexps), eltstring, zero); 1299 {
1300 if (NILP (tem)) 1300 tem = Fstring_match (XCAR (regexps), eltstring, zero);
1301 break; 1301 if (NILP (tem))
1302 } 1302 break;
1303 unbind_to (count, Qnil); 1303 }
1304 if (CONSP (regexps)) 1304 unbind_to (count, Qnil);
1305 continue; 1305 if (CONSP (regexps))
1306 } 1306 continue;
1307 }
1307 1308
1308 /* Ignore this element if there is a predicate 1309 /* Ignore this element if there is a predicate
1309 and the predicate doesn't like it. */ 1310 and the predicate doesn't like it. */
1310 1311
1311 if (!NILP (predicate)) 1312 if (!NILP (predicate))
1539 Lisp_Object regexps; 1540 Lisp_Object regexps;
1540 Lisp_Object zero; 1541 Lisp_Object zero;
1541 XSETFASTINT (zero, 0); 1542 XSETFASTINT (zero, 0);
1542 1543
1543 /* Ignore this element if it fails to match all the regexps. */ 1544 /* Ignore this element if it fails to match all the regexps. */
1544 { 1545 if (CONSP (Vcompletion_regexp_list))
1545 int count = SPECPDL_INDEX (); 1546 {
1546 specbind (Qcase_fold_search, completion_ignore_case ? Qt : Qnil); 1547 int count = SPECPDL_INDEX ();
1547 for (regexps = Vcompletion_regexp_list; CONSP (regexps); 1548 specbind (Qcase_fold_search, completion_ignore_case ? Qt : Qnil);
1548 regexps = XCDR (regexps)) 1549 for (regexps = Vcompletion_regexp_list; CONSP (regexps);
1549 { 1550 regexps = XCDR (regexps))
1550 tem = Fstring_match (XCAR (regexps), eltstring, zero); 1551 {
1551 if (NILP (tem)) 1552 tem = Fstring_match (XCAR (regexps), eltstring, zero);
1552 break; 1553 if (NILP (tem))
1553 } 1554 break;
1554 unbind_to (count, Qnil); 1555 }
1555 if (CONSP (regexps)) 1556 unbind_to (count, Qnil);
1556 continue; 1557 if (CONSP (regexps))
1557 } 1558 continue;
1559 }
1558 1560
1559 /* Ignore this element if there is a predicate 1561 /* Ignore this element if there is a predicate
1560 and the predicate doesn't like it. */ 1562 and the predicate doesn't like it. */
1561 1563
1562 if (!NILP (predicate)) 1564 if (!NILP (predicate))
1787 } 1789 }
1788 else 1790 else
1789 return call3 (alist, string, predicate, Qlambda); 1791 return call3 (alist, string, predicate, Qlambda);
1790 1792
1791 /* Reject this element if it fails to match all the regexps. */ 1793 /* Reject this element if it fails to match all the regexps. */
1792 { 1794 if (CONSP (Vcompletion_regexp_list))
1793 int count = SPECPDL_INDEX (); 1795 {
1794 specbind (Qcase_fold_search, completion_ignore_case ? Qt : Qnil); 1796 int count = SPECPDL_INDEX ();
1795 for (regexps = Vcompletion_regexp_list; CONSP (regexps); 1797 specbind (Qcase_fold_search, completion_ignore_case ? Qt : Qnil);
1796 regexps = XCDR (regexps)) 1798 for (regexps = Vcompletion_regexp_list; CONSP (regexps);
1797 { 1799 regexps = XCDR (regexps))
1798 if (NILP (Fstring_match (XCAR (regexps), 1800 {
1799 SYMBOLP (tem) ? string : tem, 1801 if (NILP (Fstring_match (XCAR (regexps),
1800 Qnil))) 1802 SYMBOLP (tem) ? string : tem,
1801 return unbind_to (count, Qnil); 1803 Qnil)))
1802 } 1804 return unbind_to (count, Qnil);
1803 unbind_to (count, Qnil); 1805 }
1804 } 1806 unbind_to (count, Qnil);
1807 }
1805 1808
1806 /* Finally, check the predicate. */ 1809 /* Finally, check the predicate. */
1807 if (!NILP (predicate)) 1810 if (!NILP (predicate))
1808 { 1811 {
1809 return HASH_TABLE_P (alist) 1812 return HASH_TABLE_P (alist)