1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-05 06:50:21 +02:00
Commit graph

14736 commits

Author SHA1 Message Date
Andy Wingo
f42d8bd8ff simplify macro representation in the wake of module hygiene changes
* module/ice-9/psyntax.scm (chi-install-global, chi-macro)
  (eval-local-transformer): Now that we handle module hygiene through
  syntax objects, there is no more need to record the current module
  when installing syntax transformers.

* module/ice-9/psyntax-pp.scm: Regenerated (trickily).

* libguile/_scm.h: Bump objcode version for macro representation change.

* libguile/macros.c (scm_macro_transformer): Adapt to change in macro
  representation.
2010-06-06 13:39:44 +02:00
Andy Wingo
9846796b6a fix module-hygiene corner case by relying more on syntax objects
* module/ice-9/psyntax.scm (chi-macro): Instead of assuming that output
  of a macro should be scoped relative to the module that was current
  when the macro was defined, allow the module information associated
  with the syntax object itself to pass through unmolested. Fixes bug
  29860.
  (datum->syntax): Propagate the module of the identifier through to the
  new syntax object, so that datum->syntax preserves module hygiene in
  addition to lexical hygiene.
  (include, include-from-path): Refactor to plumb though the hygiene
  information from the filename instead of the `include', allowing
  hygiene from the original caller of include-from-path to propagate
  through.

* module/ice-9/psyntax-pp.scm: Regenerated.

* test-suite/tests/syncase.test ("macro-generating macro"): Add test for
  bug 29860.
2010-06-06 13:00:59 +02:00
Andy Wingo
a96434cc33 source location propagation fixes in psyntax
* module/ice-9/psyntax.scm (syntax-type): Add some comments about source
  locations. In calls to chi-macro, pass the source location
  information. Propagate source location information when unpacking
  syntax objects.
  (chi-macro): Add a comment about source locations. Decorate output
  introduced by the macro with the source location of macro use.

* module/ice-9/psyntax-pp.scm: Regenerate.

Fixes bug #29817.
2010-06-05 19:40:43 +02:00
Ludovic Courtès
ca4353f416 Update `.gitignore' for new Gnulib-generated files. 2010-06-05 16:18:38 +02:00
Ludovic Courtès
6f32e5c739 Update Gnulib to v0.0-3966-g9f737c8 for `libunistring' m4 fixes. 2010-06-05 16:18:01 +02:00
Andy Wingo
615eb45521 brown-paper-bag commit
* module/system/vm/debug.scm (frame->module): In which our author
  misunderstands git's index.
2010-06-02 22:56:10 +02:00
Andy Wingo
9a598c47f7 flesh out recursive repl module with local vars
* module/system/vm/debug.scm (frame->module): Actually bind frame-local
  variables to values in the new anonymous module. Setting settable vars
  should work too :)
2010-06-02 22:52:49 +02:00
Andy Wingo
3098986b1a recursive repl support
* module/system/repl/common.scm (*repl-level*): New public fluid.
  (repl-prompt): If *repl-level* is a positive integer, add it to the
  prompt.

* module/system/repl/repl.scm (start-repl): The `lang' argument is now
  optional, and defaults to (current-language). New kwargs level and
  welcome; level defaults to 0, or 1+ the existing level, and the
  welcome is a boolean, true if level is 0. Parameterize *repl-level*
  during the dynamic extent of this repl. Also, parameterize
  the-last-stack to #f for the duration of this repl.

* module/system/vm/debug.scm (frame->module, debugger-repl): Stubs of a
  recursive repl implementation. The idea is to be a repl in the lexical
  context of the error; but it would be nice to be able to operate in
  the module of the proc too, for example to export bindings. Hmm.
2010-06-02 22:19:40 +02:00
Andy Wingo
4288533bb3 current-language fluid refactoring
* module/system/base/compile.scm:
* module/system/base/language.scm (*current-language*, current-language):
  Move this fluid and thunk down to (system base language).
2010-06-02 22:19:40 +02:00
Andy Wingo
3ece779a67 boot-9 top-repl tweak
* module/ice-9/boot-9.scm (top-repl): More concisely drill down to
  start-repl.
