From f3677c71f04ee6ef52449664dfb37f0477fd7305 Mon Sep 17 00:00:00 2001 From: Yinzuo Jiang Date: Thu, 15 Aug 2024 18:28:01 +0800 Subject: [PATCH] vim-patch:fc762df: runtime(sql, mysql): fix E169: Command too recursive with sql_type_default = "mysql" Problem: When setting "let g:sql_type_default = "mysql", editing .sql file reports "E169: Command too recursive" error Solution: - Add 'let b:did_ftplugin = 1' at the top of ftplugin/sql.vim - Add 'if exists("b:did_ftplugin") | finish | endif' in ftplugin/mysql.vim - Add missing header information in ftplugin/mysql.vim - Remove redundant code in ftplugin/sql.vim fixes: vim/vim#15474 closes: vim/vim#15475 https://github.com/vim/vim/commit/fc762dfc9fa95696409067bcb565e846c9ccfc5a Signed-off-by: Yinzuo Jiang Signed-off-by: Riley Bruins Signed-off-by: Christian Brabandt --- runtime/ftplugin/mysql.vim | 8 ++++++++ runtime/ftplugin/sql.vim | 26 ++++++++++---------------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/runtime/ftplugin/mysql.vim b/runtime/ftplugin/mysql.vim index cbbd0eb122..232df8c5a3 100644 --- a/runtime/ftplugin/mysql.vim +++ b/runtime/ftplugin/mysql.vim @@ -1 +1,9 @@ +" Vim filetype plugin +" Language: MySQL +" Maintainer: Riley Bruins +" Last Change: 2024 Aug 12 +if exists("b:did_ftplugin") + finish +endif + runtime ftplugin/sql.vim diff --git a/runtime/ftplugin/sql.vim b/runtime/ftplugin/sql.vim index 61b7e67255..3b56acd674 100644 --- a/runtime/ftplugin/sql.vim +++ b/runtime/ftplugin/sql.vim @@ -3,8 +3,9 @@ " Version: 12.0 " Maintainer: David Fishburn " Last Change: 2017 Mar 07 -" 2024 Jan 14 by Vim Project (browsefilter) -" 2024 May 18 by Vim Project (set comment options) +" 2024 Jan 14 by Vim Project: browsefilter +" 2024 May 18 by Vim Project: set comment options +" 2024 Aug 14 by Vim Project: remove redundant code " Download: http://vim.sourceforge.net/script.php?script_id=454 " For more details please use: @@ -92,13 +93,19 @@ " Only do this when not done yet for this buffer " This ftplugin can be used with other ftplugins. So ensure loading " happens if all elements of this plugin have not yet loaded. -if exists("b:did_ftplugin") && exists("b:current_ftplugin") && b:current_ftplugin == 'sql' +if exists("b:did_ftplugin") finish endif +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 + let s:save_cpo = &cpo set cpo&vim +let b:undo_ftplugin = "setl comments< commentstring< formatoptions< define< omnifunc<" . + \ " | unlet! b:browsefilter b:match_words" + " Disable autowrapping for code, but enable for comments " t Auto-wrap text using textwidth " c Auto-wrap comments using textwidth, inserting the current comment @@ -263,19 +270,6 @@ elseif exists("g:sql_type_default") endif endif -" If the above runtime command succeeded, do not load the default settings -" as they should have already been loaded from a previous run. -if exists("b:did_ftplugin") && exists("b:current_ftplugin") && b:current_ftplugin == 'sql' - finish -endif - -let b:undo_ftplugin = "setl comments< commentstring< formatoptions< define< omnifunc<" . - \ " | unlet! b:browsefilter b:match_words" - -" Don't load another plugin for this buffer -let b:did_ftplugin = 1 -let b:current_ftplugin = 'sql' - " Win32 and GTK can filter files in the browse dialog if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter") let b:browsefilter = "SQL Files (*.sql)\t*.sql\n"