To build readline v.5.2

  1. download the MSVC project [attachment:]
  2. unzip the project
  3. open the folder readline-32
  4. double-click readline-32.sln
  5. press f5
  6. the project will warn you that it could not open readline.dll
  7. readline.dll should be located at .../readline-32/Debug

The sources that I worked from are available at http://gnuwin32.sourceforge.net/packages/readline.htm named readline-src.zip

and the original sources at http://ftp.gnu.org/gnu/readline/ named readline-5.2.tar.gz

Issues: This code does not work:

this code does:

I changed extern KEYMAP_ENTRY_ARRAY vi_insertion_keymap, vi_movement_keymap;

to static KEYMAP_ENTRY_ARRAY vi_insertion_keymap, vi_movement_keymap;

which may break vi mode...

I had to comment out some redecelerations in readline.h.

The biggest fix was that MSVC does not allow for code such as int a = 3; int b = a; in the global name space, in C (although it does in C++), which is (I believe) not C99 compliant. So, a large array in bind.c named boolean_varlist[] had to be initialized in a function and the function called in each place where the variable was used.

attachment:readline-5.2-msvc-2008.patch