readline: change to create alien at run-time. Fixes #254.

db4
John Benediktsson 2011-10-13 13:24:56 -07:00
parent 4baf14972f
commit a80d176720
2 changed files with 8 additions and 8 deletions

View File

@ -4,7 +4,6 @@ USING: accessors alien.data fry io io.encodings.utf8 kernel
listener namespaces readline sequences threads vocabs
command-line vocabs.hierarchy sequences.deep locals
splitting math ;
QUALIFIED: readline.ffi
IN: readline-listener
<PRIVATE

View File

@ -18,13 +18,14 @@ IN: readline
: current-line ( -- str )
readline.ffi:rl_line_buffer ;
: has-readline ( -- ? )
: has-readline? ( -- ? )
"readline" dup load-library dlsym-raw >boolean ;
MACRO: set-completion ( quot -- )
: set-completion ( quot -- )
[
'[ @ [ utf8 malloc-string ] [ f ] if* ]
'[ _ readline.ffi:rl_compentry_func_t ]
(( -- alien )) define-temp
] with-compilation-unit execute
'[ _ readline.ffi:set-rl_completion_entry_function ] ;
'[
[ @ [ utf8 malloc-string ] [ f ] if* ]
readline.ffi:rl_compentry_func_t
] (( -- alien )) define-temp
] with-compilation-unit execute( -- alien )
readline.ffi:set-rl_completion_entry_function ;