1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 11:50:28 +02:00
Commit graph

124 commits

Author SHA1 Message Date
Andy Wingo
3de80ed52f recompiling with compile environments, fluid languages, cleanups
* ice-9/boot-9.scm (compile-time-environment): Remove definition from
  boot-9 -- instead, autoload it and `compile' from (system base
  compile).

* libguile/objcodes.h:
* libguile/objcodes.c (scm_objcode_to_program): Add an optional argument,
  `external', the external list to set on the returned program.

* libguile/vm-i-system.c (externals): New instruction, returns the
  external list. Only used by (compile-time-environment).

* libguile/vm.c (scm_load_compiled_with_vm): Adapt to
  scm_objcode_to_program change.

* module/language/scheme/translate.scm (translate): Actually pay
  attention to the environment passed as an argument.
  (custom-transformer-table): Expand out (compile-time-environment) to
  something that can be passed to `compile'.

* module/system/base/compile.scm (*current-language*): Instead of
  hard-coding `scheme' in various places, use a current language fluid,
  initialized to `scheme'.
  (compile-file, load-source-file): Adapt to *current-language*.
  (load-source-file): Ada
  (scheme-eval): Removed, no one used this.
  (compiled-file-name): Don't hard-code "scm" and "go"; instead use the
  %load-extensions and %load-compiled-extensions.
  (cenv-module, cenv-ghil-env, cenv-externals): Some accessors for
  compile-time environments.
  (compile-time-environment): Here we define (compile-time-environment)
  to something that will return #f; the compiler however produces
  different code as noted above.
  (compile): New function, compiles an expression into a thunk, then runs
  the thunk to get the value. Useful for procedures. The optional second
  argument can be either a module or a compile-time-environment; in the
  latter case, we can recompile even with lexical bindings.
  (compile-in): If the env specifies a module, set that module for the
  duration of the compilation.

* module/system/base/syntax.scm (%compute-initargs): Fix a bug where the
  default value for a field would always replace a user-supplied value.
  Whoops.

* module/system/il/ghil.scm (ghil-env-dereify): New function, takes the
  result of ghil-env-reify and turns it back into a GHIL environment.

* scripts/compile (compile): Remove some of the tricky error handling, as
  the library procedures handle this for us.

* test-suite/tests/compiler.test: Add a test for the dynamic compilation
  bits.
2008-10-30 10:57:36 +01:00
Andy Wingo
999f1b26e7 Merge commit 'origin/master' into vm
Conflicts:

	doc/Makefile.am
	ice-9/Makefile.am
	libguile/gc.c
2008-09-30 21:12:16 +02:00
Ludovic Courtès
61db429e25 Add `ChangeLog-2008' files to the distribution. 2008-09-12 21:57:52 +02:00
Ludovic Courtès
afb59d75b8 Rename ChangeLog' files to ChangeLog-2008'. 2008-09-12 21:49:58 +02:00
Ludovic Courtès
85ca88c68b Remove `.cvsignore' files. 2008-09-11 21:28:21 +02:00
Andy Wingo
7618201efd final de-:prefixification
* scripts/compile: Don't (read-set! keywords 'prefix) here either.
2008-09-09 07:13:14 +02:00
Andy Wingo
72f7452826 move guilec and guile-disasm to be guile-tools scripts
* .gitignore: Some touchups.

* configure.in:
* src/.cvsignore:
* src/Makefile.am:
* Makefile.am: No more src/.

* scripts/compile:
* scripts/disassemble: Moved here from src/ and changed into guile-tools
  scripts.

* scripts/Makefile.am: Add the new scriptes.

* guilec.mk: Adapt to new way of invoking the compiler.
2008-08-27 17:17:30 -07:00
Kevin Ryde
6e7d5622ee merge from 1.8 branch 2006-04-16 23:37:40 +00:00
Marius Vollmer
92205699d0 The FSF has a new address. 2005-05-23 19:57:22 +00:00
Marius Vollmer
51c45eb666 *** empty log message *** 2004-11-09 13:54:32 +00:00
Marius Vollmer
a04906d98d (process-multiline-directive): Allow the fname attribute to a sequence
of strings and append them all to form the fname.  This is needed for
string literals like "u8""vector?".
2004-11-09 13:54:22 +00:00
Marius Vollmer
0b49c6452b *** empty log message *** 2004-09-08 16:20:21 +00:00
Marius Vollmer
be2540fa56 (scripts_sources): Added snarf-guile-m4-docs. 2004-09-08 16:18:29 +00:00
Kevin Ryde
6002ebaf0e *** empty log message *** 2004-08-06 00:04:14 +00:00
Kevin Ryde
6c60ac51ed (parse-message): Correction to header
continuation, loop with read-line not cdr lines.
2004-08-06 00:03:11 +00:00
Rob Browning
b2cbe8d8a2 *** empty log message *** 2002-12-09 00:51:53 +00:00
Rob Browning
c0784b410b * Makefile.am (subpkgdatadir): VERSION -> GUILE_EFFECTIVE_VERSION. 2002-12-09 00:46:01 +00:00
Neil Jerram
daeea2a9fb Make (scripts lint) announce resolved module name. 2002-10-26 18:58:17 +00:00
Marius Vollmer
5e405a6055 *** empty log message *** 2002-10-05 11:57:41 +00:00
Marius Vollmer
f4e093308a (end-multiline): Use '*function-name*' instead of nonexisting 'name'. 2002-10-05 11:57:35 +00:00
Rob Browning
9bc548798d *** empty log message *** 2002-10-05 04:21:04 +00:00
Rob Browning
201e7da791 * summarize-guile-TODO (as-leaf): make #\: a char-set. 2002-10-05 04:11:51 +00:00
Thien-Thi Nguyen
9664b7ef6e *** empty log message *** 2002-05-19 05:12:42 +00:00
Thien-Thi Nguyen
ef018514da (group-diff): Also output +N and -N adds and subs details, respectively. 2002-05-19 05:12:04 +00:00
Thien-Thi Nguyen
713526ad21 *** empty log message *** 2002-05-13 21:45:57 +00:00
Thien-Thi Nguyen
e4af2baf8e (scan-api): No longer include timestamp. 2002-05-13 21:45:12 +00:00
Thien-Thi Nguyen
faa2075ab1 *** empty log message *** 2002-05-13 10:14:42 +00:00
Thien-Thi Nguyen
3a56374157 (scripts_sources): Add api-diff and read-rfc822. 2002-05-13 10:14:06 +00:00
Thien-Thi Nguyen
a8aa1fc1a9 *** empty log message *** 2002-05-13 10:12:48 +00:00
Thien-Thi Nguyen
57737e2449 Initial revision. 2002-05-13 10:12:14 +00:00
Thien-Thi Nguyen
9a9500ad2c *** empty log message *** 2002-05-12 03:47:32 +00:00
Thien-Thi Nguyen
4ab4e780c6 Use modules (ice-9 format), (ice-9 getopt-long).
Autoload module (srfi srfi-13).
No longer export `diff-alists'.

