diff options
| author | Stefan Monnier | 2011-04-01 11:16:50 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2011-04-01 11:16:50 -0400 |
| commit | 7200d79c65c65686495dd95e9f6dd436cf6db55e (patch) | |
| tree | 5ad8e8f4ad0bb2dadfdc1d670cb3cd47db28a3f8 /src | |
| parent | 40d83b412f584cc02e68d4eac8fd5e6eb769e2fe (diff) | |
| download | emacs-old-branches/lexbind-new.tar.gz emacs-old-branches/lexbind-new.zip | |
Miscellanous cleanups in preparation for the merge.old-branches/lexbind-new
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
Remove debug statement.
* lisp/emacs-lisp/bytecomp.el (byte-compile-single-version)
(byte-compile-version-cond, byte-compile-delay-out)
(byte-compile-delayed-out): Remove, unused.
* src/bytecode.c (Fbyte_code): Revert to old calling convention.
* src/lisp.h (COMPILED_PUSH_ARGS): Remove, unused.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/bytecode.c | 41 | ||||
| -rw-r--r-- | src/callint.c | 4 | ||||
| -rw-r--r-- | src/eval.c | 15 | ||||
| -rw-r--r-- | src/lisp.h | 3 | ||||
| -rw-r--r-- | src/lread.c | 33 | ||||
| -rw-r--r-- | src/window.c | 1 |
7 files changed, 44 insertions, 58 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index e34cd694321..04064adbaa3 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2011-04-01 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * bytecode.c (Fbyte_code): Revert to old calling convention. | ||
| 4 | * lisp.h (COMPILED_PUSH_ARGS): Remove, unused. | ||
| 5 | |||
| 1 | 2011-03-16 Stefan Monnier <monnier@iro.umontreal.ca> | 6 | 2011-03-16 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 7 | ||
| 3 | * image.c (parse_image_spec): Use Ffunctionp. | 8 | * image.c (parse_image_spec): Use Ffunctionp. |
diff --git a/src/bytecode.c b/src/bytecode.c index 01ae8055ebf..5d94cb0fb39 100644 --- a/src/bytecode.c +++ b/src/bytecode.c | |||
| @@ -51,7 +51,7 @@ by Hallvard: | |||
| 51 | * | 51 | * |
| 52 | * define BYTE_CODE_METER to enable generation of a byte-op usage histogram. | 52 | * define BYTE_CODE_METER to enable generation of a byte-op usage histogram. |
| 53 | */ | 53 | */ |
| 54 | #define BYTE_CODE_SAFE 1 | 54 | /* #define BYTE_CODE_SAFE */ |
| 55 | /* #define BYTE_CODE_METER */ | 55 | /* #define BYTE_CODE_METER */ |
| 56 | 56 | ||
| 57 | 57 | ||
| @@ -160,7 +160,7 @@ extern Lisp_Object Qand_optional, Qand_rest; | |||
| 160 | #ifdef BYTE_CODE_SAFE | 160 | #ifdef BYTE_CODE_SAFE |
| 161 | #define Bset_mark 0163 /* this loser is no longer generated as of v18 */ | 161 | #define Bset_mark 0163 /* this loser is no longer generated as of v18 */ |
| 162 | #endif | 162 | #endif |
| 163 | #define Binteractive_p 0164 /* Obsolete. */ | 163 | #define Binteractive_p 0164 /* Obsolete since Emacs-24.1. */ |
| 164 | 164 | ||
| 165 | #define Bforward_char 0165 | 165 | #define Bforward_char 0165 |
| 166 | #define Bforward_word 0166 | 166 | #define Bforward_word 0166 |
| @@ -185,16 +185,16 @@ extern Lisp_Object Qand_optional, Qand_rest; | |||
| 185 | #define Bdup 0211 | 185 | #define Bdup 0211 |
| 186 | 186 | ||
| 187 | #define Bsave_excursion 0212 | 187 | #define Bsave_excursion 0212 |
| 188 | #define Bsave_window_excursion 0213 /* Obsolete. */ | 188 | #define Bsave_window_excursion 0213 /* Obsolete since Emacs-24.1. */ |
| 189 | #define Bsave_restriction 0214 | 189 | #define Bsave_restriction 0214 |
| 190 | #define Bcatch 0215 | 190 | #define Bcatch 0215 |
| 191 | 191 | ||
| 192 | #define Bunwind_protect 0216 | 192 | #define Bunwind_protect 0216 |
| 193 | #define Bcondition_case 0217 | 193 | #define Bcondition_case 0217 |
| 194 | #define Btemp_output_buffer_setup 0220 /* Obsolete. */ | 194 | #define Btemp_output_buffer_setup 0220 /* Obsolete since Emacs-24.1. */ |
| 195 | #define Btemp_output_buffer_show 0221 /* Obsolete. */ | 195 | #define Btemp_output_buffer_show 0221 /* Obsolete since Emacs-24.1. */ |
| 196 | 196 | ||
| 197 | #define Bunbind_all 0222 /* Obsolete. */ | 197 | #define Bunbind_all 0222 /* Obsolete. Never used. */ |
| 198 | 198 | ||
| 199 | #define Bset_marker 0223 | 199 | #define Bset_marker 0223 |
| 200 | #define Bmatch_beginning 0224 | 200 | #define Bmatch_beginning 0224 |
| @@ -413,24 +413,15 @@ unmark_byte_stack (void) | |||
| 413 | } while (0) | 413 | } while (0) |
| 414 | 414 | ||
| 415 | 415 | ||
| 416 | DEFUN ("byte-code", Fbyte_code, Sbyte_code, 3, MANY, 0, | 416 | DEFUN ("byte-code", Fbyte_code, Sbyte_code, 3, 3, 0, |
| 417 | doc: /* Function used internally in byte-compiled code. | 417 | doc: /* Function used internally in byte-compiled code. |
| 418 | The first argument, BYTESTR, is a string of byte code; | 418 | The first argument, BYTESTR, is a string of byte code; |
| 419 | the second, VECTOR, a vector of constants; | 419 | the second, VECTOR, a vector of constants; |
| 420 | the third, MAXDEPTH, the maximum stack depth used in this function. | 420 | the third, MAXDEPTH, the maximum stack depth used in this function. |
| 421 | If the third argument is incorrect, Emacs may crash. | 421 | If the third argument is incorrect, Emacs may crash. */) |
| 422 | 422 | (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth) | |
| 423 | If ARGS-TEMPLATE is specified, it is an argument list specification, | ||
| 424 | according to which any remaining arguments are pushed on the stack | ||
| 425 | before executing BYTESTR. | ||
| 426 | |||
| 427 | usage: (byte-code BYTESTR VECTOR MAXDEP &optional ARGS-TEMPLATE &rest ARGS) */) | ||
| 428 | (size_t nargs, Lisp_Object *args) | ||
| 429 | { | 423 | { |
| 430 | Lisp_Object args_tmpl = nargs >= 4 ? args[3] : Qnil; | 424 | return exec_byte_code (bytestr, vector, maxdepth, Qnil, 0, NULL); |
| 431 | int pnargs = nargs >= 4 ? nargs - 4 : 0; | ||
| 432 | Lisp_Object *pargs = nargs >= 4 ? args + 4 : 0; | ||
| 433 | return exec_byte_code (args[0], args[1], args[2], args_tmpl, pnargs, pargs); | ||
| 434 | } | 425 | } |
| 435 | 426 | ||
| 436 | /* Execute the byte-code in BYTESTR. VECTOR is the constant vector, and | 427 | /* Execute the byte-code in BYTESTR. VECTOR is the constant vector, and |
| @@ -810,7 +801,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, | |||
| 810 | AFTER_POTENTIAL_GC (); | 801 | AFTER_POTENTIAL_GC (); |
| 811 | break; | 802 | break; |
| 812 | 803 | ||
| 813 | case Bunbind_all: /* Obsolete. */ | 804 | case Bunbind_all: /* Obsolete. Never used. */ |
| 814 | /* To unbind back to the beginning of this frame. Not used yet, | 805 | /* To unbind back to the beginning of this frame. Not used yet, |
| 815 | but will be needed for tail-recursion elimination. */ | 806 | but will be needed for tail-recursion elimination. */ |
| 816 | BEFORE_POTENTIAL_GC (); | 807 | BEFORE_POTENTIAL_GC (); |
| @@ -938,12 +929,12 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, | |||
| 938 | save_excursion_save ()); | 929 | save_excursion_save ()); |
| 939 | break; | 930 | break; |
| 940 | 931 | ||
| 941 | case Bsave_current_buffer: /* Obsolete. */ | 932 | case Bsave_current_buffer: /* Obsolete since ??. */ |
| 942 | case Bsave_current_buffer_1: | 933 | case Bsave_current_buffer_1: |
| 943 | record_unwind_protect (set_buffer_if_live, Fcurrent_buffer ()); | 934 | record_unwind_protect (set_buffer_if_live, Fcurrent_buffer ()); |
| 944 | break; | 935 | break; |
| 945 | 936 | ||
| 946 | case Bsave_window_excursion: /* Obsolete. */ | 937 | case Bsave_window_excursion: /* Obsolete since 24.1. */ |
| 947 | { | 938 | { |
| 948 | register int count = SPECPDL_INDEX (); | 939 | register int count = SPECPDL_INDEX (); |
| 949 | record_unwind_protect (Fset_window_configuration, | 940 | record_unwind_protect (Fset_window_configuration, |
| @@ -985,7 +976,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, | |||
| 985 | break; | 976 | break; |
| 986 | } | 977 | } |
| 987 | 978 | ||
| 988 | case Btemp_output_buffer_setup: /* Obsolete. */ | 979 | case Btemp_output_buffer_setup: /* Obsolete since 24.1. */ |
| 989 | BEFORE_POTENTIAL_GC (); | 980 | BEFORE_POTENTIAL_GC (); |
| 990 | CHECK_STRING (TOP); | 981 | CHECK_STRING (TOP); |
| 991 | temp_output_buffer_setup (SSDATA (TOP)); | 982 | temp_output_buffer_setup (SSDATA (TOP)); |
| @@ -993,7 +984,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, | |||
| 993 | TOP = Vstandard_output; | 984 | TOP = Vstandard_output; |
| 994 | break; | 985 | break; |
| 995 | 986 | ||
| 996 | case Btemp_output_buffer_show: /* Obsolete. */ | 987 | case Btemp_output_buffer_show: /* Obsolete since 24.1. */ |
| 997 | { | 988 | { |
| 998 | Lisp_Object v1; | 989 | Lisp_Object v1; |
| 999 | BEFORE_POTENTIAL_GC (); | 990 | BEFORE_POTENTIAL_GC (); |
| @@ -1465,7 +1456,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, | |||
| 1465 | AFTER_POTENTIAL_GC (); | 1456 | AFTER_POTENTIAL_GC (); |
| 1466 | break; | 1457 | break; |
| 1467 | 1458 | ||
| 1468 | case Binteractive_p: /* Obsolete. */ | 1459 | case Binteractive_p: /* Obsolete since 24.1. */ |
| 1469 | PUSH (Finteractive_p ()); | 1460 | PUSH (Finteractive_p ()); |
| 1470 | break; | 1461 | break; |
| 1471 | 1462 | ||
diff --git a/src/callint.c b/src/callint.c index 489fa392e46..60570369d9e 100644 --- a/src/callint.c +++ b/src/callint.c | |||
| @@ -171,8 +171,8 @@ static void | |||
| 171 | fix_command (Lisp_Object input, Lisp_Object values) | 171 | fix_command (Lisp_Object input, Lisp_Object values) |
| 172 | { | 172 | { |
| 173 | /* FIXME: Instead of this ugly hack, we should provide a way for an | 173 | /* FIXME: Instead of this ugly hack, we should provide a way for an |
| 174 | interactive spec to return an expression that will re-build the args | 174 | interactive spec to return an expression/function that will re-build the |
| 175 | without user intervention. */ | 175 | args without user intervention. */ |
| 176 | if (CONSP (input)) | 176 | if (CONSP (input)) |
| 177 | { | 177 | { |
| 178 | Lisp_Object car; | 178 | Lisp_Object car; |
diff --git a/src/eval.c b/src/eval.c index 9f90e6df4b5..0e47d7c757c 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -117,10 +117,10 @@ Lisp_Object Vsignaling_function; | |||
| 117 | 117 | ||
| 118 | int handling_signal; | 118 | int handling_signal; |
| 119 | 119 | ||
| 120 | static Lisp_Object apply_lambda (Lisp_Object fun, Lisp_Object args); | ||
| 121 | static Lisp_Object funcall_lambda (Lisp_Object, size_t, Lisp_Object *); | 120 | static Lisp_Object funcall_lambda (Lisp_Object, size_t, Lisp_Object *); |
| 122 | static void unwind_to_catch (struct catchtag *, Lisp_Object) NO_RETURN; | 121 | static void unwind_to_catch (struct catchtag *, Lisp_Object) NO_RETURN; |
| 123 | static int interactive_p (int); | 122 | static int interactive_p (int); |
| 123 | static Lisp_Object apply_lambda (Lisp_Object fun, Lisp_Object args); | ||
| 124 | 124 | ||
| 125 | void | 125 | void |
| 126 | init_eval_once (void) | 126 | init_eval_once (void) |
| @@ -684,7 +684,7 @@ usage: (defmacro NAME ARGLIST [DOCSTRING] [DECL] BODY...) */) | |||
| 684 | tail = Fcons (lambda_list, tail); | 684 | tail = Fcons (lambda_list, tail); |
| 685 | else | 685 | else |
| 686 | tail = Fcons (lambda_list, Fcons (doc, tail)); | 686 | tail = Fcons (lambda_list, Fcons (doc, tail)); |
| 687 | 687 | ||
| 688 | defn = Fcons (Qlambda, tail); | 688 | defn = Fcons (Qlambda, tail); |
| 689 | if (!NILP (Vinternal_interpreter_environment)) /* Mere optimization! */ | 689 | if (!NILP (Vinternal_interpreter_environment)) /* Mere optimization! */ |
| 690 | defn = Ffunction (Fcons (defn, Qnil)); | 690 | defn = Ffunction (Fcons (defn, Qnil)); |
| @@ -1012,11 +1012,8 @@ usage: (let* VARLIST BODY...) */) | |||
| 1012 | 1012 | ||
| 1013 | varlist = XCDR (varlist); | 1013 | varlist = XCDR (varlist); |
| 1014 | } | 1014 | } |
| 1015 | |||
| 1016 | UNGCPRO; | 1015 | UNGCPRO; |
| 1017 | |||
| 1018 | val = Fprogn (Fcdr (args)); | 1016 | val = Fprogn (Fcdr (args)); |
| 1019 | |||
| 1020 | return unbind_to (count, val); | 1017 | return unbind_to (count, val); |
| 1021 | } | 1018 | } |
| 1022 | 1019 | ||
| @@ -2083,7 +2080,8 @@ then strings and vectors are not accepted. */) | |||
| 2083 | return Qnil; | 2080 | return Qnil; |
| 2084 | funcar = XCAR (fun); | 2081 | funcar = XCAR (fun); |
| 2085 | if (EQ (funcar, Qclosure)) | 2082 | if (EQ (funcar, Qclosure)) |
| 2086 | return !NILP (Fassq (Qinteractive, Fcdr (Fcdr (XCDR (fun))))) ? Qt : if_prop; | 2083 | return (!NILP (Fassq (Qinteractive, Fcdr (Fcdr (XCDR (fun))))) |
| 2084 | ? Qt : if_prop); | ||
| 2087 | else if (EQ (funcar, Qlambda)) | 2085 | else if (EQ (funcar, Qlambda)) |
| 2088 | return !NILP (Fassq (Qinteractive, Fcdr (XCDR (fun)))) ? Qt : if_prop; | 2086 | return !NILP (Fassq (Qinteractive, Fcdr (XCDR (fun)))) ? Qt : if_prop; |
| 2089 | else if (EQ (funcar, Qautoload)) | 2087 | else if (EQ (funcar, Qautoload)) |
| @@ -2898,7 +2896,7 @@ call7 (Lisp_Object fn, Lisp_Object arg1, Lisp_Object arg2, Lisp_Object arg3, | |||
| 2898 | /* The caller should GCPRO all the elements of ARGS. */ | 2896 | /* The caller should GCPRO all the elements of ARGS. */ |
| 2899 | 2897 | ||
| 2900 | DEFUN ("functionp", Ffunctionp, Sfunctionp, 1, 1, 0, | 2898 | DEFUN ("functionp", Ffunctionp, Sfunctionp, 1, 1, 0, |
| 2901 | doc: /* Return non-nil if OBJECT is a type of object that can be called as a function. */) | 2899 | doc: /* Non-nil if OBJECT is a function. */) |
| 2902 | (Lisp_Object object) | 2900 | (Lisp_Object object) |
| 2903 | { | 2901 | { |
| 2904 | if (SYMBOLP (object) && !NILP (Ffboundp (object))) | 2902 | if (SYMBOLP (object) && !NILP (Ffboundp (object))) |
| @@ -3220,7 +3218,7 @@ funcall_lambda (Lisp_Object fun, size_t nargs, | |||
| 3220 | xsignal2 (Qwrong_number_of_arguments, fun, make_number (nargs)); | 3218 | xsignal2 (Qwrong_number_of_arguments, fun, make_number (nargs)); |
| 3221 | else | 3219 | else |
| 3222 | val = Qnil; | 3220 | val = Qnil; |
| 3223 | 3221 | ||
| 3224 | /* Bind the argument. */ | 3222 | /* Bind the argument. */ |
| 3225 | if (!NILP (lexenv) && SYMBOLP (next)) | 3223 | if (!NILP (lexenv) && SYMBOLP (next)) |
| 3226 | /* Lexically bind NEXT by adding it to the lexenv alist. */ | 3224 | /* Lexically bind NEXT by adding it to the lexenv alist. */ |
| @@ -3501,7 +3499,6 @@ context where binding is lexical by default. */) | |||
| 3501 | } | 3499 | } |
| 3502 | 3500 | ||
| 3503 | 3501 | ||
| 3504 | |||
| 3505 | DEFUN ("backtrace-debug", Fbacktrace_debug, Sbacktrace_debug, 2, 2, 0, | 3502 | DEFUN ("backtrace-debug", Fbacktrace_debug, Sbacktrace_debug, 2, 2, 0, |
| 3506 | doc: /* Set the debug-on-exit flag of eval frame LEVEL levels down to FLAG. | 3503 | doc: /* Set the debug-on-exit flag of eval frame LEVEL levels down to FLAG. |
| 3507 | The debugger is entered when that frame exits, if the flag is non-nil. */) | 3504 | The debugger is entered when that frame exits, if the flag is non-nil. */) |
diff --git a/src/lisp.h b/src/lisp.h index bd70dcebbdb..580dbd11013 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -1483,7 +1483,6 @@ typedef unsigned char UCHAR; | |||
| 1483 | #define COMPILED_STACK_DEPTH 3 | 1483 | #define COMPILED_STACK_DEPTH 3 |
| 1484 | #define COMPILED_DOC_STRING 4 | 1484 | #define COMPILED_DOC_STRING 4 |
| 1485 | #define COMPILED_INTERACTIVE 5 | 1485 | #define COMPILED_INTERACTIVE 5 |
| 1486 | #define COMPILED_PUSH_ARGS 6 | ||
| 1487 | 1486 | ||
| 1488 | /* Flag bits in a character. These also get used in termhooks.h. | 1487 | /* Flag bits in a character. These also get used in termhooks.h. |
| 1489 | Richard Stallman <rms@gnu.ai.mit.edu> thinks that MULE | 1488 | Richard Stallman <rms@gnu.ai.mit.edu> thinks that MULE |
| @@ -3264,7 +3263,7 @@ extern int read_bytecode_char (int); | |||
| 3264 | 3263 | ||
| 3265 | /* Defined in bytecode.c */ | 3264 | /* Defined in bytecode.c */ |
| 3266 | extern Lisp_Object Qbytecode; | 3265 | extern Lisp_Object Qbytecode; |
| 3267 | EXFUN (Fbyte_code, MANY); | 3266 | EXFUN (Fbyte_code, 3); |
| 3268 | extern void syms_of_bytecode (void); | 3267 | extern void syms_of_bytecode (void); |
| 3269 | extern struct byte_stack *byte_stack_list; | 3268 | extern struct byte_stack *byte_stack_list; |
| 3270 | #ifdef BYTE_MARK_STACK | 3269 | #ifdef BYTE_MARK_STACK |
diff --git a/src/lread.c b/src/lread.c index 24183532527..6a24569f552 100644 --- a/src/lread.c +++ b/src/lread.c | |||
| @@ -796,16 +796,16 @@ lisp_file_lexically_bound_p (Lisp_Object readcharfun) | |||
| 796 | } beg_end_state = NOMINAL; | 796 | } beg_end_state = NOMINAL; |
| 797 | int in_file_vars = 0; | 797 | int in_file_vars = 0; |
| 798 | 798 | ||
| 799 | #define UPDATE_BEG_END_STATE(ch) \ | 799 | #define UPDATE_BEG_END_STATE(ch) \ |
| 800 | if (beg_end_state == NOMINAL) \ | 800 | if (beg_end_state == NOMINAL) \ |
| 801 | beg_end_state = (ch == '-' ? AFTER_FIRST_DASH : NOMINAL); \ | 801 | beg_end_state = (ch == '-' ? AFTER_FIRST_DASH : NOMINAL); \ |
| 802 | else if (beg_end_state == AFTER_FIRST_DASH) \ | 802 | else if (beg_end_state == AFTER_FIRST_DASH) \ |
| 803 | beg_end_state = (ch == '*' ? AFTER_ASTERIX : NOMINAL); \ | 803 | beg_end_state = (ch == '*' ? AFTER_ASTERIX : NOMINAL); \ |
| 804 | else if (beg_end_state == AFTER_ASTERIX) \ | 804 | else if (beg_end_state == AFTER_ASTERIX) \ |
| 805 | { \ | 805 | { \ |
| 806 | if (ch == '-') \ | 806 | if (ch == '-') \ |
| 807 | in_file_vars = !in_file_vars; \ | 807 | in_file_vars = !in_file_vars; \ |
| 808 | beg_end_state = NOMINAL; \ | 808 | beg_end_state = NOMINAL; \ |
| 809 | } | 809 | } |
| 810 | 810 | ||
| 811 | /* Skip until we get to the file vars, if any. */ | 811 | /* Skip until we get to the file vars, if any. */ |
| @@ -834,7 +834,7 @@ lisp_file_lexically_bound_p (Lisp_Object readcharfun) | |||
| 834 | UPDATE_BEG_END_STATE (ch); | 834 | UPDATE_BEG_END_STATE (ch); |
| 835 | ch = READCHAR; | 835 | ch = READCHAR; |
| 836 | } | 836 | } |
| 837 | 837 | ||
| 838 | while (var_end > var | 838 | while (var_end > var |
| 839 | && (var_end[-1] == ' ' || var_end[-1] == '\t')) | 839 | && (var_end[-1] == ' ' || var_end[-1] == '\t')) |
| 840 | var_end--; | 840 | var_end--; |
| @@ -880,7 +880,6 @@ lisp_file_lexically_bound_p (Lisp_Object readcharfun) | |||
| 880 | return rv; | 880 | return rv; |
| 881 | } | 881 | } |
| 882 | } | 882 | } |
| 883 | |||
| 884 | 883 | ||
| 885 | /* Value is a version number of byte compiled code if the file | 884 | /* Value is a version number of byte compiled code if the file |
| 886 | associated with file descriptor FD is a compiled Lisp file that's | 885 | associated with file descriptor FD is a compiled Lisp file that's |
| @@ -1275,7 +1274,6 @@ Return t if the file exists and loads successfully. */) | |||
| 1275 | specbind (Qinhibit_file_name_operation, Qnil); | 1274 | specbind (Qinhibit_file_name_operation, Qnil); |
| 1276 | load_descriptor_list | 1275 | load_descriptor_list |
| 1277 | = Fcons (make_number (fileno (stream)), load_descriptor_list); | 1276 | = Fcons (make_number (fileno (stream)), load_descriptor_list); |
| 1278 | |||
| 1279 | specbind (Qload_in_progress, Qt); | 1277 | specbind (Qload_in_progress, Qt); |
| 1280 | 1278 | ||
| 1281 | instream = stream; | 1279 | instream = stream; |
| @@ -1863,11 +1861,9 @@ This function preserves the position of point. */) | |||
| 1863 | 1861 | ||
| 1864 | specbind (Qeval_buffer_list, Fcons (buf, Veval_buffer_list)); | 1862 | specbind (Qeval_buffer_list, Fcons (buf, Veval_buffer_list)); |
| 1865 | specbind (Qstandard_output, tem); | 1863 | specbind (Qstandard_output, tem); |
| 1866 | specbind (Qlexical_binding, Qnil); | ||
| 1867 | record_unwind_protect (save_excursion_restore, save_excursion_save ()); | 1864 | record_unwind_protect (save_excursion_restore, save_excursion_save ()); |
| 1868 | BUF_TEMP_SET_PT (XBUFFER (buf), BUF_BEGV (XBUFFER (buf))); | 1865 | BUF_TEMP_SET_PT (XBUFFER (buf), BUF_BEGV (XBUFFER (buf))); |
| 1869 | if (lisp_file_lexically_bound_p (buf)) | 1866 | specbind (Qlexical_binding, lisp_file_lexically_bound_p (buf) ? Qt : Qnil); |
| 1870 | Fset (Qlexical_binding, Qt); | ||
| 1871 | readevalloop (buf, 0, filename, | 1867 | readevalloop (buf, 0, filename, |
| 1872 | !NILP (printflag), unibyte, Qnil, Qnil, Qnil); | 1868 | !NILP (printflag), unibyte, Qnil, Qnil, Qnil); |
| 1873 | unbind_to (count, Qnil); | 1869 | unbind_to (count, Qnil); |
| @@ -3336,7 +3332,6 @@ read_vector (Lisp_Object readcharfun, int bytecodeflag) | |||
| 3336 | for (i = 0; i < size; i++) | 3332 | for (i = 0; i < size; i++) |
| 3337 | { | 3333 | { |
| 3338 | item = Fcar (tem); | 3334 | item = Fcar (tem); |
| 3339 | |||
| 3340 | /* If `load-force-doc-strings' is t when reading a lazily-loaded | 3335 | /* If `load-force-doc-strings' is t when reading a lazily-loaded |
| 3341 | bytecode object, the docstring containing the bytecode and | 3336 | bytecode object, the docstring containing the bytecode and |
| 3342 | constants values must be treated as unibyte and passed to | 3337 | constants values must be treated as unibyte and passed to |
| @@ -3394,7 +3389,6 @@ read_vector (Lisp_Object readcharfun, int bytecodeflag) | |||
| 3394 | tem = Fcdr (tem); | 3389 | tem = Fcdr (tem); |
| 3395 | free_cons (otem); | 3390 | free_cons (otem); |
| 3396 | } | 3391 | } |
| 3397 | |||
| 3398 | return vector; | 3392 | return vector; |
| 3399 | } | 3393 | } |
| 3400 | 3394 | ||
| @@ -4024,7 +4018,6 @@ defvar_lisp (struct Lisp_Objfwd *o_fwd, | |||
| 4024 | staticpro (address); | 4018 | staticpro (address); |
| 4025 | } | 4019 | } |
| 4026 | 4020 | ||
| 4027 | |||
| 4028 | /* Similar but define a variable whose value is the Lisp Object stored | 4021 | /* Similar but define a variable whose value is the Lisp Object stored |
| 4029 | at a particular offset in the current kboard object. */ | 4022 | at a particular offset in the current kboard object. */ |
| 4030 | 4023 | ||
| @@ -4470,7 +4463,7 @@ to load. See also `load-dangerous-libraries'. */); | |||
| 4470 | doc: /* If non-nil, use lexical binding when evaluating code. | 4463 | doc: /* If non-nil, use lexical binding when evaluating code. |
| 4471 | This only applies to code evaluated by `eval-buffer' and `eval-region'. | 4464 | This only applies to code evaluated by `eval-buffer' and `eval-region'. |
| 4472 | This variable is automatically set from the file variables of an interpreted | 4465 | This variable is automatically set from the file variables of an interpreted |
| 4473 | lisp file read using `load'. */); | 4466 | Lisp file read using `load'. */); |
| 4474 | Fmake_variable_buffer_local (Qlexical_binding); | 4467 | Fmake_variable_buffer_local (Qlexical_binding); |
| 4475 | 4468 | ||
| 4476 | DEFVAR_LISP ("eval-buffer-list", Veval_buffer_list, | 4469 | DEFVAR_LISP ("eval-buffer-list", Veval_buffer_list, |
diff --git a/src/window.c b/src/window.c index 4bd533c22ac..7e40cdff42b 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -3649,6 +3649,7 @@ displaying that buffer. */) | |||
| 3649 | return Qnil; | 3649 | return Qnil; |
| 3650 | } | 3650 | } |
| 3651 | 3651 | ||
| 3652 | |||
| 3652 | void | 3653 | void |
| 3653 | temp_output_buffer_show (register Lisp_Object buf) | 3654 | temp_output_buffer_show (register Lisp_Object buf) |
| 3654 | { | 3655 | { |