Permalink
Commits on Jan 30, 2012
  1. Update `NEWS'.

    civodul committed Jan 30, 2012
  2. Bump version number for 2.0.4/2.0.5.

    civodul committed Jan 30, 2012
    Version 2.0.4 was pushed with the version info of 2.0.3, which is
    incorrect.  Version 2.0.5 fixes that.
    
    * GUILE-VERSION (GUILE_MICRO_VERSION): Increment.
      (LIBGUILE_INTERFACE_CURRENT): Increment to account for new C functions
      `scm_c_value_ref', `scm_call', etc.
      (LIBGUILE_INTERFACE_AGE): Increment.
  3. Amend `NEWS'.

    civodul committed Jan 30, 2012
    * NEWS: Mention `-Wformat' change.  Remove intermediate/minor bug fixes.
  4. Remove stale test file.

    civodul committed Jan 30, 2012
    * test-suite/tests/srfi-42.test: Delete "tmp1" at the end.
  5. doc: Add "warnings" to the concept index.

    civodul committed Jan 30, 2012
    * doc/ref/api-evaluation.texi (Compilation): Add "warnings" to the
      concept index.
  6. fix hook invocation during thread guilification

    wingo committed Jan 30, 2012
    * libguile/gc.c (run_before_gc_c_hook): Don't run pre-GC hooks from a
      thread that is in the process of guilification.
  7. Rename scm_call_varargs -> scm_call

    Mark H Weaver committed Jan 30, 2012
    * libguile/eval.c, libguile/eval.h, doc/ref/api-evaluation.texi,
      test-suite/standalone/test-loose-ends.c, NEWS: Rename
      scm_call_varargs -> scm_call
    
    Suggested by Ludovic Courtès <ludo@gnu.org>
  8. Implement scm_call_varargs and scm_call_{7,8,9}

    Mark H Weaver committed Jan 30, 2012
    * libguile/eval.c (scm_call_7, scm_call_8, scm_call_9,
      scm_call_varargs): New functions.
    
    * libguile/eval.h: Add prototypes.
    
    * doc/ref/api-evaluation.texi: Add documentation.
    
    * test-suite/standalone/test-loose-ends.c: Add tests.
    
    * NEWS: Add news entry.
  9. Fix primitive-eval to return #<unspecified> for definitions

    Mark H Weaver committed Jan 29, 2012
    * module/ice-9/eval.scm (primitive-eval): Return #<unspecified> for
      definitions.  Previously the variable object was returned.
    
    * test-suite/tests/eval.test (evaluator): Add test.
    
    * NEWS: Add news entry.
  10. Fix 'local-eval' when the specified environment is a module

    Mark H Weaver committed Jan 30, 2012
    * module/ice-9/local-eval.scm (local-wrap): Fix the (module? e) case, to
      reference the expression 'x' instead of the non-existent variable
      'exp', as was previously done.  Also use quasisyntax instead of
      quasiquote, so that the introduced 'lambda' is an identifier instead
      of a bare symbol, so that this will work in modules that have rebound
      'lambda' to something else.
    
    * test-suite/tests/eval.test (local-eval): Make sure to test both
      'local-eval' and 'local-compile' when the specified environment is a
      module.
  11. Update user-visible copyright dates in manual and REPL to 2012

    Mark H Weaver committed Jan 30, 2012
    * doc/ref/guile.texi, module/system/repl/common.scm: Update
      user-visible copyright dates to 2012.
