Age | Commit message (Collapse) | Author |
|
Problem: win32: issues with stable python ABI
Solution: if_python3,win32: Fix Python3 stable ABI
There were some issues in current stable ABI implementation on Windows:
* Python DLL name should be `python3.dll` instead of `python311.dll` and
so on. (See: https://docs.python.org/3/c-api/stable.html)
* Some non-stable API functions were used:
- `_PyObject_NextNotImplemented`
- `PyStdPrinter_Type`
* `reset_stdin()` and `hook_py_exit()` didn't work with `python3.dll`.
`python3.dll` is a special type of DLL called forwarder DLL.
It just forwards the functions to other DLL (e.g. `python311.dll`).
There were two issues regarding these functions:
- `python3.dll` doesn't have import tables. This caused a crash in
`get_imported_func_info()`. Add a check whether the specified DLL
has an import table.
- `reset_stdin()` and `hook_py_exit()` should be applied to the
forwarded DLL (e.g. `python311.dll`), not to `python3.dll`.
Check the export directory of `python3.dll` to find the forwarded
DLL and apply the functions to it.
closes: #13260
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ken Takata <kentkt@csc.jp>
|
|
Problem: Some settings use the current codepage instead of 'encoding'.
Solution: Adjust how options are initialized. (Ken Takata, closes #11992)
|
|
Problem: MS-Windows console: not flushing termguicolors.
Solution: Flush termguicolors. (Christopher Plewright, closes #11871)
|
|
Problem: ColorTable saving and restoring does not work properly.
Solution: Restore ColorTable[16] usage. (Christopher Plewright,
closes #11836)
|
|
Problem: Code handling low level MS-Windows events cannot be tested.
Solution: Add test_mswin_event() and tests using it. (Christopher Plewright,
closes #11622)
|
|
Problem: MS-Windows: after Vim exits console resizing does not work
properly.
Solution: Restore screen behavior checks for various WT and VTP
combinations. (Christopher Plewright, closes #11526,
closes #11507)
|
|
Problem: Using "volatile int" in a signal handler might be wrong.
Solution: Use "volatile sig_atomic_t".
|
|
Problem: MS-Windows: warnings from MinGW compyler.
Solution: Use "volatile". (Yasuhiro Matsumoto, closes #10589) Initialize
variable.
|
|
Problem: Using gettimeofday() for timeout is very inefficient.
Solution: Set a platform dependent timer. (Paul Ollis, closes #10505)
|
|
Problem: Dynamic loading of libsodium not handled properly.
Solution: Fix has() and :version. Show an error message when loading fails.
Fix memory leaks. (Ken Takata, closes #9754)
|
|
Problem: MS-Windows: Vim exits when Python 3 initialisation fails.
Solution: Hook into the exit() function to recover from the failure.
(Ken Takata, closes #9710)
|
|
Problem: MS-Windows: Support for MSVC 2003 is not useful.
Solution: Remove the exceptions for MSVC 2003. (Ken Takata, closes #9616)
|
|
Problem: Dynamic library load error does not mention why it failed.
Solution: Add the error message. (Martin Tournoij, closes #8621)
|
|
Problem: Cannot interrupt shell used for filename expansion. (Dominique
Pellé)
Solution: Do set tmode in mch_delay(). (closes #6770)
|
|
Problem: MS-Windows: the Windows terminal code has some flaws.
Solution: Do not redraw the right edge of the screen. Remove the background
color trick. Flush the screen output buffer often. (Nobuhiro
Takasaki, #5546)
|
|
Problem: t_TI and t_TE are output when using 'visualbell'. (Dominique
Pelle)
Solution: Do not change the terminal mode for a short sleep. Do not output
t_TI and t_TE when switching to/from TMODE_SLEEP. Make tmode an
enum.
|
|
Problem: MS-Windows: redrawing right screen edge may not be needed.
Solution: Check the build version. (Nobuhiro Takasaki, closes #6002)
|
|
Problem: MS-Windows: When using VTP bold+inverse doesn't work.
Solution: Compare with the default colors. (Nobuhiro Takasaki, closes #5303)
|
|
Problem: MS-Windows: problem with ambiwidth characters.
Solution: handle ambiguous width characters in ConPTY on Windows 10 (1903).
(Nobuhiro Takasaki, closes #4411)
|
|
Problem: Can't build on MS-Windows.
Solution: Define process_still_running.
|
|
Problem: Asking about existing swap file unnecessarily.
Solution: When it is safe, delete the swap file. Remove
HAS_SWAP_EXISTS_ACTION, it is always defined. (closes #1237)
|
|
Problem: A lot of code is shared between vim.exe and gvim.exe.
Solution: Optionally put the shared code in vim.dll. (Ken Takata,
closes #4287)
|
|
Problem: MS-Windows console resizing not handled properly.
Solution: Handle resizing the console better. (Nobuhiro Takasaki,
closes #3968, closes #3611)
|
|
Problem: MS-Windows: using ConPTY even though it is not stable.
Solution: When ConPTY version is unstable, prefer using winpty. (Ken Takata,
closes #3949)
|
|
Problem: Cannot use 256 colors in a MS-Windows console.
Solution: Add 256 color support. (Nobuhiro Takasaki, closes #2821)
|
|
Problem: In the MS-Windows console mouse movement is not used.
Solution: Pass mouse movement events when useful.
|
|
Problem: Cannot use 24 bit colors in MS-Windows console.
Solution: Add support for vcon. (Nobuhiro Takasaki, Ken Takasaki,
fixes #1270, fixes #2060)
|
|
Problem: MS-Windows: job in terminal can't get back to Vim.
Solution: set VIM_SERVERNAME in the environment. (Yasuhiro Matsumoto, closes
#2360)
|
|
Problem: MS-Windows: term_start() does not support environment.
Solution: Implement the environment argument. (Yasuhiro Matsumoto, closes
#2264)
|
|
Problem: Function name mch_stop_job() is confusing.
Solution: Rename to mch_signal_job().
|
|
Problem: No redraw after terminal was closed.
Solution: Set typebuf_was_filled. (Yasuhiro Matsumoto, closes #1925, closes
#1924) Add function to check for messages even when input is
available.
|
|
Problem: Wrong function prototype because of missing static.
Solution: Add "static".
|
|
Problem: MS-Windows: fopen() and open() prototypes do not match the ones in
the system header file. Can't build without FEAT_MBYTE.
Solution: Add "const". Move macro to after including protoo.h.
|
|
Problem: A terminal window uses pipes instead of a pty.
Solution: Add pty support.
|
|
Problem: On MS-Windows setting an environment variable with multi-byte
strings does not work well.
Solution: Use wputenv when possible. (Taro Muraoka, Ken Takata)
|
|
Problem: Setting language in gvim on MS-Windows does not work when
libintl.dll is dynamically linked with msvcrt.dll.
Solution: Use putenv() from libintl as well. (Ken Takata, closes #1082)
|
|
Problem: Detecting that a job has finished may take a while.
Solution: Check for a finished job more often (Ozaki Kiichi)
|
|
Problem: Code for MS-Windows is complicated because of the exceptions for
old systems.
Solution: Drop support for MS-Windows older than Windows XP. (Ken Takata)
|
|
Problem: When using ":sleep" channel input is not handled.
Solution: When there is a channel check for input also when not in raw mode.
Check every 100 msec.
|
|
Problem: Channel NL mode is not supported yet.
Solution: Add NL mode support to channels.
|
|
Problem: Job control doesn't work well on MS-Windows.
Solution: Various fixes. (Ken Takata, Ozaki Kiichi , Yukihiro Nakadaira,
Yasuhiro Matsumoto)
|
|
Problem: The job feature isn't available on MS-Windows.
Solution: Add the job feature. Fix argument of job_stop(). (Yasuhiro
Matsumoto)
|
|
Problem: Generated function prototypes still have __ARGS().
Solution: Generate function prototypes without __ARGS().
|
|
Problem: MS-Windows: delete() does not recognize junctions.
Solution: Add mch_isrealdir() for MS-Windows. Update mch_is_symbolic_link().
(Ken Takata)
|
|
Problem: MS-Windows doesn't have rmdir().
Solution: Add mch_rmdir().
|
|
Problem: The nsis script can't be used from the appveyor build.
Solution: Add "ifndef" to allow for variables to be set from the command
line. Remove duplicate SetCompressor command. Support using other
gettext binaries. (Ken Takata) Update build instructions to use
libintl-8.dll.
|
|
Problem: Memory use on MS-Windows is very conservative.
Solution: Use the global memory status to estimate amount of memory.
(Mike Williams)
|
|
Problem: Missing proto file update. (Randall W. Morris)
Solution: Add the missing line for mch_ishidden.
|
|
Problem: When completing a shell command, directories in the current
directory are not listed.
Solution: When "." is not in $PATH also look in the current directory for
directories.
|
|
Problem: It is not easy to get the full path of a command.
Solution: Add the exepath() function.
|