diff options
| author | Richard M. Stallman | 1994-12-21 18:15:35 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1994-12-21 18:15:35 +0000 |
| commit | ca248607edd25a3d4385da7b084a15111b68466c (patch) | |
| tree | 6ab92b050ed129c3a85eff9fdd0461b708425172 /src/eval.c | |
| parent | 20ea2964cdf89eec255fb7d66064a9f1ab9e1575 (diff) | |
| download | emacs-ca248607edd25a3d4385da7b084a15111b68466c.tar.gz emacs-ca248607edd25a3d4385da7b084a15111b68466c.zip | |
(Fdefvar): Fix minor error in previous change.
(funcall_lambda): Fetch bytecode and constants vector from file if nec.
Diffstat (limited to 'src/eval.c')
| -rw-r--r-- | src/eval.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/eval.c b/src/eval.c index f5dd69ff057..c65744b9646 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -587,6 +587,7 @@ If INITVALUE is missing, SYMBOL's value is not set.") | |||
| 587 | tail = Fcdr (Fcdr (args)); | 587 | tail = Fcdr (Fcdr (args)); |
| 588 | if (!NILP (Fcar (tail))) | 588 | if (!NILP (Fcar (tail))) |
| 589 | { | 589 | { |
| 590 | tem = Fcar (tail); | ||
| 590 | if (!NILP (Vpurify_flag)) | 591 | if (!NILP (Vpurify_flag)) |
| 591 | tem = Fpurecopy (tem); | 592 | tem = Fpurecopy (tem); |
| 592 | Fput (sym, Qvariable_documentation, tem); | 593 | Fput (sym, Qvariable_documentation, tem); |
| @@ -2233,9 +2234,19 @@ funcall_lambda (fun, nargs, arg_vector) | |||
| 2233 | if (CONSP (fun)) | 2234 | if (CONSP (fun)) |
| 2234 | val = Fprogn (Fcdr (Fcdr (fun))); | 2235 | val = Fprogn (Fcdr (Fcdr (fun))); |
| 2235 | else | 2236 | else |
| 2236 | val = Fbyte_code (XVECTOR (fun)->contents[COMPILED_BYTECODE], | 2237 | { |
| 2237 | XVECTOR (fun)->contents[COMPILED_CONSTANTS], | 2238 | /* If we have not actually read the bytecode string |
| 2238 | XVECTOR (fun)->contents[COMPILED_STACK_DEPTH]); | 2239 | and constants vector yet, fetch them from the file. */ |
| 2240 | if (CONSP (XVECTOR (fun)->contents[COMPILED_BYTECODE])) | ||
| 2241 | { | ||
| 2242 | tem = read_doc_string (XVECTOR (fun)->contents[COMPILED_BYTECODE]); | ||
| 2243 | XVECTOR (fun)->contents[COMPILED_BYTECODE] = XCONS (tem)->car; | ||
| 2244 | XVECTOR (fun)->contents[COMPILED_CONSTANTS] = XCONS (tem)->cdr; | ||
| 2245 | } | ||
| 2246 | val = Fbyte_code (XVECTOR (fun)->contents[COMPILED_BYTECODE], | ||
| 2247 | XVECTOR (fun)->contents[COMPILED_CONSTANTS], | ||
| 2248 | XVECTOR (fun)->contents[COMPILED_STACK_DEPTH]); | ||
| 2249 | } | ||
| 2239 | return unbind_to (count, val); | 2250 | return unbind_to (count, val); |
| 2240 | } | 2251 | } |
| 2241 | 2252 | ||