Differences between revisions 1 and 2
Revision 1 as of 2008-04-17 21:10:19
Size: 1611
Editor: ChrisGorecki
Comment:
Revision 2 as of 2008-04-18 18:46:17
Size: 1477
Editor: ChrisGorecki
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
 1. download the MSVC project from
 http://sage.math.washington.edu/home/goreckc/sage/packages/readline-32.zip
 1. download the MSVC project
 [attachment:]
Line 37: Line 37:
All changes have a comment with the word CHANGED appearing before tme, but I will post the diff files soon. attachment:readline-5.2-msvc-2008.patch

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:

  • #if defined (HAVE_STRING_H)

    # include <string.h> #else

  • # include <strings.h>

  • #endif

this code does:

  • #if defined (HAVE_STRING_H)

    # include <string.h> #endif

  • #if defined (HAVE_STRINGS_H)
  • # include <strings.h> #endif

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