Patch 8.0.1550
Problem:    Various small problems in source files.
Solution:   Fix the problems.
Files:      src/README.txt, src/beval.c, src/json_test.c, src/mbyte.c,
            src/libvterm/include/vterm_keycodes.h, src/Makefile,
            src/gui_gtk.c, src/if_xcmdsrv.c, src/pty.c, src/if_python.c,
            src/if_py_both.h, uninstal.txt, src/dosinst.c, src/iscygpty.c,
            src/vimrun.c, src/os_vms.c


*** ../vim-8.0.1549/src/README.txt      2010-06-26 06:05:00.000000000 +0200
--- src/README.txt      2017-11-12 16:49:36.844280397 +0100
***************
*** 8,15 ****
  
  JUMPING AROUND
  
! First of all, use ":make tags" to generate a tags file, so that you can use
! the ":tag" command to jump around the source code.
  
  To jump to a function or variable definition, move the cursor on the name and
  use the CTRL-] command.  Use CTRL-T or CTRL-O to jump back.
--- 8,15 ----
  
  JUMPING AROUND
  
! First of all, use ":make tags" to generate a tags file, so that you can jump
! around in the source code.
  
  To jump to a function or variable definition, move the cursor on the name and
  use the CTRL-] command.  Use CTRL-T or CTRL-O to jump back.
***************
*** 43,48 ****
--- 43,63 ----
        window.c        handling split windows
  
  
+ DEBUGGING
+ 
+ If you have a reasonable recent version of gdb, you can use the :Termdebug
+ command to debug Vim.  See  ":help :Termdebug".
+ 
+ When something is time critical or stepping through code is a hassle, use the
+ channel logging to create a time-stamped log file.  Add lines to the code like
+ this:
+       ch_log(NULL, "Value is now %02x", value);
+ After compiling and starting Vim, do:
+       :call ch_logfile('debuglog', 'w')
+ And edit "debuglog" to see what happens.  The channel functions already have
+ ch_log() calls, thus you always see that in the log.
+ 
+ 
  IMPORTANT VARIABLES
  
  The current mode is stored in "State".  The values it can have are NORMAL,
*** ../vim-8.0.1549/src/beval.c 2017-12-03 18:18:45.847979249 +0100
--- src/beval.c 2018-02-06 22:46:29.700928046 +0100
***************
*** 137,143 ****
   * Show a balloon with "mesg" or "list".
   */
      void
! post_balloon(BalloonEval *beval UNUSED, char_u *mesg, list_T *list)
  {
  # ifdef FEAT_BEVAL_TERM
  #  ifdef FEAT_GUI
--- 137,143 ----
   * Show a balloon with "mesg" or "list".
   */
      void
! post_balloon(BalloonEval *beval UNUSED, char_u *mesg, list_T *list UNUSED)
  {
  # ifdef FEAT_BEVAL_TERM
  #  ifdef FEAT_GUI
*** ../vim-8.0.1549/src/json_test.c     2017-01-22 15:56:21.692532206 +0100
--- src/json_test.c     2018-02-04 14:37:00.168388427 +0100
***************
*** 162,168 ****
      reader.js_fill = fill_from_cookie;
      reader.js_used = 0;
      reader.js_buf = (char_u *)"  [  \"a\"  ,  123  ";
!     reader.js_cookie =        "  [  \"a\"  ,  123  ]  ";
      assert(json_find_end(&reader, 0) == OK);
      reader.js_buf = (char_u *)"  [  \"a\"  ,  ";
      assert(json_find_end(&reader, 0) == OK);
--- 162,168 ----
      reader.js_fill = fill_from_cookie;
      reader.js_used = 0;
      reader.js_buf = (char_u *)"  [  \"a\"  ,  123  ";
!     reader.js_cookie =              "  [  \"a\"  ,  123  ]  ";
      assert(json_find_end(&reader, 0) == OK);
      reader.js_buf = (char_u *)"  [  \"a\"  ,  ";
      assert(json_find_end(&reader, 0) == OK);
***************
*** 186,192 ****
      reader.js_used = 0;
      reader.js_buf = (char_u *)" \"foo";
      reader.js_end = reader.js_buf + STRLEN(reader.js_buf);
!     reader.js_cookie =        " \"foobar\"  ";
      assert(json_decode_string(&reader, NULL, '"') == OK);
  }
  #endif
--- 186,192 ----
      reader.js_used = 0;
      reader.js_buf = (char_u *)" \"foo";
      reader.js_end = reader.js_buf + STRLEN(reader.js_buf);
!     reader.js_cookie =              " \"foobar\"  ";
      assert(json_decode_string(&reader, NULL, '"') == OK);
  }
  #endif
