prompt handlers are always inline
authorAndy Wingo <wingo@pobox.com>
Fri, 19 Feb 2010 14:30:34 +0000 (15:30 +0100)
committerAndy Wingo <wingo@pobox.com>
Fri, 19 Feb 2010 14:30:34 +0000 (15:30 +0100)
commitea6b18e82f3ac2122d07c80bc0f320ea839a25b6
treecd5e3c02694e73a2453b1cc9d06f160580c5c92f
parentf5b1f76af492f3c398527ee040e8bf09fc438a9a
prompt handlers are always inline

* libguile/control.h (SCM_F_PROMPT_INLINE, SCM_PROMPT_INLINE_P): Remove;
  prompts always have "inline" handlers now.
* libguile/control.c (scm_c_make_prompt): Remove inline_handler_p arg.

* libguile/vm-i-system.c (prompt):
* module/language/assembly/decompile-bytecode.scm (decode-load-program):
* module/language/assembly/compile-bytecode.scm (write-bytecode):
 Adapt to prompt changes.

* module/language/glil.scm (make-glil-prompt, glil-prompt-inline?):
  Remove inline? flag.
  (parse-glil, unparse-glil):
* module/language/glil/compile-assembly.scm (glil->assembly): Adapt to
  <glil-prompt> change.

* module/language/tree-il/compile-glil.scm (flatten): Require the
  handler of a <prompt> to be a lambda-case.

* module/language/tree-il/primitives.scm (*primitive-expand-table*):
  Ensure that the handler of a <prompt> is a lambda-case.

* module/language/tree-il/inline.scm (inline!): Simplify a degenerate
  case: (lambda args (apply (lambda ...) args)) => (lambda ...).
libguile/control.c
libguile/control.h
libguile/vm-i-system.c
module/language/assembly/compile-bytecode.scm
module/language/assembly/decompile-bytecode.scm
module/language/glil.scm
module/language/glil/compile-assembly.scm
module/language/tree-il/compile-glil.scm
module/language/tree-il/inline.scm
module/language/tree-il/primitives.scm