Commits on Jan 29, 2012
  1. Augment `Libs.private' with for non-GNU platforms.

    civodul committed Jan 29, 2012
    Reported by Eli Zaretskii <eliz@gnu.org>.
    
    * meta/guile-2.0.pc.in (Libs.private): Add all the optional libraries
      that may be pulled via Gnulib on non-GNU platforms.
  2. paper over some "lexical vars are collectable" flakiness

    wingo committed Jan 29, 2012
    * test-suite/tests/gc.test ("gc"): Hack around flakiness in "lexical
      vars are collectable" on some architectures.
  3. Revert "vm-i-scheme.c slight refactor"

    wingo committed Jan 29, 2012
    This reverts commit c0e4449.
    
    This refactor was needed for the introduction of DEAD(), which does not
    appear to have been necessary.
  4. Revert "attempt to clear stale references on VM C stack"

    wingo committed Jan 29, 2012
    This reverts commit 04b2d77.
    
    Since it wasn't fixing the "lexical vars are collectable" test, it added
    complexity with no benefit.
  5. Revert "Work around instruction reordering on SPARC and HPPA in the VM."

    civodul committed Jan 29, 2012
    This reverts commit 2b264d7, which is
    unnecessary after commit f5ea049
    ("Build with `-fno-strict-aliasing' when available.").
Commits on Jan 28, 2012
  1. Fix double-free error on non-GNU systems.

    cky committed Jan 28, 2012
    * libguile/i18n.c (scm_make_locale): Null out c_locale_name after it's
      freed, so it doesn't get freed again. While this only has effect if
      USE_GNU_LOCALE_API is unset, the nulling out happens in both cases,
      to be consistent and robust.
      (scm_nl_langinfo): Free c_result in all switch cases, in particular
      P_SIGN_POSN, N_SIGN_POSN, INT_P_SIGN_POSN, and INT_N_SIGN_POSN.
  2. mention new manual sections in NEWS

    wingo committed Jan 28, 2012
    * NEWS: Mention new sections.
Commits on Jan 27, 2012
  1. Build with `-fno-strict-aliasing' when available.

    civodul committed Jan 27, 2012
    * configure.ac (POTENTIAL_GCC_CFLAGS): Add `-fno-strict-aliasing'.
      Suggested by Mark H. Weaver.
  2. attempt to clear stale references on VM C stack

    wingo committed Jan 27, 2012
    * libguile/vm-engine.h (DEAD): New macro, nulls out a value.
    
    * libguile/vm-i-system.c:
    * libguile/vm-i-loader.c:
    * libguile/vm-i-scheme.c: Use DEAD when variables become dead.
    
    Later we can #ifdef this out, but I want to give the buildbots a try
    with this patch to make sure it's correct.
  3. vm-i-scheme.c slight refactor

    wingo committed Jan 27, 2012
    * libguile/vm-i-scheme.c: Refactor the RETURN macro to not include
      NEXT.  Adapt all uses to NEXT on their own.
  4. document `include', `include-from-path'

    wingo committed Jan 27, 2012
    * doc/ref/api-evaluation.texi (Local Inclusion): New section.
  5. more documentation on the process of loading source and compiled files

    wingo committed Jan 27, 2012
    * doc/ref/api-evaluation.texi (Load Paths): Move documentation of
      %load-path and related procedures here, from Build Config.  Add docs
      for %load-compiled-path.
    
    * doc/ref/api-foreign.texi:
    * doc/ref/api-modules.texi:
    * doc/ref/api-options.texi:
    * doc/ref/scheme-using.texi: Update xrefs.
  6. Fix error messages involving definition forms

    Mark H Weaver committed Jan 27, 2012
    * module/ice-9/psyntax.scm (syntax-type): Return an additional value
      that contains the entire form in _all_ cases, including for definition
      forms.  Previously, the entire form was not returned for definition
      forms.
    
      (expand-expr): Add an additional argument that contains the entire
      form in _all_ cases, including for definition forms.  Use it to
      include the entire form in error messages, notably for definitions in
      expression context.  Include the source location information, which
      was previously missing from these errors when the rhs expression was
      an atom.  Improve the "definition in expression context" error message
      to be more comprehensible for Scheme beginners.
    
      (expand-top-sequence, expand, expand-body): Adjust as needed to handle
      the additional return value from 'syntax-type' and the additional
      argument to 'expand-expr'.
    
    * module/ice-9/psyntax-pp.scm: Regenerate.
    
    * NEWS: Update.
