diff options
author | Richard M. Stallman <rms@gnu.org> | 2004-12-12 18:15:22 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 2004-12-12 18:15:22 +0000 |
commit | c8ae863bab35409270842cc464911633c0c9dcfa (patch) | |
tree | bba1a40d6145a35c43c4fadeeb6374707fba789d /src/minibuf.c | |
parent | d6d31e570aa7a97eb2869922e895f5aedbefe7f3 (diff) | |
download | emacs-c8ae863bab35409270842cc464911633c0c9dcfa.tar.gz |
(Fall_completions): Add var `zero' and use it in loop.
(Ftry_completion): Really use outer `zero'; eliminate inner one.
Diffstat (limited to 'src/minibuf.c')
-rw-r--r-- | src/minibuf.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/minibuf.c b/src/minibuf.c index d9fec427ec4..a6b44ad4c62 100644 --- a/src/minibuf.c +++ b/src/minibuf.c @@ -1227,6 +1227,7 @@ is used to further constrain the set of candidates. */) return call3 (alist, string, predicate, Qnil); bestmatch = bucket = Qnil; + zero = make_number (0); /* If ALIST is not a list, set TAIL just for gc pro. */ tail = alist; @@ -1253,7 +1254,7 @@ is used to further constrain the set of candidates. */) } else if (type == 2) { - if (!EQ (bucket, make_number (0))) + if (!EQ (bucket, zero)) { elt = bucket; eltstring = Fsymbol_name (elt); @@ -1285,16 +1286,14 @@ is used to further constrain the set of candidates. */) if (STRINGP (eltstring) && SCHARS (string) <= SCHARS (eltstring) - && (tem = Fcompare_strings (eltstring, make_number (0), + && (tem = Fcompare_strings (eltstring, zero, make_number (SCHARS (string)), - string, make_number (0), Qnil, + string, zero, Qnil, completion_ignore_case ? Qt : Qnil), EQ (Qt, tem))) { /* Yes. */ Lisp_Object regexps; - Lisp_Object zero; - XSETFASTINT (zero, 0); /* Ignore this element if it fails to match all the regexps. */ { @@ -1348,9 +1347,9 @@ is used to further constrain the set of candidates. */) else { compare = min (bestmatchsize, SCHARS (eltstring)); - tem = Fcompare_strings (bestmatch, make_number (0), + tem = Fcompare_strings (bestmatch, zero, make_number (compare), - eltstring, make_number (0), + eltstring, zero, make_number (compare), completion_ignore_case ? Qt : Qnil); if (EQ (tem, Qt)) @@ -1381,15 +1380,15 @@ is used to further constrain the set of candidates. */) ((matchsize == SCHARS (eltstring)) == (matchsize == SCHARS (bestmatch)) - && (tem = Fcompare_strings (eltstring, make_number (0), + && (tem = Fcompare_strings (eltstring, zero, make_number (SCHARS (string)), - string, make_number (0), + string, zero, Qnil, Qnil), EQ (Qt, tem)) - && (tem = Fcompare_strings (bestmatch, make_number (0), + && (tem = Fcompare_strings (bestmatch, zero, make_number (SCHARS (string)), - string, make_number (0), + string, zero, Qnil, Qnil), ! EQ (Qt, tem)))) @@ -1476,13 +1475,14 @@ are ignored unless STRING itself starts with a space. */) || NILP (XCAR (alist)))); int index = 0, obsize = 0; int bindcount = -1; - Lisp_Object bucket, tem; + Lisp_Object bucket, tem, zero; struct gcpro gcpro1, gcpro2, gcpro3, gcpro4; CHECK_STRING (string); if (type == 0) return call3 (alist, string, predicate, Qt); allmatches = bucket = Qnil; + zero = make_number (0); /* If ALIST is not a list, set TAIL just for gc pro. */ tail = alist; @@ -1509,7 +1509,7 @@ are ignored unless STRING itself starts with a space. */) } else if (type == 2) { - if (!EQ (bucket, make_number (0))) + if (!EQ (bucket, zero)) { elt = bucket; eltstring = Fsymbol_name (elt); @@ -1547,9 +1547,9 @@ are ignored unless STRING itself starts with a space. */) && SREF (string, 0) == ' ') || SREF (eltstring, 0) != ' ' || NILP (hide_spaces)) - && (tem = Fcompare_strings (eltstring, make_number (0), + && (tem = Fcompare_strings (eltstring, zero, make_number (SCHARS (string)), - string, make_number (0), + string, zero, make_number (SCHARS (string)), completion_ignore_case ? Qt : Qnil), EQ (Qt, tem))) |