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

37503Re: VIM-Crash after "Hit Enter ...": logged with verbose=20

Expand Messages
  • Suresh Govindachar
    Aug 29, 2004
    • 0 Attachment
      Bram Moolenaar Sent: 29 Aug 2004 22:02:29 +0200:

      > What Vim commands do I use to define this subroutine?
      > Without that info I can't reproduce the problem.
      >
      > Please find the shortest example that causes the problem.
      > "<code>" doesn't work, you must put something there that
      > does work to be able to reproduce the problem.

      I understand the need for a crash-report to have the
      shortest possible reproducible example. I have tried, but
      have been unable to create a simple example.

      However, I can provide the original code and the steps to go
      through. When I go through those steps, gvim crashes.

      First, here's a recap:

      Gvim is released 6.3, Big version with GUI, compiled
      Jun 7 2004 14:20:56. OS is Windows 98.

      After executing an embedded perl subroutine and returning
      SUCCESSFULLY from it, the gvim session crashes every once
      in about 3 times. The crash happens after the perl-code
      does its thing properly and returns control of gvim to the
      manual user.

      Crash happens even after doing the following in vimrc:

      let no_buffers_menu = 1
      let did_install_default_menus = 1
      let did_install_syntax_menu = 1
      set guioptions=a

      and unregistering gvim.

      But crashes do not happen if, in the perl code, all the
      all the buffwipeout commands (:bw) are changed to
      bufunload (:bun).

      Finally, when :bun is used instead of :bw, crashes do not
      happen even if gvim is registered, guioptions is set to
      acM, and the preceding three lets are not done.

      Here's how to reproduce the crash.

      1) Plugin is http://www.vim.org/scripts/script.php?script_id=1052

      2) In creating vimfiles/mail/_tmsrc, the only critical items
      for the test will be the directories

      3) Create a sub-folder under dir_mail_home (say,
      dir_mail_home is d:/tms and this sub-folder is atest).
      Then copy some (any 10 or more) .eml files into
      d:/tms/atest. .eml files can be copied, for example, by
      selecting them in Outlook and draging and dropping.

      4) The file vimfiles/mail/tms.vim defines some maps.
      The maps involved in this test are: \i, \o, and \d.

      5) Do \i; a prompt will come up; respond atest at the
      prompt. This will create the files index.raw and
      index.idx inside the folder d:/tms/atest.

      6) Open d:/tms/atest/index.idx. Pick a line (other than the
      header and border lines) and do \o. A new window will
      appear with a .eml file.

      7) Then do some scrolling, unfolding etc. commands in the
      .eml file. Then do \d, while bracing yourself for a
      crash.

      8) The buffer will be wiped out and replaced by a new .eml
      buffer (corresponding to the "next line" in the
      index.idx file). Repeat 7 in this buffer.

      9) After a few repeats of 8, Vim might crash.

      10) If vim does crash then do the following: In
      vimfiles/plugin/tms.vim expose the line:
      let g:tms_do_not_bw_in_perl = 1
      This will change all the :bw in the embedded perl code
      to :bun, and vim won't crash.

      11) If you want to actually try out the plugin, be
      sure to have valid entries for the mail servers
      in the _tmsrc file; and to set up the passwords
      (besides help tms, see vimfiles/mail/release_notes).

      If you do go ahead with the test, let me know the results
      and any other comments.

      By the way, I have been using tms (with
      tms_do_not_bw_in_perl let to 1) -- and am very happy with
      it. Since the last release of tms, I have added filtering
      capability: now, after downloading emails:

      - emails are sorted into sub-folders of dir_mail_home
      based on filtering rules
      - a quickfix tags (or "errors.err") file is created based
      on where the newly arrived files are.
      - the cfile command is issued on the tags file
      - User can then use quickfix commands to visit the folders
      with newly arrived emails.

      A request: I looked at the description of your upcoming
      tutorial and noticed mention of using VIM for email. Please
      consider mentioning the tms.vim plugin to send, receive and
      organize email from within VIM!

      Thanks,

      --Suresh
    • Show all 11 messages in this topic