Loading ...
Sorry, an error occurred while loading the content.

44195Patch 7.0.039

Expand Messages
  • Bram Moolenaar
    Jul 12, 2006
    • 0 Attachment
      Patch 7.0.039
      Problem: Calling inputdialog() with a third argument in the console doesn't
      work.
      Solution: Make a separate function for input() and inputdialog(). (Yegappan
      Lakshmanan)
      Files: src/eval.c


      *** ../vim-7.0.038/src/eval.c Wed Jul 12 21:48:56 2006
      --- src/eval.c Mon Jul 10 23:03:13 2006
      ***************
      *** 11321,11334 ****

      static int inputsecret_flag = 0;

      /*
      ! * "input()" function
      ! * Also handles inputsecret() when inputsecret is set.
      */
      static void
      ! f_input(argvars, rettv)
      typval_T *argvars;
      typval_T *rettv;
      {
      char_u *prompt = get_tv_string_chk(&argvars[0]);
      char_u *p = NULL;
      --- 11321,11339 ----

      static int inputsecret_flag = 0;

      + static void get_user_input __ARGS((typval_T *argvars, typval_T *rettv, int inputdialog));
      +
      /*
      ! * This function is used by f_input() and f_inputdialog() functions. The third
      ! * argument to f_input() specifies the type of completion to use at the
      ! * prompt. The third argument to f_inputdialog() specifies the value to return
      ! * when the user cancels the prompt.
      */
      static void
      ! get_user_input(argvars, rettv, inputdialog)
      typval_T *argvars;
      typval_T *rettv;
      + int inputdialog;
      {
      char_u *prompt = get_tv_string_chk(&argvars[0]);
      char_u *p = NULL;
      ***************
      *** 11378,11384 ****
      if (defstr != NULL)
      stuffReadbuffSpec(defstr);

      ! if (argvars[2].v_type != VAR_UNKNOWN)
      {
      char_u *xp_name;
      int xp_namelen;
      --- 11383,11389 ----
      if (defstr != NULL)
      stuffReadbuffSpec(defstr);

      ! if (!inputdialog && argvars[2].v_type != VAR_UNKNOWN)
      {
      char_u *xp_name;
      int xp_namelen;
      ***************
      *** 11413,11418 ****
      --- 11418,11435 ----
      }

      /*
      + * "input()" function
      + * Also handles inputsecret() when inputsecret is set.
      + */
      + static void
      + f_input(argvars, rettv)
      + typval_T *argvars;
      + typval_T *rettv;
      + {
      + get_user_input(argvars, rettv, FALSE);
      + }
      +
      + /*
      * "inputdialog()" function
      */
      static void
      ***************
      *** 11452,11458 ****
      }
      else
      #endif
      ! f_input(argvars, rettv);
      }

      /*
      --- 11469,11475 ----
      }
      else
      #endif
      ! get_user_input(argvars, rettv, TRUE);
      }

      /*
      *** ../vim-7.0.038/src/version.c Wed Jul 12 21:48:56 2006
      --- src/version.c Wed Jul 12 21:56:30 2006
      ***************
      *** 668,669 ****
      --- 668,671 ----
      { /* Add new patch number below this line */
      + /**/
      + 39,
      /**/

      --
      A consultant is a person who takes your money and annoys your employees while
      tirelessly searching for the best way to extend the consulting contract.
      (Scott Adams - The Dilbert principle)

      /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
      /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
      \\\ download, build and distribute -- http://www.A-A-P.org ///
      \\\ help me help AIDS victims -- http://ICCF-Holland.org ///