\f
#include "libguile/_scm.h"
-#if defined (HAVE_RL_GETC_FUNCTION)
-#include "libguile/libguile.h"
+#ifdef HAVE_RL_GETC_FUNCTION
+#include "libguile.h"
#include "libguile/gh.h"
#include "libguile/iselect.h"
#include <readline/history.h>
#include <sys/time.h>
-#include "libguile/scm_validate.h"
-#include "readline.h"
+#include "libguile/validate.h"
+#include "guile-readline/readline.h"
scm_option scm_readline_opts[] = {
{ SCM_OPTION_BOOLEAN, "history-file", 1,
static int
current_input_getc (FILE *in)
{
- SCM ans;
if (promptp && SCM_NIMP (before_read))
{
scm_apply (before_read, SCM_EOL, SCM_EOL);
promptp = 0;
}
- ans = scm_getc (input_port);
- return ans;
+ return scm_getc (input_port);
}
static void
ans = scm_internal_catch (SCM_BOOL_T,
(scm_catch_body_t) internal_readline,
- (void *) text,
+ (void *) SCM_UNPACK (text),
handle_error, 0);
fclose (rl_instream);
static int
match_paren (int x, int k)
{
- int tmp;
+ int tmp, fno;
SELECT_TYPE readset;
struct timeval timeout;
timeout.tv_sec = tmp / 1000000;
timeout.tv_usec = tmp % 1000000;
FD_ZERO (&readset);
- FD_SET (fileno (rl_instream), &readset);
+ fno = fileno (rl_instream);
+ FD_SET (fno, &readset);
if (rl_point > 1)
{
if (rl_point > -1)
{
rl_redisplay ();
- scm_internal_select (1, &readset, NULL, NULL, &timeout);
+ scm_internal_select (fno + 1, &readset, NULL, NULL, &timeout);
}
rl_point = tmp;
}
return 0;
}
+#endif /* HAVE_RL_GETC_FUNCTION */
void
scm_init_readline ()
{
-#include "readline.x"
+#ifdef HAVE_RL_GETC_FUNCTION
+#include "guile-readline/readline.x"
scm_readline_completion_function_var
= scm_sysintern ("*readline-completion-function*", SCM_BOOL_F);
rl_getc_function = current_input_getc;
SCM_N_READLINE_OPTIONS);
init_bouncing_parens();
scm_add_feature ("readline");
+#endif /* HAVE_RL_GETC_FUNCTION */
}
-#endif
+/*
+ Local Variables:
+ c-file-style: "gnu"
+ End:
+*/