Mercurial > emacs
comparison src/minibuf.c @ 736:18b892513cb7
*** empty log message ***
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Thu, 02 Jul 1992 22:11:40 +0000 |
parents | a8d94735277e |
children | 6a0fe944f778 |
comparison
equal
deleted
inserted
replaced
735:ea0823fe7df5 | 736:18b892513cb7 |
---|---|
1093 return Qt; | 1093 return Qt; |
1094 } | 1094 } |
1095 | 1095 |
1096 DEFUN ("display-completion-list", Fdisplay_completion_list, Sdisplay_completion_list, | 1096 DEFUN ("display-completion-list", Fdisplay_completion_list, Sdisplay_completion_list, |
1097 1, 1, 0, | 1097 1, 1, 0, |
1098 "Display in a buffer the list of completions, COMPLETIONS.\n\ | 1098 "Display the list of completions, COMPLETIONS, using `standard-output'.\n\ |
1099 Each element may be just a symbol or string\n\ | 1099 Each element may be just a symbol or string\n\ |
1100 or may be a list of two strings to be printed as if concatenated.") | 1100 or may be a list of two strings to be printed as if concatenated.") |
1101 (completions) | 1101 (completions) |
1102 Lisp_Object completions; | 1102 Lisp_Object completions; |
1103 { | 1103 { |
1104 register Lisp_Object tail, elt; | 1104 register Lisp_Object tail, elt; |
1105 register int i; | 1105 register int i; |
1106 struct buffer *old = current_buffer; | 1106 int column = 0; |
1107 /* No GCPRO needed, since (when it matters) every variable | 1107 /* No GCPRO needed, since (when it matters) every variable |
1108 points to a non-string that is pointed to by COMPLETIONS. */ | 1108 points to a non-string that is pointed to by COMPLETIONS. */ |
1109 | 1109 struct buffer *old = current_buffer; |
1110 set_buffer_internal (XBUFFER (Vstandard_output)); | 1110 if (XTYPE (Vstandard_output) == Lisp_Buffer) |
1111 set_buffer_internal (XBUFFER (Vstandard_output)); | |
1111 | 1112 |
1112 if (NILP (completions)) | 1113 if (NILP (completions)) |
1113 insert_string ("There are no possible completions of what you have typed."); | 1114 write_string ("There are no possible completions of what you have typed.", -1); |
1114 else | 1115 else |
1115 { | 1116 { |
1116 insert_string ("Possible completions are:"); | 1117 write_string ("Possible completions are:", -1); |
1117 for (tail = completions, i = 0; !NILP (tail); tail = Fcdr (tail), i++) | 1118 for (tail = completions, i = 0; !NILP (tail); tail = Fcdr (tail), i++) |
1118 { | 1119 { |
1119 /* this needs fixing for the case of long completions | 1120 /* this needs fixing for the case of long completions |
1120 and/or narrow windows */ | 1121 and/or narrow windows */ |
1121 /* Sadly, the window it will appear in is not known | 1122 /* Sadly, the window it will appear in is not known |
1122 until after the text has been made. */ | 1123 until after the text has been made. */ |
1123 if (i & 1) | 1124 if (i & 1) |
1124 Findent_to (make_number (35), make_number (1)); | 1125 { |
1126 if (XTYPE (Vstandard_output) == Lisp_Buffer) | |
1127 Findent_to (make_number (35), make_number (1)); | |
1128 else | |
1129 { | |
1130 do | |
1131 { | |
1132 write_string (" ", -1); | |
1133 column++; | |
1134 } | |
1135 while (column < 35); | |
1136 } | |
1137 } | |
1125 else | 1138 else |
1126 Fterpri (Qnil); | 1139 { |
1140 Fterpri (Qnil); | |
1141 column = 0; | |
1142 } | |
1127 elt = Fcar (tail); | 1143 elt = Fcar (tail); |
1128 if (CONSP (elt)) | 1144 if (CONSP (elt)) |
1129 { | 1145 { |
1146 if (XTYPE (Vstandard_output) != Lisp_Buffer) | |
1147 { | |
1148 tem = Flength (Fcar (elt)); | |
1149 column += XINT (tem); | |
1150 tem = Flength (Fcar (Fcdr (elt))); | |
1151 column += XINT (tem); | |
1152 } | |
1130 Fprinc (Fcar (elt), Qnil); | 1153 Fprinc (Fcar (elt), Qnil); |
1131 Fprinc (Fcar (Fcdr (elt)), Qnil); | 1154 Fprinc (Fcar (Fcdr (elt)), Qnil); |
1132 } | 1155 } |
1133 else | 1156 else |
1134 Fprinc (elt, Qnil); | 1157 { |
1158 if (XTYPE (Vstandard_output) != Lisp_Buffer) | |
1159 { | |
1160 Lisp_Object tem; | |
1161 tem = Flength (elt, Qt); | |
1162 column += XINT (tem); | |
1163 } | |
1164 Fprinc (elt, Qnil); | |
1165 } | |
1135 } | 1166 } |
1136 } | 1167 } |
1137 set_buffer_internal (old); | 1168 |
1169 if (XTYPE (Vstandard_output) == Lisp_Buffer) | |
1170 set_buffer_internal (old); | |
1138 return Qnil; | 1171 return Qnil; |
1139 } | 1172 } |
1140 | 1173 |
1141 DEFUN ("minibuffer-completion-help", Fminibuffer_completion_help, Sminibuffer_completion_help, | 1174 DEFUN ("minibuffer-completion-help", Fminibuffer_completion_help, Sminibuffer_completion_help, |
1142 0, 0, "", | 1175 0, 0, "", |