2010-06-02 22:19:40 +02:00
Andy Wingo
749c2532e4 some repl doc updates
* doc/ref/tour.texi (Reporting Bugs): Update instructions for generating
  a backtrace.

* doc/ref/scheme-using.texi: Update examples of Guile prompts, and add
  an explanation of the prompt format.
2010-06-02 22:19:40 +02:00
Andy Wingo
bcec8c3699 minor NEWS tweaks
* NEWS: Fix wordings.
2010-06-02 22:19:40 +02:00
Andy Wingo
c08adae460 add #:version (6) to rnrs bytevectors and ports
* module/rnrs/bytevectors.scm:
* module/rnrs/io/ports.scm: Add #:version (6) to these modules.

* module/6/rnrs.scm: Add versions to the import specs for bytevectors
  and ports.
2010-06-02 22:19:40 +02:00
Andy Wingo
4255e79fda fix argument tab-completion
* guile-readline/readline.c (scm_init_readline): Space is a
  word-breaking char too. Fixes tab-completion for args; thanks to Jao
  for the patch!
2010-06-02 22:19:40 +02:00
Andy Wingo
22cf27c815 fix procedure naming
* module/ice-9/psyntax.scm (define-expansion-accessors): New helper, to
  define accesors for a particular expansion data structure. Use it
  later to define lambda?, lambda-meta, and set-lambda-meta!.
  (maybe-name-value): Update to work with the newly defined accessors.
  (build-global-reference, build-let, build-named-let, build-letrec):
  Re-enable naming of procedures.

* module/ice-9/psyntax-pp.scm: Regenerated.
2010-06-02 16:07:11 +02:00
Ludovic Courtès
04ed046aa4 Fix `git-version-gen' sed script.
* cfg.mk (git-version-gen-tag-sed-script): Remove trailing dash in
  regexp.

* configure.ac: Likewise in the second argument to `AC_INIT'.
2010-06-01 23:34:33 +02:00
Ludovic Courtès
1a799171a9 Bump version number for 1.9.11.
* GUILE-VERSION (GUILE_MICRO_VERSION): Increment.
2010-06-01 23:27:20 +02:00
Ludovic Courtès
bdfcabfee7 Make `@' visible in the sxml-match documentation.
* doc/ref/sxml-match.texi (sxml-match): Quote `@' in the examples.
2010-06-01 22:58:59 +02:00
Ludovic Courtès
98f1f9a51a Remove unused symbols.
* libguile/debug.c (scm_sym_procname, scm_sym_dots): Remove.
2010-06-01 22:56:49 +02:00
Andy Wingo
bac6076989 NEWS is ready
* NEWS: Finalize.
2010-06-01 14:19:52 +02:00
Andy Wingo
76b4a4aad4 remove docs for removed procedures
* doc/ref/api-procedures.texi (Compiled Procedures): Remove docs for
  removed procedures.
2010-06-01 14:18:22 +02:00
Andy Wingo
97597bfb37 more NEWS
* NEWS: More updates.
2010-06-01 14:16:10 +02:00
Andy Wingo
0f13fcde65 small NEWS updates
* NEWS: Some updates.
2010-06-01 14:11:14 +02:00
Andy Wingo
845cbcfeb9 r6rs docs in the manual
* doc/ref/r6rs.texi (R6RS Support): Skeleton of docs on our R6RS
  support.

* doc/ref/guile.texi:
* doc/ref/Makefile.am: Add r6rs.texi.

* doc/ref/intro.texi: Add a link to r6rs.texi.
2010-06-01 14:10:59 +02:00
Andy Wingo
4c06cb2c2d (rnrs bytevectors) fallout
* module/Makefile.am (RNRS_SOURCES): Fix for (rnrs bytevectors) rename.
2010-06-01 14:04:01 +02:00
Andy Wingo
07d22c0259 rename (rnrs bytevector) to (rnrs bytevectors)
* module/rnrs/bytevectors.scm: Rename to (rnrs bytevectors), from (rnrs
  bytevector), to match the name from the R6RS.

