From: <gof...@us...> - 2007-10-23 17:20:28
|
Revision: 4148 http://octave.svn.sourceforge.net/octave/?rev=4148&view=rev Author: goffioul Date: 2007-10-23 10:20:30 -0700 (Tue, 23 Oct 2007) Log Message: ----------- missed ncurses implementation of char deletion Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/libs/readline-5.2.diff Modified: trunk/octave-forge/admin/Windows/msvc/libs/readline-5.2.diff =================================================================== --- trunk/octave-forge/admin/Windows/msvc/libs/readline-5.2.diff 2007-10-23 08:56:45 UTC (rev 4147) +++ trunk/octave-forge/admin/Windows/msvc/libs/readline-5.2.diff 2007-10-23 17:20:30 UTC (rev 4148) @@ -1,6 +1,6 @@ diff -urN readline-5.2/README.msvc readline-5.2-new/README.msvc ---- readline-5.2/README.msvc 1970-01-01 01:00:00.000000000 +0100 -+++ readline-5.2-new/README.msvc 2007-09-29 23:41:53.593750000 +0200 +--- readline-5.2/README.msvc Thu Jan 1 00:00:00 1970 ++++ readline-5.2-new/README.msvc Tue Oct 23 17:08:40 2007 @@ -0,0 +1,16 @@ +Compilation instruction under MSVC +---------------------------------- @@ -19,8 +19,8 @@ + manually. Note also that the DLL will be installed in $prefix/lib, while + it is more usual to install them in $prefix/bin. diff -urN readline-5.2/bind.c readline-5.2-new/bind.c ---- readline-5.2/bind.c 2006-07-27 15:44:10.000000000 +0200 -+++ readline-5.2-new/bind.c 2007-09-29 23:41:53.625000000 +0200 +--- readline-5.2/bind.c Thu Jul 27 13:44:10 2006 ++++ readline-5.2-new/bind.c Tue Oct 23 17:08:40 2007 @@ -841,7 +841,7 @@ filename = SYS_INPUTRC; } @@ -31,8 +31,8 @@ return 0; filename = "~/_inputrc"; diff -urN readline-5.2/complete.c readline-5.2-new/complete.c ---- readline-5.2/complete.c 2006-07-28 17:35:49.000000000 +0200 -+++ readline-5.2-new/complete.c 2007-09-29 23:41:53.640625000 +0200 +--- readline-5.2/complete.c Fri Jul 28 15:35:49 2006 ++++ readline-5.2-new/complete.c Tue Oct 23 17:08:40 2007 @@ -55,6 +55,66 @@ #include "posixdir.h" #include "posixstat.h" @@ -185,8 +185,8 @@ else if (ISALPHA ((unsigned char)dirname[0]) && dirname[1] == ':') { diff -urN readline-5.2/config.h.in readline-5.2-new/config.h.in ---- readline-5.2/config.h.in 2006-09-12 22:02:00.000000000 +0200 -+++ readline-5.2-new/config.h.in 2007-09-29 23:41:53.656250000 +0200 +--- readline-5.2/config.h.in Tue Sep 12 20:02:00 2006 ++++ readline-5.2-new/config.h.in Tue Oct 23 17:08:40 2007 @@ -257,7 +257,7 @@ # undef HAVE_STRCOLL #endif @@ -197,8 +197,8 @@ # define USE_VARARGS #else diff -urN readline-5.2/display.c readline-5.2-new/display.c ---- readline-5.2/display.c 2006-09-14 20:20:12.000000000 +0200 -+++ readline-5.2-new/display.c 2007-09-30 01:41:59.046875000 +0200 +--- readline-5.2/display.c Thu Sep 14 18:20:12 2006 ++++ readline-5.2-new/display.c Tue Oct 23 17:10:00 2007 @@ -55,6 +55,11 @@ #include "rlprivate.h" #include "xmalloc.h" @@ -302,9 +302,27 @@ if (_rl_term_clrpag) tputs (_rl_term_clrpag, 1, _rl_output_character_function); else +@@ -2139,7 +2207,7 @@ + char *string; + int count, col; + { +-#if defined (__MSDOS__) || defined (__MINGW32__) ++#if defined (__MSDOS__) || (defined (__MINGW32__) && !defined (_MSC_VER)) + _rl_output_some_chars (string, count); + #else + /* DEBUGGING */ +@@ -2191,7 +2259,7 @@ + if (count > _rl_screenwidth) /* XXX */ + return; + +-#if !defined (__MSDOS__) && !defined (__MINGW32__) ++#if (!defined (__MSDOS__) && !defined (__MINGW32__)) || defined (_MSC_VER) + if (_rl_term_DC && *_rl_term_DC) + { + char *buffer; diff -urN readline-5.2/histfile.c readline-5.2-new/histfile.c ---- readline-5.2/histfile.c 2006-03-31 22:48:43.000000000 +0200 -+++ readline-5.2-new/histfile.c 2007-09-29 23:41:53.703125000 +0200 +--- readline-5.2/histfile.c Fri Mar 31 20:48:43 2006 ++++ readline-5.2-new/histfile.c Tue Oct 23 17:08:40 2007 @@ -134,7 +134,7 @@ return_val = (char *)xmalloc (2 + home_len + 8); /* strlen(".history") == 8 */ strcpy (return_val, home); @@ -315,8 +333,8 @@ #else strcpy (return_val + home_len + 1, ".history"); diff -urN readline-5.2/history.c readline-5.2-new/history.c ---- readline-5.2/history.c 2006-05-21 19:39:41.000000000 +0200 -+++ readline-5.2-new/history.c 2007-09-29 23:41:53.718750000 +0200 +--- readline-5.2/history.c Sun May 21 17:39:41 2006 ++++ readline-5.2-new/history.c Tue Oct 23 17:08:40 2007 @@ -49,6 +49,10 @@ #include "xmalloc.h" @@ -329,8 +347,8 @@ #define DEFAULT_HISTORY_GROW_SIZE 50 diff -urN readline-5.2/history.h readline-5.2-new/history.h ---- readline-5.2/history.h 2003-07-31 14:38:44.000000000 +0200 -+++ readline-5.2-new/history.h 2007-09-29 23:41:53.750000000 +0200 +--- readline-5.2/history.h Thu Jul 31 12:38:44 2003 ++++ readline-5.2-new/history.h Tue Oct 23 17:08:40 2007 @@ -68,93 +68,93 @@ /* Begin a session in which the history functions might be used. This @@ -565,8 +583,8 @@ #ifdef __cplusplus } diff -urN readline-5.2/input.c readline-5.2-new/input.c ---- readline-5.2/input.c 2006-08-16 21:15:16.000000000 +0200 -+++ readline-5.2-new/input.c 2007-09-30 14:36:56.531250000 +0200 +--- readline-5.2/input.c Wed Aug 16 19:15:16 2006 ++++ readline-5.2-new/input.c Tue Oct 23 17:08:40 2007 @@ -61,6 +61,11 @@ #include <stdio.h> #include <errno.h> @@ -787,8 +805,8 @@ result = read (fileno (stream), &c, sizeof (unsigned char)); diff -urN readline-5.2/keymaps.h readline-5.2-new/keymaps.h ---- readline-5.2/keymaps.h 2001-11-20 18:42:49.000000000 +0100 -+++ readline-5.2-new/keymaps.h 2007-09-29 23:41:53.796875000 +0200 +--- readline-5.2/keymaps.h Tue Nov 20 17:42:49 2001 ++++ readline-5.2-new/keymaps.h Tue Oct 23 17:08:40 2007 @@ -66,35 +66,35 @@ #define ISKMAP 1 #define ISMACR 2 @@ -835,8 +853,8 @@ #ifdef __cplusplus } diff -urN readline-5.2/nls.c readline-5.2-new/nls.c ---- readline-5.2/nls.c 2002-10-19 04:05:50.000000000 +0200 -+++ readline-5.2-new/nls.c 2007-09-29 23:41:53.796875000 +0200 +--- readline-5.2/nls.c Sat Oct 19 02:05:50 2002 ++++ readline-5.2-new/nls.c Tue Oct 23 17:08:40 2007 @@ -44,6 +44,9 @@ #endif @@ -871,8 +889,8 @@ if (t && *t && (t[0] != 'C' || t[1]) && (STREQ (t, "POSIX") == 0)) { diff -urN readline-5.2/parens.c readline-5.2-new/parens.c ---- readline-5.2/parens.c 2004-03-04 04:39:51.000000000 +0100 -+++ readline-5.2-new/parens.c 2007-09-29 23:41:53.828125000 +0200 +--- readline-5.2/parens.c Thu Mar 4 03:39:51 2004 ++++ readline-5.2-new/parens.c Tue Oct 23 17:08:40 2007 @@ -49,6 +49,10 @@ # include <sys/select.h> #endif @@ -893,10 +911,11 @@ int rl_blink_matching_paren = 1; #else /* !HAVE_SELECT */ int rl_blink_matching_paren = 0; -@@ -138,6 +142,23 @@ +@@ -137,6 +141,23 @@ + rl_point = match_point; (*rl_redisplay_function) (); ready = select (1, &readfds, (fd_set *)NULL, (fd_set *)NULL, &timer); - rl_point = orig_point; ++ rl_point = orig_point; +#elif defined (_WIN32) + int orig_point, match_point, ready; + @@ -913,13 +932,12 @@ + rl_point = match_point; + (*rl_redisplay_function) (); + ready = (WaitForSingleObject (GetStdHandle(STD_INPUT_HANDLE), 500) == WAIT_OBJECT_0); -+ rl_point = orig_point; + rl_point = orig_point; #else /* !HAVE_SELECT */ _rl_insert_char (count, invoking_key); - #endif /* !HAVE_SELECT */ diff -urN readline-5.2/readline.c readline-5.2-new/readline.c ---- readline-5.2/readline.c 2006-08-16 21:00:36.000000000 +0200 -+++ readline-5.2-new/readline.c 2007-09-29 23:41:53.859375000 +0200 +--- readline-5.2/readline.c Wed Aug 16 19:00:36 2006 ++++ readline-5.2-new/readline.c Tue Oct 23 17:08:40 2007 @@ -220,7 +220,11 @@ /* The style of `bell' notification preferred. This can be set to NO_BELL, @@ -943,8 +961,8 @@ _rl_keymap = xkeymap; diff -urN readline-5.2/readline.h readline-5.2-new/readline.h ---- readline-5.2/readline.h 2006-08-16 21:16:59.000000000 +0200 -+++ readline-5.2-new/readline.h 2007-09-29 23:41:53.890625000 +0200 +--- readline-5.2/readline.h Wed Aug 16 19:16:59 2006 ++++ readline-5.2-new/readline.h Tue Oct 23 17:08:40 2007 @@ -63,7 +63,7 @@ } UNDO_LIST; @@ -1968,8 +1986,8 @@ #ifdef __cplusplus } diff -urN readline-5.2/rlstdc.h readline-5.2-new/rlstdc.h ---- readline-5.2/rlstdc.h 2003-05-30 21:08:02.000000000 +0200 -+++ readline-5.2-new/rlstdc.h 2007-09-29 23:41:53.890625000 +0200 +--- readline-5.2/rlstdc.h Fri May 30 19:08:02 2003 ++++ readline-5.2-new/rlstdc.h Tue Oct 23 17:08:40 2007 @@ -42,4 +42,14 @@ # endif #endif @@ -1986,8 +2004,8 @@ + #endif /* !_RL_STDC_H_ */ diff -urN readline-5.2/support/shobj-conf readline-5.2-new/support/shobj-conf ---- readline-5.2/support/shobj-conf 2006-04-11 15:15:43.000000000 +0200 -+++ readline-5.2-new/support/shobj-conf 2007-09-29 23:54:57.734375000 +0200 +--- readline-5.2/support/shobj-conf Tue Apr 11 13:15:43 2006 ++++ readline-5.2-new/support/shobj-conf Tue Oct 23 17:08:40 2007 @@ -482,6 +482,17 @@ SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' ;; @@ -2006,10 +2024,12 @@ msdos*) SHOBJ_STATUS=unsupported SHLIB_STATUS=unsupported -@@ -505,6 +516,17 @@ +@@ -503,6 +514,17 @@ + if [ -n "$DLLVERSION" ] ; then + SHLIB_DLLVERSION="$DLLVERSION" fi - ;; - ++ ;; ++ +mingw*) + SHOBJ_LD='$(CC)' + SHOBJ_CFLAGS='-DREADLINE_DLL' @@ -2019,14 +2039,12 @@ + SHLIB_LIBVERSION='.$(SHLIB_LIBSUFF)' + + SHLIB_DOT= -+ ;; -+ + ;; + # - # Rely on correct gcc configuration for everything else - # diff -urN readline-5.2/terminal.c readline-5.2-new/terminal.c ---- readline-5.2/terminal.c 2006-09-28 16:11:10.000000000 +0200 -+++ readline-5.2-new/terminal.c 2007-09-29 23:51:52.593750000 +0200 +--- readline-5.2/terminal.c Thu Sep 28 14:11:10 2006 ++++ readline-5.2-new/terminal.c Tue Oct 23 17:08:40 2007 @@ -661,11 +661,16 @@ default: break; @@ -2045,8 +2063,8 @@ case AUDIBLE_BELL: fprintf (stderr, "\007"); diff -urN readline-5.2/tilde.c readline-5.2-new/tilde.c ---- readline-5.2/tilde.c 2006-04-11 17:19:32.000000000 +0200 -+++ readline-5.2-new/tilde.c 2007-09-29 23:41:53.968750000 +0200 +--- readline-5.2/tilde.c Tue Apr 11 15:19:32 2006 ++++ readline-5.2-new/tilde.c Tue Oct 23 17:08:40 2007 @@ -171,7 +171,7 @@ for (i = 0; i < string_len; i++) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gof...@us...> - 2007-10-23 19:45:38
|
Revision: 4149 http://octave.svn.sourceforge.net/octave/?rev=4149&view=rev Author: goffioul Date: 2007-10-23 12:45:37 -0700 (Tue, 23 Oct 2007) Log Message: ----------- restore locale input behavior Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/libs/readline-5.2.diff Modified: trunk/octave-forge/admin/Windows/msvc/libs/readline-5.2.diff =================================================================== --- trunk/octave-forge/admin/Windows/msvc/libs/readline-5.2.diff 2007-10-23 17:20:30 UTC (rev 4148) +++ trunk/octave-forge/admin/Windows/msvc/libs/readline-5.2.diff 2007-10-23 19:45:37 UTC (rev 4149) @@ -1,6 +1,6 @@ diff -urN readline-5.2/README.msvc readline-5.2-new/README.msvc --- readline-5.2/README.msvc Thu Jan 1 00:00:00 1970 -+++ readline-5.2-new/README.msvc Tue Oct 23 17:08:40 2007 ++++ readline-5.2-new/README.msvc Tue Oct 23 19:00:18 2007 @@ -0,0 +1,16 @@ +Compilation instruction under MSVC +---------------------------------- @@ -20,7 +20,7 @@ + it is more usual to install them in $prefix/bin. diff -urN readline-5.2/bind.c readline-5.2-new/bind.c --- readline-5.2/bind.c Thu Jul 27 13:44:10 2006 -+++ readline-5.2-new/bind.c Tue Oct 23 17:08:40 2007 ++++ readline-5.2-new/bind.c Tue Oct 23 19:00:18 2007 @@ -841,7 +841,7 @@ filename = SYS_INPUTRC; } @@ -32,7 +32,7 @@ filename = "~/_inputrc"; diff -urN readline-5.2/complete.c readline-5.2-new/complete.c --- readline-5.2/complete.c Fri Jul 28 15:35:49 2006 -+++ readline-5.2-new/complete.c Tue Oct 23 17:08:40 2007 ++++ readline-5.2-new/complete.c Tue Oct 23 19:00:18 2007 @@ -55,6 +55,66 @@ #include "posixdir.h" #include "posixstat.h" @@ -186,7 +186,7 @@ { diff -urN readline-5.2/config.h.in readline-5.2-new/config.h.in --- readline-5.2/config.h.in Tue Sep 12 20:02:00 2006 -+++ readline-5.2-new/config.h.in Tue Oct 23 17:08:40 2007 ++++ readline-5.2-new/config.h.in Tue Oct 23 19:00:18 2007 @@ -257,7 +257,7 @@ # undef HAVE_STRCOLL #endif @@ -198,7 +198,7 @@ #else diff -urN readline-5.2/display.c readline-5.2-new/display.c --- readline-5.2/display.c Thu Sep 14 18:20:12 2006 -+++ readline-5.2-new/display.c Tue Oct 23 17:10:00 2007 ++++ readline-5.2-new/display.c Tue Oct 23 19:00:18 2007 @@ -55,6 +55,11 @@ #include "rlprivate.h" #include "xmalloc.h" @@ -322,7 +322,7 @@ char *buffer; diff -urN readline-5.2/histfile.c readline-5.2-new/histfile.c --- readline-5.2/histfile.c Fri Mar 31 20:48:43 2006 -+++ readline-5.2-new/histfile.c Tue Oct 23 17:08:40 2007 ++++ readline-5.2-new/histfile.c Tue Oct 23 19:00:18 2007 @@ -134,7 +134,7 @@ return_val = (char *)xmalloc (2 + home_len + 8); /* strlen(".history") == 8 */ strcpy (return_val, home); @@ -334,7 +334,7 @@ strcpy (return_val + home_len + 1, ".history"); diff -urN readline-5.2/history.c readline-5.2-new/history.c --- readline-5.2/history.c Sun May 21 17:39:41 2006 -+++ readline-5.2-new/history.c Tue Oct 23 17:08:40 2007 ++++ readline-5.2-new/history.c Tue Oct 23 19:00:18 2007 @@ -49,6 +49,10 @@ #include "xmalloc.h" @@ -348,7 +348,7 @@ diff -urN readline-5.2/history.h readline-5.2-new/history.h --- readline-5.2/history.h Thu Jul 31 12:38:44 2003 -+++ readline-5.2-new/history.h Tue Oct 23 17:08:40 2007 ++++ readline-5.2-new/history.h Tue Oct 23 19:00:18 2007 @@ -68,93 +68,93 @@ /* Begin a session in which the history functions might be used. This @@ -584,7 +584,7 @@ } diff -urN readline-5.2/input.c readline-5.2-new/input.c --- readline-5.2/input.c Wed Aug 16 19:15:16 2006 -+++ readline-5.2-new/input.c Tue Oct 23 17:08:40 2007 ++++ readline-5.2-new/input.c Tue Oct 23 19:30:32 2007 @@ -61,6 +61,11 @@ #include <stdio.h> #include <errno.h> @@ -607,11 +607,26 @@ #define any_typein (push_index != pop_index) -@@ -164,6 +172,27 @@ +@@ -164,6 +172,42 @@ return (push_index != pop_index); } +#ifdef _MSC_VER ++static int win32_getch () ++{ ++ int c; ++ ++ do ++ { ++ c = _getch (); ++ if (c == 0) ++ c = _getch(); ++ else ++ return c; ++ } ++ while (1); ++} ++ +DWORD WINAPI tty_reader_proc (LPVOID param) +{ + int tty = fileno (rl_instream); @@ -628,14 +643,14 @@ + return EOF; + } + else -+ return _getch(); ++ return win32_getch(); +} +#endif + /* If a character is available to be read, then read it and stuff it into IBUFFER. Otherwise, just return. Returns number of characters read (0 if none available) and -1 on error (EIO). */ -@@ -221,13 +250,69 @@ +@@ -221,13 +265,69 @@ } #endif /* O_NDELAY */ @@ -706,7 +721,7 @@ /* If there's nothing available, don't waste time trying to read something. */ if (chars_avail <= 0) -@@ -459,7 +544,96 @@ +@@ -459,7 +559,96 @@ { #if defined (__MINGW32__) if (isatty (fileno (stream))) @@ -795,7 +810,7 @@ + return (EOF); + } + else -+ return (_getch ()); ++ return (win32_getch ()); +#endif + } +#else @@ -806,7 +821,7 @@ diff -urN readline-5.2/keymaps.h readline-5.2-new/keymaps.h --- readline-5.2/keymaps.h Tue Nov 20 17:42:49 2001 -+++ readline-5.2-new/keymaps.h Tue Oct 23 17:08:40 2007 ++++ readline-5.2-new/keymaps.h Tue Oct 23 19:00:19 2007 @@ -66,35 +66,35 @@ #define ISKMAP 1 #define ISMACR 2 @@ -854,7 +869,7 @@ } diff -urN readline-5.2/nls.c readline-5.2-new/nls.c --- readline-5.2/nls.c Sat Oct 19 02:05:50 2002 -+++ readline-5.2-new/nls.c Tue Oct 23 17:08:40 2007 ++++ readline-5.2-new/nls.c Tue Oct 23 19:02:15 2007 @@ -44,6 +44,9 @@ #endif @@ -880,7 +895,7 @@ /* Since _rl_get_locale_var queries the right environment variables, we query the current locale settings with setlocale(), and, if that doesn't return anything, we set lspec to the empty string to -@@ -115,6 +125,7 @@ +@@ -115,12 +125,17 @@ if (lspec == 0) lspec = ""; t = setlocale (LC_CTYPE, lspec); @@ -888,9 +903,19 @@ if (t && *t && (t[0] != 'C' || t[1]) && (STREQ (t, "POSIX") == 0)) { + _rl_meta_flag = 1; + _rl_convert_meta_chars_to_ascii = 0; + _rl_output_meta_chars = 1; ++#ifdef _MSC_VER ++ SetConsoleCP (GetACP ()); ++ SetConsoleOutputCP (GetACP ()); ++#endif + return (1); + } + else diff -urN readline-5.2/parens.c readline-5.2-new/parens.c --- readline-5.2/parens.c Thu Mar 4 03:39:51 2004 -+++ readline-5.2-new/parens.c Tue Oct 23 17:08:40 2007 ++++ readline-5.2-new/parens.c Tue Oct 23 19:00:19 2007 @@ -49,6 +49,10 @@ # include <sys/select.h> #endif @@ -937,7 +962,7 @@ _rl_insert_char (count, invoking_key); diff -urN readline-5.2/readline.c readline-5.2-new/readline.c --- readline-5.2/readline.c Wed Aug 16 19:00:36 2006 -+++ readline-5.2-new/readline.c Tue Oct 23 17:08:40 2007 ++++ readline-5.2-new/readline.c Tue Oct 23 19:00:19 2007 @@ -220,7 +220,11 @@ /* The style of `bell' notification preferred. This can be set to NO_BELL, @@ -962,7 +987,7 @@ _rl_keymap = xkeymap; diff -urN readline-5.2/readline.h readline-5.2-new/readline.h --- readline-5.2/readline.h Wed Aug 16 19:16:59 2006 -+++ readline-5.2-new/readline.h Tue Oct 23 17:08:40 2007 ++++ readline-5.2-new/readline.h Tue Oct 23 19:00:19 2007 @@ -63,7 +63,7 @@ } UNDO_LIST; @@ -1987,7 +2012,7 @@ } diff -urN readline-5.2/rlstdc.h readline-5.2-new/rlstdc.h --- readline-5.2/rlstdc.h Fri May 30 19:08:02 2003 -+++ readline-5.2-new/rlstdc.h Tue Oct 23 17:08:40 2007 ++++ readline-5.2-new/rlstdc.h Tue Oct 23 19:00:19 2007 @@ -42,4 +42,14 @@ # endif #endif @@ -2005,7 +2030,7 @@ #endif /* !_RL_STDC_H_ */ diff -urN readline-5.2/support/shobj-conf readline-5.2-new/support/shobj-conf --- readline-5.2/support/shobj-conf Tue Apr 11 13:15:43 2006 -+++ readline-5.2-new/support/shobj-conf Tue Oct 23 17:08:40 2007 ++++ readline-5.2-new/support/shobj-conf Tue Oct 23 19:00:19 2007 @@ -482,6 +482,17 @@ SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' ;; @@ -2044,7 +2069,7 @@ # diff -urN readline-5.2/terminal.c readline-5.2-new/terminal.c --- readline-5.2/terminal.c Thu Sep 28 14:11:10 2006 -+++ readline-5.2-new/terminal.c Tue Oct 23 17:08:40 2007 ++++ readline-5.2-new/terminal.c Tue Oct 23 19:00:19 2007 @@ -661,11 +661,16 @@ default: break; @@ -2064,7 +2089,7 @@ fprintf (stderr, "\007"); diff -urN readline-5.2/tilde.c readline-5.2-new/tilde.c --- readline-5.2/tilde.c Tue Apr 11 15:19:32 2006 -+++ readline-5.2-new/tilde.c Tue Oct 23 17:08:40 2007 ++++ readline-5.2-new/tilde.c Tue Oct 23 19:00:19 2007 @@ -171,7 +171,7 @@ for (i = 0; i < string_len; i++) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gof...@us...> - 2007-10-31 15:10:57
|
Revision: 4164 http://octave.svn.sourceforge.net/octave/?rev=4164&view=rev Author: goffioul Date: 2007-10-31 08:10:57 -0700 (Wed, 31 Oct 2007) Log Message: ----------- add Win32-specific tricks to allow running octave in a thread with pipe communication and catching terminal resize Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/libs/readline-5.2.diff Modified: trunk/octave-forge/admin/Windows/msvc/libs/readline-5.2.diff =================================================================== --- trunk/octave-forge/admin/Windows/msvc/libs/readline-5.2.diff 2007-10-30 20:05:32 UTC (rev 4163) +++ trunk/octave-forge/admin/Windows/msvc/libs/readline-5.2.diff 2007-10-31 15:10:57 UTC (rev 4164) @@ -584,7 +584,7 @@ } diff -urN readline-5.2/input.c readline-5.2-new/input.c --- readline-5.2/input.c Wed Aug 16 21:15:16 2006 -+++ readline-5.2-new/input.c Fri Oct 26 11:32:50 2007 ++++ readline-5.2-new/input.c Wed Oct 31 12:09:00 2007 @@ -61,6 +61,11 @@ #include <stdio.h> #include <errno.h> @@ -607,7 +607,7 @@ #define any_typein (push_index != pop_index) -@@ -164,6 +172,127 @@ +@@ -164,6 +172,181 @@ return (push_index != pop_index); } @@ -712,6 +712,60 @@ +#endif +} + ++static int win32_read (int fh, void *buf, int size) ++{ ++ static HANDLE evt = NULL; ++ static int tried_with_event = 0; ++ ++ if (evt || !tried_with_event) ++ { ++ tried_with_event = 1; ++ if (!evt) ++ { ++ char evt_name[128]; ++ _snprintf (evt_name, 127, "readline-event-%d", GetCurrentProcessId ()); ++ evt = OpenEvent (EVENT_MODIFY_STATE|SYNCHRONIZE, FALSE, evt_name); ++ } ++ ++ if (evt) ++ { ++ DWORD waitResult; ++ if ((waitResult = WaitForSingleObject (evt, INFINITE)) == WAIT_OBJECT_0) ++ { ++ int result = read (fh, buf, size); ++ DWORD nb = 0; ++ ++ if (PeekNamedPipe ((HANDLE)_get_osfhandle (fh), NULL, 0, NULL, &nb, NULL) && nb == 0) ++ ResetEvent (evt); ++ return result; ++ } ++ else ++ { ++ if (waitResult == WAIT_FAILED) ++ { ++ int err = GetLastError(); ++ printf("%d\n", err); ++ } ++ return EOF; ++ } ++ } ++ } ++ ++ return read (fh, buf, size); ++ ++ /* ++ HANDLE hnd = _get_osfhandle (fh); ++ DWORD bytesRead; ++ BOOL ret; ++ ++ ret = ReadFile (hnd, buf, size, &bytesRead, NULL); ++ if (ret) ++ return bytesRead; ++ else ++ return 0; ++ */ ++} ++ +DWORD WINAPI tty_reader_proc (LPVOID param) +{ + int tty = fileno (rl_instream); @@ -721,7 +775,7 @@ + int result; + unsigned char c; + -+ result = read (tty, &c, sizeof (unsigned char)); ++ result = win32_read (tty, &c, sizeof (unsigned char)); + if (result == sizeof (unsigned char)) + return c; + else @@ -735,7 +789,7 @@ /* If a character is available to be read, then read it and stuff it into IBUFFER. Otherwise, just return. Returns number of characters read (0 if none available) and -1 on error (EIO). */ -@@ -221,13 +350,70 @@ +@@ -221,13 +404,70 @@ } #endif /* O_NDELAY */ @@ -807,7 +861,7 @@ /* If there's nothing available, don't waste time trying to read something. */ if (chars_avail <= 0) -@@ -459,7 +645,96 @@ +@@ -459,9 +699,98 @@ { #if defined (__MINGW32__) if (isatty (fileno (stream))) @@ -903,8 +957,11 @@ + return (_getch ()); +#endif #endif - result = read (fileno (stream), &c, sizeof (unsigned char)); +- result = read (fileno (stream), &c, sizeof (unsigned char)); ++ result = win32_read (fileno (stream), &c, sizeof (unsigned char)); + if (result == sizeof (unsigned char)) + return (c); diff -urN readline-5.2/keymaps.h readline-5.2-new/keymaps.h --- readline-5.2/keymaps.h Tue Nov 20 18:42:49 2001 +++ readline-5.2-new/keymaps.h Wed Oct 24 11:13:33 2007 @@ -1050,7 +1107,7 @@ _rl_insert_char (count, invoking_key); diff -urN readline-5.2/readline.c readline-5.2-new/readline.c --- readline-5.2/readline.c Wed Aug 16 21:00:36 2006 -+++ readline-5.2-new/readline.c Thu Oct 25 15:35:55 2007 ++++ readline-5.2-new/readline.c Wed Oct 31 15:19:47 2007 @@ -220,7 +220,11 @@ /* The style of `bell' notification preferred. This can be set to NO_BELL, @@ -1063,7 +1120,38 @@ /* String inserted into the line by rl_insert_comment (). */ char *_rl_comment_begin; -@@ -1115,11 +1119,18 @@ +@@ -1084,6 +1088,30 @@ + } + } + ++#ifdef _MSC_VER ++static int ++_rl_update_terminal_size (count, key) ++ int count, key; ++{ ++ int rows, cols; ++ ++ rl_get_screen_size (&rows, &cols); ++ switch (key) ++ { ++ case 'X': ++ rows = count; ++ break; ++ case 'Y': ++ cols = count; ++ break; ++ default: ++ return -1; ++ } ++ rl_set_screen_size (rows, cols); ++ sh_set_lines_and_columns (rows, cols); ++} ++#endif ++ + /* Bind some common arrow key sequences in MAP. */ + static void + bind_arrow_keys_internal (map) +@@ -1115,11 +1143,20 @@ rl_bind_keyseq_if_unbound ("\033OH", rl_beg_of_line); rl_bind_keyseq_if_unbound ("\033OF", rl_end_of_line); @@ -1080,6 +1168,8 @@ + +#ifdef _MSC_VER + rl_bind_keyseq_if_unbound ("\033[3~", rl_delete); ++ rl_bind_keyseq_if_unbound ("\033[X", _rl_update_terminal_size); ++ rl_bind_keyseq_if_unbound ("\033[Y", _rl_update_terminal_size); #endif _rl_keymap = xkeymap; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gof...@us...> - 2007-11-04 11:08:12
|
Revision: 4169 http://octave.svn.sourceforge.net/octave/?rev=4169&view=rev Author: goffioul Date: 2007-11-04 03:08:08 -0800 (Sun, 04 Nov 2007) Log Message: ----------- do not use digit arguments when updating terminal size Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/libs/readline-5.2.diff Modified: trunk/octave-forge/admin/Windows/msvc/libs/readline-5.2.diff =================================================================== --- trunk/octave-forge/admin/Windows/msvc/libs/readline-5.2.diff 2007-11-01 13:05:23 UTC (rev 4168) +++ trunk/octave-forge/admin/Windows/msvc/libs/readline-5.2.diff 2007-11-04 11:08:08 UTC (rev 4169) @@ -1,26 +1,7 @@ -diff -urN readline-5.2/README.msvc readline-5.2-new/README.msvc ---- readline-5.2/README.msvc Thu Jan 1 01:00:00 1970 -+++ readline-5.2-new/README.msvc Wed Oct 24 11:13:33 2007 -@@ -0,0 +1,16 @@ -+Compilation instruction under MSVC -+---------------------------------- -+ -+The compilation under MSVC is based on the MSYS shell (http://www.mingw.org) -+and the Unix-to-MSVC compilation scripts package (http://www.octave.org). It -+is assumed that those components are properly installed. The following set -+of instructions is intended to be executed from a fully-setup MSYS shell. -+ -+1) "CC=cc-msvc CXX=cc-msvc ./configure --build=i686-pc-msdosmsvc --prefix=/whatever/you/want" -+ -+2) "make shared" (compilation only supported for DLL version of the libraries) -+ -+3) "make install-shared". Note that this installation will not install the -+ import libraries (readline.lib and history.lib), you'll have the copy them -+ manually. Note also that the DLL will be installed in $prefix/lib, while -+ it is more usual to install them in $prefix/bin. -diff -urN readline-5.2/bind.c readline-5.2-new/bind.c ---- readline-5.2/bind.c Thu Jul 27 15:44:10 2006 -+++ readline-5.2-new/bind.c Wed Oct 24 11:13:33 2007 +Only in readline-5.2-new: README.msvc +diff -ur readline-5.2/bind.c readline-5.2-new/bind.c +--- readline-5.2/bind.c Thu Jul 27 13:44:10 2006 ++++ readline-5.2-new/bind.c Wed Oct 31 19:59:09 2007 @@ -841,7 +841,7 @@ filename = SYS_INPUTRC; } @@ -30,9 +11,9 @@ if (_rl_read_init_file (filename, 0) == 0) return 0; filename = "~/_inputrc"; -diff -urN readline-5.2/complete.c readline-5.2-new/complete.c ---- readline-5.2/complete.c Fri Jul 28 17:35:49 2006 -+++ readline-5.2-new/complete.c Wed Oct 24 11:13:33 2007 +diff -ur readline-5.2/complete.c readline-5.2-new/complete.c +--- readline-5.2/complete.c Fri Jul 28 15:35:49 2006 ++++ readline-5.2-new/complete.c Wed Oct 31 19:59:09 2007 @@ -55,6 +55,66 @@ #include "posixdir.h" #include "posixstat.h" @@ -184,9 +165,9 @@ /* searches from current directory on the drive */ else if (ISALPHA ((unsigned char)dirname[0]) && dirname[1] == ':') { -diff -urN readline-5.2/config.h.in readline-5.2-new/config.h.in ---- readline-5.2/config.h.in Tue Sep 12 22:02:00 2006 -+++ readline-5.2-new/config.h.in Wed Oct 24 11:13:33 2007 +diff -ur readline-5.2/config.h.in readline-5.2-new/config.h.in +--- readline-5.2/config.h.in Tue Sep 12 20:02:00 2006 ++++ readline-5.2-new/config.h.in Wed Oct 31 19:59:09 2007 @@ -257,7 +257,7 @@ # undef HAVE_STRCOLL #endif @@ -196,9 +177,9 @@ # define PREFER_STDARG # define USE_VARARGS #else -diff -urN readline-5.2/display.c readline-5.2-new/display.c ---- readline-5.2/display.c Thu Sep 14 20:20:12 2006 -+++ readline-5.2-new/display.c Wed Oct 24 11:13:33 2007 +diff -ur readline-5.2/display.c readline-5.2-new/display.c +--- readline-5.2/display.c Thu Sep 14 18:20:12 2006 ++++ readline-5.2-new/display.c Wed Oct 31 19:59:09 2007 @@ -55,6 +55,11 @@ #include "rlprivate.h" #include "xmalloc.h" @@ -320,9 +301,9 @@ if (_rl_term_DC && *_rl_term_DC) { char *buffer; -diff -urN readline-5.2/histfile.c readline-5.2-new/histfile.c ---- readline-5.2/histfile.c Fri Mar 31 22:48:43 2006 -+++ readline-5.2-new/histfile.c Wed Oct 24 11:13:33 2007 +diff -ur readline-5.2/histfile.c readline-5.2-new/histfile.c +--- readline-5.2/histfile.c Fri Mar 31 20:48:43 2006 ++++ readline-5.2-new/histfile.c Wed Oct 31 19:59:09 2007 @@ -134,7 +134,7 @@ return_val = (char *)xmalloc (2 + home_len + 8); /* strlen(".history") == 8 */ strcpy (return_val, home); @@ -332,9 +313,9 @@ strcpy (return_val + home_len + 1, "_history"); #else strcpy (return_val + home_len + 1, ".history"); -diff -urN readline-5.2/history.c readline-5.2-new/history.c ---- readline-5.2/history.c Sun May 21 19:39:41 2006 -+++ readline-5.2-new/history.c Wed Oct 24 11:13:33 2007 +diff -ur readline-5.2/history.c readline-5.2-new/history.c +--- readline-5.2/history.c Sun May 21 17:39:41 2006 ++++ readline-5.2-new/history.c Wed Oct 31 19:59:09 2007 @@ -49,6 +49,10 @@ #include "xmalloc.h" @@ -346,9 +327,9 @@ /* The number of slots to increase the_history by. */ #define DEFAULT_HISTORY_GROW_SIZE 50 -diff -urN readline-5.2/history.h readline-5.2-new/history.h ---- readline-5.2/history.h Thu Jul 31 14:38:44 2003 -+++ readline-5.2-new/history.h Wed Oct 24 11:13:33 2007 +diff -ur readline-5.2/history.h readline-5.2-new/history.h +--- readline-5.2/history.h Thu Jul 31 12:38:44 2003 ++++ readline-5.2-new/history.h Wed Oct 31 19:59:09 2007 @@ -68,93 +68,93 @@ /* Begin a session in which the history functions might be used. This @@ -582,9 +563,9 @@ #ifdef __cplusplus } -diff -urN readline-5.2/input.c readline-5.2-new/input.c ---- readline-5.2/input.c Wed Aug 16 21:15:16 2006 -+++ readline-5.2-new/input.c Wed Oct 31 12:09:00 2007 +diff -ur readline-5.2/input.c readline-5.2-new/input.c +--- readline-5.2/input.c Wed Aug 16 19:15:16 2006 ++++ readline-5.2-new/input.c Wed Oct 31 19:59:09 2007 @@ -61,6 +61,11 @@ #include <stdio.h> #include <errno.h> @@ -962,9 +943,9 @@ if (result == sizeof (unsigned char)) return (c); -diff -urN readline-5.2/keymaps.h readline-5.2-new/keymaps.h ---- readline-5.2/keymaps.h Tue Nov 20 18:42:49 2001 -+++ readline-5.2-new/keymaps.h Wed Oct 24 11:13:33 2007 +diff -ur readline-5.2/keymaps.h readline-5.2-new/keymaps.h +--- readline-5.2/keymaps.h Tue Nov 20 17:42:49 2001 ++++ readline-5.2-new/keymaps.h Wed Oct 31 19:59:09 2007 @@ -66,35 +66,35 @@ #define ISKMAP 1 #define ISMACR 2 @@ -1010,9 +991,9 @@ #ifdef __cplusplus } -diff -urN readline-5.2/nls.c readline-5.2-new/nls.c ---- readline-5.2/nls.c Sat Oct 19 04:05:50 2002 -+++ readline-5.2-new/nls.c Wed Oct 24 11:51:06 2007 +diff -ur readline-5.2/nls.c readline-5.2-new/nls.c +--- readline-5.2/nls.c Sat Oct 19 02:05:50 2002 ++++ readline-5.2-new/nls.c Wed Oct 31 19:59:09 2007 @@ -44,6 +44,9 @@ #endif @@ -1058,9 +1039,9 @@ return (1); } else -diff -urN readline-5.2/parens.c readline-5.2-new/parens.c ---- readline-5.2/parens.c Thu Mar 4 04:39:51 2004 -+++ readline-5.2-new/parens.c Wed Oct 24 11:13:33 2007 +diff -ur readline-5.2/parens.c readline-5.2-new/parens.c +--- readline-5.2/parens.c Thu Mar 4 03:39:51 2004 ++++ readline-5.2-new/parens.c Wed Oct 31 19:59:09 2007 @@ -49,6 +49,10 @@ # include <sys/select.h> #endif @@ -1105,9 +1086,9 @@ rl_point = orig_point; #else /* !HAVE_SELECT */ _rl_insert_char (count, invoking_key); -diff -urN readline-5.2/readline.c readline-5.2-new/readline.c ---- readline-5.2/readline.c Wed Aug 16 21:00:36 2006 -+++ readline-5.2-new/readline.c Wed Oct 31 15:19:47 2007 +diff -ur readline-5.2/readline.c readline-5.2-new/readline.c +--- readline-5.2/readline.c Wed Aug 16 19:00:36 2006 ++++ readline-5.2-new/readline.c Thu Nov 1 13:31:39 2007 @@ -220,7 +220,11 @@ /* The style of `bell' notification preferred. This can be set to NO_BELL, @@ -1120,7 +1101,7 @@ /* String inserted into the line by rl_insert_comment (). */ char *_rl_comment_begin; -@@ -1084,6 +1088,30 @@ +@@ -1084,6 +1088,27 @@ } } @@ -1129,29 +1110,26 @@ +_rl_update_terminal_size (count, key) + int count, key; +{ -+ int rows, cols; ++ int rows, cols, i, c; ++ char buf[128] = {0}; + -+ rl_get_screen_size (&rows, &cols); -+ switch (key) ++ for (i=0; i<128; i++) + { -+ case 'X': -+ rows = count; ++ c = rl_read_key (); ++ buf[i] = (char)c; ++ if (c == '\0') + break; -+ case 'Y': -+ cols = count; -+ break; -+ default: -+ return -1; + } -+ rl_set_screen_size (rows, cols); ++ sscanf (buf, "%dx%d", &cols, &rows); + sh_set_lines_and_columns (rows, cols); ++ rl_reset_screen_size (); +} +#endif + /* Bind some common arrow key sequences in MAP. */ static void bind_arrow_keys_internal (map) -@@ -1115,11 +1143,20 @@ +@@ -1115,11 +1140,19 @@ rl_bind_keyseq_if_unbound ("\033OH", rl_beg_of_line); rl_bind_keyseq_if_unbound ("\033OF", rl_end_of_line); @@ -1169,13 +1147,12 @@ +#ifdef _MSC_VER + rl_bind_keyseq_if_unbound ("\033[3~", rl_delete); + rl_bind_keyseq_if_unbound ("\033[X", _rl_update_terminal_size); -+ rl_bind_keyseq_if_unbound ("\033[Y", _rl_update_terminal_size); #endif _rl_keymap = xkeymap; -diff -urN readline-5.2/readline.h readline-5.2-new/readline.h ---- readline-5.2/readline.h Wed Aug 16 21:16:59 2006 -+++ readline-5.2-new/readline.h Wed Oct 24 11:13:33 2007 +diff -ur readline-5.2/readline.h readline-5.2-new/readline.h +--- readline-5.2/readline.h Wed Aug 16 19:16:59 2006 ++++ readline-5.2-new/readline.h Wed Oct 31 19:59:09 2007 @@ -63,7 +63,7 @@ } UNDO_LIST; @@ -2198,9 +2175,9 @@ #ifdef __cplusplus } -diff -urN readline-5.2/rlstdc.h readline-5.2-new/rlstdc.h ---- readline-5.2/rlstdc.h Fri May 30 21:08:02 2003 -+++ readline-5.2-new/rlstdc.h Wed Oct 24 11:13:34 2007 +diff -ur readline-5.2/rlstdc.h readline-5.2-new/rlstdc.h +--- readline-5.2/rlstdc.h Fri May 30 19:08:02 2003 ++++ readline-5.2-new/rlstdc.h Wed Oct 31 19:59:09 2007 @@ -42,4 +42,14 @@ # endif #endif @@ -2216,9 +2193,9 @@ +#endif + #endif /* !_RL_STDC_H_ */ -diff -urN readline-5.2/support/shobj-conf readline-5.2-new/support/shobj-conf ---- readline-5.2/support/shobj-conf Tue Apr 11 15:15:43 2006 -+++ readline-5.2-new/support/shobj-conf Wed Oct 24 11:13:34 2007 +diff -ur readline-5.2/support/shobj-conf readline-5.2-new/support/shobj-conf +--- readline-5.2/support/shobj-conf Tue Apr 11 13:15:43 2006 ++++ readline-5.2-new/support/shobj-conf Wed Oct 31 19:59:09 2007 @@ -482,6 +482,17 @@ SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' ;; @@ -2255,9 +2232,9 @@ ;; # -diff -urN readline-5.2/terminal.c readline-5.2-new/terminal.c ---- readline-5.2/terminal.c Thu Sep 28 16:11:10 2006 -+++ readline-5.2-new/terminal.c Wed Oct 24 11:13:34 2007 +diff -ur readline-5.2/terminal.c readline-5.2-new/terminal.c +--- readline-5.2/terminal.c Thu Sep 28 14:11:10 2006 ++++ readline-5.2-new/terminal.c Wed Oct 31 19:59:09 2007 @@ -661,11 +661,16 @@ default: break; @@ -2275,9 +2252,9 @@ /* FALLTHROUGH */ case AUDIBLE_BELL: fprintf (stderr, "\007"); -diff -urN readline-5.2/tilde.c readline-5.2-new/tilde.c ---- readline-5.2/tilde.c Tue Apr 11 17:19:32 2006 -+++ readline-5.2-new/tilde.c Wed Oct 24 11:13:34 2007 +diff -ur readline-5.2/tilde.c readline-5.2-new/tilde.c +--- readline-5.2/tilde.c Tue Apr 11 15:19:32 2006 ++++ readline-5.2-new/tilde.c Wed Oct 31 19:59:09 2007 @@ -171,7 +171,7 @@ for (i = 0; i < string_len; i++) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |