Mercurial > emacs
comparison src/lread.c @ 40796:816ced6caae8
(Feval_region): Remove obsolete #ifdef'd-out code (eval-current-buffer).
Change doc-string comments to `new style' [w/`doc:' keyword].
author | Pavel Janík <Pavel@Janik.cz> |
---|---|
date | Wed, 07 Nov 2001 06:22:32 +0000 |
parents | d57f74c55909 |
children | 50b111aed6d5 |
comparison
equal
deleted
inserted
replaced
40795:ba08d5933963 | 40796:816ced6caae8 |
---|---|
495 #endif | 495 #endif |
496 return val; | 496 return val; |
497 } | 497 } |
498 | 498 |
499 DEFUN ("read-char", Fread_char, Sread_char, 0, 2, 0, | 499 DEFUN ("read-char", Fread_char, Sread_char, 0, 2, 0, |
500 "Read a character from the command input (keyboard or macro).\n\ | 500 doc: /* Read a character from the command input (keyboard or macro). |
501 It is returned as a number.\n\ | 501 It is returned as a number. |
502 If the user generates an event which is not a character (i.e. a mouse\n\ | 502 If the user generates an event which is not a character (i.e. a mouse |
503 click or function key event), `read-char' signals an error. As an\n\ | 503 click or function key event), `read-char' signals an error. As an |
504 exception, switch-frame events are put off until non-ASCII events can\n\ | 504 exception, switch-frame events are put off until non-ASCII events can |
505 be read.\n\ | 505 be read. |
506 If you want to read non-character events, or ignore them, call\n\ | 506 If you want to read non-character events, or ignore them, call |
507 `read-event' or `read-char-exclusive' instead.\n\ | 507 `read-event' or `read-char-exclusive' instead. |
508 \n\ | 508 |
509 If the optional argument PROMPT is non-nil, display that as a prompt.\n\ | 509 If the optional argument PROMPT is non-nil, display that as a prompt. |
510 If the optional argument INHERIT-INPUT-METHOD is non-nil and some\n\ | 510 If the optional argument INHERIT-INPUT-METHOD is non-nil and some |
511 input method is turned on in the current buffer, that input method\n\ | 511 input method is turned on in the current buffer, that input method |
512 is used for reading a character.") | 512 is used for reading a character. */) |
513 (prompt, inherit_input_method) | 513 (prompt, inherit_input_method) |
514 Lisp_Object prompt, inherit_input_method; | 514 Lisp_Object prompt, inherit_input_method; |
515 { | 515 { |
516 if (! NILP (prompt)) | 516 if (! NILP (prompt)) |
517 message_with_string ("%s", prompt, 0); | 517 message_with_string ("%s", prompt, 0); |
518 return read_filtered_event (1, 1, 1, ! NILP (inherit_input_method)); | 518 return read_filtered_event (1, 1, 1, ! NILP (inherit_input_method)); |
519 } | 519 } |
520 | 520 |
521 DEFUN ("read-event", Fread_event, Sread_event, 0, 2, 0, | 521 DEFUN ("read-event", Fread_event, Sread_event, 0, 2, 0, |
522 "Read an event object from the input stream.\n\ | 522 doc: /* Read an event object from the input stream. |
523 If the optional argument PROMPT is non-nil, display that as a prompt.\n\ | 523 If the optional argument PROMPT is non-nil, display that as a prompt. |
524 If the optional argument INHERIT-INPUT-METHOD is non-nil and some\n\ | 524 If the optional argument INHERIT-INPUT-METHOD is non-nil and some |
525 input method is turned on in the current buffer, that input method\n\ | 525 input method is turned on in the current buffer, that input method |
526 is used for reading a character.") | 526 is used for reading a character. */) |
527 (prompt, inherit_input_method) | 527 (prompt, inherit_input_method) |
528 Lisp_Object prompt, inherit_input_method; | 528 Lisp_Object prompt, inherit_input_method; |
529 { | 529 { |
530 if (! NILP (prompt)) | 530 if (! NILP (prompt)) |
531 message_with_string ("%s", prompt, 0); | 531 message_with_string ("%s", prompt, 0); |
532 return read_filtered_event (0, 0, 0, ! NILP (inherit_input_method)); | 532 return read_filtered_event (0, 0, 0, ! NILP (inherit_input_method)); |
533 } | 533 } |
534 | 534 |
535 DEFUN ("read-char-exclusive", Fread_char_exclusive, Sread_char_exclusive, 0, 2, 0, | 535 DEFUN ("read-char-exclusive", Fread_char_exclusive, Sread_char_exclusive, 0, 2, 0, |
536 "Read a character from the command input (keyboard or macro).\n\ | 536 doc: /* Read a character from the command input (keyboard or macro). |
537 It is returned as a number. Non-character events are ignored.\n\ | 537 It is returned as a number. Non-character events are ignored. |
538 \n\ | 538 |
539 If the optional argument PROMPT is non-nil, display that as a prompt.\n\ | 539 If the optional argument PROMPT is non-nil, display that as a prompt. |
540 If the optional argument INHERIT-INPUT-METHOD is non-nil and some\n\ | 540 If the optional argument INHERIT-INPUT-METHOD is non-nil and some |
541 input method is turned on in the current buffer, that input method\n\ | 541 input method is turned on in the current buffer, that input method |
542 is used for reading a character.") | 542 is used for reading a character. */) |
543 (prompt, inherit_input_method) | 543 (prompt, inherit_input_method) |
544 Lisp_Object prompt, inherit_input_method; | 544 Lisp_Object prompt, inherit_input_method; |
545 { | 545 { |
546 if (! NILP (prompt)) | 546 if (! NILP (prompt)) |
547 message_with_string ("%s", prompt, 0); | 547 message_with_string ("%s", prompt, 0); |
548 return read_filtered_event (1, 1, 0, ! NILP (inherit_input_method)); | 548 return read_filtered_event (1, 1, 0, ! NILP (inherit_input_method)); |
549 } | 549 } |
550 | 550 |
551 DEFUN ("get-file-char", Fget_file_char, Sget_file_char, 0, 0, 0, | 551 DEFUN ("get-file-char", Fget_file_char, Sget_file_char, 0, 0, 0, |
552 "Don't use this yourself.") | 552 doc: /* Don't use this yourself. */) |
553 () | 553 () |
554 { | 554 { |
555 register Lisp_Object val; | 555 register Lisp_Object val; |
556 XSETINT (val, getc (instream)); | 556 XSETINT (val, getc (instream)); |
557 return val; | 557 return val; |
558 } | 558 } |
606 return Vloads_in_progress = old; | 606 return Vloads_in_progress = old; |
607 } | 607 } |
608 | 608 |
609 | 609 |
610 DEFUN ("load", Fload, Sload, 1, 5, 0, | 610 DEFUN ("load", Fload, Sload, 1, 5, 0, |
611 "Execute a file of Lisp code named FILE.\n\ | 611 doc: /* Execute a file of Lisp code named FILE. |
612 First try FILE with `.elc' appended, then try with `.el',\n\ | 612 First try FILE with `.elc' appended, then try with `.el', |
613 then try FILE unmodified. Environment variable references in FILE\n\ | 613 then try FILE unmodified. Environment variable references in FILE |
614 are replaced with their values by calling `substitute-in-file-name'.\n\ | 614 are replaced with their values by calling `substitute-in-file-name'. |
615 This function searches the directories in `load-path'.\n\ | 615 This function searches the directories in `load-path'. |
616 If optional second arg NOERROR is non-nil,\n\ | 616 If optional second arg NOERROR is non-nil, |
617 report no error if FILE doesn't exist.\n\ | 617 report no error if FILE doesn't exist. |
618 Print messages at start and end of loading unless\n\ | 618 Print messages at start and end of loading unless |
619 optional third arg NOMESSAGE is non-nil.\n\ | 619 optional third arg NOMESSAGE is non-nil. |
620 If optional fourth arg NOSUFFIX is non-nil, don't try adding\n\ | 620 If optional fourth arg NOSUFFIX is non-nil, don't try adding |
621 suffixes `.elc' or `.el' to the specified name FILE.\n\ | 621 suffixes `.elc' or `.el' to the specified name FILE. |
622 If optional fifth arg MUST-SUFFIX is non-nil, insist on\n\ | 622 If optional fifth arg MUST-SUFFIX is non-nil, insist on |
623 the suffix `.elc' or `.el'; don't accept just FILE unless\n\ | 623 the suffix `.elc' or `.el'; don't accept just FILE unless |
624 it ends in one of those suffixes or includes a directory name.\n\ | 624 it ends in one of those suffixes or includes a directory name. |
625 Return t if file exists.") | 625 Return t if file exists. */) |
626 (file, noerror, nomessage, nosuffix, must_suffix) | 626 (file, noerror, nomessage, nosuffix, must_suffix) |
627 Lisp_Object file, noerror, nomessage, nosuffix, must_suffix; | 627 Lisp_Object file, noerror, nomessage, nosuffix, must_suffix; |
628 { | 628 { |
629 register FILE *stream; | 629 register FILE *stream; |
630 register int fd = -1; | 630 register int fd = -1; |
631 register Lisp_Object lispstream; | 631 register Lisp_Object lispstream; |
1289 | 1289 |
1290 unbind_to (count, Qnil); | 1290 unbind_to (count, Qnil); |
1291 } | 1291 } |
1292 | 1292 |
1293 DEFUN ("eval-buffer", Feval_buffer, Seval_buffer, 0, 5, "", | 1293 DEFUN ("eval-buffer", Feval_buffer, Seval_buffer, 0, 5, "", |
1294 "Execute the current buffer as Lisp code.\n\ | 1294 doc: /* Execute the current buffer as Lisp code. |
1295 Programs can pass two arguments, BUFFER and PRINTFLAG.\n\ | 1295 Programs can pass two arguments, BUFFER and PRINTFLAG. |
1296 BUFFER is the buffer to evaluate (nil means use current buffer).\n\ | 1296 BUFFER is the buffer to evaluate (nil means use current buffer). |
1297 PRINTFLAG controls printing of output:\n\ | 1297 PRINTFLAG controls printing of output: |
1298 nil means discard it; anything else is stream for print.\n\ | 1298 nil means discard it; anything else is stream for print. |
1299 \n\ | 1299 |
1300 If the optional third argument FILENAME is non-nil,\n\ | 1300 If the optional third argument FILENAME is non-nil, |
1301 it specifies the file name to use for `load-history'.\n\ | 1301 it specifies the file name to use for `load-history'. |
1302 The optional fourth argument UNIBYTE specifies `load-convert-to-unibyte'\n\ | 1302 The optional fourth argument UNIBYTE specifies `load-convert-to-unibyte' |
1303 for this invocation.\n\ | 1303 for this invocation. |
1304 \n\ | 1304 |
1305 The optional fifth argument DO-ALLOW-PRINT, if not-nil, specifies that\n\ | 1305 The optional fifth argument DO-ALLOW-PRINT, if not-nil, specifies that |
1306 `print' and related functions should work normally even if PRINTFLAG is nil.\n\ | 1306 `print' and related functions should work normally even if PRINTFLAG is nil. |
1307 \n\ | 1307 |
1308 This function preserves the position of point.") | 1308 This function preserves the position of point. */) |
1309 (buffer, printflag, filename, unibyte, do_allow_print) | 1309 (buffer, printflag, filename, unibyte, do_allow_print) |
1310 Lisp_Object buffer, printflag, filename, unibyte, do_allow_print; | 1310 Lisp_Object buffer, printflag, filename, unibyte, do_allow_print; |
1311 { | 1311 { |
1312 int count = specpdl_ptr - specpdl; | 1312 int count = specpdl_ptr - specpdl; |
1313 Lisp_Object tem, buf; | 1313 Lisp_Object tem, buf; |
1314 | 1314 |
1334 unbind_to (count, Qnil); | 1334 unbind_to (count, Qnil); |
1335 | 1335 |
1336 return Qnil; | 1336 return Qnil; |
1337 } | 1337 } |
1338 | 1338 |
1339 #if 0 | 1339 DEFUN ("eval-region", Feval_region, Seval_region, 2, 4, "r", |
1340 XDEFUN ("eval-current-buffer", Feval_current_buffer, Seval_current_buffer, 0, 1, "", | 1340 doc: /* Execute the region as Lisp code. |
1341 "Execute the current buffer as Lisp code.\n\ | 1341 When called from programs, expects two arguments, |
1342 Programs can pass argument PRINTFLAG which controls printing of output:\n\ | 1342 giving starting and ending indices in the current buffer |
1343 nil means discard it; anything else is stream for print.\n\ | 1343 of the text to be executed. |
1344 \n\ | 1344 Programs can pass third argument PRINTFLAG which controls output: |
1345 If there is no error, point does not move. If there is an error,\n\ | 1345 nil means discard it; anything else is stream for printing it. |
1346 point remains at the end of the last character read from the buffer.") | 1346 Also the fourth argument READ-FUNCTION, if non-nil, is used |
1347 (printflag) | 1347 instead of `read' to read each expression. It gets one argument |
1348 Lisp_Object printflag; | 1348 which is the input stream for reading characters. |
1349 | |
1350 This function does not move point. */) | |
1351 (start, end, printflag, read_function) | |
1352 Lisp_Object start, end, printflag, read_function; | |
1349 { | 1353 { |
1350 int count = specpdl_ptr - specpdl; | 1354 int count = specpdl_ptr - specpdl; |
1351 Lisp_Object tem, cbuf; | 1355 Lisp_Object tem, cbuf; |
1352 | 1356 |
1353 cbuf = Fcurrent_buffer () | 1357 cbuf = Fcurrent_buffer (); |
1354 | 1358 |
1355 if (NILP (printflag)) | 1359 if (NILP (printflag)) |
1356 tem = Qsymbolp; | 1360 tem = Qsymbolp; |
1357 else | 1361 else |
1358 tem = printflag; | 1362 tem = printflag; |
1359 specbind (Qstandard_output, tem); | 1363 specbind (Qstandard_output, tem); |
1360 record_unwind_protect (save_excursion_restore, save_excursion_save ()); | |
1361 SET_PT (BEGV); | |
1362 readevalloop (cbuf, 0, XBUFFER (cbuf)->filename, Feval, | |
1363 !NILP (printflag), Qnil, Qnil); | |
1364 return unbind_to (count, Qnil); | |
1365 } | |
1366 #endif | |
1367 | |
1368 DEFUN ("eval-region", Feval_region, Seval_region, 2, 4, "r", | |
1369 "Execute the region as Lisp code.\n\ | |
1370 When called from programs, expects two arguments,\n\ | |
1371 giving starting and ending indices in the current buffer\n\ | |
1372 of the text to be executed.\n\ | |
1373 Programs can pass third argument PRINTFLAG which controls output:\n\ | |
1374 nil means discard it; anything else is stream for printing it.\n\ | |
1375 Also the fourth argument READ-FUNCTION, if non-nil, is used\n\ | |
1376 instead of `read' to read each expression. It gets one argument\n\ | |
1377 which is the input stream for reading characters.\n\ | |
1378 \n\ | |
1379 This function does not move point.") | |
1380 (start, end, printflag, read_function) | |
1381 Lisp_Object start, end, printflag, read_function; | |
1382 { | |
1383 int count = specpdl_ptr - specpdl; | |
1384 Lisp_Object tem, cbuf; | |
1385 | |
1386 cbuf = Fcurrent_buffer (); | |
1387 | |
1388 if (NILP (printflag)) | |
1389 tem = Qsymbolp; | |
1390 else | |
1391 tem = printflag; | |
1392 specbind (Qstandard_output, tem); | |
1393 | 1364 |
1394 if (NILP (printflag)) | 1365 if (NILP (printflag)) |
1395 record_unwind_protect (save_excursion_restore, save_excursion_save ()); | 1366 record_unwind_protect (save_excursion_restore, save_excursion_save ()); |
1396 record_unwind_protect (save_restriction_restore, save_restriction_save ()); | 1367 record_unwind_protect (save_restriction_restore, save_restriction_save ()); |
1397 | 1368 |
1404 return unbind_to (count, Qnil); | 1375 return unbind_to (count, Qnil); |
1405 } | 1376 } |
1406 | 1377 |
1407 | 1378 |
1408 DEFUN ("read", Fread, Sread, 0, 1, 0, | 1379 DEFUN ("read", Fread, Sread, 0, 1, 0, |
1409 "Read one Lisp expression as text from STREAM, return as Lisp object.\n\ | 1380 doc: /* Read one Lisp expression as text from STREAM, return as Lisp object. |
1410 If STREAM is nil, use the value of `standard-input' (which see).\n\ | 1381 If STREAM is nil, use the value of `standard-input' (which see). |
1411 STREAM or the value of `standard-input' may be:\n\ | 1382 STREAM or the value of `standard-input' may be: |
1412 a buffer (read from point and advance it)\n\ | 1383 a buffer (read from point and advance it) |
1413 a marker (read from where it points and advance it)\n\ | 1384 a marker (read from where it points and advance it) |
1414 a function (call it with no arguments for each character,\n\ | 1385 a function (call it with no arguments for each character, |
1415 call it with a char as argument to push a char back)\n\ | 1386 call it with a char as argument to push a char back) |
1416 a string (takes text from string, starting at the beginning)\n\ | 1387 a string (takes text from string, starting at the beginning) |
1417 t (read text line using minibuffer and use it, or read from\n\ | 1388 t (read text line using minibuffer and use it, or read from |
1418 standard input in batch mode).") | 1389 standard input in batch mode). */) |
1419 (stream) | 1390 (stream) |
1420 Lisp_Object stream; | 1391 Lisp_Object stream; |
1421 { | 1392 { |
1422 extern Lisp_Object Fread_minibuffer (); | 1393 extern Lisp_Object Fread_minibuffer (); |
1423 | 1394 |
1424 if (NILP (stream)) | 1395 if (NILP (stream)) |
1438 | 1409 |
1439 return read0 (stream); | 1410 return read0 (stream); |
1440 } | 1411 } |
1441 | 1412 |
1442 DEFUN ("read-from-string", Fread_from_string, Sread_from_string, 1, 3, 0, | 1413 DEFUN ("read-from-string", Fread_from_string, Sread_from_string, 1, 3, 0, |
1443 "Read one Lisp expression which is represented as text by STRING.\n\ | 1414 doc: /* Read one Lisp expression which is represented as text by STRING. |
1444 Returns a cons: (OBJECT-READ . FINAL-STRING-INDEX).\n\ | 1415 Returns a cons: (OBJECT-READ . FINAL-STRING-INDEX). |
1445 START and END optionally delimit a substring of STRING from which to read;\n\ | 1416 START and END optionally delimit a substring of STRING from which to read; |
1446 they default to 0 and (length STRING) respectively.") | 1417 they default to 0 and (length STRING) respectively. */) |
1447 (string, start, end) | 1418 (string, start, end) |
1448 Lisp_Object string, start, end; | 1419 Lisp_Object string, start, end; |
1449 { | 1420 { |
1450 int startval, endval; | 1421 int startval, endval; |
1451 Lisp_Object tem; | 1422 Lisp_Object tem; |
1452 | 1423 |
2924 ? make_pure_string (str, len, len, 0) | 2895 ? make_pure_string (str, len, len, 0) |
2925 : make_string (str, len))); | 2896 : make_string (str, len))); |
2926 } | 2897 } |
2927 | 2898 |
2928 DEFUN ("intern", Fintern, Sintern, 1, 2, 0, | 2899 DEFUN ("intern", Fintern, Sintern, 1, 2, 0, |
2929 "Return the canonical symbol whose name is STRING.\n\ | 2900 doc: /* Return the canonical symbol whose name is STRING. |
2930 If there is none, one is created by this function and returned.\n\ | 2901 If there is none, one is created by this function and returned. |
2931 A second optional argument specifies the obarray to use;\n\ | 2902 A second optional argument specifies the obarray to use; |
2932 it defaults to the value of `obarray'.") | 2903 it defaults to the value of `obarray'. */) |
2933 (string, obarray) | 2904 (string, obarray) |
2934 Lisp_Object string, obarray; | 2905 Lisp_Object string, obarray; |
2935 { | 2906 { |
2936 register Lisp_Object tem, sym, *ptr; | 2907 register Lisp_Object tem, sym, *ptr; |
2937 | 2908 |
2938 if (NILP (obarray)) obarray = Vobarray; | 2909 if (NILP (obarray)) obarray = Vobarray; |
2970 *ptr = sym; | 2941 *ptr = sym; |
2971 return sym; | 2942 return sym; |
2972 } | 2943 } |
2973 | 2944 |
2974 DEFUN ("intern-soft", Fintern_soft, Sintern_soft, 1, 2, 0, | 2945 DEFUN ("intern-soft", Fintern_soft, Sintern_soft, 1, 2, 0, |
2975 "Return the canonical symbol named NAME, or nil if none exists.\n\ | 2946 doc: /* Return the canonical symbol named NAME, or nil if none exists. |
2976 NAME may be a string or a symbol. If it is a symbol, that exact\n\ | 2947 NAME may be a string or a symbol. If it is a symbol, that exact |
2977 symbol is searched for.\n\ | 2948 symbol is searched for. |
2978 A second optional argument specifies the obarray to use;\n\ | 2949 A second optional argument specifies the obarray to use; |
2979 it defaults to the value of `obarray'.") | 2950 it defaults to the value of `obarray'. */) |
2980 (name, obarray) | 2951 (name, obarray) |
2981 Lisp_Object name, obarray; | 2952 Lisp_Object name, obarray; |
2982 { | 2953 { |
2983 register Lisp_Object tem; | 2954 register Lisp_Object tem; |
2984 struct Lisp_String *string; | 2955 struct Lisp_String *string; |
2985 | 2956 |
3000 else | 2971 else |
3001 return tem; | 2972 return tem; |
3002 } | 2973 } |
3003 | 2974 |
3004 DEFUN ("unintern", Funintern, Sunintern, 1, 2, 0, | 2975 DEFUN ("unintern", Funintern, Sunintern, 1, 2, 0, |
3005 "Delete the symbol named NAME, if any, from OBARRAY.\n\ | 2976 doc: /* Delete the symbol named NAME, if any, from OBARRAY. |
3006 The value is t if a symbol was found and deleted, nil otherwise.\n\ | 2977 The value is t if a symbol was found and deleted, nil otherwise. |
3007 NAME may be a string or a symbol. If it is a symbol, that symbol\n\ | 2978 NAME may be a string or a symbol. If it is a symbol, that symbol |
3008 is deleted, if it belongs to OBARRAY--no other symbol is deleted.\n\ | 2979 is deleted, if it belongs to OBARRAY--no other symbol is deleted. |
3009 OBARRAY defaults to the value of the variable `obarray'.") | 2980 OBARRAY defaults to the value of the variable `obarray'. */) |
3010 (name, obarray) | 2981 (name, obarray) |
3011 Lisp_Object name, obarray; | 2982 Lisp_Object name, obarray; |
3012 { | 2983 { |
3013 register Lisp_Object string, tem; | 2984 register Lisp_Object string, tem; |
3014 int hash; | 2985 int hash; |
3015 | 2986 |
3162 { | 3133 { |
3163 call1 (function, sym); | 3134 call1 (function, sym); |
3164 } | 3135 } |
3165 | 3136 |
3166 DEFUN ("mapatoms", Fmapatoms, Smapatoms, 1, 2, 0, | 3137 DEFUN ("mapatoms", Fmapatoms, Smapatoms, 1, 2, 0, |
3167 "Call FUNCTION on every symbol in OBARRAY.\n\ | 3138 doc: /* Call FUNCTION on every symbol in OBARRAY. |
3168 OBARRAY defaults to the value of `obarray'.") | 3139 OBARRAY defaults to the value of `obarray'. */) |
3169 (function, obarray) | 3140 (function, obarray) |
3170 Lisp_Object function, obarray; | 3141 Lisp_Object function, obarray; |
3171 { | 3142 { |
3172 if (NILP (obarray)) obarray = Vobarray; | 3143 if (NILP (obarray)) obarray = Vobarray; |
3173 obarray = check_obarray (obarray); | 3144 obarray = check_obarray (obarray); |
3174 | 3145 |
3244 } | 3215 } |
3245 #endif /* NOTDEF */ | 3216 #endif /* NOTDEF */ |
3246 | 3217 |
3247 /* Define an "integer variable"; a symbol whose value is forwarded | 3218 /* Define an "integer variable"; a symbol whose value is forwarded |
3248 to a C variable of type int. Sample call: */ | 3219 to a C variable of type int. Sample call: */ |
3249 /* DEFVAR_INT ("indent-tabs-mode", &indent_tabs_mode, "Documentation"); */ | 3220 /* DEFVAR_INT ("indent-tabs-mode", &indent_tabs_mode, "Documentation"); */ |
3250 void | 3221 void |
3251 defvar_int (namestring, address) | 3222 defvar_int (namestring, address) |
3252 char *namestring; | 3223 char *namestring; |
3253 int *address; | 3224 int *address; |
3254 { | 3225 { |
3558 defsubr (&Sread_event); | 3529 defsubr (&Sread_event); |
3559 defsubr (&Sget_file_char); | 3530 defsubr (&Sget_file_char); |
3560 defsubr (&Smapatoms); | 3531 defsubr (&Smapatoms); |
3561 | 3532 |
3562 DEFVAR_LISP ("obarray", &Vobarray, | 3533 DEFVAR_LISP ("obarray", &Vobarray, |
3563 "Symbol table for use by `intern' and `read'.\n\ | 3534 doc: /* Symbol table for use by `intern' and `read'. |
3564 It is a vector whose length ought to be prime for best results.\n\ | 3535 It is a vector whose length ought to be prime for best results. |
3565 The vector's contents don't make sense if examined from Lisp programs;\n\ | 3536 The vector's contents don't make sense if examined from Lisp programs; |
3566 to find all the symbols in an obarray, use `mapatoms'."); | 3537 to find all the symbols in an obarray, use `mapatoms'. */); |
3567 | 3538 |
3568 DEFVAR_LISP ("values", &Vvalues, | 3539 DEFVAR_LISP ("values", &Vvalues, |
3569 "List of values of all expressions which were read, evaluated and printed.\n\ | 3540 doc: /* List of values of all expressions which were read, evaluated and printed. |
3570 Order is reverse chronological."); | 3541 Order is reverse chronological. */); |
3571 | 3542 |
3572 DEFVAR_LISP ("standard-input", &Vstandard_input, | 3543 DEFVAR_LISP ("standard-input", &Vstandard_input, |
3573 "Stream for read to get input from.\n\ | 3544 doc: /* Stream for read to get input from. |
3574 See documentation of `read' for possible values."); | 3545 See documentation of `read' for possible values. */); |
3575 Vstandard_input = Qt; | 3546 Vstandard_input = Qt; |
3576 | 3547 |
3577 DEFVAR_LISP ("load-path", &Vload_path, | 3548 DEFVAR_LISP ("load-path", &Vload_path, |
3578 "*List of directories to search for files to load.\n\ | 3549 doc: /* *List of directories to search for files to load. |
3579 Each element is a string (directory name) or nil (try default directory).\n\ | 3550 Each element is a string (directory name) or nil (try default directory). |
3580 Initialized based on EMACSLOADPATH environment variable, if any,\n\ | 3551 Initialized based on EMACSLOADPATH environment variable, if any, |
3581 otherwise to default specified by file `epaths.h' when Emacs was built."); | 3552 otherwise to default specified by file `epaths.h' when Emacs was built. */); |
3582 | 3553 |
3583 DEFVAR_LISP ("load-suffixes", &Vload_suffixes, | 3554 DEFVAR_LISP ("load-suffixes", &Vload_suffixes, |
3584 "*List of suffixes to try for files to load.\n\ | 3555 doc: /* *List of suffixes to try for files to load. |
3585 This list should not include the empty string."); | 3556 This list should not include the empty string. */); |
3586 Vload_suffixes = Fcons (build_string (".elc"), | 3557 Vload_suffixes = Fcons (build_string (".elc"), |
3587 Fcons (build_string (".el"), Qnil)); | 3558 Fcons (build_string (".el"), Qnil)); |
3588 /* We don't use empty_string because it's not initialized yet. */ | 3559 /* We don't use empty_string because it's not initialized yet. */ |
3589 default_suffixes = Fcons (build_string (""), Qnil); | 3560 default_suffixes = Fcons (build_string (""), Qnil); |
3590 staticpro (&default_suffixes); | 3561 staticpro (&default_suffixes); |
3591 | 3562 |
3592 DEFVAR_BOOL ("load-in-progress", &load_in_progress, | 3563 DEFVAR_BOOL ("load-in-progress", &load_in_progress, |
3593 "Non-nil iff inside of `load'."); | 3564 doc: /* Non-nil iff inside of `load'. */); |
3594 | 3565 |
3595 DEFVAR_LISP ("after-load-alist", &Vafter_load_alist, | 3566 DEFVAR_LISP ("after-load-alist", &Vafter_load_alist, |
3596 "An alist of expressions to be evalled when particular files are loaded.\n\ | 3567 doc: /* An alist of expressions to be evalled when particular files are loaded. |
3597 Each element looks like (FILENAME FORMS...).\n\ | 3568 Each element looks like (FILENAME FORMS...). |
3598 When `load' is run and the file-name argument is FILENAME,\n\ | 3569 When `load' is run and the file-name argument is FILENAME, |
3599 the FORMS in the corresponding element are executed at the end of loading.\n\n\ | 3570 the FORMS in the corresponding element are executed at the end of loading. |
3600 FILENAME must match exactly! Normally FILENAME is the name of a library,\n\ | 3571 |
3601 with no directory specified, since that is how `load' is normally called.\n\ | 3572 FILENAME must match exactly! Normally FILENAME is the name of a library, |
3602 An error in FORMS does not undo the load,\n\ | 3573 with no directory specified, since that is how `load' is normally called. |
3603 but does prevent execution of the rest of the FORMS.\n\ | 3574 An error in FORMS does not undo the load, |
3604 FILENAME can also be a symbol (a feature) and FORMS are then executed\n\ | 3575 but does prevent execution of the rest of the FORMS. |
3605 when the corresponding call to `provide' is made."); | 3576 FILENAME can also be a symbol (a feature) and FORMS are then executed |
3577 when the corresponding call to `provide' is made. */); | |
3606 Vafter_load_alist = Qnil; | 3578 Vafter_load_alist = Qnil; |
3607 | 3579 |
3608 DEFVAR_LISP ("load-history", &Vload_history, | 3580 DEFVAR_LISP ("load-history", &Vload_history, |
3609 "Alist mapping source file names to symbols and features.\n\ | 3581 doc: /* Alist mapping source file names to symbols and features. |
3610 Each alist element is a list that starts with a file name,\n\ | 3582 Each alist element is a list that starts with a file name, |
3611 except for one element (optional) that starts with nil and describes\n\ | 3583 except for one element (optional) that starts with nil and describes |
3612 definitions evaluated from buffers not visiting files.\n\ | 3584 definitions evaluated from buffers not visiting files. |
3613 The remaining elements of each list are symbols defined as functions\n\ | 3585 The remaining elements of each list are symbols defined as functions |
3614 or variables, and cons cells `(provide . FEATURE)', `(require . FEATURE)',\n\ | 3586 or variables, and cons cells `(provide . FEATURE)', `(require . FEATURE)', |
3615 and `(autoload . SYMBOL)'."); | 3587 and `(autoload . SYMBOL)'. */); |
3616 Vload_history = Qnil; | 3588 Vload_history = Qnil; |
3617 | 3589 |
3618 DEFVAR_LISP ("load-file-name", &Vload_file_name, | 3590 DEFVAR_LISP ("load-file-name", &Vload_file_name, |
3619 "Full name of file being loaded by `load'."); | 3591 doc: /* Full name of file being loaded by `load'. */); |
3620 Vload_file_name = Qnil; | 3592 Vload_file_name = Qnil; |
3621 | 3593 |
3622 DEFVAR_LISP ("user-init-file", &Vuser_init_file, | 3594 DEFVAR_LISP ("user-init-file", &Vuser_init_file, |
3623 "File name, including directory, of user's initialization file.\n\ | 3595 doc: /* File name, including directory, of user's initialization file. |
3624 If the file loaded had extension `.elc' and there was a corresponding `.el'\n\ | 3596 If the file loaded had extension `.elc' and there was a corresponding `.el' |
3625 file, this variable contains the name of the .el file, suitable for use\n\ | 3597 file, this variable contains the name of the .el file, suitable for use |
3626 by functions like `custom-save-all' which edit the init file."); | 3598 by functions like `custom-save-all' which edit the init file. */); |
3627 Vuser_init_file = Qnil; | 3599 Vuser_init_file = Qnil; |
3628 | 3600 |
3629 DEFVAR_LISP ("current-load-list", &Vcurrent_load_list, | 3601 DEFVAR_LISP ("current-load-list", &Vcurrent_load_list, |
3630 "Used for internal purposes by `load'."); | 3602 doc: /* Used for internal purposes by `load'. */); |
3631 Vcurrent_load_list = Qnil; | 3603 Vcurrent_load_list = Qnil; |
3632 | 3604 |
3633 DEFVAR_LISP ("load-read-function", &Vload_read_function, | 3605 DEFVAR_LISP ("load-read-function", &Vload_read_function, |
3634 "Function used by `load' and `eval-region' for reading expressions.\n\ | 3606 doc: /* Function used by `load' and `eval-region' for reading expressions. |
3635 The default is nil, which means use the function `read'."); | 3607 The default is nil, which means use the function `read'. */); |
3636 Vload_read_function = Qnil; | 3608 Vload_read_function = Qnil; |
3637 | 3609 |
3638 DEFVAR_LISP ("load-source-file-function", &Vload_source_file_function, | 3610 DEFVAR_LISP ("load-source-file-function", &Vload_source_file_function, |
3639 "Function called in `load' for loading an Emacs lisp source file.\n\ | 3611 doc: /* Function called in `load' for loading an Emacs lisp source file. |
3640 This function is for doing code conversion before reading the source file.\n\ | 3612 This function is for doing code conversion before reading the source file. |
3641 If nil, loading is done without any code conversion.\n\ | 3613 If nil, loading is done without any code conversion. |
3642 Arguments are FULLNAME, FILE, NOERROR, NOMESSAGE, where\n\ | 3614 Arguments are FULLNAME, FILE, NOERROR, NOMESSAGE, where |
3643 FULLNAME is the full name of FILE.\n\ | 3615 FULLNAME is the full name of FILE. |
3644 See `load' for the meaning of the remaining arguments."); | 3616 See `load' for the meaning of the remaining arguments. */); |
3645 Vload_source_file_function = Qnil; | 3617 Vload_source_file_function = Qnil; |
3646 | 3618 |
3647 DEFVAR_BOOL ("load-force-doc-strings", &load_force_doc_strings, | 3619 DEFVAR_BOOL ("load-force-doc-strings", &load_force_doc_strings, |
3648 "Non-nil means `load' should force-load all dynamic doc strings.\n\ | 3620 doc: /* Non-nil means `load' should force-load all dynamic doc strings. |
3649 This is useful when the file being loaded is a temporary copy."); | 3621 This is useful when the file being loaded is a temporary copy. */); |
3650 load_force_doc_strings = 0; | 3622 load_force_doc_strings = 0; |
3651 | 3623 |
3652 DEFVAR_BOOL ("load-convert-to-unibyte", &load_convert_to_unibyte, | 3624 DEFVAR_BOOL ("load-convert-to-unibyte", &load_convert_to_unibyte, |
3653 "Non-nil means `read' converts strings to unibyte whenever possible.\n\ | 3625 doc: /* Non-nil means `read' converts strings to unibyte whenever possible. |
3654 This is normally bound by `load' and `eval-buffer' to control `read',\n\ | 3626 This is normally bound by `load' and `eval-buffer' to control `read', |
3655 and is not meant for users to change."); | 3627 and is not meant for users to change. */); |
3656 load_convert_to_unibyte = 0; | 3628 load_convert_to_unibyte = 0; |
3657 | 3629 |
3658 DEFVAR_LISP ("source-directory", &Vsource_directory, | 3630 DEFVAR_LISP ("source-directory", &Vsource_directory, |
3659 "Directory in which Emacs sources were found when Emacs was built.\n\ | 3631 doc: /* Directory in which Emacs sources were found when Emacs was built. |
3660 You cannot count on them to still be there!"); | 3632 You cannot count on them to still be there! */); |
3661 Vsource_directory | 3633 Vsource_directory |
3662 = Fexpand_file_name (build_string ("../"), | 3634 = Fexpand_file_name (build_string ("../"), |
3663 Fcar (decode_env_path (0, PATH_DUMPLOADSEARCH))); | 3635 Fcar (decode_env_path (0, PATH_DUMPLOADSEARCH))); |
3664 | 3636 |
3665 DEFVAR_LISP ("preloaded-file-list", &Vpreloaded_file_list, | 3637 DEFVAR_LISP ("preloaded-file-list", &Vpreloaded_file_list, |
3666 "List of files that were preloaded (when dumping Emacs)."); | 3638 doc: /* List of files that were preloaded (when dumping Emacs). */); |
3667 Vpreloaded_file_list = Qnil; | 3639 Vpreloaded_file_list = Qnil; |
3668 | 3640 |
3669 DEFVAR_LISP ("byte-boolean-vars", &Vbyte_boolean_vars, | 3641 DEFVAR_LISP ("byte-boolean-vars", &Vbyte_boolean_vars, |
3670 "List of all DEFVAR_BOOL variables, used by the byte code optimizer."); | 3642 doc: /* List of all DEFVAR_BOOL variables, used by the byte code optimizer. */); |
3671 Vbyte_boolean_vars = Qnil; | 3643 Vbyte_boolean_vars = Qnil; |
3672 | 3644 |
3673 DEFVAR_BOOL ("load-dangerous-libraries", &load_dangerous_libraries, | 3645 DEFVAR_BOOL ("load-dangerous-libraries", &load_dangerous_libraries, |
3674 "Non-nil means load dangerous compiled Lisp files.\n\ | 3646 doc: /* Non-nil means load dangerous compiled Lisp files. |
3675 Some versions of XEmacs use different byte codes than Emacs. These\n\ | 3647 Some versions of XEmacs use different byte codes than Emacs. These |
3676 incompatible byte codes can make Emacs crash when it tries to execute\n\ | 3648 incompatible byte codes can make Emacs crash when it tries to execute |
3677 them."); | 3649 them. */); |
3678 load_dangerous_libraries = 0; | 3650 load_dangerous_libraries = 0; |
3679 | 3651 |
3680 DEFVAR_LISP ("bytecomp-version-regexp", &Vbytecomp_version_regexp, | 3652 DEFVAR_LISP ("bytecomp-version-regexp", &Vbytecomp_version_regexp, |
3681 "Regular expression matching safe to load compiled Lisp files.\n\ | 3653 doc: /* Regular expression matching safe to load compiled Lisp files. |
3682 When Emacs loads a compiled Lisp file, it reads the first 512 bytes\n\ | 3654 When Emacs loads a compiled Lisp file, it reads the first 512 bytes |
3683 from the file, and matches them against this regular expression.\n\ | 3655 from the file, and matches them against this regular expression. |
3684 When the regular expression matches, the file is considered to be safe\n\ | 3656 When the regular expression matches, the file is considered to be safe |
3685 to load. See also `load-dangerous-libraries'."); | 3657 to load. See also `load-dangerous-libraries'. */); |
3686 Vbytecomp_version_regexp | 3658 Vbytecomp_version_regexp |
3687 = build_string ("^;;;.\\(in Emacs version\\|bytecomp version FSF\\)"); | 3659 = build_string ("^;;;.\\(in Emacs version\\|bytecomp version FSF\\)"); |
3688 | 3660 |
3689 DEFVAR_LISP ("recursive-load-depth-limit", &Vrecursive_load_depth_limit, | 3661 DEFVAR_LISP ("recursive-load-depth-limit", &Vrecursive_load_depth_limit, |
3690 "Limit for depth of recursive loads.\n\ | 3662 doc: /* Limit for depth of recursive loads. |
3691 Value should be either an integer > 0 specifying the limit, or nil for\n\ | 3663 Value should be either an integer > 0 specifying the limit, or nil for |
3692 no limit."); | 3664 no limit. */); |
3693 Vrecursive_load_depth_limit = make_number (50); | 3665 Vrecursive_load_depth_limit = make_number (50); |
3694 | 3666 |
3695 /* Vsource_directory was initialized in init_lread. */ | 3667 /* Vsource_directory was initialized in init_lread. */ |
3696 | 3668 |
3697 load_descriptor_list = Qnil; | 3669 load_descriptor_list = Qnil; |