diff options
| author | Stefan Monnier | 2011-03-16 16:08:39 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2011-03-16 16:08:39 -0400 |
| commit | ca1055060d5793e368c1a165c412944d6800c3a6 (patch) | |
| tree | 81c850f1a6fdee4a2faea041d72212569bc6ff4f /src | |
| parent | 2663659f1f1a8566cf0f602969f85965a398f618 (diff) | |
| download | emacs-ca1055060d5793e368c1a165c412944d6800c3a6.tar.gz emacs-ca1055060d5793e368c1a165c412944d6800c3a6.zip | |
Remove bytecomp- prefix, plus misc changes.
* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Make it work to
inline lexbind interpreted functions into lexbind code.
(bytedecomp-bytes): Not a dynamic var any more.
(disassemble-offset): Get the bytes via an argument instead.
(byte-decompile-bytecode-1): Use push.
* lisp/emacs-lisp/bytecomp.el: Remove the bytecomp- prefix now that we use
lexical-binding.
(byte-compile-outbuffer): Rename from bytecomp-outbuffer.
* lisp/emacs-lisp/cl-macs.el (load-time-value):
* lisp/emacs-lisp/cl.el (cl-compiling-file): Adjust to new name.
* lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
Add byte-code-function-p.
(pcase--u1): Remove left-over code from early development.
Fix case of variable shadowing in guards and predicates.
(pcase--u1): Add a new `let' pattern.
* src/image.c (parse_image_spec): Use Ffunctionp.
* src/lisp.h: Declare Ffunctionp.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/bytecode.c | 12 | ||||
| -rw-r--r-- | src/image.c | 5 | ||||
| -rw-r--r-- | src/lisp.h | 1 |
4 files changed, 13 insertions, 10 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 00d8e4b8ee3..e34cd694321 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2011-03-16 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * image.c (parse_image_spec): Use Ffunctionp. | ||
| 4 | * lisp.h: Declare Ffunctionp. | ||
| 5 | |||
| 1 | 2011-03-13 Stefan Monnier <monnier@iro.umontreal.ca> | 6 | 2011-03-13 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 7 | ||
| 3 | * eval.c (Ffunction): Use simpler format for closures. | 8 | * eval.c (Ffunction): Use simpler format for closures. |
diff --git a/src/bytecode.c b/src/bytecode.c index b19f9687cdc..ba3c012bd1a 100644 --- a/src/bytecode.c +++ b/src/bytecode.c | |||
| @@ -939,27 +939,27 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, | |||
| 939 | save_restriction_save ()); | 939 | save_restriction_save ()); |
| 940 | break; | 940 | break; |
| 941 | 941 | ||
| 942 | case Bcatch: | 942 | case Bcatch: /* FIXME: ill-suited for lexbind */ |
| 943 | { | 943 | { |
| 944 | Lisp_Object v1; | 944 | Lisp_Object v1; |
| 945 | BEFORE_POTENTIAL_GC (); | 945 | BEFORE_POTENTIAL_GC (); |
| 946 | v1 = POP; | 946 | v1 = POP; |
| 947 | TOP = internal_catch (TOP, eval_sub, v1); /* FIXME: lexbind */ | 947 | TOP = internal_catch (TOP, eval_sub, v1); |
| 948 | AFTER_POTENTIAL_GC (); | 948 | AFTER_POTENTIAL_GC (); |
| 949 | break; | 949 | break; |
| 950 | } | 950 | } |
| 951 | 951 | ||
| 952 | case Bunwind_protect: | 952 | case Bunwind_protect: /* FIXME: avoid closure for lexbind */ |
| 953 | record_unwind_protect (Fprogn, POP); /* FIXME: lexbind */ | 953 | record_unwind_protect (Fprogn, POP); |
| 954 | break; | 954 | break; |
| 955 | 955 | ||
| 956 | case Bcondition_case: | 956 | case Bcondition_case: /* FIXME: ill-suited for lexbind */ |
| 957 | { | 957 | { |
| 958 | Lisp_Object handlers, body; | 958 | Lisp_Object handlers, body; |
| 959 | handlers = POP; | 959 | handlers = POP; |
| 960 | body = POP; | 960 | body = POP; |
| 961 | BEFORE_POTENTIAL_GC (); | 961 | BEFORE_POTENTIAL_GC (); |
| 962 | TOP = internal_lisp_condition_case (TOP, body, handlers); /* FIXME: lexbind */ | 962 | TOP = internal_lisp_condition_case (TOP, body, handlers); |
| 963 | AFTER_POTENTIAL_GC (); | 963 | AFTER_POTENTIAL_GC (); |
| 964 | break; | 964 | break; |
| 965 | } | 965 | } |
diff --git a/src/image.c b/src/image.c index a7c6346f62c..73a45633f3b 100644 --- a/src/image.c +++ b/src/image.c | |||
| @@ -835,10 +835,7 @@ parse_image_spec (Lisp_Object spec, struct image_keyword *keywords, | |||
| 835 | 835 | ||
| 836 | case IMAGE_FUNCTION_VALUE: | 836 | case IMAGE_FUNCTION_VALUE: |
| 837 | value = indirect_function (value); | 837 | value = indirect_function (value); |
| 838 | /* FIXME: Shouldn't we use Ffunctionp here? */ | 838 | if (!NILP (Ffunctionp (value))) |
| 839 | if (SUBRP (value) | ||
| 840 | || COMPILEDP (value) | ||
| 841 | || (CONSP (value) && EQ (XCAR (value), Qlambda))) | ||
| 842 | break; | 839 | break; |
| 843 | return 0; | 840 | return 0; |
| 844 | 841 | ||
diff --git a/src/lisp.h b/src/lisp.h index ece96428253..e4788e63f5b 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -2864,6 +2864,7 @@ extern void xsignal2 (Lisp_Object, Lisp_Object, Lisp_Object) NO_RETURN; | |||
| 2864 | extern void xsignal3 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object) NO_RETURN; | 2864 | extern void xsignal3 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object) NO_RETURN; |
| 2865 | extern void signal_error (const char *, Lisp_Object) NO_RETURN; | 2865 | extern void signal_error (const char *, Lisp_Object) NO_RETURN; |
| 2866 | EXFUN (Fcommandp, 2); | 2866 | EXFUN (Fcommandp, 2); |
| 2867 | EXFUN (Ffunctionp, 1); | ||
| 2867 | EXFUN (Feval, 2); | 2868 | EXFUN (Feval, 2); |
| 2868 | extern Lisp_Object eval_sub (Lisp_Object form); | 2869 | extern Lisp_Object eval_sub (Lisp_Object form); |
| 2869 | EXFUN (Fapply, MANY); | 2870 | EXFUN (Fapply, MANY); |