Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
* libguile/simpos.c (scm_system): On MinGW avoid call system (NULL),
return hardcoded #t instead.
|
|
So that they use the guile (or guile.exe, in the MinGW case) that was
just built, and not just any guile that can be found in the PATH.
* test-suite/standalone/test-asmobs: Use ${GUILE:-guile} instead of
guile.
* test-suite/standalone/test-bad-identifiers: Ditto.
* test-suite/standalone/test-fast-slot-ref.in: Ditto.
* test-suite/standalone/test-require-extension: Ditto.
* test-suite/standalone/test-system-cmds: Ditto.
* test-suite/standalone/test-use-srfi.in: Ditto.
|
|
* .gitignore: Add *.exe
|
|
(From http://git.savannah.gnu.org/cgit/libtool.git/commit/?id=101ad44541c6d303cf465937a212042885f4338e)
* ltmain.sh.patch: New file.
* autogen.sh: Apply patch to build-aux/ltmain.sh.
|
|
Fixes this MinGW build error:
cat alist.doc arbiters.doc async.doc backtrace.doc boolean.doc chars.doc continuations.doc debug.doc deprecation.doc deprecated.doc discouraged.doc dynl.doc dynwind.doc environments.doc eq.doc error.doc eval.doc evalext.doc extensions.doc feature.doc fluids.doc fports.doc futures.doc gc.doc goops.doc gsubr.doc gc-mark.doc gc-segment.doc gc-malloc.doc gc-card.doc guardians.doc hash.doc hashtab.doc hooks.doc i18n.doc init.doc ioext.doc keywords.doc lang.doc list.doc load.doc macros.doc mallocs.doc modules.doc numbers.doc objects.doc objprop.doc options.doc pairs.doc ports.doc print.doc procprop.doc procs.doc properties.doc random.doc rdelim.doc read.doc root.doc rw.doc scmsigs.doc script.doc simpos.doc smob.doc sort.doc srcprop.doc stackchk.doc stacks.doc stime.doc strings.doc srfi-4.doc srfi-13.doc srfi-14.doc strorder.doc strports.doc struct.doc symbols.doc threads.doc throw.doc values.doc variable.doc vectors.doc version.doc vports.doc weaks.doc ramap.doc unif.doc dynl.doc filesys.doc posix.doc net_db.doc socket.doc win32-uname.doc win32-dirent.doc win32-socket.doc inet_aton.doc mkstemp.doc | GUILE="/home/neil/SW/Guile/branch_release-1-8/pre-inst-guile" ../scripts/snarf-check-and-output-texi > guile-procedures.texi || { rm guile-procedures.texi; false; }
/home/neil/SW/Guile/branch_release-1-8/pre-inst-guile: line 94: /home/neil/SW/Guile/branch_release-1-8/libguile/guile: No such file or directory
/home/neil/SW/Guile/branch_release-1-8/pre-inst-guile: line 94: exec: /home/neil/SW/Guile/branch_release-1-8/libguile/guile: cannot execute: No such file or directory
* pre-inst-guile-env.in, pre-inst-guile.in: Add @EXEEXT@
|
|
This fixes the following errors in a MinGW cross-build.
libtool: compile: i586-mingw32msvc-gcc -DHAVE_CONFIG_H -I.. -I.. -I.. -I/usr/local/i586-mingw32msvc/include -I/usr/local/i586-mingw32msvc/include -g -O2 -Wall -Wmissing-prototypes -Werror -MT libguile_la-discouraged.lo -MD -MP -MF .deps/libguile_la-discouraged.Tpo -c discouraged.c -DDLL_EXPORT -DPIC -o .libs/libguile_la-discouraged.o
discouraged.c:75: error: conflicting types for 'scm_ptrdiff2num'
../libguile/discouraged.h:75: error: previous declaration of 'scm_ptrdiff2num' was here
discouraged.c:123: error: conflicting types for 'scm_num2ptrdiff'
../libguile/discouraged.h:89: error: previous declaration of 'scm_num2ptrdiff' was here
* libguile/discouraged.c (scm_ptrdiff2num, scm_num2ptrdiff): Use
scm_t_ptrdiff instead of ptrdiff_t.
|
|
* README: In particular, cover and recommend using wine. Separate the
"not recently tested" instructions into a separate section. Otherwise,
various minor textual improvements.
|
|
Earlier versions of ltdl would look for extensions under $PWD; this
behavior changed in 2.2.6b.
* test-suite/standalone/Makefile.am (TESTS_ENVIRONMENT): Define
$builddir.
* test-suite/standalone/test-asmobs: Specify the full path to
`libtest-asmobs', using $builddir.
|
|
* test-suite/tests/socket.test (%tmpdir, %curdir): New variables.
Chdir to %TMPDIR. Switch back to %CURDIR at the end.
(temp-file-path): Return a base file name, not an absolute path.
|
|
|
|
* test-suite/tests/goops.test ("classes for built-in types")["struct
vtable"]: New test case.
|
|
* module/srfi/srfi-35.scm (%make-condition-type): New procedure.
(make-condition-type, make-compound-condition-type): Use it.
* test-suite/tests/srfi-35.test ("condition
types")["struct-vtable-name"]: New test.
|
|
* module/srfi/srfi-19.scm: Use `(ice-9 rdelim)'.
(date->broken-down-time, priv:year-day, priv:char->int): Fix typo.
(time-*->time-*, time-*->time-*!): Fix reference to unbound variable
`caller'.
|
|
Thanks to Scott McPeak for reporting this.
* libguile/socket.c (scm_inet_ntop): In docstring, add quotes around
IPv6 address (+ reflow a bit).
* doc/ref/posix.texi (Network Address Conversion): Corresponding
change.
* doc/maint/guile.texi: Corresponding change.
|
|
Thanks to Scott McPeak for reporting this and providing a patch.
* libguile/socket.c (scm_to_ipv6): When address is the wrong type,
provide more information in the exception message.
(scm_to_sockaddr): scm_to_ipv6 expects just an address, not the
whole vector.
* test-suite/tests/socket.test ("AF_INET6/SOCK_STREAM"): New set of
tests.
|
|
Thanks to Scott McPeak for reporting this.
* doc/ref/posix.texi (Network Sockets and Communication): Change
INADDR_LOCALHOST to INADDR_LOOPBACK.
|
|
* libguile/extensions.c (load_extension): Don't do dynamic linking if we
actually did find an extension in the list.
|
|
Thanks to Judy Hawkins for reporting this.
* doc/ref/api-modules.texi (Included Guile Modules): Change
`let-values*' to `let*-values'.
|
|
|
|
Problem was that if an application includes both libguile.h and the
system's setjmp.h, and is compiled on IA64, it gets compile errors
because of jmp_buf, setjmp and longjmp being multiply defined.
* libguile/__scm.h (__ia64__): Define scm_i_jmp_buf, SCM_I_SETJMP and
SCM_I_LONGJMP instead of jmp_buf, setjmp and longjmp.
(all other platforms): Map scm_i_jmp_buf, SCM_I_SETJMP and
SCM_I_LONGJMP to jmp_buf, setjmp and longjmp.
* libguile/continuations.c (scm_make_continuation): Use `SCM_I_SETJMP'
instead of `setjmp'.
(copy_stack_and_call): Use `SCM_I_LONJMP' instead of `longjmp'.
(scm_ia64_longjmp): Use type `scm_i_jmp_buf' instead of `jmp_buf'.
* libguile/continuations.h (scm_t_contregs): Use type `scm_i_jmp_buf'
instead of `jmp_buf'.
* libguile/threads.c (suspend): Use `SCM_I_SETJMP' instead of
`setjmp'.
* libguile/threads.h (scm_i_thread): Use type `scm_i_jmp_buf' instead
of `jmp_buf'.
* libguile/throw.c (JBJMPBUF, make_jmpbuf, jmp_buf_and_retval): Use
type `scm_i_jmp_buf' instead of `jmp_buf'.
(scm_c_catch): Use `SCM_I_SETJMP' instead of `setjmp'.
(scm_ithrow): Use `SCM_I_LONGJMP' instead of `longjmp'.
|
|
|
|
* libguile/numbers.c (mem2decimal_from_point, mem2ureal, mem2complex):
Fix a number of cases where, for invalid numbers, we could read past
the end of the buffer. This happened in e.g. "1.0+", "1/" and "1.0f".
But I couldn't figure out how to test for these, given that the
behavior depended on the contents of uninitialized memory in the
reader buffer. We'll just have to be happy with this.
Thanks to Kjetil S. Matheussen for the report.
|
|
* GUILE-VERSION (GUILE_MICRO_VERSION): Increment.
(LIBGUILE_INTERFACE_REVISION): Increment.
|
|
* NEWS: Update.
|
|
* test-suite/tests/bit-operations.test: Use the `define-module' clause.
|
|
* configure.in: Check for the vsnprintf(3) declaration.
* libguile/deprecation.c [!HAVE_DECL_VSNPRINTF]: Provide vsnprintf(3)
declaration. This is needed on `powerpc-ibm-aix5.3.0.0'.
|
|
* configure.in: Set $build_pthread_support to "no" when thread support
isn't built. This fixes the `BUILD_PTHREAD_SUPPORT' Automake
conditional.
|
|
* configure.in: Remove `ice-9/{debugger,debugging}/Makefile' from
`AC_CONFIG_FILES'.
* ice-9/Makefile.am (SUBDIRS): Remove.
(ice9_debugger_sources, ice9_debugging_sources): New variables.
(subpkgdata_DATA): Remove
(nobase_subpkgdata_DATA): New.
(TAGS_FILES): Point to $(nobase_subpkgdata_DATA).
(EXTRA_DIST): Add `$(ice9_debugger_sources) $(ice9_debugging_sources)'.
|
|
Also
- removed the completely content-free `Special Instructions For Some
Systems' section from `README'
- changed the version number in `README' to 1.8.7.
|
|
This reverts commit b6c09de56a6978e60c6815ce69403fc7dc0268b5.
Sorry, 1.8/master confusion on my part. Thanks to Ludovic for
explaining why this commit isn't needed.
(http://lists.gnu.org/archive/html/guile-devel/2009-07/msg00001.html)
|
|
Thanks to Bill Schottstaedt for reporting this problem!
* libguile/numbers.c (mem2ureal): Don't be misled by *p_exactness
being INEXACT on entry (as is possible when reading a complex
number): use local exactness variable x which starts as EXACT.
Call mem2decimal_from_point () with &x instead of p_exactness.
* test-suite/tests/numbers.test ("string->number"): Add complex number
tests suggested by Bill.
|
|
Thanks to Ludovic for the new wording!
* doc/ref/api-compound.texi (Accessing Arrays from C): Correct text to
reflect the current implementation of scm_array_get_handle and
scm_array_handle_release - which don't actuall do any dynwind stuff.
|
|
http://www.mail-archive.com/guile-devel@gnu.org/msg01635.html
(Second time this has happened. I don't know why!)
|
|
This fixes a problem on some platforms where a pre-inst guile
incorrectly picks up an old installed library (e.g. from
/usr/local/lib) instead of the not-yet-installed newly built library.
For detailed discussion see
and
http://www.mail-archive.com/guile-devel@gnu.org/msg02529.html.
* pre-inst-guile-env.in (subdirs_with_ltlibs): Add libguile.
* pre-inst-guile.in (subdirs_with_ltlibs): Add libguile.
|
|
MinGW apparently can't export/import struct variables from/to a DLL,
so wrap the ones needed by inline.h in exported/imported pointer
variables.
All of the following changes apply to a MinGW build only.
* libguile/gc-freelist.c (scm_i_master_freelist_ptr,
scm_i_master_freelist2_ptr): New API variables.
* libguile/gc.h (scm_i_freelist_ptr, scm_i_freelist2_ptr,
scm_i_master_freelist_ptr, scm_i_master_freelist2_ptr): New global
variable declarations.
* libguile/inline.h (scm_cell): Use scm_i_freelist_ptr and
scm_i_master_freelist_ptr instead of scm_i_freelist and
scm_i_master_freelist.
(scm_double_cell): Use scm_i_freelist2_ptr and
scm_i_master_freelist2_ptr instead of scm_i_freelist2 and
scm_i_master_freelist2.
* libguile/threads.c (scm_i_freelist_ptr, scm_i_freelist2_ptr): New
global variables.
|
|
This is a fix for a MinGW cross compile build.
* doc/ref/Makefile.am (autoconf-macros.texi): Use GUILE_FOR_BUILD to
generate this.
|
|
* srfi/srfi-60.c (SCM_MIN): Define here instead of including
private-gc.h.
|
|
The dummy scm_init_* and scm_c_init_* functions in the empty libraries
for SRFIs 4, 13 and 14 clash with declarations with the same names in
libguile.h that are marked (in the MinGW build) with __declspec
(dllimport). These libraries are empty because their content was
moved into libguile some time ago, and I think these functions are
needed only so that the libraries appear to contain something. They
used also to be needed for the (load-extension ...) forms in the
corresponding .scm modules, but those forms were not needed anymore,
and so were removed, when everything moved into libguile.
* srfi/srfi-13.c (scm_init_srfi_13_no_clash_with_libguile): Renamed
from scm_init_srfi_13.
(scm_init_srfi_13_14_no_clash_with_libguile): Same.
* srfi/srfi-14.c (scm_init_srfi_14_no_clash_with_libguile): Same.
(scm_c_init_srfi_14_no_clash_with_libguile): Same.
* srfi/srfi-4.c (scm_init_srfi_4_no_clash_with_libguile): Same.
|
|
This reverts commit 0b3d52fae15fe7abb84a86bdcde1ae796ba7b549.
It was a confusing mistake to create an FAQ file in the Guile
repository/distribution, because there was already an FAQ page on the
Guile web site. The information that was in the FAQ file is now in
the FAQ web page.
|
|
The main motivation for this is wanting a successful MinGW build,
which is currently failing with:
guile-guile.o: In function `inner_main':
/home/neil/SW/Guile/ovnight/libguile/guile.c:55: undefined reference to `__imp__gdb_result'
/home/neil/SW/Guile/ovnight/libguile/guile.c:55: undefined reference to `__imp__gdb_output'
/home/neil/SW/Guile/ovnight/libguile/guile.c:55: undefined reference to `__imp__gdb_output_length'
The detailed problem here is to do with how those variables are
declared as exported from the libguile DLL and imported by the guile.c
main program. But in fact we don't need to solve that problem because
the GDB interface is an idea that never actually happened. So here we
just remove the offending variable references from guile.c.
For the record, Guile contains two kinds of GDB support, one of which
is real (and works, last time I tried it), and the other mythical.
The first kind is that libguile includes the utility functions
gdb_print, gdb_eval, etc., and the variable gdb_output. These have no
purpose except for developers to use from GDB when debugging
something. For example, if you have a SCM x and want to know what it
is, you can do:
(gdb) call gdb_print(x)
(gdb) p gdb_output
The second kind is that those utility functions are somehow declared
to GDB, and then GDB itself uses/calls them in some useful way. This
was an interesting idea, but (AFAICT) never actually happened.
I think it's worth leaving gdb_interface.h in the repository and the
distribution, in case this idea is properly resurrected in the future.
* libguile/guile.c (top level): Remove GDB_INTERFACE declaration.
(inner_main): Remove GDB_INTERFACE_INIT call.
|
|
The warning is:
stime.c:85: warning: `tzname' redeclared without dllimport attribute: previous dllimport ignored
The second half of this section of #ifdefery implies that the MinGW
build isn't going to reference a function called `tzname' anyway
(because it's going to use `_tzname' instead). So why should a MinGW
build want any declaration of `tzname' at all?
As far as a declaration of `_tzname' is concerned, there are no
more #includes after this, so we must have already got a declaration
of `_tzname' from one of the preceding includes.
* libguile/stime.c (tzname): Remove declaration in __MINGW32__ build.
It isn't needed and causes a build warning.
|
|
|
|
Should have said:
The readline part of this goes back to this problem report:
http://sources.redhat.com/ml/guile/2000-05/msg00177.html; and is an
excellent example...
|
|
As the Autoconf documentation says, "These days portable programs
[...] should not rely on `HAVE_RESTARTABLE_SYSCALLS', since nowadays
whether a system call is restartable is a dynamic issue, not a
configuration-time issue."
In other words, if we ever rely on HAVE_RESTARTABLE_SYSCALLS, we are
at the mercy of any code that Guile happens to be linked with, because
that code could install a signal handler without the SA_RESTART flag,
and then a Guile system call could unexpectedly return EINTR.
The readline part of this goes back to this problem report:
excellent example of the above paragraph. It was noted during the
discussion that undefining HAVE_RESTARTABLE_SYSCALLS would fix the
problem, but that solution wasn't adopted - I guess because Guile was
still using cooperative threads then (not pthreads) and so there was a
significant concern (whether founded or not) that not using
restartable syscalls (where available) could lead to a loss of
performance.
Now Guile's default mode of operation is with pthreads, where we
already don't assume that HAVE_RESTARTABLE_SYSCALLS is reliable, so
there is no possible further performance loss. And in any case we
really have no choice, if we want correct operation.
* configure.in (AC_SYS_RESTARTABLE_SYSCALLS): Removed.
* doc/ref/posix.texi (Signals): Remove statement that Guile always
sets SA_RESTART flag.
* guile-readline/configure.in (GUILE_SIGWINCH_SA_RESTART_CLEARED):
Remove this setting, together with its test code.
(HAVE_RL_PRE_INPUT_HOOK): Remove this setting and its code, as no
longer needed.
* guile-readline/readline.c (sigwinch_enable_restart): Removed.
(scm_init_readline): Remove setting of rl_pre_input_hook.
* libguile/_scm.h (SCM_SYSCALL): Remove the definition that relies on
HAVE_RESTARTABLE_SYSCALLS.
* libguile/scmsigs.c (scm_sigaction_for_thread): Don't always set the
SA_RESTART flag if available. Update docstring accordingly.
(scm_init_scmsigs): Remove code that sets SA_RESTART flag for all
signals.
|
|
Thanks to Greg Troxel for reporting, and Barry Fishman for the
explanation and fix.
* test-suite/tests/popen.test ("open-input-pipe"): Use shell function
`read' with an explicit argument, as apparently not all shells
support read with no argument.
|
|
* libguile/threads.c (scm_join_thread): Always recheck t->exited
before calling block_self again, in case thread t has now exited.
* test-suite/tests/threads.test (joining): New test.
|
|
On the one hand we want the child process in these tests to exit. On
the other, we don't want it to exit before the parent Guile code has
tested the relevant condition (EOF in the first test, broken pipe in
the second) - because these conditions would obviously be true if the
child had already exited, and that's not what we're trying to test
here. We're trying to test getting EOF and broken pipe while the
child process is still alive.
* test-suite/tests/popen.test (open-input-pipe:no duplicate): Add
another pipe from parent to child, so that the child can finish by
reading from this. Then the parent controls the child lifetime by
writing to this pipe.
* test-suite/tests/popen.test (open-output-pipe:no duplicate): Add
another pipe from child to parent, and have the child finish by
endlessly writing into this. Then the parent controls the child
lifetime by closing its end of the pipe, causing a broken pipe in
the child.
|
|
|
|
|