1611
Comment:
|
1496
converted to 1.6 markup
|
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:readline-32.zip]] |
Line 37: | Line 36: |
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
download the MSVC project readline-32.zip
- unzip the project
- open the folder readline-32
- double-click readline-32.sln
- press f5
- the project will warn you that it could not open readline.dll
- 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.