--- /dev/null
+--- pl-3.4.2/src/pl-rl.c.wiget Fri Apr 13 20:15:48 2001
++++ pl-3.4.2/src/pl-rl.c Fri Apr 13 20:19:55 2001
+@@ -68,7 +68,7 @@
+ extern int rl_begin_undo_group(void); /* delete when conflict arrises! */
+ extern int rl_end_undo_group(void);
+ extern Function *rl_event_hook;
+-extern char *filename_completion_function(char *, int);
++extern char *rl_filename_completion_function(const char *, int);
+
+
+ static foreign_t
+@@ -238,8 +238,8 @@
+
+
+ static char *
+-atom_generator(char *prefix, int state)
+-{ char *s = PL_atom_generator(prefix, state);
++atom_generator(const char *prefix, int state)
++{ char *s = PL_atom_generator((char *)prefix, state);
+
+ if ( s )
+ return strcpy(xmalloc(1 + strlen(s)), s);
+@@ -249,17 +249,17 @@
+
+
+ static char **
+-prolog_completion(char *text, int start, int end)
++prolog_completion(const char *text, int start, int end)
+ { char **matches = NULL;
+
+ if ( (start == 1 && rl_line_buffer[0] == '[') ) /* [file */
+- matches = completion_matches(text,
+- (void *) filename_completion_function);
++ matches = rl_completion_matches(text,
++ (void *) rl_filename_completion_function);
+ else if (start == 2 && strncmp(rl_line_buffer, "['", 2))
+- matches = completion_matches(text,
+- (void *) filename_completion_function);
++ matches = rl_completion_matches(text,
++ (void *) rl_filename_completion_function);
+ else
+- matches = completion_matches(text, atom_generator);
++ matches = rl_completion_matches(text, atom_generator);
+
+ return matches;
+ }