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

593 commits

Author SHA1 Message Date
Ludovic Courtès
e00634774a Mention the end of ChangeLog' files in NEWS'. 2008-12-09 00:15:25 +01:00
Ludovic Courtès
3ae3166b23 Fix sloppy bound checking in `string-{ref,set!}' with the empty string.
* libguile/strings.c (scm_string_ref): Add proper range checking for the
  empty string.
  (scm_string_set_x): Likewise.
  Reported by Bill Schottstaedt <bil@ccrma.Stanford.EDU>.

* test-suite/tests/strings.test ("string-ref"): New test prefix.
  ("string-set!")["empty string", "empty string and non-zero index",
  "out of range", "negative index", "regular string"]: New tests.

* NEWS: Update.
2008-12-02 19:52:13 +01:00
Ludovic Courtès
691343ead2 Update `NEWS'. 2008-12-02 19:52:11 +01:00
Ludovic Courtès
cb823e630d Fix potential deadlock in `make-struct'.
* libguile/struct.c (scm_make_struct): Remove critical section, as
  suggested by Linas Vepstas <linasvepstas@gmail.com>.  See
  http://lists.gnu.org/archive/html/bug-guile/2008-11/msg00036.html for
  a discussion.
2008-11-30 20:26:56 +01:00
Ludovic Courtès
7635043239 Run the handler of SRFI-34's `with-exception-handler' in the right dyn. env.
* srfi/srfi-34.scm (with-exception-handler): Use `with-throw-handler'
  instead of `lazy-catch'.

* test-suite/tests/srfi-34.test ("SRFI 34")["`with-exception-handler'
  invokes HANDLER in THUNK's dynamic env."]: New test.

* test-suite/tests/srfi-39.test: Use `(srfi srfi-34)'.
  ("SRFI-39")["SRFI-34"]: New test.

* NEWS: Update.
2008-11-24 09:40:00 +01:00
Ludovic Courtès
ccf1ca4adf Update the thread stack base when `scm_with_guile' is invoked multiple times.
* NEWS: Update.

* libguile/threads.c (scm_i_init_thread_for_guile): When the thread is
  already guilified, update `t->base' so that it corresponds to the new
  stack base.  Bug report and patch by Linas Vepstas <linasvepstas@gmail.com>.

* test-suite/standalone/Makefile.am (test_scm_with_guile_CFLAGS,
  test_scm_with_guile_LDADD): New.
  (check_PROGRAMS, TESTS): Add `test-scm-with-guile'.
2008-11-14 00:36:58 +01:00
Ludovic Courtès
9e4db0ef4d Add "guile(1)" man page.
Robert Merkel's copyright assignment to the FSF had apparently been on
file for some time.

* NEWS: Update.

* doc/Makefile.am (dist_man1_MANS): New.
2008-11-13 23:12:34 +01:00
Neil Jerram
d8b6e19181 Avoid Stack overflow' errors when running make check'
For explanation, see comments and text in the new file
libguile/measure-hwm.scm.

* .gitignore: Add libguile/stack-limit-calibration.scm.

* check-guile.in: Load libguile/stack-limit-calibration.scm.

* configure.in: Add AC_CONFIG_FILES to generate test-use-srfi from
  test-use-srfi.in.

* libguile/Makefile.am (TESTS, TESTS_ENVIRONMENT,
  stack-limit-calibration.scm): New targets, so that `make check'
  calibrates the stack limit before running the Guile test suite.

* libguile/measure-hwm.scm: New file, calibrates stack limit for `make
  check'.

* libguile/stackchk.c (scm_sys_get_stack_size): New primitive.

* libguile/stackchk.h (scm_sys_get_stack_size): New primitive
  (declaration).

* test-suite/standalone/test-use-srfi: Renamed test-use-srfi.in, so
  that ./configure can fill in variables in it.

* test-suite/standalone/test-use-srfi.in: Load
  libguile/stack-limit-calibration.scm.
2008-10-17 22:05:54 +01:00
Ludovic Courtès
88cefbc7de Fix compilation error due to strict aliasing rules on `i386-unknown-freebsd7.0'.
* libguile/threads.c (scm_threads_mark_stacks): Cast `&t->regs' to
  `(void *)' rather than `(SCM_STACKITEM *)' to avoid "warning:
  dereferencing type-punned pointer will break strict-aliasing rules"
  with GCC 4.2.1 on `i386-unknown-freebsd7.0'.
2008-10-10 10:00:57 +02:00
Ludovic Courtès
45a9f43049 Revert "Make literal strings (i.e., returned by `read') read-only."
This reverts commit fb2f8886c4.

The rationale is that `read' must return mutable strings, as reported
by szgyg <szgyg@ludens.elte.hu>.
2008-10-09 22:21:33 +02:00
Han-Wen Nienhuys
89bc270db3 Remove GH and its traces. 2008-09-28 18:42:02 -03:00
Ludovic Courtès
c633310265 Fix handling of the FLAGS argument in `fold-matches'.
* ice-9/regex.scm (fold-matches): If FLAGS is non-null, use
  `(car flags)', not `flags'.

* test-suite/tests/regexp.test ("fold-matches"): New test prefix.

* NEWS: Update.
2008-09-25 21:07:06 +02:00
Ludovic Courtès
fb2f8886c4 Make literal strings (i.e., returned by `read') read-only.
* libguile/read.c (scm_read_string): Use `scm_i_make_read_only_string ()' to
  return a read-only string, as mandated by R5RS.  Reported by Bill
  Schottstaedt <bil@ccrma.Stanford.EDU>.

* libguile/strings.c (scm_i_make_read_only_string): New function.
  (scm_i_shared_substring_read_only): Special-case the empty string
  so that the read-only and read-write empty strings are `eq?'.  This
  optimization is relied on by the `substring/shared' `empty string'
  test case in `srfi-13.test'.

* libguile/strings.h (scm_i_make_read_only_string): New declaration.

* test-suite/tests/strings.test ("string-set!")["literal string"]: New test.

* NEWS: Update.
2008-09-23 18:45:27 +02:00
Ludovic Courtès
fd2b17b9cb Make `symbol->string' return a read-only string.
* libguile/strings.c (scm_i_symbol_substring): Return a read-only string
  since R5RS requires `symbol->string' to return a read-only string.
  Reported by Bill Schottstaedt <bil@ccrma.Stanford.EDU>.

* test-suite/tests/symbols.test: Add `define-module' clause.
  (exception:immutable-string): Adjust to current exception.
  ("symbol->string")["result is an immutable string"]: Use
  `pass-if-exception' instead of `expect-fail-exception'.

* NEWS: Update.
2008-09-23 18:44:27 +02:00
Neil Jerram
1dd797921c Fix for incorrect (gcd -2) => -2; should give 2.
(reported by Bill Schottstaedt)

* libguile/numbers.c (scm_gcd): When only one arg given, use scm_abs
  to ensure that result is non-negative.

* test-suite/tests/numbers.test ("gcd"): New test, (gcd -2).
2008-09-22 21:21:20 +01:00
Ludovic Courtès
242ebeaf08 Get rid of Automake's "maintainer mode".
* NEWS: Update.
* configure.in: Remove `AM_MAINTAINER_MODE' invocation.
* doc/Makefile.am, ice-9/Makefile.am: Ignore `MAINTAINER_MODE'
  conditional.
2008-09-09 18:06:37 +02:00
Ludovic Courtès
191e716555 Update NEWS' wrt. mutex-lock' deadlock fix. 2008-09-08 14:38:03 +02:00
Ludovic Courtès
32e29e24b6 Update NEWS' wrt. the removal of scm_i_' symbols. 2008-09-04 21:33:44 +02:00
Ludovic Courtès
4a1db3a91f Add ChangeLog and NEWS entry for the GOOPS `class-redefinition' memory
corruption fix.
2008-08-19 19:13:39 +02:00
Neil Jerram
5ea8e76e85 Fix build failure on Debian hppa architecture (bad stack growth detection)
* configure.in (SCM_I_GSC_STACK_GROWS_UP): Remove use of
	AC_CACHE_CHECK, which was inadvertently causing
	SCM_I_GSC_STACK_GROWS_UP _always_ to be 0.
2008-08-07 23:24:31 +02:00
Neil Jerram
76dae88158 Fix misleading output from `(help rationalize)'
* numbers.c (scm_rationalize): Update docstring to match the
	manual (which is more correct).  Change argument "err" to "eps",
	also to match the manual.
2008-08-03 00:27:32 +01:00
Neil Jerram
091baf9edf Single stepping through code from Emacs
When you use GDS to evaluate Scheme code from Emacs, you can now use
`C-u' to indicate that you want to single step through that code. See
`Evaluating Scheme Code' in the manual for more details.

	* scheme-using.texi (Evaluating Scheme Code): Document use of
        `C-u' prefix with evaluation commands.

        * gds-scheme.el (gds-eval-region, gds-eval-expression)
        (gds-eval-defun, gds-eval-last-sexp): Support `C-u' prefix,
        meaning that user wants to single step through the code.

        * gds-client.scm (handle-nondebug-protocol): Add support for
        setting a trap on code that is about to be evaluated.
2008-07-17 23:05:57 +01:00
Ludovic Courtès
450be18dff Handle lack of struct dirent64' and readdir64_r ()' on HP-UX 11.11. 2008-07-17 00:20:31 +02:00
Neil Jerram
4696a66693 Improve stack direction test
* configure.in: Update stack direction test to be like that in
	Autoconf _AC_LIBOBJ_ALLOCA and Gnulib; specifically in involving a
	function calling itself.
2008-07-12 19:33:29 +01:00
Ludovic Courtès
071bb6a840 Add `scm_c_symbol_length ()'. 2008-07-05 20:16:12 +02:00
Ludovic Courtès
7b28af22c0 Add `NEWS' entry for SRFI-18. 2008-06-30 19:48:50 +02:00
Ludovic Courtès
95c6523b03 Disable type-checking of `SCM_UNPACK' for the broken HP compilers. 2008-06-28 20:31:01 +02:00
Ludovic Courtès
589d9eb814 guile-config: Show -L$libdir' before -lguile'. 2008-06-02 21:47:41 +02:00
Ludovic Courtès
6eadcdab98 Work around `#define except' on Tru64. 2008-06-02 21:43:07 +02:00
Ludovic Courtès
8c40b75d38 Update `NEWS'. 2008-05-31 23:21:24 +02:00
Ludovic Courtès
a728672018 Remove uses of non-portable makefile constructs. 2008-05-07 21:38:13 +02:00
Neil Jerram
b20ef3a6af Add NEWS and concept index entries for traps infrastructure and Emacs support. 2008-05-05 22:39:05 +01:00
Ludovic Courtès
92826dd0e2 Add `pkg-config' support. 2008-05-04 22:26:57 +02:00
Ludovic Courtès
0fb11ae432 Fix type-checking of SRFI-1 `partition'. 2008-04-28 18:03:27 +02:00
Ludovic Courtès
816e3edf15 Make (srfi srfi-35)' visible through cond-expand'. 2008-04-26 21:09:40 +02:00
Ludovic Courtès
189681f55b Add `(srfi srfi-88)'. 2008-04-26 19:34:37 +02:00
Ludovic Courtès
535b3592b2 Don't use "-I$(srcdir)", so that our "random.h" doesn't shadow libc's on Tru64. 2008-04-24 19:37:54 +02:00
Ludovic Courtès
be10cba84b Update `NEWS'. 2008-04-16 12:01:09 +02:00
Ludovic Courtès
f5c2af4be0 Inline scm_getc', scm_putc' and `scm_puts'. 2008-04-16 09:45:05 +02:00
Ludovic Courtès
ef4cbc08c8 Add support for SRFI-88-like postfix keyword read syntax. 2008-04-15 19:52:43 +02:00
Ludovic Courtès
f1c212b156 Add `NEWS' entries for Andy's fixes. 2008-04-10 23:21:30 +02:00
Ludovic Courtès
4b824aae11 Update/remove references to the CVS repository. 2008-04-08 00:08:27 +02:00
Ludovic Courtès
979eade651 Fix inline machinery for GCC 4.3 and later in C99 mode. 2008-04-07 23:57:03 +02:00
Ludovic Courtès
eedcb08a25 Honor $TMPDIR in the test suite. 2008-03-13 14:03:58 +00:00
Ludovic Courtès
62c5382b88 Fix SRFI-37 `args-fold' with short option names of argument-less options. 2008-03-12 17:01:19 +00:00
Ludovic Courtès
bbb6fc4fc2 Provide describe' feature in (oop goops describe)'. 2008-03-12 17:00:07 +00:00
Ludovic Courtès
c2ad98ad41 Fix `alloca' on FreeBSD 6. 2008-03-10 22:34:40 +00:00
Neil Jerram
bca69a9fba Only define scm_from_complex_double if it will
actually be used.
2008-03-09 21:57:00 +00:00
Ludovic Courtès
61b6542aa6 Fix type-checking for the second argument of `eval'. 2008-03-06 09:51:44 +00:00
Ludovic Courtès
3f52096714 Fix "mixed linkage" errors in `inline.h'. 2008-03-02 17:03:42 +00:00