Wednesday, May 3, 2023

Re: Bug? E216: No such group or event: filetypedetect BufReadPost msg in 14_XxdBack:

On Wed, May 3, 2023 at 6:26 PM Bram Moolenaar <Bram@moolenaar.net> wrote:
>
>
> Zach Pfeffer wrote:
>
> > > > Posting this here based on the request at
> > > > https://github.com/vim/vim/blob/master/CONTRIBUTING.md :
> > > >
> > > > "If you are not 100% sure that your problem is a Vim issue, please first
> > > > discuss this on the Vim user maillist."
> > > >
> > > > Running:
> > > >
> > > > VIM - Vi IMproved 9.0 (2022 Jun 28, compiled Jun 28 2022 13:09:53)
> > > > MS-Windows 32-bit GUI version with OLE support
> > > > (the one downloadable from https://www.vim.org/download.php)
> > > >
> > > > ... I noticed a message when clicking Convert Back after Convert to HEX:
> > > >
> > > > Error detected while processing functions <SNR>14_XxdBack:
> > > > line 9:
> > > > E216: No such group or event: filetypedetect BufReadPost
> > > >
> > > > ...this message cleared when I pressed Enter.
> > > >
> > > > I found this message went away with this patch:
> > > >
> > > > --- menu.vim 2023-04-29 16:47:05.708417500 -0600
> > > > +++ menu.vim.bak 2022-06-28 07:08:36.000000000 -0600
> > > > @@ -599,10 +599,8 @@
> > > > s:XxdFind()
> > > > exe ':%!' .. g:xxdprogram .. ' -r'
> > > > endif
> > > > - if exists('did_load_filetypes')
> > > > - set ft=
> > > > - doautocmd filetypedetect BufReadPost
> > > > - endif
> > > > + set ft=
> > > > + doautocmd filetypedetect BufReadPost
> > > > &mod = mod
> > > > enddef
> > > >
> > > > Is there a better solution? Should I file this as a bug?
> > >
> > > Looks like your diff is the wrong way around.
> >
> >
> > Yup! I'm sorry about that. Here's the patch with your suggestion with
> > the diff the correct way around.
> >
> > --- menu.vim.orig 2022-06-28 07:08:36.000000000 -0600
> > +++ menu.vim 2023-05-02 20:20:00.052527000 -0600
> > @@ -599,8 +599,10 @@
> > s:XxdFind()
> > exe ':%!' .. g:xxdprogram .. ' -r'
> > endif
> > - set ft=
> > - doautocmd filetypedetect BufReadPost
> > + if exists('#filetypedetect') && exists('#BufReadPost')
> > + set ft=
> > + doautocmd filetypedetect BufReadPost
> > + endif
> > &mod = mod
> > enddef
> >
> > >
> > >
> > > Instead of checking for "did_load_filetypes" a more direct condition
> > > would be to use:
> > >
> > > if exists('#filetypedetect') && exists('#BufReadPost')
> > > set ft=
> > > doautocmd filetypedetect BufReadPost
> > > endif
> > >
> > > Does that work for you?
> >
> > Yup. Works great.
> >
> > Would you like me to file a bug and create a patch on vim-dev against
> > the bug?
>
> Thanks for checking. Not need to do more, I'll just include the change.
>

Hm. In almost a year there must have been a few changes in earlier
lines of menu.vim.

In the current version (2022 Nov 27) I see that s:XxdFind() line at
line 606 instead of 599, but the incriminated code below it is the
same.

Best regards,
Tony.

--
--
You received this message from the "vim_use" 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_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/CAJkCKXtCnP%2BZT7WC9EpYygADRx%3Dx-GHHKcS7J7fkhESJT%3DwKaw%40mail.gmail.com.

No comments: