Wednesday, May 3, 2023

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

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.

--
"You're fired." (1980)
"You're laid off." (1985)
"You're downsized." (1990)
"You're rightsized." (1992)
(Scott Adams - The Dilbert principle)

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

--
--
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/20230503162626.ED59A1C126B%40moolenaar.net.

No comments: