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

14735 commits

Author SHA1 Message Date
Andy Wingo
2a8a127bbe compile (ice-9 deprecated) earlier
* module/Makefile.am (ICE_9_SOURCES): Reorder placement of (ice-9
  deprecated), as it's getting bigger, so we should compile it earlier.
2010-06-11 23:04:42 +02:00
Andy Wingo
b920418560 handler of a prompt is in tail context
* module/language/tree-il/analyze.scm (analyze-lexicals): The handler of
  a prompt is in tail context.
2010-06-11 17:16:12 +02:00
Andy Wingo
10e69149f6 while in terms of syntax-case
* module/ice-9/boot-9.scm (while): Reimplement in terms of syntax-case.
  Prompt inlining is coming later.

* test-suite/tests/syntax.test ("while"): Update the expected syntax
  errors.
2010-06-11 16:58:36 +02:00
Andy Wingo
322a36ce9f comment in fix-letrec
* module/language/tree-il/fix-letrec.scm (simple-expression?): Add a
  small FIXME.
2010-06-11 16:58:36 +02:00
Andy Wingo
d71cc612c3 fix lexical call naming bug
* module/ice-9/psyntax.scm: Fix bug in which the whole syntax object was
  being recorded as the name of the operator in a lexical call, instead
  of just the symbolic name.
* module/ice-9/psyntax-pp.scm: Regenerated.
2010-06-11 16:58:36 +02:00
Andy Wingo
2bcf97a643 unparse the tag of a prompt
* module/language/tree-il.scm (unparse-tree-il): Properly unparse the
  tag of a prompt.
2010-06-11 16:58:36 +02:00
Andy Wingo
38030bdf5d make-prompt-tag is an effect-free primitive
* module/language/tree-il/primitives.scm
  (*interesting-primitive-names*, *effect-free-primitives*): Recognize
  make-prompt-tag as interesting and effect-free.
2010-06-11 16:58:36 +02:00
Andy Wingo
0e4b781898 add inliner cases for conditionals
* module/language/tree-il/inline.scm (boolean-value, inline!): Add a
  case for inlining conditional expressions.

* test-suite/tests/tree-il.test: Fix conditional tests to have a
  non-inlinable condition.
2010-06-11 16:58:31 +02:00
Andy Wingo
5c0450b249 deprecate `collect'
* module/ice-9/boot-9.scm:
* module/ice-9/deprecated.scm (collect): Deprecate, and fix to ensure
  sequential collection.
2010-06-11 16:58:31 +02:00
Andy Wingo
122f296ddc define-option-interface in terms of syntax-rules
* module/ice-9/boot-9.scm (define-option-interface): Rewrite using
  syntax-rules.
2010-06-11 16:58:31 +02:00
Andy Wingo
47aabe86ca a failed resolve-interface does not leave behind an empty module
* module/ice-9/boot-9.scm (resolve-interface): Pass #:ensure #f to
  resolve-module, so that in the case of module-not-found we don't leave
  behind an empty module without an interface.
2010-06-11 16:58:31 +02:00
Andy Wingo
befd1df991 cleanups to version-matches?
* module/ice-9/boot-9.scm (version-matches?): Some cleanups: use
  and-map, or-map; prefer case to cond; abbreviate and scope helper
  functions.
2010-06-11 16:58:31 +02:00
Andy Wingo
c3aaf3cf7a deprecate get-option, for-next-option, display-usage-report, transform-usage-lambda
* module/ice-9/boot-9.scm:
* module/ice-9/deprecated.scm (get-option, for-next-option)
  (display-usage-report, transform-usage-lambda): Deprecate these
  option-parsing utils. We can revive them in a non-deprecated module if
  there is interest, but I suspect there will be no interest.
2010-06-11 16:58:31 +02:00
Andy Wingo
0bbe199d4d deprecate `scheme-file-suffix'
* module/ice-9/boot-9.scm:
* module/ice-9/deprecated.scm (scheme-file-suffix): Deprecate.
2010-06-11 16:58:31 +02:00
Andy Wingo
b38507c1af comments in boot-9
* module/ice-9/boot-9.scm: Add comments.
2010-06-11 16:58:31 +02:00
Andy Wingo
4100dc5dee deprecate `bad-throw'
* module/ice-9/boot-9.scm:
* module/ice-9/scm-style-repl.scm (bad-throw): Move here. This function
  was never documented, but has been around since guile-ii. It's not
  used with current code though.

* module/ice-9/deprecated.scm: Provide bad-throw in default env.

* module/ice-9/debugger/commands.scm: Import bad-throw from
  scm-style-repl.
2010-06-11 16:58:31 +02:00
Andy Wingo
4eeaf67c8c error in terms of case-lambda
* module/ice-9/boot-9.scm (error): Redefine using case-lambda.
2010-06-11 16:58:31 +02:00
Andy Wingo
010b159f56 deprecate has-suffix?
* module/ice-9/boot-9.scm:
* module/ice-9/deprecated.scm (has-suffix?): Deprecate.

* test-suite/guile-test:
* benchmark-suite/guile-benchmark: Fix uses of deprecated has-suffix?.
2010-06-11 16:58:24 +02:00
Andy Wingo
02b582cef5 comments in boot-9
* module/ice-9/boot-9.scm: Add some comments about the nature of
  properties.
2010-06-11 00:13:12 +02:00
Andy Wingo
0f509ab5e3 deprecate apply-to-args
* module/ice-9/boot-9.scm:
* module/ice-9/deprecated.scm (apply-to-args): Deprecate.
2010-06-10 23:55:35 +02:00
Andy Wingo
e979130b66 remove annotation?
* module/ice-9/boot-9.scm (annotation?): Remove unused new definition.
2010-06-10 23:39:19 +02:00
Andy Wingo
b2e27da35b scm-style-repl -> (ice-9 scm-style-repl)
* module/Makefile.am:
* module/ice-9/scm-style-repl.scm: New file, to hold the old
  scm-style-repl.

* module/ice-9/deprecated.scm: Provide scm-style-repl and
  error-catching-loop and error-catching-repl in the default env, but
  with deprecation warnings.
2010-06-10 23:28:23 +02:00
Andy Wingo
7e3147666b resolve-module #:ensure argument
* module/ice-9/boot-9.scm (resolve-module): Add #:ensure kwarg,
  defaulting to true. If true we make an empty module if none was found
  (the old behavior). Otherwise we return false.

* test-suite/tests/modules.test ("resolve-module"): Add tests for old
  and new behavior.
2010-06-10 20:03:15 +02:00
Andy Wingo
5a8fc758b0 expt / integer-expt fixes
* libguile/numbers.c (scm_integer_expt): Validate the first arg as a
  number.
  (scm_expt): Delegate to scm_integer_expt iff x is exact. Fixes
  fractions.test, which I broke recently

* test-suite/tests/numbers.test ("integer-expt"): Add test for
  (integer-expt #t 0).
2010-06-10 18:14:02 +02:00
Andy Wingo
02fcbf78b2 Fix build bug, manifested as failure to find libguile-srfi-srfi-1-v-4
* module/ice-9/boot-9.scm (top-repl): This use of @ is not safe, because
  it will cause (system repl repl) to be loaded at expand time, which
  will eventually cause (srfi srfi-1) to be loaded, which won't work
  with a fresh build tree because the helper lib isn't compiled. Gross.
  (load): Add a note about why this use of @ is safe.
2010-06-10 17:53:47 +02:00
Andy Wingo
d8e1bce4fc brown-paper-bag to uninstalled-env
* meta/uninstalled-env.in: Fix lack of test.
2010-06-10 17:29:48 +02:00
Andy Wingo
070d8db023 more uninstalled-env fixen
* meta/uninstalled-env.in: Don't implicitly add . to LTDL
  search paths if no LTDL_LIBRARY_PATH was set. Avoid a duplicate to
  PATH.
2010-06-10 17:23:51 +02:00
Andy Wingo
8c4e90fa89 uninstalled-env cleanups
* meta/uninstalled-env.in: Clean up setting of GUILE_LOAD_PATH and
  GUILE_LOAD_COMPILED_PATH.
2010-06-10 17:13:06 +02:00
Andy Wingo
875b58d240 don't forget to set GUILE_SYSTEM_PATH in uninstalled mode
* meta/uninstalled-env.in (GUILE_SYSTEM_PATH): Set this var too in
  uninstalled mode.
2010-06-10 16:53:27 +02:00
Andy Wingo
4ae3d5aae8 deprecate error-catching-loop, error-catching-repl
* module/ice-9/deprecated.scm (error-catching-loop)
  (error-catching-repl): Deprecate.
2010-06-10 14:15:26 +02:00
Andy Wingo
974a74d224 remove commented-out code from boot-9
* module/ice-9/boot-9.scm: Remove commented-out code.
2010-06-10 14:15:26 +02:00
Andy Wingo
03af6e0953 deprecate scm-style-repl
* module/ice-9/deprecated.scm (scm-style-repl): Deprecate.
2010-06-10 14:15:26 +02:00
Andy Wingo
222a2b19a1 fix error handling when reading debugger args
* module/system/vm/debug.scm (debugger-repl): Errors reading debugger
  args no longer drop us out of the debugger.
2010-06-10 14:15:26 +02:00
Andy Wingo
c7317beca6 bind debugging i/o ports in start-repl
* module/system/repl/repl.scm (start-repl): If the debugging ports are
  unbound, bind them to the current i/o ports. Allows errors within
  with-output-to-foo / with-input-from-foo to be sensibly debugged.
2010-06-10 14:15:26 +02:00
Andy Wingo
7b69cafd0a repl.scm simplifications
* module/system/repl/repl.scm (prompting-meta-read): Use
  call-with-error-handling.

* module/system/vm/debug.scm (call-with-error-handling): Add case for
  #:on-error 'pass. Have the catch handler return the unspecified value.
2010-06-10 14:15:26 +02:00
Andy Wingo
b93c34c0ca start cleaning up repl/debugger error handling
* module/system/repl/repl.scm (prompting-meta-read): Catch and print
  read errors here, returning unspecified in that case.
  (start-repl): Don't enable the debugger while reading expressions.
  Adapt with-backtrace to with-error-handling.

* module/system/vm/debug.scm (run-debugger, debugger-repl): No need to
  take a stack, the frames vector is sufficient.
  (call-with-error-handling, with-error-handling): New public utilities.
  Notably they do not poke the-last-stack.
2010-06-10 14:15:26 +02:00
Andy Wingo
11da3f2bd6 hygienic with-backtrace
* module/system/repl/repl.scm (with-backtrace): Make a syntax-rules
  macro.
2010-06-10 14:15:26 +02:00
Julian Graham
dc232ed059 Resolve issues in `find-versioned-module'.
* module/ice-9/boot-9.scm (find-versioned-module): Perform a stable sort on
  version numbers of matched libraries; eliminate extra path separator in
  library file path.
2010-06-09 23:57:25 -04:00
Andy Wingo
162125af16 fix build error with Compaq C V6.3-025
* libguile/hashtab.c: Re-arrange functions to avoid the need for
  pre-declaring character arrays with no length. Fixes compilation on
  Compaq C V6.3-025. Thanks to Jay Krell for the report.
2010-06-09 23:27:33 +02:00
Andy Wingo
ffd48603b0 r6rs `import' accepts multiple clauses
* module/ice-9/r6rs-libraries.scm (import): Accept multiple clauses.

* test-suite/tests/rnrs-libraries.test: Add test.
2010-06-09 08:55:02 +02:00
Andy Wingo
a4082ab57e fix (expt #t 0)
* libguile/numbers.c (scm_expt): Fix check regarding when to dispatch to
  integer-expt.

* test-suite/tests/numbers.test ("expt"): Add test.
2010-06-07 23:27:55 +02:00
Andy Wingo
78f79f18e2 modules have field for their filenames, for debugging
* module/ice-9/boot-9.scm (module-filename, set-module-filename!): Add a
  new field to modules, the filename that is associated with the module.
  For debugging purposes.
  (process-define-module): Parse out a #:filename argument.
  (make-module, make-autoload-interface): Adapt to module-constructor
  change.
  (define-module): Init module-filename from (current-source-location).
2010-06-07 00:33:57 +02:00
Andy Wingo
41147ee732 add current-source-location
* module/ice-9/boot-9.scm (current-source-location): New macro, returns
  the, um, current source location.
2010-06-06 23:21:24 +02:00
Andy Wingo
750ae8b7b7 add syntax-source accessor
* module/ice-9/psyntax.scm: Add syntax-source accessor.
* module/ice-9/psyntax-pp.scm: Regenerated.
* module/ice-9/boot-9.scm: Declare syntax-source.
2010-06-06 22:51:03 +02:00
Andy Wingo
de976b75cd srfi-34 #:replace raise fix
* module/srfi/srfi-34.scm: #:replace the binding for `raise'
2010-06-06 22:09:08 +02:00
Ludovic Courtès
8c65549416 Add tests for `program-sources' (bug #29817).
* test-suite/tests/compiler.test ("program-sources"): New test prefix.
2010-06-06 16:59:01 +02:00
Ludovic Courtès
a150c156a9 Don't build any generated source file at "make dist" time.
* srfi/Makefile.am
  (libguile_srfi_srfi_1_v_@LIBGUILE_SRFI_SRFI_1_MAJOR@_la_SOURCES,
  libguile_srfi_srfi_4_v_@LIBGUILE_SRFI_SRFI_4_MAJOR@_la_SOURCES,
  libguile_srfi_srfi_13_14_v_@LIBGUILE_SRFI_SRFI_13_14_MAJOR@_la_SOURCES,
  libguile_srfi_srfi_60_v_@LIBGUILE_SRFI_SRFI_60_MAJOR@_la_SOURCES):
  Remove `.x' files so that they're not built by "make dist".

* test-suite/standalone/Makefile.am (libtest_asmobs_la_SOURCES): Remove
  `test-asmobs-lib.x'.
  (libtest_ffi_la_SOURCES): Remove `test-ffi-lib.x'.
  (BUILT_SOURCES): Likewise.
2010-06-06 16:59:01 +02:00
Ludovic Courtès
44ffcae006 Add tests for `procedure-name'.
This is a followup to 22cf27c815 ("fix
procedure naming").

* test-suite/tests/compiler.test ("procedure-name"): New test prefix.
2010-06-06 16:59:01 +02:00
Andy Wingo
625b43acc7 fix `format' with %f and exact rationals
* module/ice-9/format.scm (format:parse-float): Accept a number, and
  when stringifying the number, first convert to inexact.

* test-suite/tests/format.test ("~f fixed-point"): Add exact rational
  test.
2010-06-06 13:46:53 +02:00
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