*** ../vim-8.0.1549/src/mbyte.c 2018-02-10 18:45:21.068822158 +0100
--- src/mbyte.c 2018-02-17 22:04:30.171495169 +0100
***************
*** 2260,2266 ****
  /*
   * Convert Unicode character "c" to UTF-8 string in "buf[]".
   * Returns the number of bytes.
-  * This does not include composing characters.
   */
      int
  utf_char2bytes(int c, char_u *buf)
--- 2260,2265 ----
*** ../vim-8.0.1549/src/libvterm/include/vterm_keycodes.h       2017-07-23 
22:07:23.041277153 +0200
--- src/libvterm/include/vterm_keycodes.h       2017-08-13 18:47:25.542054644 
+0200
***************
*** 8,13 ****
--- 8,14 ----
    VTERM_MOD_CTRL  = 0x04
  } VTermModifier;
  
+ /* The order here must match keycodes[] in src/keyboard.c! */
  typedef enum {
    VTERM_KEY_NONE,
  
*** ../vim-8.0.1549/src/Makefile        2018-02-22 11:42:45.327211041 +0100
--- src/Makefile        2018-02-24 20:12:23.039118023 +0100
***************
*** 651,662 ****
  
  # PROFILING - Uncomment the next two lines to do profiling with gcc and gprof.
  # Might not work with GUI or Perl.
- # For unknown reasons adding "-lc" fixes a linking problem with some versions
- # of GCC.  That's probably a bug in the "-pg" implementation.
  # After running Vim see the profile result with: gprof vim gmon.out | vim -
  # Need to recompile everything after changing this: "make clean" "make".
  #PROFILE_CFLAGS = -pg -g -DWE_ARE_PROFILING
  #PROFILE_LIBS = -pg
  #PROFILE_LIBS = -pg -lc
  
  
--- 651,666 ----
  
  # PROFILING - Uncomment the next two lines to do profiling with gcc and gprof.
  # Might not work with GUI or Perl.
  # After running Vim see the profile result with: gprof vim gmon.out | vim -
  # Need to recompile everything after changing this: "make clean" "make".
  #PROFILE_CFLAGS = -pg -g -DWE_ARE_PROFILING
  #PROFILE_LIBS = -pg
+ 
+ # GCC 5 and later need the -no-pie argument.
+ #PROFILE_LIBS = -pg -no-pie
+ 
+ # For unknown reasons adding "-lc" fixes a linking problem with some versions
+ # of GCC.  That's probably a bug in the "-pg" implementation.
  #PROFILE_LIBS = -pg -lc
  
  
*** ../vim-8.0.1549/src/gui_gtk.c       2018-02-04 14:32:51.446193935 +0100
--- src/gui_gtk.c       2018-02-04 14:33:59.673697914 +0100
***************
*** 1895,1902 ****
        trigger.window     = gtk_widget_get_window(gui.drawarea);
        trigger.send_event = FALSE;
        trigger.time       = gui.event_time;
!       trigger.x          = 0.0;
!       trigger.y          = 0.0;
        trigger.axes       = NULL;
        trigger.state      = 0;
        trigger.button     = 3;
--- 1895,1902 ----
        trigger.window     = gtk_widget_get_window(gui.drawarea);
        trigger.send_event = FALSE;
        trigger.time       = gui.event_time;
!       trigger.x          = 0.0;
!       trigger.y          = 0.0;
        trigger.axes       = NULL;
        trigger.state      = 0;
        trigger.button     = 3;
***************
*** 1983,1990 ****
        trigger.window     = win;
        trigger.send_event = FALSE;
        trigger.time       = GDK_CURRENT_TIME;
!       trigger.x          = 0.0;
!       trigger.y          = 0.0;
        trigger.axes       = NULL;
        trigger.state      = 0;
        trigger.button     = 0;
--- 1983,1990 ----
        trigger.window     = win;
        trigger.send_event = FALSE;
        trigger.time       = GDK_CURRENT_TIME;
!       trigger.x          = 0.0;
!       trigger.y          = 0.0;
        trigger.axes       = NULL;
        trigger.state      = 0;
        trigger.button     = 0;
*** ../vim-8.0.1549/src/if_xcmdsrv.c    2017-09-09 16:25:49.154576764 +0200
--- src/if_xcmdsrv.c    2017-10-15 13:58:20.523954356 +0200
***************
*** 1123,1129 ****
   * This procedure is invoked by the various X event loops throughout Vims when
   * a property changes on the communication window.  This procedure reads the
   * property and enqueues command requests and responses. If immediate is true,
!  * it runs the event immediatly instead of enqueuing it. Immediate can cause
   * unintended behavior and should only be used for code that blocks for a
   * response.
   */
--- 1123,1129 ----
   * This procedure is invoked by the various X event loops throughout Vims when
   * a property changes on the communication window.  This procedure reads the
   * property and enqueues command requests and responses. If immediate is true,
!  * it runs the event immediately instead of enqueuing it. Immediate can cause
   * unintended behavior and should only be used for code that blocks for a
   * response.
   */
*** ../vim-8.0.1549/src/pty.c   2017-10-28 21:08:38.991456926 +0200
--- src/pty.c   2018-02-04 14:39:45.023195062 +0100
***************
*** 268,274 ****
  #endif
  
  #if defined(HAVE_SVR4_PTYS) && !defined(PTY_DONE) && !defined(hpux) \
!                     && !(defined(MACOS_X) && !defined(MAC_OS_X_VERSION_10_6))
  
  /* NOTE: Even though HPUX can have /dev/ptmx, the code below doesn't work!
   * Same for Mac OS X Leopard (10.5). */
--- 268,274 ----
  #endif
  
  #if defined(HAVE_SVR4_PTYS) && !defined(PTY_DONE) && !defined(hpux) \
!           && !(defined(MACOS_X) && !defined(MAC_OS_X_VERSION_10_6))
  
  /* NOTE: Even though HPUX can have /dev/ptmx, the code below doesn't work!
   * Same for Mac OS X Leopard (10.5). */
*** ../vim-8.0.1549/src/if_python.c     2018-01-31 21:48:25.224668815 +0100
--- src/if_python.c     2018-02-04 14:35:28.777051024 +0100
***************
*** 74,80 ****
  #undef HAVE_FCNTL_H /* Clash with os_win32.h */
  
  #define PyBytes_FromString      PyString_FromString
! #define PyBytes_Check           PyString_Check
  #define PyBytes_AsStringAndSize PyString_AsStringAndSize
  
  #if !defined(FEAT_PYTHON) && defined(PROTO)
--- 74,80 ----
  #undef HAVE_FCNTL_H /* Clash with os_win32.h */
  
  #define PyBytes_FromString      PyString_FromString
! #define PyBytes_Check         PyString_Check
  #define PyBytes_AsStringAndSize PyString_AsStringAndSize
  
  #if !defined(FEAT_PYTHON) && defined(PROTO)
*** ../vim-8.0.1549/src/if_py_both.h    2017-11-09 22:10:29.188559134 +0100
--- src/if_py_both.h    2018-01-31 20:50:19.522716278 +0100
***************
*** 5996,6002 ****
      PyObject  *capsule;
      char      hexBuf[sizeof(void *) * 2 + 3];
  
!     sprintf(hexBuf, "%p", obj);
  
  # ifdef PY_USE_CAPSULE
      capsule = PyDict_GetItemString(lookup_dict, hexBuf);
--- 5996,6002 ----
      PyObject  *capsule;
      char      hexBuf[sizeof(void *) * 2 + 3];
  
!     sprintf(hexBuf, "%p", (void *)obj);
  
  # ifdef PY_USE_CAPSULE
      capsule = PyDict_GetItemString(lookup_dict, hexBuf);
*** ../vim-8.0.1549/uninstal.txt        2016-09-21 22:41:21.297603445 +0200
--- uninstal.txt        2017-07-19 11:09:11.138853125 +0200
***************
*** 5,11 ****
  1. With the GUI uninstaller.
     This is only available when Vim was installed with the self-installing
     executable.  This has a minimal number of questions.  It can delete
!    everything that was installed.  This also unregisters the VisVim.dll
  
  2. With uninstal.exe.
     This removes most installed items, but does not delete the files you
--- 5,11 ----
  1. With the GUI uninstaller.
     This is only available when Vim was installed with the self-installing
     executable.  This has a minimal number of questions.  It can delete
!    everything that was installed.  This also unregisters the VisVim.dll.
  
  2. With uninstal.exe.
     This removes most installed items, but does not delete the files you
***************
*** 17,23 ****
     have to use uninstal.exe.
  
  It's recommended to use the method that matches with how you installed Vim.
! Thus if you installed Vim by hand, deleted it by hand.
  
  The first two methods should be available from the Add/Remove software window
  and the Vim entry in the Start menu.  If these have been removed already, find
--- 17,23 ----
     have to use uninstal.exe.
  
  It's recommended to use the method that matches with how you installed Vim.
! Thus if you installed Vim by hand, delete it by hand.
  
  The first two methods should be available from the Add/Remove software window
  and the Vim entry in the Start menu.  If these have been removed already, find
***************
*** 33,40 ****
     menu entry.  You only need to run uninstal.exe when you have installed the
     menu entry.  You can also run uninstal.exe from the Control panel with the
     Add/Remove programs application.
!    Note that uninstal.exe offers you to uninstal other items.  You can skip
!    this.
  
  2. Only if you have used the OLE version of gvim: Remove the registration of
     this program by running "gvim -unregister" in a console window.
--- 33,40 ----
     menu entry.  You only need to run uninstal.exe when you have installed the
     menu entry.  You can also run uninstal.exe from the Control panel with the
     Add/Remove programs application.
!    Note that uninstal.exe offers you the option to uninstal other items.  You
!    can skip this.
  
  2. Only if you have used the OLE version of gvim: Remove the registration of
     this program by running "gvim -unregister" in a console window.
***************
*** 46,52 ****
     If you created .bat files when installing Vim, also search for vim.bat,
     gvim.bat, etc.
  
! 4. If you completely want to delete vim, and are not going to install another
     version, you can delete the vimrc files that you created.  These are
     normally located in a directory like "C:\vim".  If the $VIM environment
     variable is set, it will tell the name of the directory.  Normally you can
--- 46,52 ----
     If you created .bat files when installing Vim, also search for vim.bat,
     gvim.bat, etc.
  
! 4. If you want to completely delete vim, and are not going to install another
     version, you can delete the vimrc files that you created.  These are
     normally located in a directory like "C:\vim".  If the $VIM environment
     variable is set, it will tell the name of the directory.  Normally you can
*** ../vim-8.0.1549/src/dosinst.c       2017-10-28 18:49:57.272590807 +0200
--- src/dosinst.c       2018-02-04 14:34:33.421452793 +0100
***************
*** 1200,1207 ****
  
        /* If the path has a space:  When using cmd.exe (Win NT/2000/XP) put
         * quotes around the diff command and rely on the default value of
!          * shellxquote to solve the quoting problem for the whole command.
!          *
         * Otherwise put a double quote just before the space and at the
         * end of the command.  Putting quotes around the whole thing
         * doesn't work on Win 95/98/ME.  This is mostly guessed! */
--- 1200,1207 ----
  
        /* If the path has a space:  When using cmd.exe (Win NT/2000/XP) put
         * quotes around the diff command and rely on the default value of
!        * shellxquote to solve the quoting problem for the whole command.
!        *
         * Otherwise put a double quote just before the space and at the
         * end of the command.  Putting quotes around the whole thing
         * doesn't work on Win 95/98/ME.  This is mostly guessed! */
*** ../vim-8.0.1549/src/iscygpty.c      2017-08-31 21:35:41.370946946 +0200
--- src/iscygpty.c      2018-02-04 14:36:41.048526980 +0100
***************
*** 62,81 ****
  //#define USE_DYNFILEID
  #ifdef USE_DYNFILEID
  typedef BOOL (WINAPI *pfnGetFileInformationByHandleEx)(
!               HANDLE                    hFile,
!               FILE_INFO_BY_HANDLE_CLASS FileInformationClass,
!               LPVOID                    lpFileInformation,
!               DWORD                     dwBufferSize
! );
  static pfnGetFileInformationByHandleEx pGetFileInformationByHandleEx = NULL;
  
  # ifndef USE_FILEEXTD
  static BOOL WINAPI stub_GetFileInformationByHandleEx(
!               HANDLE                    hFile,
!               FILE_INFO_BY_HANDLE_CLASS FileInformationClass,
!               LPVOID                    lpFileInformation,
!               DWORD                     dwBufferSize
!               )
  {
        return FALSE;
  }
--- 62,79 ----
  //#define USE_DYNFILEID
  #ifdef USE_DYNFILEID
  typedef BOOL (WINAPI *pfnGetFileInformationByHandleEx)(
!               HANDLE                                          hFile,
!               FILE_INFO_BY_HANDLE_CLASS       FileInformationClass,
!               LPVOID                                          
lpFileInformation,
!               DWORD                                           dwBufferSize);
  static pfnGetFileInformationByHandleEx pGetFileInformationByHandleEx = NULL;
  
  # ifndef USE_FILEEXTD
  static BOOL WINAPI stub_GetFileInformationByHandleEx(
!               HANDLE                                          hFile,
!               FILE_INFO_BY_HANDLE_CLASS       FileInformationClass,
!               LPVOID                                          
lpFileInformation,
!               DWORD                                           dwBufferSize)
  {
        return FALSE;
  }
*** ../vim-8.0.1549/src/vimrun.c        2016-08-29 22:42:21.000000000 +0200
--- src/vimrun.c        2018-02-04 14:41:37.342447903 +0100
***************
*** 55,61 ****
        ++p;
      }
      while (*p == L' ')
