Patch 8.2.5073
Problem:    Clang on MS-Windows produces warnings.
Solution:   Avoid the warnings. (Yegappan Lakshmanan, closes #10546)
Files:      src/dosinst.c, src/dosinst.h, src/gui_dwrite.cpp, src/gui_w32.c,
            src/iscygpty.c, src/libvterm/src/vterm_internal.h, src/mbyte.c,
            src/os_win32.c, src/os_win32.h, src/term.c, src/xdiff/xinclude.h


*** ../vim-8.2.5072/src/dosinst.c       2022-06-08 15:13:42.880129614 +0100
--- src/dosinst.c       2022-06-09 20:49:49.547154607 +0100
***************
*** 439,445 ****
   */
  //ARGSUSED
      static BOOL CALLBACK
! window_cb(HWND hwnd, LPARAM lparam)
  {
      char title[256];
  
--- 439,445 ----
   */
  //ARGSUSED
      static BOOL CALLBACK
! window_cb(HWND hwnd, LPARAM lparam UNUSED)
  {
      char title[256];
  
***************
*** 1170,1176 ****
   * Install the vimrc file.
   */
      static void
! install_vimrc(int idx)
  {
      FILE      *fd, *tfd;
      char      *fname;
--- 1170,1176 ----
   * Install the vimrc file.
   */
      static void
! install_vimrc(int idx UNUSED)
  {
      FILE      *fd, *tfd;
      char      *fname;
***************
*** 1891,1897 ****
   * Create shortcut(s) in the Start Menu\Programs\Vim folder.
   */
      static void
! install_start_menu(int idx)
  {
      need_uninstall_entry = 1;
      printf("Creating start menu\n");
--- 1891,1897 ----
   * Create shortcut(s) in the Start Menu\Programs\Vim folder.
   */
      static void
! install_start_menu(int idx UNUSED)
  {
      need_uninstall_entry = 1;
      printf("Creating start menu\n");
*** ../vim-8.2.5072/src/dosinst.h       2020-02-17 21:53:11.489034456 +0000
--- src/dosinst.h       2022-06-09 20:49:49.547154607 +0100
***************
*** 73,78 ****
--- 73,84 ----
  #  define KEY_WOW64_32KEY 0x0200
  # endif
  
+ #ifdef __MINGW32__
+ # define UNUSED __attribute__((unused))
+ #else
+ # define UNUSED
+ #endif
+ 
  #define VIM_STARTMENU "Programs\\Vim " VIM_VERSION_SHORT
  
  int   interactive;            // non-zero when running interactively
***************
*** 450,456 ****
   * Expand the executable name into a full path name.
   */
      static char *
! my_fullpath(char *buf, char *fname, int len)
  {
      // Only GetModuleFileName() will get the long file name path.
      // GetFullPathName() may still use the short (FAT) name.
--- 456,462 ----
   * Expand the executable name into a full path name.
   */
      static char *
! my_fullpath(char *buf, char *fname UNUSED, int len)
  {
      // Only GetModuleFileName() will get the long file name path.
      // GetFullPathName() may still use the short (FAT) name.
*** ../vim-8.2.5072/src/gui_dwrite.cpp  2022-02-12 11:18:32.318462415 +0000
--- src/gui_dwrite.cpp  2022-06-09 20:49:49.547154607 +0100
***************
*** 52,57 ****
--- 52,63 ----
  # define __out                SAL__out
  #endif
  
+ #ifdef __MINGW32__
+ # define UNUSED __attribute__((unused))
+ #else
+ # define UNUSED
+ #endif
+ 
  #if (defined(_MSC_VER) && (_MSC_VER >= 1700)) || (__cplusplus >= 201103L)
  # define FINAL final
  #else
***************
*** 419,425 ****
      }
  
      IFACEMETHOD(IsPixelSnappingDisabled)(
!       __maybenull void* clientDrawingContext,
        __out BOOL* isDisabled)
      {
        *isDisabled = FALSE;
--- 425,431 ----
      }
  
      IFACEMETHOD(IsPixelSnappingDisabled)(
!       __maybenull void* clientDrawingContext UNUSED,
        __out BOOL* isDisabled)
      {
        *isDisabled = FALSE;
***************
*** 427,433 ****
      }
  
      IFACEMETHOD(GetCurrentTransform)(
!       __maybenull void* clientDrawingContext,
        __out DWRITE_MATRIX* transform)
      {
        // forward the render target's transform
--- 433,439 ----
      }
  
      IFACEMETHOD(GetCurrentTransform)(
!       __maybenull void* clientDrawingContext UNUSED,
        __out DWRITE_MATRIX* transform)
      {
        // forward the render target's transform
***************
*** 437,443 ****
      }
  
      IFACEMETHOD(GetPixelsPerDip)(
!       __maybenull void* clientDrawingContext,
        __out FLOAT* pixelsPerDip)
      {
        float dpiX, unused;
--- 443,449 ----
      }
  
      IFACEMETHOD(GetPixelsPerDip)(
!       __maybenull void* clientDrawingContext UNUSED,
        __out FLOAT* pixelsPerDip)
      {
        float dpiX, unused;
***************
*** 447,479 ****
      }
  
      IFACEMETHOD(DrawUnderline)(
!       __maybenull void* clientDrawingContext,
!       FLOAT baselineOriginX,
!       FLOAT baselineOriginY,
!       __in DWRITE_UNDERLINE const* underline,
!       IUnknown* clientDrawingEffect)
      {
        return E_NOTIMPL;
      }
  
      IFACEMETHOD(DrawStrikethrough)(
!       __maybenull void* clientDrawingContext,
!       FLOAT baselineOriginX,
!       FLOAT baselineOriginY,
!       __in DWRITE_STRIKETHROUGH const* strikethrough,
!       IUnknown* clientDrawingEffect)
      {
        return E_NOTIMPL;
      }
  
      IFACEMETHOD(DrawInlineObject)(
!       __maybenull void* clientDrawingContext,
!       FLOAT originX,
!       FLOAT originY,
!       IDWriteInlineObject* inlineObject,
!       BOOL isSideways,
!       BOOL isRightToLeft,
!       IUnknown* clientDrawingEffect)
      {
        return E_NOTIMPL;
      }
--- 453,485 ----
      }
  
      IFACEMETHOD(DrawUnderline)(
!       __maybenull void* clientDrawingContext UNUSED,
!       FLOAT baselineOriginX UNUSED,
!       FLOAT baselineOriginY UNUSED,
!       __in DWRITE_UNDERLINE const* underline UNUSED,
!       IUnknown* clientDrawingEffect UNUSED)
      {
        return E_NOTIMPL;
      }
  
      IFACEMETHOD(DrawStrikethrough)(
!       __maybenull void* clientDrawingContext UNUSED,
!       FLOAT baselineOriginX UNUSED,
!       FLOAT baselineOriginY UNUSED,
!       __in DWRITE_STRIKETHROUGH const* strikethrough UNUSED,
!       IUnknown* clientDrawingEffect UNUSED)
      {
        return E_NOTIMPL;
      }
  
      IFACEMETHOD(DrawInlineObject)(
!       __maybenull void* clientDrawingContext UNUSED,
!       FLOAT originX UNUSED,
!       FLOAT originY UNUSED,
!       IDWriteInlineObject* inlineObject UNUSED,
!       BOOL isSideways UNUSED,
!       BOOL isRightToLeft UNUSED,
!       IUnknown* clientDrawingEffect UNUSED)
      {
        return E_NOTIMPL;
      }
***************
*** 482,491 ****
        __maybenull void* clientDrawingContext,
        FLOAT baselineOriginX,
        FLOAT baselineOriginY,
!       DWRITE_MEASURING_MODE measuringMode,
        __in DWRITE_GLYPH_RUN const* glyphRun,
!       __in DWRITE_GLYPH_RUN_DESCRIPTION const* glyphRunDescription,
!       IUnknown* clientDrawingEffect)
      {
        TextRendererContext *context =
            reinterpret_cast<TextRendererContext*>(clientDrawingContext);
--- 488,497 ----
        __maybenull void* clientDrawingContext,
        FLOAT baselineOriginX,
        FLOAT baselineOriginY,
!       DWRITE_MEASURING_MODE measuringMode UNUSED,
        __in DWRITE_GLYPH_RUN const* glyphRun,
!       __in DWRITE_GLYPH_RUN_DESCRIPTION const* glyphRunDescription UNUSED,
!       IUnknown* clientDrawingEffect UNUSED)
      {
        TextRendererContext *context =
            reinterpret_cast<TextRendererContext*>(clientDrawingContext);
*** ../vim-8.2.5072/src/gui_w32.c       2022-06-08 15:13:42.884129614 +0100
--- src/gui_w32.c       2022-06-09 20:49:49.547154607 +0100
***************
*** 392,398 ****
  }
  
      static int WINAPI
! stubGetSystemMetricsForDpi(int nIndex, UINT dpi)
  {
      return GetSystemMetrics(nIndex);
  }
--- 392,398 ----
  }
  
      static int WINAPI
! stubGetSystemMetricsForDpi(int nIndex, UINT dpi UNUSED)
  {
      return GetSystemMetrics(nIndex);
  }
***************
*** 4149,4155 ****
   * Mouse scroll event handler.
   */
      static void
! _OnMouseWheel(HWND hwnd, WPARAM wParam, LPARAM lParam, int horizontal)
  {
      int               button;
      win_T     *wp;
--- 4149,4155 ----
   * Mouse scroll event handler.
   */
      static void
! _OnMouseWheel(HWND hwnd UNUSED, WPARAM wParam, LPARAM lParam, int horizontal)
  {
      int               button;
      win_T     *wp;
***************
*** 4336,4344 ****
      static void
  show_sizing_tip(int cols, int rows)
  {
!     TOOLINFOA ti = {sizeof(ti)};
      char buf[32];
  
      ti.hwnd = s_hwnd;
      ti.uId = (UINT_PTR)s_hwnd;
      ti.uFlags = TTF_SUBCLASS | TTF_IDISHWND;
--- 4336,4345 ----
      static void
  show_sizing_tip(int cols, int rows)
  {
!     TOOLINFOA ti;
      char buf[32];
  
+     ti.cbSize = sizeof(ti);
      ti.hwnd = s_hwnd;
      ti.uId = (UINT_PTR)s_hwnd;
      ti.uFlags = TTF_SUBCLASS | TTF_IDISHWND;
***************
*** 4636,4642 ****
  #endif
  
      static LRESULT
! _OnDpiChanged(HWND hwnd, UINT xdpi, UINT ydpi, RECT *rc)
  {
      s_dpi = ydpi;
      s_in_dpichanged = TRUE;
--- 4637,4643 ----
  #endif
  
      static LRESULT
! _OnDpiChanged(HWND hwnd, UINT xdpi UNUSED, UINT ydpi, RECT *rc UNUSED)
  {
      s_dpi = ydpi;
      s_in_dpichanged = TRUE;
***************
*** 5106,5117 ****
      if (hUser32 == NULL)
        goto fail;
  
!     pGetDpiForSystem = (void*)GetProcAddress(hUser32, "GetDpiForSystem");
!     pGetDpiForWindow = (void*)GetProcAddress(hUser32, "GetDpiForWindow");
!     pGetSystemMetricsForDpi = (void*)GetProcAddress(hUser32, 
"GetSystemMetricsForDpi");
      //pGetWindowDpiAwarenessContext = (void*)GetProcAddress(hUser32, 
"GetWindowDpiAwarenessContext");
!     pSetThreadDpiAwarenessContext = (void*)GetProcAddress(hUser32, 
"SetThreadDpiAwarenessContext");
!     pGetAwarenessFromDpiAwarenessContext = (void*)GetProcAddress(hUser32, 
"GetAwarenessFromDpiAwarenessContext");
  
      if (pSetThreadDpiAwarenessContext != NULL)
      {
--- 5107,5118 ----
      if (hUser32 == NULL)
        goto fail;
  
!     pGetDpiForSystem = (UINT (WINAPI *)(void))GetProcAddress(hUser32, 
"GetDpiForSystem");
!     pGetDpiForWindow = (UINT (WINAPI *)(HWND))GetProcAddress(hUser32, 
"GetDpiForWindow");
!     pGetSystemMetricsForDpi = (int (WINAPI *)(int, 
UINT))GetProcAddress(hUser32, "GetSystemMetricsForDpi");
      //pGetWindowDpiAwarenessContext = (void*)GetProcAddress(hUser32, 
"GetWindowDpiAwarenessContext");
!     pSetThreadDpiAwarenessContext = (DPI_AWARENESS_CONTEXT (WINAPI 
*)(DPI_AWARENESS_CONTEXT))GetProcAddress(hUser32, 
"SetThreadDpiAwarenessContext");
!     pGetAwarenessFromDpiAwarenessContext = (DPI_AWARENESS (WINAPI 
*)(DPI_AWARENESS_CONTEXT))GetProcAddress(hUser32, 
"GetAwarenessFromDpiAwarenessContext");
  
      if (pSetThreadDpiAwarenessContext != NULL)
      {
***************
*** 7799,7806 ****
  update_toolbar_size(void)
  {
      int               w, h;
!     TBMETRICS tbm = {sizeof(TBMETRICS)};
  
      tbm.dwMask = TBMF_PAD | TBMF_BUTTONSPACING;
      SendMessage(s_toolbarhwnd, TB_GETMETRICS, 0, (LPARAM)&tbm);
      //TRACE("Pad: %d, %d", tbm.cxPad, tbm.cyPad);
--- 7800,7808 ----
  update_toolbar_size(void)
  {
      int               w, h;
!     TBMETRICS tbm;
  
+     tbm.cbSize = sizeof(TBMETRICS);
      tbm.dwMask = TBMF_PAD | TBMF_BUTTONSPACING;
      SendMessage(s_toolbarhwnd, TB_GETMETRICS, 0, (LPARAM)&tbm);
      //TRACE("Pad: %d, %d", tbm.cxPad, tbm.cyPad);
***************
*** 8043,8069 ****
        return;
  
      pImmGetCompositionStringW
!           = (void *)GetProcAddress(hLibImm, "ImmGetCompositionStringW");
      pImmGetContext
!           = (void *)GetProcAddress(hLibImm, "ImmGetContext");
      pImmAssociateContext
!           = (void *)GetProcAddress(hLibImm, "ImmAssociateContext");
      pImmReleaseContext
!           = (void *)GetProcAddress(hLibImm, "ImmReleaseContext");
      pImmGetOpenStatus
!           = (void *)GetProcAddress(hLibImm, "ImmGetOpenStatus");
      pImmSetOpenStatus
!           = (void *)GetProcAddress(hLibImm, "ImmSetOpenStatus");
      pImmGetCompositionFontW
!           = (void *)GetProcAddress(hLibImm, "ImmGetCompositionFontW");
      pImmSetCompositionFontW
!           = (void *)GetProcAddress(hLibImm, "ImmSetCompositionFontW");
      pImmSetCompositionWindow
!           = (void *)GetProcAddress(hLibImm, "ImmSetCompositionWindow");
      pImmGetConversionStatus
!           = (void *)GetProcAddress(hLibImm, "ImmGetConversionStatus");
      pImmSetConversionStatus
!           = (void *)GetProcAddress(hLibImm, "ImmSetConversionStatus");
  
      if (       pImmGetCompositionStringW == NULL
            || pImmGetContext == NULL
--- 8045,8071 ----
        return;
  
      pImmGetCompositionStringW
!           = (LONG (WINAPI *)(HIMC, DWORD, LPVOID, 
DWORD))GetProcAddress(hLibImm, "ImmGetCompositionStringW");
      pImmGetContext
!           = (HIMC (WINAPI *)(HWND))GetProcAddress(hLibImm, "ImmGetContext");
      pImmAssociateContext
!           = (HIMC (WINAPI *)(HWND, HIMC))GetProcAddress(hLibImm, 
"ImmAssociateContext");
      pImmReleaseContext
!           = (BOOL (WINAPI *)(HWND, HIMC))GetProcAddress(hLibImm, 
"ImmReleaseContext");
      pImmGetOpenStatus
!           = (BOOL (WINAPI *)(HIMC))GetProcAddress(hLibImm, 
"ImmGetOpenStatus");
      pImmSetOpenStatus
!           = (BOOL (WINAPI *)(HIMC, BOOL))GetProcAddress(hLibImm, 
"ImmSetOpenStatus");
      pImmGetCompositionFontW
!           = (BOOL (WINAPI *)(HIMC, LPLOGFONTW))GetProcAddress(hLibImm, 
"ImmGetCompositionFontW");
      pImmSetCompositionFontW
!           = (BOOL (WINAPI *)(HIMC, LPLOGFONTW))GetProcAddress(hLibImm, 
"ImmSetCompositionFontW");
      pImmSetCompositionWindow
!           = (BOOL (WINAPI *)(HIMC, LPCOMPOSITIONFORM))GetProcAddress(hLibImm, 
"ImmSetCompositionWindow");
      pImmGetConversionStatus
!           = (BOOL (WINAPI *)(HIMC, LPDWORD, LPDWORD))GetProcAddress(hLibImm, 
"ImmGetConversionStatus");
      pImmSetConversionStatus
!           = (BOOL (WINAPI *)(HIMC, DWORD, DWORD))GetProcAddress(hLibImm, 
"ImmSetConversionStatus");
  
      if (       pImmGetCompositionStringW == NULL
            || pImmGetContext == NULL
*** ../vim-8.2.5072/src/iscygpty.c      2019-12-21 17:47:05.128754192 +0000
--- src/iscygpty.c      2022-06-09 20:49:49.547154607 +0100
***************
*** 56,61 ****
--- 56,66 ----
  # endif
  #endif // USE_FILEEXTD
  
+ #ifdef __MINGW32__
+ # define UNUSED __attribute__((unused))
+ #else
+ # define UNUSED
+ #endif
  
  #include "iscygpty.h"
  
***************
*** 70,79 ****
  
  # ifndef USE_FILEEXTD
  static BOOL WINAPI stub_GetFileInformationByHandleEx(
!               HANDLE                                          hFile,
!               FILE_INFO_BY_HANDLE_CLASS       FileInformationClass,
!               LPVOID                                          
lpFileInformation,
!               DWORD                                           dwBufferSize)
  {
        return FALSE;
  }
--- 75,84 ----
  
  # ifndef USE_FILEEXTD
  static BOOL WINAPI stub_GetFileInformationByHandleEx(
!               HANDLE                                          hFile UNUSED,
!               FILE_INFO_BY_HANDLE_CLASS       FileInformationClass UNUSED,
!               LPVOID                                          
lpFileInformation UNUSED,
!               DWORD                                           dwBufferSize 
UNUSED)
  {
        return FALSE;
  }
*** ../vim-8.2.5072/src/libvterm/src/vterm_internal.h   2021-11-24 
19:30:35.074782224 +0000
--- src/libvterm/src/vterm_internal.h   2022-06-09 20:49:49.551154598 +0100
***************
*** 7,15 ****
  
  #if defined(__GNUC__) && !defined(__MINGW32__)
  # define INTERNAL __attribute__((visibility("internal")))
- # define UNUSED __attribute__((unused))
  #else
  # define INTERNAL
  # define UNUSED
  #endif
  
--- 7,19 ----
  
  #if defined(__GNUC__) && !defined(__MINGW32__)
  # define INTERNAL __attribute__((visibility("internal")))
  #else
  # define INTERNAL
+ #endif
+ 
+ #if defined(__GNUC__) || defined(__MINGW32__)
+ # define UNUSED __attribute__((unused))
+ #else
  # define UNUSED
  #endif
  
*** ../vim-8.2.5072/src/mbyte.c 2022-05-08 22:32:55.207569849 +0100
--- src/mbyte.c 2022-06-09 20:49:49.551154598 +0100
***************
*** 4922,4934 ****
        return FALSE;
      }
  
!     iconv     = (void *)GetProcAddress(hIconvDLL, "libiconv");
!     iconv_open        = (void *)GetProcAddress(hIconvDLL, "libiconv_open");
!     iconv_close       = (void *)GetProcAddress(hIconvDLL, "libiconv_close");
!     iconvctl  = (void *)GetProcAddress(hIconvDLL, "libiconvctl");
!     iconv_errno       = get_dll_import_func(hIconvDLL, "_errno");
      if (iconv_errno == NULL)
!       iconv_errno = (void *)GetProcAddress(hMsvcrtDLL, "_errno");
      if (iconv == NULL || iconv_open == NULL || iconv_close == NULL
            || iconvctl == NULL || iconv_errno == NULL)
      {
--- 4922,4939 ----
        return FALSE;
      }
  
!     iconv     = (size_t (*)(iconv_t, const char **,
!                       size_t *, char **, size_t *))
!                               GetProcAddress(hIconvDLL, "libiconv");
!     iconv_open        = (iconv_t (*)(const char *, const char *))
!                               GetProcAddress(hIconvDLL, "libiconv_open");
!     iconv_close       = (int (*)(iconv_t))
!                               GetProcAddress(hIconvDLL, "libiconv_close");
!     iconvctl  = (int (*)(iconv_t, int, void *))
!                               GetProcAddress(hIconvDLL, "libiconvctl");
!     iconv_errno       = (int *(*)(void))get_dll_import_func(hIconvDLL, 
"_errno");
      if (iconv_errno == NULL)
!       iconv_errno = (int *(*)(void))GetProcAddress(hMsvcrtDLL, "_errno");
      if (iconv == NULL || iconv_open == NULL || iconv_close == NULL
            || iconvctl == NULL || iconv_errno == NULL)
      {
*** ../vim-8.2.5072/src/os_win32.c      2022-06-08 15:13:42.884129614 +0100
--- src/os_win32.c      2022-06-09 20:49:49.551154598 +0100
***************
*** 273,283 ****
      static DWORD
  get_build_number(void)
  {
!     OSVERSIONINFOW    osver = {sizeof(OSVERSIONINFOW)};
      HMODULE           hNtdll;
      PfnRtlGetVersion  pRtlGetVersion;
      DWORD             ver = MAKE_VER(0, 0, 0);
  
      hNtdll = GetModuleHandle("ntdll.dll");
      if (hNtdll != NULL)
      {
--- 273,284 ----
      static DWORD
  get_build_number(void)
  {
!     OSVERSIONINFOW    osver;
      HMODULE           hNtdll;
      PfnRtlGetVersion  pRtlGetVersion;
      DWORD             ver = MAKE_VER(0, 0, 0);
  
+     osver.dwOSVersionInfoSize = sizeof(OSVERSIONINFOW);
      hNtdll = GetModuleHandle("ntdll.dll");
      if (hNtdll != NULL)
      {
***************
*** 325,331 ****
  read_console_input(
      HANDLE        hInput,
      INPUT_RECORD    *lpBuffer,
!     DWORD         nLength,
      LPDWORD       lpEvents)
  {
      enum
--- 326,332 ----
  read_console_input(
      HANDLE        hInput,
      INPUT_RECORD    *lpBuffer,
!     int                   nLength,
      LPDWORD       lpEvents)
  {
      enum
***************
*** 423,429 ****
      DWORD         nLength UNUSED,
      LPDWORD       lpEvents)
  {
!     return read_console_input(hInput, lpBuffer, (DWORD)-1, lpEvents);
  }
  
  # ifdef FEAT_CLIENTSERVER
--- 424,430 ----
      DWORD         nLength UNUSED,
      LPDWORD       lpEvents)
  {
!     return read_console_input(hInput, lpBuffer, -1, lpEvents);
  }
  
  # ifdef FEAT_CLIENTSERVER
***************
*** 435,441 ****
      DWORD    dwMilliseconds,
      DWORD    dwWakeMask)
  {
!     if (read_console_input(NULL, NULL, (DWORD)-2, NULL))
        return WAIT_OBJECT_0;
      return MsgWaitForMultipleObjects(nCount, pHandles, fWaitAll,
                                     dwMilliseconds, dwWakeMask);
--- 436,442 ----
      DWORD    dwMilliseconds,
      DWORD    dwWakeMask)
  {
!     if (read_console_input(NULL, NULL, -2, NULL))
        return WAIT_OBJECT_0;
      return MsgWaitForMultipleObjects(nCount, pHandles, fWaitAll,
                                     dwMilliseconds, dwWakeMask);
***************
*** 448,454 ****
      HANDLE hHandle,
      DWORD dwMilliseconds)
  {
!     if (read_console_input(NULL, NULL, (DWORD)-2, NULL))
        return WAIT_OBJECT_0;
      return WaitForSingleObject(hHandle, dwMilliseconds);
  }
--- 449,455 ----
      HANDLE hHandle,
      DWORD dwMilliseconds)
  {
!     if (read_console_input(NULL, NULL, -2, NULL))
        return WAIT_OBJECT_0;
      return WaitForSingleObject(hHandle, dwMilliseconds);
  }
***************
*** 760,767 ****
      }
  
      // The bind_textdomain_codeset() function is optional.
!     dyn_libintl_bind_textdomain_codeset = (void *)GetProcAddress(hLibintlDLL,
!                                                  "bind_textdomain_codeset");
      if (dyn_libintl_bind_textdomain_codeset == NULL)
        dyn_libintl_bind_textdomain_codeset =
                                         null_libintl_bind_textdomain_codeset;
--- 761,768 ----
      }
  
      // The bind_textdomain_codeset() function is optional.
!     dyn_libintl_bind_textdomain_codeset = (char *(*)(const char *, const char 
*))
!                       GetProcAddress(hLibintlDLL, "bind_textdomain_codeset");
      if (dyn_libintl_bind_textdomain_codeset == NULL)
        dyn_libintl_bind_textdomain_codeset =
                                         null_libintl_bind_textdomain_codeset;
***************
*** 769,775 ****
      // _wputenv() function for the libintl.dll is optional.
      hmsvcrt = find_imported_module_by_funcname(hLibintlDLL, "getenv");
      if (hmsvcrt != NULL)
!       dyn_libintl_wputenv = (void *)GetProcAddress(hmsvcrt, "_wputenv");
      if (dyn_libintl_wputenv == NULL || dyn_libintl_wputenv == _wputenv)
        dyn_libintl_wputenv = null_libintl_wputenv;
  
--- 770,777 ----
      // _wputenv() function for the libintl.dll is optional.
      hmsvcrt = find_imported_module_by_funcname(hLibintlDLL, "getenv");
      if (hmsvcrt != NULL)
!       dyn_libintl_wputenv = (int (*)(const wchar_t *))
!                                       GetProcAddress(hmsvcrt, "_wputenv");
      if (dyn_libintl_wputenv == NULL || dyn_libintl_wputenv == _wputenv)
        dyn_libintl_wputenv = null_libintl_wputenv;
  
***************
*** 4224,4230 ****
                      s == NULL ? l : (DWORD)(s - (lp + written)),
                      &len, NULL);
        }
!       if (len == (int)l)
        {
            // Finished a line, add a NL, unless this line should not have
            // one.
--- 4226,4232 ----
                      s == NULL ? l : (DWORD)(s - (lp + written)),
                      &len, NULL);
        }
!       if (len == l)
        {
            // Finished a line, add a NL, unless this line should not have
            // one.
***************
*** 8338,8344 ****
  
  
      static void CALLBACK
! set_flag(void *param, BOOLEAN unused2)
  {
      int *timeout_flag = (int *)param;
  
--- 8340,8346 ----
  
  
      static void CALLBACK
! set_flag(void *param, BOOLEAN unused2 UNUSED)
  {
      int *timeout_flag = (int *)param;
  
*** ../vim-8.2.5072/src/os_win32.h      2022-05-05 20:18:12.408138480 +0100
--- src/os_win32.h      2022-06-09 20:49:49.551154598 +0100
***************
*** 198,204 ****
  
    // These macros should all compile away to nothing
  # define ASSERT(f)            ((void)0)
! # define TRACE                        1 ? (void)0 : printf
  # define TRACE0(sz)
  # define TRACE1(sz, p1)
  # define TRACE2(sz, p1, p2)
--- 198,204 ----
  
    // These macros should all compile away to nothing
  # define ASSERT(f)            ((void)0)
! # define TRACE                        1 ? (void)0 : (void)printf
  # define TRACE0(sz)
  # define TRACE1(sz, p1)
  # define TRACE2(sz, p1, p2)
*** ../vim-8.2.5072/src/term.c  2022-06-04 22:15:48.792982835 +0100
--- src/term.c  2022-06-09 20:49:49.551154598 +0100
***************
*** 50,70 ****
  
  #undef tgetstr
  
- /*
-  * Here are the builtin termcap entries.  They are not stored as complete
-  * structures with all entries, as such a structure is too big.
-  *
-  * The entries are compact, therefore they normally are included even when
-  * HAVE_TGETENT is defined. When HAVE_TGETENT is defined, the builtin entries
-  * can be accessed with "builtin_amiga", "builtin_ansi", "builtin_debug", etc.
-  *
-  * Each termcap is a list of builtin_term structures. It always starts with
-  * KS_NAME, which separates the entries.  See parse_builtin_tcap() for all
-  * details.
-  * bt_entry is either a KS_xxx code (>= 0), or a K_xxx code.
-  *
-  * Entries marked with "guessed" may be wrong.
-  */
  struct builtin_term
  {
      int               bt_entry;
--- 50,55 ----
***************
*** 221,226 ****
--- 206,226 ----
  static int initial_cursor_blink = FALSE;
  #endif
  
+ /*
+  * Here are the builtin termcap entries.  They are not stored as complete
+  * structures with all entries to save space.
+  *
+  * The entries are also included even when HAVE_TGETENT is defined, the 
systerm
+  * termcap may be incomplee.  When HAVE_TGETENT is defined, the builtin 
entries
+  * can be accessed with "builtin_amiga", "builtin_ansi", "builtin_debug", etc.
+  *
+  * Each termcap is a list of builtin_term structures. It always starts with
+  * KS_NAME, which separates the entries.  See parse_builtin_tcap() for all
+  * details.
+  * bt_entry is either a KS_xxx code (>= 0), or a K_xxx code.
+  *
+  * Entries marked with "guessed" may be wrong.
+  */
  static struct builtin_term builtin_termcaps[] =
  {
  
***************
*** 6603,6630 ****
  
  static struct ks_tbl_S ks_tbl[] =
  {
!     {(int)KS_ME,  "\033|0m",  "\033|0m"},   // normal
!     {(int)KS_MR,  "\033|7m",  "\033|7m"},   // reverse
!     {(int)KS_MD,  "\033|1m",  "\033|1m"},   // bold
!     {(int)KS_SO,  "\033|91m", "\033|91m"},  // standout: bright red text
!     {(int)KS_SE,  "\033|39m", "\033|39m"},  // standout end: default color
!     {(int)KS_CZH, "\033|3m",  "\033|3m"},   // italic
!     {(int)KS_CZR, "\033|0m",  "\033|0m"},   // italic end
!     {(int)KS_US,  "\033|4m",  "\033|4m"},   // underscore
!     {(int)KS_UE,  "\033|24m", "\033|24m"},  // underscore end
! #  ifdef TERMINFO
!     {(int)KS_CAB, "\033|%p1%db", "\033|%p14%dm"}, // set background color
!     {(int)KS_CAF, "\033|%p1%df", "\033|%p13%dm"}, // set foreground color
!     {(int)KS_CS,  "\033|%p1%d;%p2%dR", "\033|%p1%d;%p2%dR"},
!     {(int)KS_CSV, "\033|%p1%d;%p2%dV", "\033|%p1%d;%p2%dV"},
! #  else
!     {(int)KS_CAB, "\033|%db", "\033|4%dm"}, // set background color
!     {(int)KS_CAF, "\033|%df", "\033|3%dm"}, // set foreground color
!     {(int)KS_CS,  "\033|%d;%dR", "\033|%d;%dR"},
!     {(int)KS_CSV, "\033|%d;%dV", "\033|%d;%dV"},
  #  endif
!     {(int)KS_CCO, "256", "256"},          // colors
!     {(int)KS_NAME}                        // terminator
  };
  
      static struct builtin_term *
--- 6603,6630 ----
  
  static struct ks_tbl_S ks_tbl[] =
  {
!     {(int)KS_ME,  "\033|0m",  "\033|0m", {""}},   // normal
!     {(int)KS_MR,  "\033|7m",  "\033|7m", {""}},   // reverse
!     {(int)KS_MD,  "\033|1m",  "\033|1m", {""}},   // bold
!     {(int)KS_SO,  "\033|91m", "\033|91m", {""}},  // standout: bright red text
!     {(int)KS_SE,  "\033|39m", "\033|39m", {""}},  // standout end: default 
color
!     {(int)KS_CZH, "\033|3m",  "\033|3m", {""}},   // italic
!     {(int)KS_CZR, "\033|0m",  "\033|0m", {""}},   // italic end
!     {(int)KS_US,  "\033|4m",  "\033|4m", {""}},   // underscore
!     {(int)KS_UE,  "\033|24m", "\033|24m", {""}},  // underscore end
! #  ifdef TERMINFO
!     {(int)KS_CAB, "\033|%p1%db", "\033|%p14%dm", {""}}, // set background 
color
!     {(int)KS_CAF, "\033|%p1%df", "\033|%p13%dm", {""}}, // set foreground 
color
!     {(int)KS_CS,  "\033|%p1%d;%p2%dR", "\033|%p1%d;%p2%dR", {""}},
!     {(int)KS_CSV, "\033|%p1%d;%p2%dV", "\033|%p1%d;%p2%dV", {""}},
! #  else
!     {(int)KS_CAB, "\033|%db", "\033|4%dm", {""}}, // set background color
!     {(int)KS_CAF, "\033|%df", "\033|3%dm", {""}}, // set foreground color
!     {(int)KS_CS,  "\033|%d;%dR", "\033|%d;%dR", {""}},
!     {(int)KS_CSV, "\033|%d;%dV", "\033|%d;%dV", {""}},
  #  endif
!     {(int)KS_CCO, "256", "256", {""}},            // colors
!     {(int)KS_NAME, NULL, NULL, {""}}                      // terminator
  };
  
      static struct builtin_term *
*** ../vim-8.2.5072/src/xdiff/xinclude.h        2021-08-31 19:46:34.872123774 
+0100
--- src/xdiff/xinclude.h        2022-06-09 20:49:49.551154598 +0100
***************
*** 33,39 ****
  
  // Mark unused function arguments with UNUSED, so that gcc -Wunused-parameter
  // can be used to check for mistakes.
! #ifdef HAVE_ATTRIBUTE_UNUSED
  # define UNUSED __attribute__((unused))
  #else
  # define UNUSED
--- 33,39 ----
  
  // Mark unused function arguments with UNUSED, so that gcc -Wunused-parameter
  // can be used to check for mistakes.
! #if defined(HAVE_ATTRIBUTE_UNUSED) || defined(__MINGW32__)
  # define UNUSED __attribute__((unused))
  #else
  # define UNUSED
*** ../vim-8.2.5072/src/version.c       2022-06-09 19:54:18.667689786 +0100
--- src/version.c       2022-06-09 20:52:42.291309781 +0100
***************
*** 736,737 ****
--- 736,739 ----
  {   /* Add new patch number below this line */
+ /**/
+     5073,
  /**/

-- 
User:       I'm having problems with my text editor.
Help desk:  Which editor are you using?
User:       I don't know, but it's version VI (pronounced: 6).
Help desk:  Oh, then you should upgrade to version VIM (pronounced: 994).

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///                                                                      \\\
\\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/20220609195444.E17B91C071E%40moolenaar.net.

Raspunde prin e-mail lui