Mercurial > emacs
changeset 75558:f7b5b15084ef
(read_minibuf): Save and clear Vminibuffer_completing_file_name.
(read_minibuf_unwind): Restore it.
(Vminibuffer_completion_table, Qminibuffer_completion_table)
(Vminibuffer_completion_predicate, Qminibuffer_completion_predicate)
(Vminibuffer_completion_confirm, Qminibuffer_completion_confirm)
(Vminibuffer_completing_file_name): Definitions moved up.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Tue, 30 Jan 2007 23:49:33 +0000 |
parents | 21cbf755a07c |
children | 305f8aa6d4fe |
files | src/minibuf.c |
diffstat | 1 files changed, 13 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/minibuf.c Tue Jan 30 23:47:57 2007 +0000 +++ b/src/minibuf.c Tue Jan 30 23:49:33 2007 +0000 @@ -135,6 +135,11 @@ /* Keymap for reading expressions. */ Lisp_Object Vread_expression_map; +Lisp_Object Vminibuffer_completion_table, Qminibuffer_completion_table; +Lisp_Object Vminibuffer_completion_predicate, Qminibuffer_completion_predicate; +Lisp_Object Vminibuffer_completion_confirm, Qminibuffer_completion_confirm; +Lisp_Object Vminibuffer_completing_file_name; + Lisp_Object Quser_variable_p; Lisp_Object Qminibuffer_default; @@ -571,7 +576,9 @@ specpdl slots. */ minibuf_save_list = Fcons (Voverriding_local_map, - Fcons (minibuf_window, minibuf_save_list)); + Fcons (minibuf_window, + Fcons (Vminibuffer_completing_file_name, + minibuf_save_list))); minibuf_save_list = Fcons (minibuf_prompt, Fcons (make_number (minibuf_prompt_width), @@ -597,6 +604,9 @@ Vminibuffer_history_position = histpos; Vminibuffer_history_variable = histvar; Vhelp_form = Vminibuffer_help_form; + /* If this minibuffer is reading a file name, + that doesn't mean recursive ones are. */ + Vminibuffer_completing_file_name = Qnil; if (inherit_input_method) { @@ -918,6 +928,8 @@ minibuf_window = temp; #endif minibuf_save_list = Fcdr (minibuf_save_list); + Vminibuffer_completing_file_name = Fcar (minibuf_save_list); + minibuf_save_list = Fcdr (minibuf_save_list); /* Erase the minibuffer we were using at this level. */ { @@ -1684,11 +1696,6 @@ return Fnreverse (allmatches); } -Lisp_Object Vminibuffer_completion_table, Qminibuffer_completion_table; -Lisp_Object Vminibuffer_completion_predicate, Qminibuffer_completion_predicate; -Lisp_Object Vminibuffer_completion_confirm, Qminibuffer_completion_confirm; -Lisp_Object Vminibuffer_completing_file_name; - DEFUN ("completing-read", Fcompleting_read, Scompleting_read, 2, 8, 0, doc: /* Read a string in the minibuffer, with completion. PROMPT is a string to prompt with; normally it ends in a colon and a space.