!         ++p;
  
      /*
       * "-s" argument: don't wait for a key hit.
--- 55,61 ----
        ++p;
      }
      while (*p == L' ')
!       ++p;
  
      /*
       * "-s" argument: don't wait for a key hit.
*** ../vim-8.0.1549/src/os_vms.c        2016-11-04 20:35:27.352945991 +0100
--- src/os_vms.c        2018-02-04 14:39:31.771290916 +0100
***************
*** 18,24 ****
  /* based on Alpha's gen64def.h; the file is absent on VAX */
  typedef struct _generic_64 {
  #   pragma __nomember_alignment
!     __union  {                          /* You can treat me as...  */
        /* long long is not available on VAXen */
        /* unsigned __int64 gen64$q_quadword; ...a single 64-bit value, or */
  
--- 18,24 ----
  /* based on Alpha's gen64def.h; the file is absent on VAX */
  typedef struct _generic_64 {
  #   pragma __nomember_alignment
!     __union  {                                /* You can treat me as...  */
        /* long long is not available on VAXen */
        /* unsigned __int64 gen64$q_quadword; ...a single 64-bit value, or */
  
***************
*** 461,468 ****
        result = decc$translate_vms(vms_fixfilename(buf));
        if ( (int) result == 0 || (int) result == -1  ) {
            cnt = 0;
!       }
!         else {
            cnt = decc$to_vms(result, vms_wproc, 1 /*allow wild*/ , (flags & 
EW_DIR ? 0:1 ) /*allow directory*/) ;
        }
        if (cnt > 0)
--- 461,467 ----
        result = decc$translate_vms(vms_fixfilename(buf));
        if ( (int) result == 0 || (int) result == -1  ) {
            cnt = 0;
!       } else {
            cnt = decc$to_vms(result, vms_wproc, 1 /*allow wild*/ , (flags & 
EW_DIR ? 0:1 ) /*allow directory*/) ;
        }
        if (cnt > 0)
***************
*** 519,528 ****
      /* otherwise it might create ACCVIO error in decc$to_vms      */
      result = decc$translate_vms(vms_fixfilename(path));
      if ( (int) result == 0 || (int) result == -1  ) {
!         cnt = 0;
!     }
!     else {
!         cnt = decc$to_vms(result, vms_wproc, 1 /*allow_wild*/, (flags & 
EW_DIR ? 0:1 ) /*allow directory*/);
      }
      if (cnt > 0)
        cnt = vms_match_num;
--- 518,526 ----
      /* otherwise it might create ACCVIO error in decc$to_vms      */
      result = decc$translate_vms(vms_fixfilename(path));
      if ( (int) result == 0 || (int) result == -1  ) {
!       cnt = 0;
!     } else {
!       cnt = decc$to_vms(result, vms_wproc, 1 /*allow_wild*/, (flags & EW_DIR 
? 0:1 ) /*allow directory*/);
      }
      if (cnt > 0)
        cnt = vms_match_num;
***************
*** 741,808 ****
        get_tty();
  
      if (sec > 0) {
!         /* time-out specified; convert it to absolute time */
        /* sec>0 requirement of lib$cvtf_to_internal_time()*/
  
!         /* get current time (number of 100ns ticks since the VMS Epoch) */
!         status = sys$gettim(&time_curr);
!         if (status != SS$_NORMAL)
!             return 0; /* error */
!         /* construct the delta time */
  #if __G_FLOAT==0
  # ifndef VAX
        /* IEEE is default on IA64, but can be used on Alpha too - but not on 
VAX */
!         status = lib$cvts_to_internal_time(
!                 &convert_operation, &sec, &time_diff);
  # endif
  #else   /* default on Alpha and VAX  */
!         status = lib$cvtf_to_internal_time(
                &convert_operation, &sec, &time_diff);
  #endif
!         if (status != LIB$_NORMAL)
!             return 0; /* error */
!         /* add them up */
!         status = lib$add_times(
!                 &time_curr,
!                 &time_diff,
!                 &time_out);
!         if (status != LIB$_NORMAL)
!             return 0; /* error */
      }
  
      while (TRUE) {
!         /* select() */
!         status = sys$qiow(0, iochan, IO$_SENSEMODE | IO$M_TYPEAHDCNT, iosb,
!                 0, 0, &typeahead, 8, 0, 0, 0, 0);
        if (status != SS$_NORMAL || (iosb[0] & 0xFFFF) != SS$_NORMAL)
!             return 0; /* error */
  
!         if (typeahead.numchars)
!             return 1; /* ready to read */
  
!         /* there's nothing to read; what now? */
!         if (msec == 0) {
!             /* immediate time-out; return impatiently */
!             return 0;
!         }
!         else if (msec < 0) {
!             /* no time-out; wait on indefinitely */
!             continue;
!         }
!         else {
!             /* time-out needs to be checked */
!             status = sys$gettim(&time_curr);
!             if (status != SS$_NORMAL)
!                 return 0; /* error */
! 
!             status = lib$sub_times(
!                     &time_out,
!                     &time_curr,
!                     &time_diff);
!             if (status != LIB$_NORMAL)
!                 return 0; /* error, incl. time_diff < 0 (i.e. time-out) */
  
!             /* otherwise wait some more */
!         }
      }
  }
--- 739,804 ----
        get_tty();
  
      if (sec > 0) {
!       /* time-out specified; convert it to absolute time */
        /* sec>0 requirement of lib$cvtf_to_internal_time()*/
  
!       /* get current time (number of 100ns ticks since the VMS Epoch) */
!       status = sys$gettim(&time_curr);
!       if (status != SS$_NORMAL)
!           return 0; /* error */
!       /* construct the delta time */
  #if __G_FLOAT==0
  # ifndef VAX
        /* IEEE is default on IA64, but can be used on Alpha too - but not on 
VAX */
!       status = lib$cvts_to_internal_time(
!               &convert_operation, &sec, &time_diff);
  # endif
  #else   /* default on Alpha and VAX  */
!       status = lib$cvtf_to_internal_time(
                &convert_operation, &sec, &time_diff);
  #endif
!       if (status != LIB$_NORMAL)
!           return 0; /* error */
!       /* add them up */
!       status = lib$add_times(
!               &time_curr,
!               &time_diff,
!               &time_out);
!       if (status != LIB$_NORMAL)
!           return 0; /* error */
      }
  
      while (TRUE) {
!       /* select() */
!       status = sys$qiow(0, iochan, IO$_SENSEMODE | IO$M_TYPEAHDCNT, iosb,
!               0, 0, &typeahead, 8, 0, 0, 0, 0);
        if (status != SS$_NORMAL || (iosb[0] & 0xFFFF) != SS$_NORMAL)
!           return 0; /* error */
  
!       if (typeahead.numchars)
!           return 1; /* ready to read */
  
!       /* there's nothing to read; what now? */
!       if (msec == 0) {
!           /* immediate time-out; return impatiently */
!           return 0;
!       } else if (msec < 0) {
!           /* no time-out; wait on indefinitely */
!           continue;
!       } else {
!           /* time-out needs to be checked */
!           status = sys$gettim(&time_curr);
!           if (status != SS$_NORMAL)
!               return 0; /* error */
! 
!           status = lib$sub_times(
!                   &time_out,
!                   &time_curr,
!                   &time_diff);
!           if (status != LIB$_NORMAL)
!               return 0; /* error, incl. time_diff < 0 (i.e. time-out) */
  
!           /* otherwise wait some more */
!       }
      }
  }
*** ../vim-8.0.1549/src/version.c       2018-02-27 17:17:32.443413957 +0100
--- src/version.c       2018-02-27 17:20:07.290426380 +0100
***************
*** 780,781 ****
--- 780,783 ----
  {   /* Add new patch number below this line */
+ /**/
+     1550,
  /**/

-- 
"I love deadlines.  I especially like the whooshing sound they
make as they go flying by."
                         -- Douglas Adams

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            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].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui