runtime(make): add compiler/make.vim to reset compiler plugin settings

closes: #15645

Co-authored-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/compiler/README.txt b/runtime/compiler/README.txt
index dccf4a9..327d0a7 100644
--- a/runtime/compiler/README.txt
+++ b/runtime/compiler/README.txt
@@ -4,6 +4,8 @@
 These scripts usually set options, for example 'errorformat'.
 See ":help write-compiler-plugin".
 
+To undo the effect of a compiler plugin, use the make compiler plugin.
+
 If you want to write your own compiler plugin, have a look at the other files
 for how to do it, the format is simple.
 
diff --git a/runtime/compiler/make.vim b/runtime/compiler/make.vim
new file mode 100644
index 0000000..748251b
--- /dev/null
+++ b/runtime/compiler/make.vim
@@ -0,0 +1,13 @@
+" Vim compiler plugin
+"
+" Maintainer:	The Vim Project <https://github.com/vim/vim>
+" Last Change:	2024 Sep 10
+" Original Author: Konfekt
+"
+" This compiler plugin is used to reset previously set compiler options.
+
+if exists("g:current_compiler") | unlet g:current_compiler | endif
+if exists("b:current_compiler") | unlet b:current_compiler | endif
+
+CompilerSet makeprg&
+CompilerSet errorformat&
diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt
index 6942a58..ea5f01d 100644
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -1,4 +1,4 @@
-*quickfix.txt*  For Vim version 9.1.  Last change: 2024 Sep 09
+*quickfix.txt*  For Vim version 9.1.  Last change: 2024 Sep 10
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1276,6 +1276,7 @@
 
 For writing a compiler plugin, see |write-compiler-plugin|.
 
+Use the |compiler-make| plugin to undo the effect of a compiler plugin.
 
 DOTNET							*compiler-dotnet*
 
@@ -1291,7 +1292,6 @@
 	let dotnet_show_project_file = v:false
 	compiler dotnet
 <
-
 GCC					*quickfix-gcc*	*compiler-gcc*
 
 There's one variable you can set for the GCC compiler:
@@ -1302,7 +1302,6 @@
 				commands run from make are generating false
 				positives.
 
-
 JAVAC							*compiler-javac*
 
 Commonly used compiler options can be added to 'makeprg' by setting the
@@ -1310,6 +1309,12 @@
 
 	let g:javac_makeprg_params = "-Xlint:all -encoding utf-8"
 <
+GNU MAKE						*compiler-make*
+
+Since the default make program is "make", the compiler plugin for make,
+:compiler make, will reset the 'makeprg' and 'errorformat' option to
+the default values and unlet any variables that may have been set by a
+previous compiler plugin.
 
 MANX AZTEC C				*quickfix-manx* *compiler-manx*
 
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 77c02a8..dd5a0a6 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -6548,6 +6548,7 @@
 compiler-groff	quickfix.txt	/*compiler-groff*
 compiler-hpada	ft_ada.txt	/*compiler-hpada*
 compiler-javac	quickfix.txt	/*compiler-javac*
+compiler-make	quickfix.txt	/*compiler-make*
 compiler-manx	quickfix.txt	/*compiler-manx*
 compiler-pandoc	quickfix.txt	/*compiler-pandoc*
 compiler-perl	quickfix.txt	/*compiler-perl*