# Error on ruby readline

**URL:** <https://www.ruby-forum.com/t/error-on-ruby-readline/115562>\
**Category:** Ruby\
**Created:** [September 26, 2007, 9:23am UTC](https://www.ruby-forum.com/t/error-on-ruby-readline/115562 "2007-09-26T09:23:48Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![shinwoo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/df705f/32.png) [@shinwoo](https://www.ruby-forum.com/u/shinwoo)\
**Post date:** [September 26, 2007, 9:23am UTC](https://www.ruby-forum.com/t/error-on-ruby-readline/115562/1 "2007-09-26T09:23:48Z")

</div>

Hi,

I just compile ruby readline ext for ruby 1.8.6-p110 now.  
However, when I run irb and include ‘ruby/completion’  
all my special character is not recognize by irb, like ‘Home’ become  
‘$’, arrow ‘\<-’ become ‘%’ and so on. Backspace is working fine and  
other alpha numeric character also work fine. It is still usable, for  
‘\<-’, I have to type which is not very inconvenience.

Anyone has any idea what I have making wrong?  
Base on the mkmf.log. I don’t have the tgetnum() function, anyone know  
how this impact to readline?

I get the readline src from:  
[http://jarp.does.notwork.org/win32/readline-4.3-2-src.zip](http://jarp.does.notwork.org/win32/readline-4.3-2-src.zip)

# Here is the ruby extconf output:

checking for tgetnum() in ncurses.lib… no  
checking for tgetnum() in termcap.lib… no  
checking for tgetnum() in curses.lib… no  
checking for readline/readline.h… yes  
checking for readline/history.h… yes  
checking for readline() in readline.lib… yes  
checking for rl\_filename\_completion\_function in  
stdio.h,readline/readline.h,readline/history.h… ye  
s  
checking for rl\_username\_completion\_function in  
stdio.h,readline/readline.h,readline/history.h… ye  
s  
checking for rl\_completion\_matches in  
stdio.h,readline/readline.h,readline/history.h… yes  
checking for rl\_deprep\_term\_function in  
stdio.h,readline/readline.h,readline/history.h… yes  
checking for rl\_completion\_append\_character in  
stdio.h,readline/readline.h,readline/history.h… yes

checking for rl\_basic\_word\_break\_characters in  
stdio.h,readline/readline.h,readline/history.h… yes

checking for rl\_completer\_word\_break\_characters in  
stdio.h,readline/readline.h,readline/history.h…  
yes  
checking for rl\_basic\_quote\_characters in  
stdio.h,readline/readline.h,readline/history.h… yes  
checking for rl\_completer\_quote\_characters in  
stdio.h,readline/readline.h,readline/history.h… yes  
checking for rl\_filename\_quote\_characters in  
stdio.h,readline/readline.h,readline/history.h… yes  
checking for rl\_attempted\_completion\_over in  
stdio.h,readline/readline.h,readline/history.h… yes  
checking for rl\_library\_version in  
stdio.h,readline/readline.h,readline/history.h… yes  
checking for rl\_event\_hook in  
stdio.h,readline/readline.h,readline/history.h… yes  
checking for rl\_cleanup\_after\_signal()… yes  
checking for rl\_clear\_signals()… yes  
checking for rl\_vi\_editing\_mode()… yes  
checking for rl\_emacs\_editing\_mode()… yes  
checking for rl\_clear\_signals()… yes  
checking for replace\_history\_entry()… yes  
checking for remove\_history()… yes  
creating Makefile

# Here is the compile output:

C:\rubysrc-1.8.6-p110\ext\readline\>nmake

Microsoft (R) Program Maintenance Utility Version 7.10.3077  
Copyright (C) Microsoft Corporation. All rights reserved.

```
    C:\ruby1.8-p110\bin\ruby -e "puts 'EXPORTS', 'Init_readline'" >

```

## readline-i386-mswin32\_71.de f cl -nologo -I. -I. -IC:/ruby1.8-p110/lib/ruby/1.8/i386-mswin32\_71 -I. -MD -Zi -O2b2xg- -G6

DHAVE\_READLINE\_READLINE\_H -DHAVE\_READLINE\_HISTORY\_H  
-DHAVE\_RL\_FILENAME\_COMPLETION\_FUNCTION -DHAVE\_RL  
_USERNAME\_COMPLETION\_FUNCTION -DHAVE\_RL\_COMPLETION\_MATCHES  
-DHAVE\_RL\_DEPREP\_TERM\_FUNCTION -DHAVE\_RL_  
COMPLETION\_APPEND\_CHARACTER -DHAVE\_RL\_BASIC\_WORD\_BREAK\_CHARACTERS  
-DHAVE\_RL\_COMPLETER\_WORD\_BREAK\_CHA  
RACTERS -DHAVE\_RL\_BASIC\_QUOTE\_CHARACTERS  
-DHAVE\_RL\_COMPLETER\_QUOTE\_CHARACTERS -DHAVE\_RL\_FILENAME\_QUO  
TE\_CHARACTERS -DHAVE\_RL\_ATTEMPTED\_COMPLETION\_OVER  
-DHAVE\_RL\_LIBRARY\_VERSION -DHAVE\_RL\_EVENT\_HOOK -DH  
AVE\_RL\_CLEANUP\_AFTER\_SIGNAL -DHAVE\_RL\_CLEAR\_SIGNALS  
-DHAVE\_RL\_VI\_EDITING\_MODE -DHAVE\_RL\_EMACS\_EDITIN  
G\_MODE -DHAVE\_RL\_CLEAR\_SIGNALS -DHAVE\_REPLACE\_HISTORY\_ENTRY  
-DHAVE\_REMOVE\_HISTORY -c -Tcreadline.c  
readline.c  
cl -nologo -LD -Fereadline.so readline.obj msvcr71-ruby18.lib  
readline.lib oldnames.lib use  
r32.lib advapi32.lib wsock32.lib -link -incremental:no -debug -opt:ref  
-opt:icf -dll -libpath:“.” -  
libpath:“C:/ruby1.8-p110/lib” -def:readline-i386-mswin32\_71.def  
-implib:readline-i386-mswin32\_71.lib  
-pdb:readline-i386-mswin32\_71.pdb  
Creating library readline-i386-mswin32\_71.lib and object  
readline-i386-mswin32\_71.exp
