# HG changeset patch # User Richard M. Stallman # Date 908313010 0 # Node ID 84542af4b8d69940e26877ced0993ec2d18ad034 # Parent 7ccd43d053fdc3f2b47645ef994783a41316a6f7 (Fdisplay_completion_list): Put on mouse-face properties. diff -r 7ccd43d053fd -r 84542af4b8d6 src/minibuf.c --- a/src/minibuf.c Tue Oct 13 15:47:40 1998 +0000 +++ b/src/minibuf.c Tue Oct 13 21:10:10 1998 +0000 @@ -107,18 +107,19 @@ static Lisp_Object last_exact_completion; -Lisp_Object Quser_variable_p; - -Lisp_Object Qminibuffer_default; - /* Non-nil means it is the window for C-M-v to scroll when the minibuffer is selected. */ extern Lisp_Object Vminibuf_scroll_window; extern Lisp_Object Voverriding_local_map; +Lisp_Object Quser_variable_p; + +Lisp_Object Qminibuffer_default; + Lisp_Object Qcurrent_input_method, Qactivate_input_method; +extern Lisp_Object Qmouse_face; /* Put minibuf on currently selected frame's minibuffer. We do this whenever the user starts a new minibuffer @@ -1820,7 +1821,9 @@ Each element may be just a symbol or string\n\ or may be a list of two strings to be printed as if concatenated.\n\ `standard-output' must be a buffer.\n\ -At the end, run the normal hook `completion-setup-hook'.\n\ +The actual completion alternatives, as inserted, are given `mouse-face'\n\ +properties of `highlight'.\n\ +At the end, this runs the normal hook `completion-setup-hook'.\n\ It can find the completion buffer in `standard-output'.") (completions) Lisp_Object completions; @@ -1928,7 +1931,25 @@ else if (!NILP (current_buffer->enable_multibyte_characters) && !STRING_MULTIBYTE (string)) string = Fstring_make_multibyte (string); - Fprinc (string, Qnil); + + if (BUFFERP (Vstandard_output)) + { + int startpos = BUF_PT (XBUFFER (Vstandard_output)); + int endpos; + + Fprinc (string, Qnil); + + endpos = BUF_PT (XBUFFER (Vstandard_output)); + + Fput_text_property (make_number (startpos), + make_number (endpos), + Qmouse_face, intern ("highlight"), + Vstandard_output); + } + else + { + Fprinc (string, Qnil); + } /* Output the annotation for this element. */ if (CONSP (elt))