(diff, diff-alists, display-list): Remove.
(put, get, read-api-alist-file, hang-by-the-roots, diff?,
diff+note!, group-diff): New.
(api-diff): Rewrite.
2002-05-12 03:46:26 +00:00
Thien-Thi Nguyen
717bd14812 *** empty log message *** 2002-05-11 19:46:12 +00:00
Thien-Thi Nguyen
94a972ac31 (scan-api): Fix bug: No longer omit C' and Scheme' in
groups in the presence of the grouper.
2002-05-11 19:45:27 +00:00
Thien-Thi Nguyen
54352a3464 *** empty log message *** 2002-05-10 22:18:33 +00:00
Thien-Thi Nguyen
e366d58b79 (add-props): New proc.
(make-grok-proc): Renamed from `make-grok-hook'.
(make-members-proc): Renamed from `make-members-hook'.
(make-grouper): Renamed from `make-grouping-hook'.  Update callers.
Add handling for multiple grouping-defs files.
(scan-api): Add handling for multiple grouping-defs files.
Cache `symbol->string' result; adjust `sort' usage.
2002-05-10 22:17:39 +00:00
Thien-Thi Nguyen
06dba652b0 *** empty log message *** 2002-05-09 16:28:22 +00:00
Thien-Thi Nguyen
94173d5f20 (scan-C!): Use more robust regexp. 2002-05-09 16:27:40 +00:00
Thien-Thi Nguyen
4c2657ed73 *** empty log message *** 2002-05-08 20:20:45 +00:00
Thien-Thi Nguyen
73b8d652ef Remove top-level `debug-enable' form. 2002-05-08 20:19:22 +00:00
Thien-Thi Nguyen
d1d0c7afa2 Add TODO comment; nfc. 2002-05-08 20:18:12 +00:00
Thien-Thi Nguyen
b6c7676343 *** empty log message *** 2002-05-08 13:01:29 +00:00
Thien-Thi Nguyen
d29388060b (scan-api): Handle case where `grouping-hook' is #f. 2002-05-08 13:00:57 +00:00
Thien-Thi Nguyen
2b080aed49 *** empty log message *** 2002-05-08 12:50:22 +00:00
Thien-Thi Nguyen
ac898f8dc4 (scripts_sources): Add "scan-api". 2002-05-08 12:50:01 +00:00
Thien-Thi Nguyen
091cf411a6 Initial revision. 2002-05-08 12:49:37 +00:00
Thien-Thi Nguyen
8eb587aa52 bye bye 2002-05-08 12:45:29 +00:00
Thien-Thi Nguyen
f7481d58bb (process-groupings): Fix bug: Pass non-#f third arg to `add-hook!'. 2002-05-06 20:59:31 +00:00
Thien-Thi Nguyen
a7954a3eda Initial revision. 2002-05-06 20:37:54 +00:00
Thien-Thi Nguyen
49135c5db3 *** empty log message *** 2002-05-01 02:36:54 +00:00