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

input() doesn't work when called from normal command

Expand Messages
  • mattn
    Hi. ... function! s:confirm_and_input() let a = confirm( Your Sex? , Male nFemale ) echo input( Your Name? , ) endfunction nnoremap :call
    Message 1 of 3 , Sep 19, 2013
    • 0 Attachment
      Hi.

      ---
      function! s:confirm_and_input()
      let a = confirm("Your Sex?", "Male\nFemale")
      echo input("Your Name?", )
      endfunction

      nnoremap <buffer> <c-d> :call <SID>confirm_and_input()<cr>
      exe "normal \<c-d>"
      ---

      When :so this script, confirm() works well but input() doesn't.
      input() return empty string always. This caused that ex_normal_busy flag is
      not zero. I think this should be worked even-though called from normal command. Below is a patch.
      Please check.

      https://gist.github.com/6632781

      - Yasuhiro Matsumoto

      --
      --
      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 vim_dev+unsubscribe@....
      For more options, visit https://groups.google.com/groups/opt_out.
    • Bram Moolenaar
      ... Thanks. I wonder if there are side effects. There was a reason it was done the way it is, but I don t immediately recall what it was. -- After a few
      Message 2 of 3 , Sep 20, 2013
      • 0 Attachment
        Yasuhiro Matsumoto wrote:

        > ---
        > function! s:confirm_and_input()
        > let a = confirm("Your Sex?", "Male\nFemale")
        > echo input("Your Name?", )
        > endfunction
        >
        > nnoremap <buffer> <c-d> :call <SID>confirm_and_input()<cr>
        > exe "normal \<c-d>"
        > ---
        >
        > When :so this script, confirm() works well but input() doesn't.
        > input() return empty string always. This caused that ex_normal_busy flag is
        > not zero. I think this should be worked even-though called from normal command. Below is a patch.
        > Please check.
        >
        > https://gist.github.com/6632781

        Thanks. I wonder if there are side effects. There was a reason it was
        done the way it is, but I don't immediately recall what it was.

        --
        "After a few years of marriage a man can look right at a woman
        without seeing her and a woman can see right through a man
        without looking at him."
        - Helen Rowland

        /// Bram Moolenaar -- Bram@... -- 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 vim_dev+unsubscribe@....
        For more options, visit https://groups.google.com/groups/opt_out.
      • mattn
        I guess that it is the way to do graceful for displaying without -- hit return -- when it called from normal command. ... -- -- You received this message
        Message 3 of 3 , Sep 20, 2013
        • 0 Attachment
          I guess that it is the way to do graceful for displaying without "-- hit return --" when it called from normal command.


          On Saturday, September 21, 2013 5:55:45 AM UTC+9, Bram Moolenaar wrote:
          > Yasuhiro Matsumoto wrote:
          >
          >
          >
          > > ---
          >
          > > function! s:confirm_and_input()
          >
          > > let a = confirm("Your Sex?", "Male\nFemale")
          >
          > > echo input("Your Name?", )
          >
          > > endfunction
          >
          > >
          >
          > > nnoremap <buffer> <c-d> :call <SID>confirm_and_input()<cr>
          >
          > > exe "normal \<c-d>"
          >
          > > ---
          >
          > >
          >
          > > When :so this script, confirm() works well but input() doesn't.
          >
          > > input() return empty string always. This caused that ex_normal_busy flag is
          >
          > > not zero. I think this should be worked even-though called from normal command. Below is a patch.
          >
          > > Please check.
          >
          > >
          >
          > > https://gist.github.com/6632781
          >
          >
          >
          > Thanks. I wonder if there are side effects. There was a reason it was
          >
          > done the way it is, but I don't immediately recall what it was.
          >
          >
          >
          > --
          >
          > "After a few years of marriage a man can look right at a woman
          >
          > without seeing her and a woman can see right through a man
          >
          > without looking at him."
          >
          > - Helen Rowland
          >
          >
          >
          > /// Bram Moolenaar -- Bram@... -- 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 vim_dev+unsubscribe@....
          For more options, visit https://groups.google.com/groups/opt_out.
        Your message has been successfully submitted and would be delivered to recipients shortly.