summaryrefslogtreecommitdiff
path: root/guile-readline
Commit message (Expand)AuthorAgeFilesLines
* Avoid stifling readline history when looking up options...With this patch, history is never stifled unless (readline-set!) is used. * src/guile-readline/readline.c (scm_readline_options) Daniel Llorens2016-06-241-27/+29
* Merge branch 'stable-2.0'...Conflicts: benchmark-suite/benchmarks/ports.bm libguile/async.h libguile/bytevectors.c libguile/foreign.c libguile/gsubr.c libguile/srfi-1.c libguile/vm-engine.h libguile/vm-i-scheme.c module/Makefile.am module/language/tree-il/analyze.scm module/language/tree-il/peval.scm module/scripts/compile.scm module/scripts/disassemble.scm test-suite/tests/asm-to-bytecode.test test-suite/tests/peval.test test-suite/tests/rdelim.test Mark H Weaver2014-09-301-1/+2
|\
| * guile-readline: Use the current directory if HOME is unset....* guile-readline/ice-9/readline.scm (history-file): When the HOME environment variable is unset, use the current directory instead. David Michael2014-09-211-1/+2
* | Merge branch 'stable-2.0'...Conflicts: GUILE-VERSION NEWS guile-readline/ice-9/readline.scm libguile/async.c libguile/backtrace.c libguile/deprecated.h libguile/gc-malloc.c libguile/gdbint.c libguile/init.c libguile/ioext.c libguile/mallocs.c libguile/print.c libguile/rw.c libguile/scmsigs.c libguile/script.c libguile/simpos.c libguile/snarf.h libguile/strports.c libguile/threads.c libguile/vm-i-scheme.c libguile/vm-i-system.c module/srfi/srfi-18.scm test-suite/Makefile.am test-suite/standalone/test-num2integral.c Mark H Weaver2014-04-251-2/+3
|\|
| * Readline history preserves newlines...* guile-readline/ice-9/readline.scm (make-readline-port): Preserve newlines. This preserves the semantics of history entries that contain until-end-of-line comments using `;'. Andy Wingo2014-04-141-2/+2
* | Put the readline extension in the extensionsdir...* GUILE-VERSION: * acinclude.m4: * guile-readline/LIBGUILEREADLINE-VERSION: * guile-readline/Makefile.am: Rename libguile-readline-v-18.so to guile-readline.so, and install it to the extensions dir instead of the libdir. * guile-readline/ice-9/readline.scm: Load guile-readline instead of libguile-readline-v-18. Andy Wingo2013-10-143-27/+11
* | Merge remote-tracking branch 'origin/stable-2.0'...Conflicts: configure.ac libguile/deprecated.c libguile/deprecated.h libguile/filesys.h libguile/fluids.c libguile/fports.c libguile/gc.c libguile/guile.c libguile/numbers.c libguile/objcodes.c libguile/r6rs-ports.c libguile/smob.c libguile/socket.c libguile/threads.h module/language/scheme/decompile-tree-il.scm module/language/tree-il/peval.scm test-suite/tests/syncase.test Mark H Weaver2013-03-281-27/+5
|\|
| * simplify readline.c...* guile-readline/readline.c: Remove all mingw special-casing, relying instead on mingw / gnulib doing the right thing. Andy Wingo2013-03-091-27/+4
* | add scm_from_port_string and friends...* doc/ref/api-data.texi (Conversion to/from C): * libguile/strings.h: * libguile/strings.c (scm_from_port_string, scm_from_port_stringn): (scm_to_port_string, scm_to_port_stringn): New functions. * guile-readline/readline.c (internal_readline): * libguile/strports.c (scm_strport_to_string): * libguile/read.c (scm_read_number, scm_read_mixed_case_symbol): (scm_read_number_and_radix, scm_read_character): Use the new functions. Andy Wingo2013-01-151-7/+2
|/
* guile-readline: Clean `.go' files....* guile-readline/Makefile.am (CLEANFILES): Add *.go. Ludovic Courtès2012-01-231-2/+3
* readline uses define-once...* guile-readline/ice-9/readline.scm: Use define-once. Andy Wingo2011-02-091-10/+10
* remove readline-activator.scm...* guile-readline/readline-activator.scm: Remove this file that was deprecated in Guile 1.4. Andy Wingo2011-02-081-17/+0
* Expression-oriented readline history...* guile-readline/ice-9/readline.scm (make-readline-port): Instead of calling add-history after every %readline call, do it only when starting a new read. Other times, append the line just read to an internal buffer. Neil Jerram2010-11-141-14/+29
* readline repl-reader falls back to boot-9 definition for other ports...* guile-readline/ice-9/readline.scm (readline-repl-reader): Pull definition out of activate-readline. If the current input port is not the readline port, fall back to the boot-9 repl reader. (activate-readline): Adapt. Andy Wingo2010-10-101-18/+25
* guile-readline slight modernization...* guile-readline/Makefile.am: Update to use am/guilec. * guile-readline/ice-9/readline.scm (activate-readline): Update to use a lambda*. Andy Wingo2010-10-052-13/+12
* readline only handles SIGWINCH...* acinclude.m4 (GUILE_READLINE): Check for rl_catch_signals and rl_catch_sigwinch. * guile-readline/readline.c (scm_init_readline): If we can, turn off readline's signal handling, because we can do our own. (scm_readline): Use dynwinds to handle resetting readline's state on nonlocal exit, not catches. (unwind_readline): Rename from handle_error. Andy Wingo2010-07-091-9/+20
* remove use-emacs-interface check from ice-9 readline...* guile-readline/ice-9/readline.scm (activate-readline): Remove check for use-emacs-interface in guile-user, an interface that was removed. Andy Wingo2010-07-091-15/+12
* Use AM_SILENT_RULES to pare down build output, ignore auto-generated files...* .gitignore: Ignore extra gnulib headers. * am/snarf: Silent SNARF command * am/guilec: Silent GUILEC command * configure.ac: Use AM_SILENT_RULES when available * guile-readline/Makefile.am: * libguile/Makefile.am: * srfi/Makefile.am: * test-suite/standalone/Makefile.am: Silence snarf output No Itisnt2010-06-181-3/+3
* 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! Andy Wingo2010-06-021-2/+2
* parallel installability for libguile*.h...* Makefile.am: * libguile/Makefile.am (modincludedir): Install into $pkgincludedir/$GUILE_EFFECTIVE_VERSION. This allows multiple Guile development packages to be installed at once. * guile-readline/Makefile.am (modincludedir): * srfi/Makefile.am (srfiincludedir): Likewise. * meta/guile-2.0.pc.in (Cflags): Add the appropriate -I line so that user code picks up the new location transparently. Andy Wingo2010-03-161-1/+2
* rename libguile to libguile-@EFFECTIVE_VERSION@, currently libguile-2.0...* libguile/Makefile.am (lib_LTLIBRARIES): Instead of just "libguile.la", make "libguile-@EFFECTIVE_VERSION@.la". This allows multiple versions of Guile to be installed at once. See http://www106.pair.com/rhp/parallel.html for a rationale. (libguile_@GUILE_EFFECTIVE_VERSION@_la_CFLAGS): (libguile_@GUILE_EFFECTIVE_VERSION@_la_SOURCES): (EXTRA_libguile_@GUILE_EFFECTIVE_VERSION@_la_SOURCES): (libguile_@GUILE_EFFECTIVE_VERSION@_la_DEPENDENCIES): (libguile_@GUILE_EFFECTIVE_VERSION@_la_LIBADD): (libguile_@GUILE_EFFECTIVE_VERSION@_la_LDFLAGS): Fixup automake vars to include the effective version. (guile_LDADD): Fix up the spelling of libguile. * libguile/bytevectors.c (scm_bootstrap_bytevectors): * libguile/foreign.c (scm_register_foreign): * libguile/i18n.c (scm_bootstrap_i18n): * libguile/instructions.c (scm_bootstrap_instructions): * libguile/objcodes.c (scm_bootstrap_objcodes): * libguile/programs.c (scm_bootstrap_programs): * libguile/vm.c (scm_bootstrap_vm): Register extensions using e.g. "libguile-2.0" as the libname -- i.e., including the effective version in the libname. * module/ice-9/i18n.scm: * module/rnrs/bytevector.scm: * module/rnrs/io/ports.scm: * module/system/foreign.scm: * module/system/vm/instruction.scm: * module/system/vm/objcode.scm: * module/system/vm/program.scm: * module/system/vm/vm.scm: When doing a load-extension for something in Guile, use the effective version also. * meta/guile-2.0-uninstalled.pc.in (Libs): * meta/guile-2.0.pc.in (Libs): Use -lguile-@EFFECTIVE_VERSION@. This change should mean that code built against Guile should not be affected by the libguile rename. * guile-readline/Makefile.am (libguilereadline_v_@LIBGUILEREADLINE_MAJOR@_la_LIBADD): * srfi/Makefile.am (libguile_srfi_srfi_1_v_@LIBGUILE_SRFI_SRFI_1_MAJOR@_la_LIBADD): (libguile_srfi_srfi_4_v_@LIBGUILE_SRFI_SRFI_4_MAJOR@_la_LIBADD): (libguile_srfi_srfi_13_14_v_@LIBGUILE_SRFI_SRFI_13_14_MAJOR@_la_LIBADD): (libguile_srfi_srfi_60_v_@LIBGUILE_SRFI_SRFI_60_MAJOR@_la_LIBADD): * test-suite/standalone/Makefile.am (test_num2integral_LDADD): (test_round_LDADD): (libtest_asmobs_la_LIBADD): (libtest_ffi_la_LIBADD): (test_list_LDADD): (test_unwind_LDADD): (test_conversion_LDADD): (test_loose_ends_LDADD): (test_scm_c_read_LDADD): (test_scm_take_locale_symbol_LDADD): (test_scm_take_u8vector_LDADD): (libtest_extensions_la_LIBADD): (test_with_guile_module_LDADD): (test_scm_with_guile_LDADD): Fix up the spelling of libguile.la. Andy Wingo2010-03-161-2/+2
* decruftify scm_sys_protects...* libguile/root.h * libguile/root.c (scm_sys_protects): It used to be that for some reason we'd define a special array of "protected" values. This was a little silly, always, but with the BDW GC it's completely unnecessary. Also many of these variables were unused, and none of them were good API. So remove this array, and either eliminate, make static, or make internal the various values. * libguile/snarf.h: No need to generate calls to scm_permanent_object. * guile-readline/readline.c (scm_init_readline): No need to call scm_permanent_object. * libguile/array-map.c (ramap, rafe): Remove the dubious nullvect optimizations. * libguile/async.c (scm_init_async): No need to init scm_asyncs, it is no more. * libguile/eval.c (scm_init_eval): No need to init scm_listofnull, it is no more. * libguile/gc.c: Make scm_protects a static var. (scm_storage_prehistory): Change the sanity check to use the address of protects. (scm_init_gc_protect_object): No need to clear the scm_sys_protects, as it is no more. * libguile/keywords.c: Make the keyword obarray a static var. * libguile/numbers.c: Make flo0 a static var. * libguile/objprop.c: Make object_whash a static var. * libguile/properties.c: Make properties_whash a static var. * libguile/srcprop.h: * libguile/srcprop.c: Make scm_source_whash a global with internal linkage. * libguile/strings.h: * libguile/strings.c: Make scm_nullstr a global with internal linkage. * libguile/vectors.c (scm_init_vectors): No need to init scm_nullvect, it's unused. Andy Wingo2009-12-051-1/+1
* repl-reader accepts optional "read" argument...* module/ice-9/boot-9.scm (repl-reader): Accept an optional second argument, the reader to use. If it is given, use it instead of dereferencing the current-reader fluid. * guile-readline/ice-9/readline.scm (activate-readline): Make our replacement definition of repl-reader compatible with boot-9. Andy Wingo2009-10-161-3/+5
* Make scm_i_from_stringn into API for use with libguilereadline...* libguile/strings.c (scm_i_from_stringn): renamed to scm_from_stringn. All callers changed. * libguile/strings.h: change declaration of scm_i_from_stringn to scm_from_stringn * libguile/strports.c (scm_strport_to_string): scm_i_from_stringn -> scm_from_stringn * guile-readline/readline.c (internal_readline): scm_i_from_stringn -> scm_from_stringn Michael Gran2009-09-091-2/+2
* Fix broken interaction between readline and Unicode...This requires separate small fixes. Readline has internal logic to deal with multi-byte characters, so it wants bytes, not characters. scm_c_read gets called by the vm when readline is activated, and it was truncating multi-byte characters because soft ports didn't have the UCS-4 capability. Soft ports need the capability to read UCS-4 characters. Since soft ports may have a single byte buffer, full characters need to be stored into the pushback buffer. This broke the optimizations in scm_c_read for using an alternate buffer for single-byte-buffered ports, because the opimization wasn't expecting anything in the pushback buffer. * libguile/vports.c (sf_fill_input): store complete chars, not single bytes * libguile/ports.c (scm_c_read): don't use optimized path for non Latin-1. Add debug prints. * libguile/string.h: make scm_i_from_stringn and scm_i_string_ref public so that readline can use them * guile-readline/readline.c: read bytes, not complete chars, from the input port. Convert output to the output port's locale Michael Gran2009-09-071-2/+9
* Export readline history functions...* guile-readline/ice-9/readline.scm: Export history functions. Neil Jerram2009-08-301-5/+9
* Aggregate `guile-readline' makefiles....* configure.ac: Don't produce `guile-readline/ice-9/Makefile'. * guile-readline/Makefile.am (SUBDIRS): Remove. (ice9dir, nobase_ice9_DATA): New, formerly under `ice-9'. (ETAGS_ARGS, EXTRA_DIST): Augment. (DEFS): Move outside of `if'. (MKDEP): Remove. * guile-readline/ice-9/Makefile.am: Remove. Ludovic Courtès2009-08-212-33/+12
* Don't use a sub-`configure' for `guile-readline'....* acinclude.m4 (GUILE_READLINE): New macro, based on the former `guile-readline/configure.ac'. * configure.ac: Remove `AC_CONFIG_SUBDIRS' invocation. Add `GUILE_READLINE' invocation. Produce files under `guile-readline'. * guile-readline/Makefile.am: Conditionalize the meat under `HAVE_READLINE'. (INCLUDES): Rename to... (AM_CPPFLAGS): this. Users updates. (AM_CFLAGS): New variable. (libguilereadline_v_@LIBGUILEREADLINE_MAJOR@_la_LIBADD): Add $(READLINE_LIBS). * guile-readline/readline.c: Include <config.h>. * guile-readline/configure.ac, guile-readline/autogen.sh: Remove. Ludovic Courtès2009-08-214-107/+21
* rename configure.in to configure.ac...* configure.ac: * guile-readline/configure.ac: Rename from configure.in, as recommended by the autoconf manual. Andy Wingo2009-08-041-0/+0
* Remove AC_SYS_RESTARTABLE_SYSCALLS and related code...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: http://sources.redhat.com/ml/guile/2000-05/msg00177.html; and is an 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. Thanks to Sylvain Beucler for reporting this and suggesting the fix. * 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: Add Sylvain. Neil Jerram2009-06-232-94/+0
* Change guile-readline license to GPLv3+Neil Jerram2009-06-175-23/+23
* Provide easier configure options for GMP and readline...This patch uses the AC_LIB_LINKFLAGS macro, provided by Gnulib's havelib module, to provide --with-gmp-prefix and --with-readline-prefix configure options. Many thanks to Bruno Haible for suggesting and explaining this to me. * configure.in (top level): Add AC_LIB_LINKFLAGS(gmp). * guile-readline/configure.in (AC_CONFIG_AUX_DIR): Change to ../build-aux, to share the main build-aux directory and so avoid having to distribute multiple copies of config.rpath. (top level): Add AC_LIB_LINKFLAGS(readline). * lib/Makefile.am, m4/gnulib-cache.m4: Regenerated by gnulib-tool for new import of the `havelib' module. Neil Jerram2009-06-141-1/+2
* leap of faith: (ice-9 syncase) in psyntax-pp.scm -> (guile)...* module/ice-9/psyntax-pp.scm: Manually switch psyntax-pp over to (guile) from (ice-9 syncase). Heh heh. Andy Wingo2009-04-241-17/+15
* Merge commit 'origin/master' into vm...Conflicts: doc/Makefile.am ice-9/Makefile.am libguile/gc.c Andy Wingo2008-09-305-29/+2
|\
| * Remove GH and its traces.Han-Wen Nienhuys2008-09-281-1/+0
| * Add `ChangeLog-2008' files to the distribution.Ludovic Courtès2008-09-121-2/+2
| * Rename `ChangeLog' files to `ChangeLog-2008'.Ludovic Courtès2008-09-121-0/+0
| * Remove `.cvsignore' files.Ludovic Courtès2008-09-112-26/+0
* | merge from guile master...Had to fix up .gitignore for some conflicts. Andy Wingo2008-08-263-4/+21
|\|
| * Remove uses of non-portable makefile constructs.Ludovic Courtès2008-05-072-3/+9
| * Don't use "echo -n" in `guile-readline/configure.in'.Ludovic Courtès2008-04-162-1/+12
* | make readline's `repl-reader' impl check the current-reader fluid...* guile-readline/ice-9/readline.scm (activate-readline): Use the current binding of the current-reader fluid, if it is available. Andy Wingo2008-08-021-1/+1
|/
* Merge 1.8.4 release commit.Ludovic Courtès2008-02-211-0/+5
* Release stuff: missing NEWS and 2007/2008 copyrights.Neil Jerram2008-02-151-1/+1
* * readline.c (scm_init_readline): Only do init_bouncing_parens ()...if HAVE_RL_GET_KEYMAP. (init_bouncing_parens, find_matching_paren, match_paren): Compile out if ! HAVE_RL_GET_KEYMAP. * configure.in: Add check for rl_get_keymap. Neil Jerram2008-01-293-0/+18
* Changes from arch/CVS synchronizationLudovic Courtès2007-07-292-4/+12
* Changes from arch/CVS synchronizationLudovic Courtès2007-07-171-0/+5
* Changes from arch/CVS synchronizationLudovic Courtès2007-06-252-2/+12
* terminate option list with NULL....(scm_init_readline): fix CVS mess-up. Han-Wen Nienhuys2007-01-192-3/+2
* * readline.c: terminate option list with NULL....* read.c: idem. * print.c: idem. * eval.c: terminate option lists with 0. * options.c: remove n (for length) from scm_option_X functions. Detect option list length by looking for NULL name. Han-Wen Nienhuys2007-01-192-1/+6