mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-23 11:39:26 +08:00
Improve MinGW support in Readline
These changes were already accepted upstream in Readline, but GDB did not yet import a newer Readline version. readline/Changelog.gdb: * util.c: Include rlshell.h. (_rl_tropen) [_WIN32 && !__CYGWIN__]: Open the trace file in the user's temporary directory. * tcap.h [HAVE_NCURSES_TERMCAP_H]: Include ncurses/termcap.h. * input.c (w32_isatty) [_WIN32 && !__CYGWIN__]: New function, to replace isatty that is not reliable enough on MS-Windows. (isatty) [_WIN32 && !__CYGWIN__]: Redirect to w32_isatty. (rl_getc): Call _getch, not getch, which could be an ncurses function when linked with ncurses, in which case getch will return EOF for any keystroke, because there's no curses window. * tilde.c (tilde_expand_word) [_WIN32]: * histfile.c (history_filename) [_WIN32]: Windows-specific environment variable to replace HOME if that is undefined. * funmap.c (default_funmap): Compile rl_paste_from_clipboard on all Windows platforms, not just Cygwin. * readline.h (rl_paste_from_clipboard): Include declaration for all Windows platforms. * display.c (insert_some_chars, delete_chars): Don't use the MinGW-specific code if linked with ncurses. * configure.in: * config.h.in: Support ncurses/termcap.h. The configure script was updated accordingly. * complete.c [_WIN32 && !__CYGWIN__]: Initialize _rl_completion_case_fold to 1. (printable_part, rl_filename_completion_function) [_WIN32 && !__CYGWIN__]: Handle the drive letter.
This commit is contained in:
@ -55,6 +55,7 @@
|
||||
|
||||
#include "rlprivate.h"
|
||||
#include "xmalloc.h"
|
||||
#include "rlshell.h"
|
||||
|
||||
/* **************************************************************** */
|
||||
/* */
|
||||
@ -507,7 +508,17 @@ _rl_tropen ()
|
||||
|
||||
if (_rl_tracefp)
|
||||
fclose (_rl_tracefp);
|
||||
#if defined (_WIN32) && !defined (__CYGWIN__)
|
||||
/* Windows doesn't have /var/tmp, so open the trace file in the
|
||||
user's temporary directory instead. */
|
||||
sprintf (fnbuf, "%s/rltrace.%ld",
|
||||
(sh_get_env_value ("TEMP")
|
||||
? sh_get_env_value ("TEMP")
|
||||
: "."),
|
||||
getpid());
|
||||
#else
|
||||
sprintf (fnbuf, "/var/tmp/rltrace.%ld", getpid());
|
||||
#endif
|
||||
unlink(fnbuf);
|
||||
_rl_tracefp = fopen (fnbuf, "w+");
|
||||
return _rl_tracefp != 0;
|
||||
|
Reference in New Issue
Block a user