[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: completing-read case problem
From: |
Markus Rost |
Subject: |
Re: completing-read case problem |
Date: |
Sun, 21 Nov 2004 00:18:20 -0500 |
> I installed the patch that Stefan sent, since the report
> is that it worked well.
>
The installed patch doesn't work well for me.
I think that one additional bogus line "goto exit;" slipped into it,
see the following patch. This patch looks rather obvious to me, but
since I am not a C programmer, I didn't install it myself.
The second patch is Stefan's, which worked fine for me.
===Buffer *vc-diff*=========================================
*** minibuf.c.~1.275.~ Sat Nov 20 23:37:08 2004
--- minibuf.c Sat Nov 20 23:55:30 2004
***************
*** 2105,2112 ****
goto exit;
}
- goto exit;
-
/* Call do_completion, but ignore errors. */
SET_PT (ZV);
val = internal_condition_case (complete_and_exit_1, Qerror,
--- 2105,2110 ----
============================================================
===Buffer minibuf.diff======================================
*** minibuf.c.~1.273.~ Sun Nov 14 00:59:52 2004
--- minibuf.c Mon Nov 15 22:29:45 2004
***************
*** 2076,2085 ****
if (XINT (Fminibuffer_prompt_end ()) == ZV)
goto exit;
! if (!NILP (Ftest_completion (Fminibuffer_contents (),
Vminibuffer_completion_table,
Vminibuffer_completion_predicate)))
! goto exit;
/* Call do_completion, but ignore errors. */
SET_PT (ZV);
--- 2076,2102 ----
if (XINT (Fminibuffer_prompt_end ()) == ZV)
goto exit;
! if (!NILP (Ftest_completion (val = Fminibuffer_contents (),
Vminibuffer_completion_table,
Vminibuffer_completion_predicate)))
! {
! if (completion_ignore_case)
! { /* Fixup case of the field, if necessary. */
! Lisp_Object compl
! = Ftry_completion (val,
! Vminibuffer_completion_table,
! Vminibuffer_completion_predicate);
! if (STRINGP (compl)
! /* If it weren't for this piece of paranoia, I'd replace
! the whole thing with a call to do_completion. */
! && EQ (Flength (val), Flength (compl)))
! {
! del_range (XINT (Fminibuffer_prompt_end ()), ZV);
! Finsert (1, &compl);
! }
! }
! goto exit;
! }
/* Call do_completion, but ignore errors. */
SET_PT (ZV);
============================================================