comparison src/minibuf.c @ 39989:c652433b7f2f

Change doc-string comments to `new style' [w/`doc:' keyword]. Remove old commented-out-DEFUN that was used to fake out make-docfile.
author Miles Bader <miles@gnu.org>
date Wed, 17 Oct 2001 03:17:18 +0000
parents 579177964efa
children 4d2b8d93aa27
comparison
equal deleted inserted replaced
39988:eac4e9ae201c 39989:c652433b7f2f
20 Boston, MA 02111-1307, USA. */ 20 Boston, MA 02111-1307, USA. */
21 21
22 22
23 #include <config.h> 23 #include <config.h>
24 #include <stdio.h> 24 #include <stdio.h>
25 #define DOC_STRINGS_IN_COMMENTS 25
26 #include "lisp.h" 26 #include "lisp.h"
27 #include "commands.h" 27 #include "commands.h"
28 #include "buffer.h" 28 #include "buffer.h"
29 #include "charset.h" 29 #include "charset.h"
30 #include "dispextern.h" 30 #include "dispextern.h"
191 return Qnil; 191 return Qnil;
192 } 192 }
193 193
194 DEFUN ("set-minibuffer-window", Fset_minibuffer_window, 194 DEFUN ("set-minibuffer-window", Fset_minibuffer_window,
195 Sset_minibuffer_window, 1, 1, 0, 195 Sset_minibuffer_window, 1, 1, 0,
196 /* Specify which minibuffer window to use for the minibuffer. 196 doc: /* Specify which minibuffer window to use for the minibuffer.
197 This effects where the minibuffer is displayed if you put text in it 197 This effects where the minibuffer is displayed if you put text in it
198 without invoking the usual minibuffer commands. */ 198 without invoking the usual minibuffer commands. */)
199 (window)) 199 (window)
200 Lisp_Object window; 200 Lisp_Object window;
201 { 201 {
202 CHECK_WINDOW (window, 1); 202 CHECK_WINDOW (window, 1);
203 if (! MINI_WINDOW_P (XWINDOW (window))) 203 if (! MINI_WINDOW_P (XWINDOW (window)))
204 error ("Window is not a minibuffer window"); 204 error ("Window is not a minibuffer window");
324 } 324 }
325 325
326 326
327 DEFUN ("minibuffer-prompt-end", Fminibuffer_prompt_end, 327 DEFUN ("minibuffer-prompt-end", Fminibuffer_prompt_end,
328 Sminibuffer_prompt_end, 0, 0, 0, 328 Sminibuffer_prompt_end, 0, 0, 0,
329 /* Return the buffer position of the end of the minibuffer prompt. 329 doc: /* Return the buffer position of the end of the minibuffer prompt.
330 Return (point-min) if current buffer is not a mini-buffer. */ 330 Return (point-min) if current buffer is not a mini-buffer. */)
331 ()) 331 ()
332 { 332 {
333 /* This function is written to be most efficient when there's a prompt. */ 333 /* This function is written to be most efficient when there's a prompt. */
334 Lisp_Object beg = make_number (BEGV); 334 Lisp_Object beg = make_number (BEGV);
335 Lisp_Object end = Ffield_end (beg, Qnil); 335 Lisp_Object end = Ffield_end (beg, Qnil);
336 336
340 return end; 340 return end;
341 } 341 }
342 342
343 DEFUN ("minibuffer-contents", Fminibuffer_contents, 343 DEFUN ("minibuffer-contents", Fminibuffer_contents,
344 Sminibuffer_contents, 0, 0, 0, 344 Sminibuffer_contents, 0, 0, 0,
345 /* Return the user input in a minbuffer as a string. 345 doc: /* Return the user input in a minbuffer as a string.
346 The current buffer must be a minibuffer. */ 346 The current buffer must be a minibuffer. */)
347 ()) 347 ()
348 { 348 {
349 int prompt_end = XINT (Fminibuffer_prompt_end ()); 349 int prompt_end = XINT (Fminibuffer_prompt_end ());
350 return make_buffer_string (prompt_end, ZV, 1); 350 return make_buffer_string (prompt_end, ZV, 1);
351 } 351 }
352 352
353 DEFUN ("minibuffer-contents-no-properties", Fminibuffer_contents_no_properties, 353 DEFUN ("minibuffer-contents-no-properties", Fminibuffer_contents_no_properties,
354 Sminibuffer_contents_no_properties, 0, 0, 0, 354 Sminibuffer_contents_no_properties, 0, 0, 0,
355 /* Return the user input in a minbuffer as a string, without text-properties. 355 doc: /* Return the user input in a minbuffer as a string, without text-properties.
356 The current buffer must be a minibuffer. */ 356 The current buffer must be a minibuffer. */)
357 ()) 357 ()
358 { 358 {
359 int prompt_end = XINT (Fminibuffer_prompt_end ()); 359 int prompt_end = XINT (Fminibuffer_prompt_end ());
360 return make_buffer_string (prompt_end, ZV, 0); 360 return make_buffer_string (prompt_end, ZV, 0);
361 } 361 }
362 362
363 DEFUN ("delete-minibuffer-contents", Fdelete_minibuffer_contents, 363 DEFUN ("delete-minibuffer-contents", Fdelete_minibuffer_contents,
364 Sdelete_minibuffer_contents, 0, 0, 0, 364 Sdelete_minibuffer_contents, 0, 0, 0,
365 /* Delete all user input in a minibuffer. 365 doc: /* Delete all user input in a minibuffer.
366 The current buffer must be a minibuffer. */ 366 The current buffer must be a minibuffer. */)
367 ()) 367 ()
368 { 368 {
369 int prompt_end = XINT (Fminibuffer_prompt_end ()); 369 int prompt_end = XINT (Fminibuffer_prompt_end ());
370 if (prompt_end < ZV) 370 if (prompt_end < ZV)
371 del_range (prompt_end, ZV); 371 del_range (prompt_end, ZV);
372 return Qnil; 372 return Qnil;
809 XSETFASTINT (XWINDOW (window)->last_overlay_modified, 0); 809 XSETFASTINT (XWINDOW (window)->last_overlay_modified, 0);
810 return Qnil; 810 return Qnil;
811 } 811 }
812 812
813 813
814 /* This comment supplies the doc string for read-from-minibuffer,
815 for make-docfile to see. We cannot put this in the real DEFUN
816 due to limits in the Unix cpp.
817
818 DEFUN ("read-from-minibuffer", Fread_from_minibuffer, Sread_from_minibuffer, 1, 7, 0, 814 DEFUN ("read-from-minibuffer", Fread_from_minibuffer, Sread_from_minibuffer, 1, 7, 0,
819 "Read a string from the minibuffer, prompting with string PROMPT.\n\ 815 doc: /* Read a string from the minibuffer, prompting with string PROMPT.
820 If optional second arg INITIAL-CONTENTS is non-nil, it is a string\n\
821 to be inserted into the minibuffer before reading input.\n\
822 If INITIAL-CONTENTS is (STRING . POSITION), the initial input\n\
823 is STRING, but point is placed at position POSITION in the minibuffer.\n\
824 Third arg KEYMAP is a keymap to use whilst reading;\n\
825 if omitted or nil, the default is `minibuffer-local-map'.\n\
826 If fourth arg READ is non-nil, then interpret the result as a lisp object\n\
827 and return that object:\n\
828 in other words, do `(car (read-from-string INPUT-STRING))'\n\
829 Fifth arg HIST, if non-nil, specifies a history list\n\
830 and optionally the initial position in the list.\n\
831 It can be a symbol, which is the history list variable to use,\n\
832 or it can be a cons cell (HISTVAR . HISTPOS).\n\
833 In that case, HISTVAR is the history list variable to use,\n\
834 and HISTPOS is the initial position (the position in the list\n\
835 which INITIAL-CONTENTS corresponds to).\n\
836 Positions are counted starting from 1 at the beginning of the list.\n\
837 Sixth arg DEFAULT-VALUE is the default value. If non-nil, it is available\n\
838 for history commands; but `read-from-minibuffer' does NOT return DEFAULT-VALUE\n\
839 if the user enters empty input! It returns the empty string.\n\
840 Seventh arg INHERIT-INPUT-METHOD, if non-nil, means the minibuffer inherits\n\
841 the current input method and the setting of enable-multibyte-characters.\n\
842 If the variable `minibuffer-allow-text-properties' is non-nil,\n\
843 then the string which is returned includes whatever text properties\n\
844 were present in the minibuffer. Otherwise the value has no text properties.")
845 (prompt, initial_contents, keymap, read, hist, default_value, inherit_input_method)
846 */
847
848 DEFUN ("read-from-minibuffer", Fread_from_minibuffer, Sread_from_minibuffer, 1, 7, 0,
849 /* Read a string from the minibuffer, prompting with string PROMPT.
850 If optional second arg INITIAL-CONTENTS is non-nil, it is a string 816 If optional second arg INITIAL-CONTENTS is non-nil, it is a string
851 to be inserted into the minibuffer before reading input. 817 to be inserted into the minibuffer before reading input.
852 If INITIAL-CONTENTS is (STRING . POSITION), the initial input 818 If INITIAL-CONTENTS is (STRING . POSITION), the initial input
853 is STRING, but point is placed at position POSITION in the minibuffer. 819 is STRING, but point is placed at position POSITION in the minibuffer.
854 Third arg KEYMAP is a keymap to use whilst reading; 820 Third arg KEYMAP is a keymap to use whilst reading;
869 if the user enters empty input! It returns the empty string. 835 if the user enters empty input! It returns the empty string.
870 Seventh arg INHERIT-INPUT-METHOD, if non-nil, means the minibuffer inherits 836 Seventh arg INHERIT-INPUT-METHOD, if non-nil, means the minibuffer inherits
871 the current input method and the setting of enable-multibyte-characters. 837 the current input method and the setting of enable-multibyte-characters.
872 If the variable `minibuffer-allow-text-properties' is non-nil, 838 If the variable `minibuffer-allow-text-properties' is non-nil,
873 then the string which is returned includes whatever text properties 839 then the string which is returned includes whatever text properties
874 were present in the minibuffer. Otherwise the value has no text properties. */ 840 were present in the minibuffer. Otherwise the value has no text properties. */)
875 (prompt, initial_contents, keymap, read, hist, default_value, inherit_input_method)) 841 (prompt, initial_contents, keymap, read, hist, default_value, inherit_input_method)
876 Lisp_Object prompt, initial_contents, keymap, read, hist, default_value; 842 Lisp_Object prompt, initial_contents, keymap, read, hist, default_value;
877 Lisp_Object inherit_input_method; 843 Lisp_Object inherit_input_method;
878 { 844 {
879 int pos = 0; 845 int pos = 0;
880 Lisp_Object histvar, histpos, position, val; 846 Lisp_Object histvar, histpos, position, val;
932 UNGCPRO; 898 UNGCPRO;
933 return val; 899 return val;
934 } 900 }
935 901
936 DEFUN ("read-minibuffer", Fread_minibuffer, Sread_minibuffer, 1, 2, 0, 902 DEFUN ("read-minibuffer", Fread_minibuffer, Sread_minibuffer, 1, 2, 0,
937 /* Return a Lisp object read using the minibuffer. 903 doc: /* Return a Lisp object read using the minibuffer.
938 Prompt with PROMPT. If non-nil, optional second arg INITIAL-CONTENTS 904 Prompt with PROMPT. If non-nil, optional second arg INITIAL-CONTENTS
939 is a string to insert in the minibuffer before reading. */ 905 is a string to insert in the minibuffer before reading. */)
940 (prompt, initial_contents)) 906 (prompt, initial_contents)
941 Lisp_Object prompt, initial_contents; 907 Lisp_Object prompt, initial_contents;
942 { 908 {
943 CHECK_STRING (prompt, 0); 909 CHECK_STRING (prompt, 0);
944 if (!NILP (initial_contents)) 910 if (!NILP (initial_contents))
945 CHECK_STRING (initial_contents, 1); 911 CHECK_STRING (initial_contents, 1);
947 prompt, Qnil, 1, Qminibuffer_history, 913 prompt, Qnil, 1, Qminibuffer_history,
948 make_number (0), Qnil, 0, 0); 914 make_number (0), Qnil, 0, 0);
949 } 915 }
950 916
951 DEFUN ("eval-minibuffer", Feval_minibuffer, Seval_minibuffer, 1, 2, 0, 917 DEFUN ("eval-minibuffer", Feval_minibuffer, Seval_minibuffer, 1, 2, 0,
952 /* Return value of Lisp expression read using the minibuffer. 918 doc: /* Return value of Lisp expression read using the minibuffer.
953 Prompt with PROMPT. If non-nil, optional second arg INITIAL-CONTENTS 919 Prompt with PROMPT. If non-nil, optional second arg INITIAL-CONTENTS
954 is a string to insert in the minibuffer before reading. */ 920 is a string to insert in the minibuffer before reading. */)
955 (prompt, initial_contents)) 921 (prompt, initial_contents)
956 Lisp_Object prompt, initial_contents; 922 Lisp_Object prompt, initial_contents;
957 { 923 {
958 return Feval (Fread_minibuffer (prompt, initial_contents)); 924 return Feval (Fread_minibuffer (prompt, initial_contents));
959 } 925 }
960 926
961 /* Functions that use the minibuffer to read various things. */ 927 /* Functions that use the minibuffer to read various things. */
962 928
963 DEFUN ("read-string", Fread_string, Sread_string, 1, 5, 0, 929 DEFUN ("read-string", Fread_string, Sread_string, 1, 5, 0,
964 /* Read a string from the minibuffer, prompting with string PROMPT. 930 doc: /* Read a string from the minibuffer, prompting with string PROMPT.
965 If non-nil, second arg INITIAL-INPUT is a string to insert before reading. 931 If non-nil, second arg INITIAL-INPUT is a string to insert before reading.
966 The third arg HISTORY, if non-nil, specifies a history list 932 The third arg HISTORY, if non-nil, specifies a history list
967 and optionally the initial position in the list. 933 and optionally the initial position in the list.
968 See `read-from-minibuffer' for details of HISTORY argument. 934 See `read-from-minibuffer' for details of HISTORY argument.
969 Fourth arg DEFAULT-VALUE is the default value. If non-nil, it is used 935 Fourth arg DEFAULT-VALUE is the default value. If non-nil, it is used
970 for history commands, and as the value to return if the user enters 936 for history commands, and as the value to return if the user enters
971 the empty string. 937 the empty string.
972 Fifth arg INHERIT-INPUT-METHOD, if non-nil, means the minibuffer inherits 938 Fifth arg INHERIT-INPUT-METHOD, if non-nil, means the minibuffer inherits
973 the current input method and the setting of enable-multibyte-characters. */ 939 the current input method and the setting of enable-multibyte-characters. */)
974 (prompt, initial_input, history, default_value, inherit_input_method)) 940 (prompt, initial_input, history, default_value, inherit_input_method)
975 Lisp_Object prompt, initial_input, history, default_value; 941 Lisp_Object prompt, initial_input, history, default_value;
976 Lisp_Object inherit_input_method; 942 Lisp_Object inherit_input_method;
977 { 943 {
978 Lisp_Object val; 944 Lisp_Object val;
979 val = Fread_from_minibuffer (prompt, initial_input, Qnil, 945 val = Fread_from_minibuffer (prompt, initial_input, Qnil,
983 val = default_value; 949 val = default_value;
984 return val; 950 return val;
985 } 951 }
986 952
987 DEFUN ("read-no-blanks-input", Fread_no_blanks_input, Sread_no_blanks_input, 1, 3, 0, 953 DEFUN ("read-no-blanks-input", Fread_no_blanks_input, Sread_no_blanks_input, 1, 3, 0,
988 /* Read a string from the terminal, not allowing blanks. 954 doc: /* Read a string from the terminal, not allowing blanks.
989 Prompt with PROMPT, and provide INITIAL as an initial value of the input string. 955 Prompt with PROMPT, and provide INITIAL as an initial value of the input string.
990 Third arg INHERIT-INPUT-METHOD, if non-nil, means the minibuffer inherits 956 Third arg INHERIT-INPUT-METHOD, if non-nil, means the minibuffer inherits
991 the current input method and the setting of enable-multibyte-characters. */ 957 the current input method and the setting of enable-multibyte-characters. */)
992 (prompt, initial, inherit_input_method)) 958 (prompt, initial, inherit_input_method)
993 Lisp_Object prompt, initial, inherit_input_method; 959 Lisp_Object prompt, initial, inherit_input_method;
994 { 960 {
995 CHECK_STRING (prompt, 0); 961 CHECK_STRING (prompt, 0);
996 if (! NILP (initial)) 962 if (! NILP (initial))
997 CHECK_STRING (initial, 1); 963 CHECK_STRING (initial, 1);
1000 0, Qminibuffer_history, make_number (0), Qnil, 0, 966 0, Qminibuffer_history, make_number (0), Qnil, 0,
1001 !NILP (inherit_input_method)); 967 !NILP (inherit_input_method));
1002 } 968 }
1003 969
1004 DEFUN ("read-command", Fread_command, Sread_command, 1, 2, 0, 970 DEFUN ("read-command", Fread_command, Sread_command, 1, 2, 0,
1005 /* Read the name of a command and return as a symbol. 971 doc: /* Read the name of a command and return as a symbol.
1006 Prompts with PROMPT. By default, return DEFAULT-VALUE. */ 972 Prompts with PROMPT. By default, return DEFAULT-VALUE. */)
1007 (prompt, default_value)) 973 (prompt, default_value)
1008 Lisp_Object prompt, default_value; 974 Lisp_Object prompt, default_value;
1009 { 975 {
1010 Lisp_Object name, default_string; 976 Lisp_Object name, default_string;
1011 977
1012 if (NILP (default_value)) 978 if (NILP (default_value))
1023 return Fintern (name, Qnil); 989 return Fintern (name, Qnil);
1024 } 990 }
1025 991
1026 #ifdef NOTDEF 992 #ifdef NOTDEF
1027 DEFUN ("read-function", Fread_function, Sread_function, 1, 1, 0, 993 DEFUN ("read-function", Fread_function, Sread_function, 1, 1, 0,
1028 /* One arg PROMPT, a string. Read the name of a function and return as a symbol. 994 doc: /* One arg PROMPT, a string. Read the name of a function and return as a symbol.
1029 Prompts with PROMPT. */ 995 Prompts with PROMPT. */)
1030 (prompt)) 996 (prompt)
1031 Lisp_Object prompt; 997 Lisp_Object prompt;
1032 { 998 {
1033 return Fintern (Fcompleting_read (prompt, Vobarray, Qfboundp, Qt, Qnil, Qnil, Qnil, Qnil), 999 return Fintern (Fcompleting_read (prompt, Vobarray, Qfboundp, Qt, Qnil, Qnil, Qnil, Qnil),
1034 Qnil); 1000 Qnil);
1035 } 1001 }
1036 #endif /* NOTDEF */ 1002 #endif /* NOTDEF */
1037 1003
1038 DEFUN ("read-variable", Fread_variable, Sread_variable, 1, 2, 0, 1004 DEFUN ("read-variable", Fread_variable, Sread_variable, 1, 2, 0,
1039 /* Read the name of a user variable and return it as a symbol. 1005 doc: /* Read the name of a user variable and return it as a symbol.
1040 Prompts with PROMPT. By default, return DEFAULT-VALUE. 1006 Prompts with PROMPT. By default, return DEFAULT-VALUE.
1041 A user variable is one whose documentation starts with a `*' character. */ 1007 A user variable is one whose documentation starts with a `*' character. */)
1042 (prompt, default_value)) 1008 (prompt, default_value)
1043 Lisp_Object prompt, default_value; 1009 Lisp_Object prompt, default_value;
1044 { 1010 {
1045 Lisp_Object name, default_string; 1011 Lisp_Object name, default_string;
1046 1012
1047 if (NILP (default_value)) 1013 if (NILP (default_value))
1058 return name; 1024 return name;
1059 return Fintern (name, Qnil); 1025 return Fintern (name, Qnil);
1060 } 1026 }
1061 1027
1062 DEFUN ("read-buffer", Fread_buffer, Sread_buffer, 1, 3, 0, 1028 DEFUN ("read-buffer", Fread_buffer, Sread_buffer, 1, 3, 0,
1063 /* One arg PROMPT, a string. Read the name of a buffer and return as a string. 1029 doc: /* One arg PROMPT, a string. Read the name of a buffer and return as a string.
1064 Prompts with PROMPT. 1030 Prompts with PROMPT.
1065 Optional second arg DEF is value to return if user enters an empty line. 1031 Optional second arg DEF is value to return if user enters an empty line.
1066 If optional third arg REQUIRE-MATCH is non-nil, only existing buffer names are allowed. */ 1032 If optional third arg REQUIRE-MATCH is non-nil, only existing buffer names are allowed. */)
1067 (prompt, def, require_match)) 1033 (prompt, def, require_match)
1068 Lisp_Object prompt, def, require_match; 1034 Lisp_Object prompt, def, require_match;
1069 { 1035 {
1070 Lisp_Object args[4]; 1036 Lisp_Object args[4];
1071 1037
1072 if (BUFFERP (def)) 1038 if (BUFFERP (def))
1108 else 1074 else
1109 return Fstring_make_multibyte (string); 1075 return Fstring_make_multibyte (string);
1110 } 1076 }
1111 1077
1112 DEFUN ("try-completion", Ftry_completion, Stry_completion, 2, 3, 0, 1078 DEFUN ("try-completion", Ftry_completion, Stry_completion, 2, 3, 0,
1113 /* Return common substring of all completions of STRING in ALIST. 1079 doc: /* Return common substring of all completions of STRING in ALIST.
1114 Each car of each element of ALIST is tested to see if it begins with STRING. 1080 Each car of each element of ALIST is tested to see if it begins with STRING.
1115 All that match are compared together; the longest initial sequence 1081 All that match are compared together; the longest initial sequence
1116 common to all matches is returned as a string. 1082 common to all matches is returned as a string.
1117 If there is no match at all, nil is returned. 1083 If there is no match at all, nil is returned.
1118 For a unique match which is exact, t is returned. 1084 For a unique match which is exact, t is returned.
1128 it is used to test each possible match. 1094 it is used to test each possible match.
1129 The match is a candidate only if PREDICATE returns non-nil. 1095 The match is a candidate only if PREDICATE returns non-nil.
1130 The argument given to PREDICATE is the alist element 1096 The argument given to PREDICATE is the alist element
1131 or the symbol from the obarray. 1097 or the symbol from the obarray.
1132 Additionally to this predicate, `completion-regexp-list' 1098 Additionally to this predicate, `completion-regexp-list'
1133 is used to further constrain the set of candidates. */ 1099 is used to further constrain the set of candidates. */)
1134 (string, alist, predicate)) 1100 (string, alist, predicate)
1135 Lisp_Object string, alist, predicate; 1101 Lisp_Object string, alist, predicate;
1136 { 1102 {
1137 Lisp_Object bestmatch, tail, elt, eltstring; 1103 Lisp_Object bestmatch, tail, elt, eltstring;
1138 /* Size in bytes of BESTMATCH. */ 1104 /* Size in bytes of BESTMATCH. */
1139 int bestmatchsize = 0; 1105 int bestmatchsize = 0;
1359 return match; 1325 return match;
1360 } 1326 }
1361 } 1327 }
1362 1328
1363 DEFUN ("all-completions", Fall_completions, Sall_completions, 2, 4, 0, 1329 DEFUN ("all-completions", Fall_completions, Sall_completions, 2, 4, 0,
1364 /* Search for partial matches to STRING in ALIST. 1330 doc: /* Search for partial matches to STRING in ALIST.
1365 Each car of each element of ALIST is tested to see if it begins with STRING. 1331 Each car of each element of ALIST is tested to see if it begins with STRING.
1366 The value is a list of all the strings from ALIST that match. 1332 The value is a list of all the strings from ALIST that match.
1367 1333
1368 ALIST can be an obarray instead of an alist. 1334 ALIST can be an obarray instead of an alist.
1369 Then the print names of all symbols in the obarray are the possible matches. 1335 Then the print names of all symbols in the obarray are the possible matches.
1380 Additionally to this predicate, `completion-regexp-list' 1346 Additionally to this predicate, `completion-regexp-list'
1381 is used to further constrain the set of candidates. 1347 is used to further constrain the set of candidates.
1382 1348
1383 If the optional fourth argument HIDE-SPACES is non-nil, 1349 If the optional fourth argument HIDE-SPACES is non-nil,
1384 strings in ALIST that start with a space 1350 strings in ALIST that start with a space
1385 are ignored unless STRING itself starts with a space. */ 1351 are ignored unless STRING itself starts with a space. */)
1386 (string, alist, predicate, hide_spaces)) 1352 (string, alist, predicate, hide_spaces)
1387 Lisp_Object string, alist, predicate, hide_spaces; 1353 Lisp_Object string, alist, predicate, hide_spaces;
1388 { 1354 {
1389 Lisp_Object tail, elt, eltstring; 1355 Lisp_Object tail, elt, eltstring;
1390 Lisp_Object allmatches; 1356 Lisp_Object allmatches;
1391 int list = CONSP (alist) || NILP (alist); 1357 int list = CONSP (alist) || NILP (alist);
1504 Lisp_Object Vminibuffer_completion_predicate, Qminibuffer_completion_predicate; 1470 Lisp_Object Vminibuffer_completion_predicate, Qminibuffer_completion_predicate;
1505 Lisp_Object Vminibuffer_completion_confirm, Qminibuffer_completion_confirm; 1471 Lisp_Object Vminibuffer_completion_confirm, Qminibuffer_completion_confirm;
1506 Lisp_Object Vminibuffer_completing_file_name; 1472 Lisp_Object Vminibuffer_completing_file_name;
1507 1473
1508 DEFUN ("completing-read", Fcompleting_read, Scompleting_read, 2, 8, 0, 1474 DEFUN ("completing-read", Fcompleting_read, Scompleting_read, 2, 8, 0,
1509 /* Read a string in the minibuffer, with completion. 1475 doc: /* Read a string in the minibuffer, with completion.
1510 PROMPT is a string to prompt with; normally it ends in a colon and a space. 1476 PROMPT is a string to prompt with; normally it ends in a colon and a space.
1511 TABLE is an alist whose elements' cars are strings, or an obarray. 1477 TABLE is an alist whose elements' cars are strings, or an obarray.
1512 TABLE can also be a function to do the completion itself. 1478 TABLE can also be a function to do the completion itself.
1513 PREDICATE limits completion to a subset of TABLE. 1479 PREDICATE limits completion to a subset of TABLE.
1514 See `try-completion' and `all-completions' for more details 1480 See `try-completion' and `all-completions' for more details
1536 1502
1537 If INHERIT-INPUT-METHOD is non-nil, the minibuffer inherits 1503 If INHERIT-INPUT-METHOD is non-nil, the minibuffer inherits
1538 the current input method and the setting of enable-multibyte-characters. 1504 the current input method and the setting of enable-multibyte-characters.
1539 1505
1540 Completion ignores case if the ambient value of 1506 Completion ignores case if the ambient value of
1541 `completion-ignore-case' is non-nil. */ 1507 `completion-ignore-case' is non-nil. */)
1542 (prompt, table, predicate, require_match, initial_input, hist, def, inherit_input_method)) 1508 (prompt, table, predicate, require_match, initial_input, hist, def, inherit_input_method)
1543 Lisp_Object prompt, table, predicate, require_match, initial_input; 1509 Lisp_Object prompt, table, predicate, require_match, initial_input;
1544 Lisp_Object hist, def, inherit_input_method; 1510 Lisp_Object hist, def, inherit_input_method;
1545 { 1511 {
1546 Lisp_Object val, histvar, histpos, position; 1512 Lisp_Object val, histvar, histpos, position;
1547 Lisp_Object init; 1513 Lisp_Object init;
1772 } 1738 }
1773 return Qnil; 1739 return Qnil;
1774 } 1740 }
1775 1741
1776 DEFUN ("minibuffer-complete", Fminibuffer_complete, Sminibuffer_complete, 0, 0, "", 1742 DEFUN ("minibuffer-complete", Fminibuffer_complete, Sminibuffer_complete, 0, 0, "",
1777 /* Complete the minibuffer contents as far as possible. 1743 doc: /* Complete the minibuffer contents as far as possible.
1778 Return nil if there is no valid completion, else t. 1744 Return nil if there is no valid completion, else t.
1779 If no characters can be completed, display a list of possible completions. 1745 If no characters can be completed, display a list of possible completions.
1780 If you repeat this command after it displayed such a list, 1746 If you repeat this command after it displayed such a list,
1781 scroll the window of possible completions. */ 1747 scroll the window of possible completions. */)
1782 ()) 1748 ()
1783 { 1749 {
1784 register int i; 1750 register int i;
1785 Lisp_Object window, tem; 1751 Lisp_Object window, tem;
1786 1752
1787 /* If the previous command was not this, 1753 /* If the previous command was not this,
1852 return make_number (1); 1818 return make_number (1);
1853 } 1819 }
1854 1820
1855 DEFUN ("minibuffer-complete-and-exit", Fminibuffer_complete_and_exit, 1821 DEFUN ("minibuffer-complete-and-exit", Fminibuffer_complete_and_exit,
1856 Sminibuffer_complete_and_exit, 0, 0, "", 1822 Sminibuffer_complete_and_exit, 0, 0, "",
1857 /* If the minibuffer contents is a valid completion then exit. 1823 doc: /* If the minibuffer contents is a valid completion then exit.
1858 Otherwise try to complete it. If completion leads to a valid completion, 1824 Otherwise try to complete it. If completion leads to a valid completion,
1859 a repetition of this command will exit. */ 1825 a repetition of this command will exit. */)
1860 ()) 1826 ()
1861 { 1827 {
1862 register int i; 1828 register int i;
1863 Lisp_Object val; 1829 Lisp_Object val;
1864 1830
1865 /* Allow user to specify null string */ 1831 /* Allow user to specify null string */
1897 /* NOTREACHED */ 1863 /* NOTREACHED */
1898 } 1864 }
1899 1865
1900 DEFUN ("minibuffer-complete-word", Fminibuffer_complete_word, Sminibuffer_complete_word, 1866 DEFUN ("minibuffer-complete-word", Fminibuffer_complete_word, Sminibuffer_complete_word,
1901 0, 0, "", 1867 0, 0, "",
1902 /* Complete the minibuffer contents at most a single word. 1868 doc: /* Complete the minibuffer contents at most a single word.
1903 After one word is completed as much as possible, a space or hyphen 1869 After one word is completed as much as possible, a space or hyphen
1904 is added, provided that matches some possible completion. 1870 is added, provided that matches some possible completion.
1905 Return nil if there is no valid completion, else t. */ 1871 Return nil if there is no valid completion, else t. */)
1906 ()) 1872 ()
1907 { 1873 {
1908 Lisp_Object completion, tem, tem1; 1874 Lisp_Object completion, tem, tem1;
1909 register int i, i_byte; 1875 register int i, i_byte;
1910 register unsigned char *completion_string; 1876 register unsigned char *completion_string;
1911 struct gcpro gcpro1, gcpro2; 1877 struct gcpro gcpro1, gcpro2;
2070 return Qt; 2036 return Qt;
2071 } 2037 }
2072 2038
2073 DEFUN ("display-completion-list", Fdisplay_completion_list, Sdisplay_completion_list, 2039 DEFUN ("display-completion-list", Fdisplay_completion_list, Sdisplay_completion_list,
2074 1, 1, 0, 2040 1, 1, 0,
2075 /* Display the list of completions, COMPLETIONS, using `standard-output'. 2041 doc: /* Display the list of completions, COMPLETIONS, using `standard-output'.
2076 Each element may be just a symbol or string 2042 Each element may be just a symbol or string
2077 or may be a list of two strings to be printed as if concatenated. 2043 or may be a list of two strings to be printed as if concatenated.
2078 `standard-output' must be a buffer. 2044 `standard-output' must be a buffer.
2079 The actual completion alternatives, as inserted, are given `mouse-face' 2045 The actual completion alternatives, as inserted, are given `mouse-face'
2080 properties of `highlight'. 2046 properties of `highlight'.
2081 At the end, this runs the normal hook `completion-setup-hook'. 2047 At the end, this runs the normal hook `completion-setup-hook'.
2082 It can find the completion buffer in `standard-output'. */ 2048 It can find the completion buffer in `standard-output'. */)
2083 (completions)) 2049 (completions)
2084 Lisp_Object completions; 2050 Lisp_Object completions;
2085 { 2051 {
2086 Lisp_Object tail, elt; 2052 Lisp_Object tail, elt;
2087 register int i; 2053 register int i;
2088 int column = 0; 2054 int column = 0;
2253 return Qnil; 2219 return Qnil;
2254 } 2220 }
2255 2221
2256 DEFUN ("minibuffer-completion-help", Fminibuffer_completion_help, Sminibuffer_completion_help, 2222 DEFUN ("minibuffer-completion-help", Fminibuffer_completion_help, Sminibuffer_completion_help,
2257 0, 0, "", 2223 0, 0, "",
2258 /* Display a list of possible completions of the current minibuffer contents. */ 2224 doc: /* Display a list of possible completions of the current minibuffer contents. */)
2259 ()) 2225 ()
2260 { 2226 {
2261 Lisp_Object completions; 2227 Lisp_Object completions;
2262 2228
2263 message ("Making completion list..."); 2229 message ("Making completion list...");
2264 completions = Fall_completions (Fminibuffer_contents (), 2230 completions = Fall_completions (Fminibuffer_contents (),
2278 Fsort (completions, Qstring_lessp)); 2244 Fsort (completions, Qstring_lessp));
2279 return Qnil; 2245 return Qnil;
2280 } 2246 }
2281 2247
2282 DEFUN ("self-insert-and-exit", Fself_insert_and_exit, Sself_insert_and_exit, 0, 0, "", 2248 DEFUN ("self-insert-and-exit", Fself_insert_and_exit, Sself_insert_and_exit, 0, 0, "",
2283 /* Terminate minibuffer input. */ 2249 doc: /* Terminate minibuffer input. */)
2284 ()) 2250 ()
2285 { 2251 {
2286 if (INTEGERP (last_command_char)) 2252 if (INTEGERP (last_command_char))
2287 internal_self_insert (XINT (last_command_char), 0); 2253 internal_self_insert (XINT (last_command_char), 0);
2288 else 2254 else
2289 bitch_at_user (); 2255 bitch_at_user ();
2290 2256
2291 return Fthrow (Qexit, Qnil); 2257 return Fthrow (Qexit, Qnil);
2292 } 2258 }
2293 2259
2294 DEFUN ("exit-minibuffer", Fexit_minibuffer, Sexit_minibuffer, 0, 0, "", 2260 DEFUN ("exit-minibuffer", Fexit_minibuffer, Sexit_minibuffer, 0, 0, "",
2295 /* Terminate this minibuffer argument. */ 2261 doc: /* Terminate this minibuffer argument. */)
2296 ()) 2262 ()
2297 { 2263 {
2298 return Fthrow (Qexit, Qnil); 2264 return Fthrow (Qexit, Qnil);
2299 } 2265 }
2300 2266
2301 DEFUN ("minibuffer-depth", Fminibuffer_depth, Sminibuffer_depth, 0, 0, 0, 2267 DEFUN ("minibuffer-depth", Fminibuffer_depth, Sminibuffer_depth, 0, 0, 0,
2302 /* Return current depth of activations of minibuffer, a nonnegative integer. */ 2268 doc: /* Return current depth of activations of minibuffer, a nonnegative integer. */)
2303 ()) 2269 ()
2304 { 2270 {
2305 return make_number (minibuf_level); 2271 return make_number (minibuf_level);
2306 } 2272 }
2307 2273
2308 DEFUN ("minibuffer-prompt", Fminibuffer_prompt, Sminibuffer_prompt, 0, 0, 0, 2274 DEFUN ("minibuffer-prompt", Fminibuffer_prompt, Sminibuffer_prompt, 0, 0, 0,
2309 /* Return the prompt string of the currently-active minibuffer. 2275 doc: /* Return the prompt string of the currently-active minibuffer.
2310 If no minibuffer is active, return nil. */ 2276 If no minibuffer is active, return nil. */)
2311 ()) 2277 ()
2312 { 2278 {
2313 return Fcopy_sequence (minibuf_prompt); 2279 return Fcopy_sequence (minibuf_prompt);
2314 } 2280 }
2315 2281
2316 2282
2349 Vinhibit_quit = oinhibit; 2315 Vinhibit_quit = oinhibit;
2350 } 2316 }
2351 2317
2352 DEFUN ("minibuffer-message", Fminibuffer_message, Sminibuffer_message, 2318 DEFUN ("minibuffer-message", Fminibuffer_message, Sminibuffer_message,
2353 1, 1, 0, 2319 1, 1, 0,
2354 /* Temporarily display STRING at the end of the minibuffer. 2320 doc: /* Temporarily display STRING at the end of the minibuffer.
2355 The text is displayed for two seconds, 2321 The text is displayed for two seconds,
2356 or until the next input event arrives, whichever comes first. */ 2322 or until the next input event arrives, whichever comes first. */)
2357 (string)) 2323 (string)
2358 Lisp_Object string; 2324 Lisp_Object string;
2359 { 2325 {
2360 temp_echo_area_glyphs (XSTRING (string)->data); 2326 temp_echo_area_glyphs (XSTRING (string)->data);
2361 return Qnil; 2327 return Qnil;
2362 } 2328 }
2423 staticpro (&Qcurrent_input_method); 2389 staticpro (&Qcurrent_input_method);
2424 2390
2425 Qactivate_input_method = intern ("activate-input-method"); 2391 Qactivate_input_method = intern ("activate-input-method");
2426 staticpro (&Qactivate_input_method); 2392 staticpro (&Qactivate_input_method);
2427 2393
2428 DEFVAR_LISP ("read-buffer-function", &Vread_buffer_function 2394 DEFVAR_LISP ("read-buffer-function", &Vread_buffer_function,
2429 /* If this is non-nil, `read-buffer' does its work by calling this function. */); 2395 doc: /* If this is non-nil, `read-buffer' does its work by calling this function. */);
2430 Vread_buffer_function = Qnil; 2396 Vread_buffer_function = Qnil;
2431 2397
2432 DEFVAR_LISP ("minibuffer-setup-hook", &Vminibuffer_setup_hook 2398 DEFVAR_LISP ("minibuffer-setup-hook", &Vminibuffer_setup_hook,
2433 /* Normal hook run just after entry to minibuffer. */); 2399 doc: /* Normal hook run just after entry to minibuffer. */);
2434 Vminibuffer_setup_hook = Qnil; 2400 Vminibuffer_setup_hook = Qnil;
2435 2401
2436 DEFVAR_LISP ("minibuffer-exit-hook", &Vminibuffer_exit_hook 2402 DEFVAR_LISP ("minibuffer-exit-hook", &Vminibuffer_exit_hook,
2437 /* Normal hook run just after exit from minibuffer. */); 2403 doc: /* Normal hook run just after exit from minibuffer. */);
2438 Vminibuffer_exit_hook = Qnil; 2404 Vminibuffer_exit_hook = Qnil;
2439 2405
2440 DEFVAR_LISP ("history-length", &Vhistory_length 2406 DEFVAR_LISP ("history-length", &Vhistory_length,
2441 /* *Maximum length for history lists before truncation takes place. 2407 doc: /* *Maximum length for history lists before truncation takes place.
2442 A number means that length; t means infinite. Truncation takes place 2408 A number means that length; t means infinite. Truncation takes place
2443 just after a new element is inserted. Setting the history-length 2409 just after a new element is inserted. Setting the history-length
2444 property of a history variable overrides this default. */); 2410 property of a history variable overrides this default. */);
2445 XSETFASTINT (Vhistory_length, 30); 2411 XSETFASTINT (Vhistory_length, 30);
2446 2412
2447 DEFVAR_LISP ("completion-auto-help", &Vcompletion_auto_help 2413 DEFVAR_LISP ("completion-auto-help", &Vcompletion_auto_help,
2448 /* *Non-nil means automatically provide help for invalid completion input. */); 2414 doc: /* *Non-nil means automatically provide help for invalid completion input. */);
2449 Vcompletion_auto_help = Qt; 2415 Vcompletion_auto_help = Qt;
2450 2416
2451 DEFVAR_BOOL ("completion-ignore-case", &completion_ignore_case 2417 DEFVAR_BOOL ("completion-ignore-case", &completion_ignore_case,
2452 /* Non-nil means don't consider case significant in completion. */); 2418 doc: /* Non-nil means don't consider case significant in completion. */);
2453 completion_ignore_case = 0; 2419 completion_ignore_case = 0;
2454 2420
2455 DEFVAR_BOOL ("enable-recursive-minibuffers", &enable_recursive_minibuffers 2421 DEFVAR_BOOL ("enable-recursive-minibuffers", &enable_recursive_minibuffers,
2456 /* *Non-nil means to allow minibuffer commands while in the minibuffer. 2422 doc: /* *Non-nil means to allow minibuffer commands while in the minibuffer.
2457 This variable makes a difference whenever the minibuffer window is active. */); 2423 This variable makes a difference whenever the minibuffer window is active. */);
2458 enable_recursive_minibuffers = 0; 2424 enable_recursive_minibuffers = 0;
2459 2425
2460 DEFVAR_LISP ("minibuffer-completion-table", &Vminibuffer_completion_table 2426 DEFVAR_LISP ("minibuffer-completion-table", &Vminibuffer_completion_table,
2461 /* Alist or obarray used for completion in the minibuffer. 2427 doc: /* Alist or obarray used for completion in the minibuffer.
2462 This becomes the ALIST argument to `try-completion' and `all-completion'. 2428 This becomes the ALIST argument to `try-completion' and `all-completion'.
2463 2429
2464 The value may alternatively be a function, which is given three arguments: 2430 The value may alternatively be a function, which is given three arguments:
2465 STRING, the current buffer contents; 2431 STRING, the current buffer contents;
2466 PREDICATE, the predicate for filtering possible matches; 2432 PREDICATE, the predicate for filtering possible matches;
2469 nil means to return the best completion of STRING, or nil if there is none. 2435 nil means to return the best completion of STRING, or nil if there is none.
2470 t means to return a list of all possible completions of STRING. 2436 t means to return a list of all possible completions of STRING.
2471 `lambda' means to return t if STRING is a valid completion as it stands. */); 2437 `lambda' means to return t if STRING is a valid completion as it stands. */);
2472 Vminibuffer_completion_table = Qnil; 2438 Vminibuffer_completion_table = Qnil;
2473 2439
2474 DEFVAR_LISP ("minibuffer-completion-predicate", &Vminibuffer_completion_predicate 2440 DEFVAR_LISP ("minibuffer-completion-predicate", &Vminibuffer_completion_predicate,
2475 /* Within call to `completing-read', this holds the PREDICATE argument. */); 2441 doc: /* Within call to `completing-read', this holds the PREDICATE argument. */);
2476 Vminibuffer_completion_predicate = Qnil; 2442 Vminibuffer_completion_predicate = Qnil;
2477 2443
2478 DEFVAR_LISP ("minibuffer-completion-confirm", &Vminibuffer_completion_confirm 2444 DEFVAR_LISP ("minibuffer-completion-confirm", &Vminibuffer_completion_confirm,
2479 /* Non-nil => demand confirmation of completion before exiting minibuffer. */); 2445 doc: /* Non-nil => demand confirmation of completion before exiting minibuffer. */);
2480 Vminibuffer_completion_confirm = Qnil; 2446 Vminibuffer_completion_confirm = Qnil;
2481 2447
2482 DEFVAR_LISP ("minibuffer-completing-file-name", 2448 DEFVAR_LISP ("minibuffer-completing-file-name",
2483 &Vminibuffer_completing_file_name 2449 &Vminibuffer_completing_file_name,
2484 /* Non-nil means completing file names. */); 2450 doc: /* Non-nil means completing file names. */);
2485 Vminibuffer_completing_file_name = Qnil; 2451 Vminibuffer_completing_file_name = Qnil;
2486 2452
2487 DEFVAR_LISP ("minibuffer-help-form", &Vminibuffer_help_form 2453 DEFVAR_LISP ("minibuffer-help-form", &Vminibuffer_help_form,
2488 /* Value that `help-form' takes on inside the minibuffer. */); 2454 doc: /* Value that `help-form' takes on inside the minibuffer. */);
2489 Vminibuffer_help_form = Qnil; 2455 Vminibuffer_help_form = Qnil;
2490 2456
2491 DEFVAR_LISP ("minibuffer-history-variable", &Vminibuffer_history_variable 2457 DEFVAR_LISP ("minibuffer-history-variable", &Vminibuffer_history_variable,
2492 /* History list symbol to add minibuffer values to. 2458 doc: /* History list symbol to add minibuffer values to.
2493 Each string of minibuffer input, as it appears on exit from the minibuffer, 2459 Each string of minibuffer input, as it appears on exit from the minibuffer,
2494 is added with 2460 is added with
2495 (set minibuffer-history-variable 2461 (set minibuffer-history-variable
2496 (cons STRING (symbol-value minibuffer-history-variable))) */); 2462 (cons STRING (symbol-value minibuffer-history-variable))) */);
2497 XSETFASTINT (Vminibuffer_history_variable, 0); 2463 XSETFASTINT (Vminibuffer_history_variable, 0);
2498 2464
2499 DEFVAR_LISP ("minibuffer-history-position", &Vminibuffer_history_position 2465 DEFVAR_LISP ("minibuffer-history-position", &Vminibuffer_history_position,
2500 /* Current position of redoing in the history list. */); 2466 doc: /* Current position of redoing in the history list. */);
2501 Vminibuffer_history_position = Qnil; 2467 Vminibuffer_history_position = Qnil;
2502 2468
2503 DEFVAR_BOOL ("minibuffer-auto-raise", &minibuffer_auto_raise 2469 DEFVAR_BOOL ("minibuffer-auto-raise", &minibuffer_auto_raise,
2504 /* *Non-nil means entering the minibuffer raises the minibuffer's frame. 2470 doc: /* *Non-nil means entering the minibuffer raises the minibuffer's frame.
2505 Some uses of the echo area also raise that frame (since they use it too). */); 2471 Some uses of the echo area also raise that frame (since they use it too). */);
2506 minibuffer_auto_raise = 0; 2472 minibuffer_auto_raise = 0;
2507 2473
2508 DEFVAR_LISP ("completion-regexp-list", &Vcompletion_regexp_list 2474 DEFVAR_LISP ("completion-regexp-list", &Vcompletion_regexp_list,
2509 /* List of regexps that should restrict possible completions. */); 2475 doc: /* List of regexps that should restrict possible completions. */);
2510 Vcompletion_regexp_list = Qnil; 2476 Vcompletion_regexp_list = Qnil;
2511 2477
2512 DEFVAR_BOOL ("minibuffer-allow-text-properties", 2478 DEFVAR_BOOL ("minibuffer-allow-text-properties",
2513 &minibuffer_allow_text_properties 2479 &minibuffer_allow_text_properties,
2514 /* Non-nil means `read-from-minibuffer' should not discard text properties. 2480 doc: /* Non-nil means `read-from-minibuffer' should not discard text properties.
2515 This also affects `read-string', but it does not affect `read-minibuffer', 2481 This also affects `read-string', but it does not affect `read-minibuffer',
2516 `read-no-blanks-input', or any of the functions that do minibuffer input 2482 `read-no-blanks-input', or any of the functions that do minibuffer input
2517 with completion; they always discard text properties. */); 2483 with completion; they always discard text properties. */);
2518 minibuffer_allow_text_properties = 0; 2484 minibuffer_allow_text_properties = 0;
2519 2485
2520 DEFVAR_LISP ("minibuffer-prompt-properties", &Vminibuffer_prompt_properties 2486 DEFVAR_LISP ("minibuffer-prompt-properties", &Vminibuffer_prompt_properties,
2521 /* Text properties that are added to minibuffer prompts. 2487 doc: /* Text properties that are added to minibuffer prompts.
2522 These are in addition to the basic `field' property, and stickiness 2488 These are in addition to the basic `field' property, and stickiness
2523 properties. */); 2489 properties. */);
2524 /* We use `intern' here instead of Qread_only to avoid 2490 /* We use `intern' here instead of Qread_only to avoid
2525 initialization-order problems. */ 2491 initialization-order problems. */
2526 Vminibuffer_prompt_properties 2492 Vminibuffer_prompt_properties