Commits on Jan 26, 2012
  1. update NEWS

    wingo committed Jan 26, 2012
    * NEWS: Update.
  2. fix test-loose-ends

    wingo committed Jan 26, 2012
    * test-suite/standalone/test-loose-ends.c (test_scm_local_eval): Use
      ice-9 local-eval to get (the-environment).
  3. update local-eval docs

    wingo committed Jan 26, 2012
    * doc/ref/api-evaluation.texi (Local Evaluation): Update docs, add some
      examples.
  4. more readable gensyms

    wingo committed Jan 26, 2012
    * module/language/tree-il/peval.scm (peval):
    * module/language/tree-il/primitives.scm (dynamic-wind): When you make a
      gensym that just has to be compared against other gensyms, it will be
      unique if the prefix doesn't end in something that can be interpreted
      as a number.  There's no reason to make that character something
      difficult like " ".  So change to use a dash in that case.
    
    * module/ice-9/psyntax-pp.scm: Regenerate.  More readable now.
  5. globally unique marks and labels using syntax-session-id

    wingo committed Jan 26, 2012
    * libguile/macros.c (scm_init_macros): Add definition of new
      syntax-session-id helper.
    
    * module/ice-9/psyntax.scm: Capture a reference to syntax-session-id at
      boot time.  Uniquify marks and labels using the session id.
    
    * module/ice-9/boot-9.scm: Shunt syntax-session-id off to (system
      syntax) once we finished booting.
    
    * module/ice-9/compile-psyntax.scm: Override syntax-session-id when
      remaking psyntax to avoid spurious diffs.
    
    * module/ice-9/psyntax-pp.scm: Regenerate.
  6. Revert "Universally-unique gensyms"

    wingo committed Jan 26, 2012
    This reverts commit ad432bc.
    
    Not all gensyms need to be universally-unique: most of them just need to
    be unique within some portion of a Guile session.  We'll take a
    different tack on this problem in the next commit.
  7. Implement `local-eval', `local-compile', and `the-environment'

    wingo committed Jan 3, 2012
    * module/ice-9/local-eval.scm: New module (ice-9 local-eval) which
      exports `the-environment', `local-eval', and `local-compile'.
    
    * libguile/debug.c (scm_local_eval): New C function that calls the
      Scheme implementation of `local-eval' in (ice-9 local-eval).
    
    * libguile/debug.h (scm_local_eval): Add prototype.
    
    * doc/ref/api-evaluation.texi (Local Evaluation): Add documentation.
    
    * test-suite/tests/eval.test (local evaluation): Add tests.
    
    * test-suite/standalone/test-loose-ends.c (test_scm_local_eval):
      Add test.
    
    * module/Makefile.am: Add ice-9/local-eval.scm.
    
    Based on a patch by Mark H Weaver <mhw@netris.org>.
Commits on Jan 25, 2012
  1. Fix a couple of warnings.

    civodul committed Jan 25, 2012
    * module/scripts/list.scm: Use SRFI-1.
    * module/system/repl/error-handling.scm: Use (ice-9 format).
  2. Fix typo in `-Wformat'.

    civodul committed Jan 25, 2012
    * module/language/tree-il/analyze.scm (format-analysis): Call `warning',
      not `warn'.
  3. Add warnings for unsupported `simple-format' options.

    civodul committed Jan 25, 2012
    * module/language/tree-il/analyze.scm
      (format-analysis)[check-simple-format-args]: New procedure.  Use it.
      Add support for applications of <module-ref>.
    
    * module/system/base/message.scm (%warning-types): Handle the `format
      simple-format' warning.
    
    * module/language/scheme/spec.scm (scheme)[make-default-environment]:
      Use `simple-format' as the default `format'.
    
    * test-suite/tests/tree-il.test ("warnings")["format"]: Explicitly use
      (@ (ice-9 format) format) where needed.
      ("simple-format"): New test prefix.
  4. Import Gnulib's `setenv' module, for MinGW.

    civodul committed Jan 25, 2012
    Reported by Eli Zaretskii <eliz@gnu.org>.
    
    * m4/gnulib-cache.m4 (gl_MODULES): Add `setenv'.