* benchmark-suite/benchmarks/bytevectors.bm:
* doc/ref/api-data.texi:
* doc/ref/api-foreign.texi:
* libguile/bytevectors.c:
* module/6/rnrs.scm:
* module/language/assembly.scm:
* module/language/assembly/compile-bytecode.scm:
* module/language/assembly/decompile-bytecode.scm:
* module/language/glil/compile-assembly.scm:
* module/language/tree-il/primitives.scm:
* module/srfi/srfi-4.scm:
* module/srfi/srfi-4/gnu.scm:
* module/system/foreign.scm:
* test-suite/standalone/test-ffi:
* test-suite/tests/asm-to-bytecode.test:
* test-suite/tests/bytevectors.test:
* test-suite/tests/foreign.test:
* test-suite/tests/r6rs-ports.test: Update all referrers.
2010-06-01 13:26:11 +02:00
Andy Wingo
8a302245f0 more 1.9.11 NEWS updates
* NEWS: More updates.
2010-06-01 12:21:08 +02:00
Ludovic Courtès
1b68d62762 Fix `VM_VALIDATE_BYTEVECTOR' macro wrt. trailing semicolons.
* libguile/vm-i-scheme.c (VM_VALIDATE_BYTEVECTOR): Enclose in "do { }
  while (0)".
2010-06-01 00:42:58 +02:00
Ludovic Courtès
daccfef47b Fix unaligned accesses by the bytevector instructions.
* libguile/vm-i-scheme.c (ALIGNED_P): New macro.
  (BV_FIXABLE_INT_REF, BV_INT_REF, BV_FLOAT_REF, BV_FIXABLE_INT_SET,
  BV_INT_SET, BV_FLOAT_SET): Check the alignment of the pointer instead
  of checking "i % size == 0".  This fixes bus errors on
  `sparc64-linux-gnu'.

* libguile/vm.c: Include <alignof.h>.
2010-06-01 00:40:00 +02:00
Ludovic Courtès
31d328de60 Upgrade manual to GFDLv1.3+.
* doc/ref/fdl.texi: Upgrade to GFDLv1.3.

* doc/ref/guile.texi: Change copying notice to "Version 1.3 or any later
  version".
  (GNU Free Documentation License): New node, formerly in `fdl.texi'.
2010-06-01 00:02:35 +02:00
Ludovic Courtès
715416f68d Ignore `.version'. 2010-05-30 22:56:58 +02:00
Ludovic Courtès
8b8ce935ed Have `test-ffi' run all the tests even after a failure.
* test-suite/standalone/test-ffi (failed?): New variable.
  (test): Set `failed?' to #t upon error and display an error message.
  Have the exit code depend on FAILED?.
2010-05-30 22:56:17 +02:00
Ludovic Courtès
86425e2653 Fix argument and return value alignment in `scm_i_foreign_call'.
* libguile/foreign.c (scm_i_foreign_call): Fix the computation of
  ARG_SIZE wrt. alignment.  Arrange so that the address ARGS[i] is
  aligned, rather than checking whether OFF is aligned.  Have the RVALUE
  be at least word-aligned, which fixes calls to `char'-returning
  functions on `armv5tel-*-linux-gnueabi'.
2010-05-30 22:54:39 +02:00
Ludovic Courtès
1880c97df1 Fix parenthesizing of the `ROUND_UP' macro; factorize.
* libguile/_scm.h (ROUND_UP): New macro.

* libguile/continuations.c (ROUND_UP): Remove.

* libguile/control.c (ROUND_UP): Remove.

* libguile/foreign.c (ROUND_UP): Remove.
2010-05-30 22:41:36 +02:00
Ludovic Courtès
fd449a2690 Relax the `(version)' test.
* test-suite/tests/version.test ("version reporting works"): Test
  whether `(version)' contains MAJOR.MINOR.MICRO, rather than being
  equal to it.
2010-05-30 22:39:23 +02:00
Ludovic Courtès
db10a69bf4 Use Gnulib's `git-version-gen'.
* GUILE-VERSION (GUILE_VERSION): Remove.

* Makefile.am (dist-hook): Depend on `gen-tarball-version'.
  (BUILT_SOURCES): New variable.
  ($(top_srcdir)/.version, gen-tarball-version): New targets.

* cfg.mk (git-version-gen-tag-sed-script): New variable.

* configure.ac: Use `build-aux/git-version-gen' to generate the VERSION
  argument of `AC_INIT'.  Initialize Automake without `check-news'.
  Define $GUILE_VERSION as an alias for $PACKAGE_VERSION.
2010-05-30 00:14:02 +02:00
Ludovic Courtès
5ad8e59ff5 Import Gnulib's `git-version-gen' module.
* m4/gnulib-cache.m4: Add `git-version-gen'.
2010-05-30 00:01:54 +02:00
Ludovic Courtès
a927b6c1d8 Update Gnulib to v0.0-3955-g8ab5996. 2010-05-29 23:58:12 +02:00
Ludovic Courtès
9c17af4070 Update `THANKS'. 2010-05-28 17:02:14 +02:00
Ludovic Courtès
65c7a8bd64 Remove dead code related to `scm_i_terminating'.
* libguile/fports.c (scm_i_terminating): Remove declaration.
  (fport_flush): Remove code conditional of `scm_i_terminating'.

* libguile/gc.c (scm_i_terminating): Remove.
2010-05-28 17:02:14 +02:00
Ludovic Courtès
8c93b597b3 Fix the visibility of a few of internal symbols.
* libguile/gc.h (scm_i_gc): Make internal.
* libguile/posix.h (scm_i_locale_mutex): Likewise.
* libguile/arrays.h (scm_i_tc16_array): Likewise.
* libguile/numbers.c (scm_i_num_less_p): Likewise.
* libguile/discouraged.h (scm_i_init_discouraged): Likewise.
* libguile/continuations.c (scm_i_dummy): Made static.
* libguile/gc.c (scm_i_cell_validation_already_running): Likewise.
* libguile/discouraged.h (scm_i_init_discouraged): Likewise.
2010-05-28 17:02:13 +02:00
Ludovic Courtès
ac7b8e8e4c Quote the first argument to `AC_DEFINE_UNQUOTED'.
* configure.ac: Quote the first argument to `AC_DEFINE_UNQUOTED'.
2010-05-28 17:02:13 +02:00
Ludovic Courtès
477e42195c Change occurrences of "filesystem" to "file system".
* doc/ref/posix.texi (File System): Change "filesystem" to "file
  system".

* libguile/posix.c (scm_utime): Ditto.
2010-05-28 17:02:13 +02:00
Ludovic Courtès
e3401c659e Use GCC's `malloc' attribute for malloc-like routines.
* libguile/__scm.h (SCM_MALLOC): New macro.

* libguile/gc.h (scm_malloc, scm_calloc, scm_strdup, scm_strndup,
  scm_gc_malloc_pointerless, scm_gc_calloc, scm_gc_malloc,
  scm_gc_strdup, scm_gc_strndup): Mark as `SCM_MALLOC'.
2010-05-28 17:02:13 +02:00
Volker Grabsch
18dcd80e37 don't fail when HAVE_STAT64 is undefined
* libguile/_scm.h: Check whether `HAVE_STAT64' is defined instead of
  checking its value.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2010-05-28 17:02:13 +02:00
Volker Grabsch
b016e12e95 don't run the `pthread_attr_getstack' check when cross compiling
* configure.ac: Run the `pthread_attr_getstack' test only when building
  natively.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2010-05-28 17:02:13 +02:00
Volker Grabsch
ec20a3c86d add pdcurses to the list of termlibs
* acinclude.m4 (GUILE_READLINE): Look for pdcurses as found on MinGW.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2010-05-28 17:02:13 +02:00
Ludovic Courtès
405a79ca7f Add `scm_t_aligned_cell' internal type.
* libguile/_scm.h (struct scm_aligned_cell)[__GNUC__]: New type.
  (union scm_aligned_cell)[!__GNUC__]: New type.
  (scm_t_aligned_cell): New type.

* libguile/vm.c (vm_dispatch_hook): Use it.
2010-05-28 17:02:13 +02:00
Julian Graham
04186f2006 Ignore explicit phase specification for imports in `library' form.
* module/ice-9/r6rs-libraries.scm (library): Unwrap the `for' sub-form
  during export resolution the same way that `import' does.
* test-suite/tests/rnrs-libraries.test ("implicit phasing"): New test
  prefix and tests.
2010-05-27 21:32:39 -04:00
No Itisnt
853cb35661 Two spaces. 2010-05-27 14:09:56 -05:00