mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 01:34:25 +00:00 
			
		
		
		
	vim-patch:9.1.0864: message history is fixed to 200 (#31215)
Problem:  message history is fixed to 200
Solution: Add the 'msghistory' option, increase the default
          value to 500 (Shougo Matsushita)
closes: vim/vim#16048
4bd9b2b246
Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Co-authored-by: Milly <milly.ca@gmail.com>
			
			
This commit is contained in:
		@@ -228,6 +228,7 @@ LUA
 | 
				
			|||||||
OPTIONS
 | 
					OPTIONS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
• 'completeopt' flag "fuzzy" enables |fuzzy-matching| during |ins-completion|.
 | 
					• 'completeopt' flag "fuzzy" enables |fuzzy-matching| during |ins-completion|.
 | 
				
			||||||
 | 
					• 'msghistory' controls maximum number of messages to remember.
 | 
				
			||||||
• 'tabclose' controls which tab page to focus when closing a tab page.
 | 
					• 'tabclose' controls which tab page to focus when closing a tab page.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PERFORMANCE
 | 
					PERFORMANCE
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3197,7 +3197,8 @@ A jump table for the options with a short description can be found at |Q_op|.
 | 
				
			|||||||
			global
 | 
								global
 | 
				
			||||||
	A history of ":" commands, and a history of previous search patterns
 | 
						A history of ":" commands, and a history of previous search patterns
 | 
				
			||||||
	is remembered.  This option decides how many entries may be stored in
 | 
						is remembered.  This option decides how many entries may be stored in
 | 
				
			||||||
	each of these histories (see |cmdline-editing|).
 | 
						each of these histories (see |cmdline-editing| and 'msghistory' for
 | 
				
			||||||
 | 
						the number of messages to remember).
 | 
				
			||||||
	The maximum value is 10000.
 | 
						The maximum value is 10000.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				*'hlsearch'* *'hls'* *'nohlsearch'* *'nohls'*
 | 
									*'hlsearch'* *'hls'* *'nohlsearch'* *'nohls'*
 | 
				
			||||||
@@ -4289,6 +4290,12 @@ A jump table for the options with a short description can be found at |Q_op|.
 | 
				
			|||||||
	Defines the maximum time in msec between two mouse clicks for the
 | 
						Defines the maximum time in msec between two mouse clicks for the
 | 
				
			||||||
	second click to be recognized as a multi click.
 | 
						second click to be recognized as a multi click.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
											*'msghistory'* *'mhi'*
 | 
				
			||||||
 | 
					'msghistory' 'mhi'	number	(default 500)
 | 
				
			||||||
 | 
								global
 | 
				
			||||||
 | 
						Determines how many entries are remembered in the |:messages| history.
 | 
				
			||||||
 | 
						The maximum value is 10000.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
						*'nrformats'* *'nf'*
 | 
											*'nrformats'* *'nf'*
 | 
				
			||||||
'nrformats' 'nf'	string	(default "bin,hex")
 | 
					'nrformats' 'nf'	string	(default "bin,hex")
 | 
				
			||||||
			local to buffer
 | 
								local to buffer
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										12
									
								
								runtime/lua/vim/_meta/options.lua
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										12
									
								
								runtime/lua/vim/_meta/options.lua
									
									
									
										generated
									
									
									
								
							@@ -3016,7 +3016,8 @@ vim.go.hid = vim.go.hidden
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
--- A history of ":" commands, and a history of previous search patterns
 | 
					--- A history of ":" commands, and a history of previous search patterns
 | 
				
			||||||
--- is remembered.  This option decides how many entries may be stored in
 | 
					--- is remembered.  This option decides how many entries may be stored in
 | 
				
			||||||
--- each of these histories (see `cmdline-editing`).
 | 
					--- each of these histories (see `cmdline-editing` and 'msghistory' for
 | 
				
			||||||
 | 
					--- the number of messages to remember).
 | 
				
			||||||
--- The maximum value is 10000.
 | 
					--- The maximum value is 10000.
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
--- @type integer
 | 
					--- @type integer
 | 
				
			||||||
@@ -4378,6 +4379,15 @@ vim.o.mouset = vim.o.mousetime
 | 
				
			|||||||
vim.go.mousetime = vim.o.mousetime
 | 
					vim.go.mousetime = vim.o.mousetime
 | 
				
			||||||
vim.go.mouset = vim.go.mousetime
 | 
					vim.go.mouset = vim.go.mousetime
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--- Determines how many entries are remembered in the `:messages` history.
 | 
				
			||||||
 | 
					--- The maximum value is 10000.
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					--- @type integer
 | 
				
			||||||
 | 
					vim.o.msghistory = 500
 | 
				
			||||||
 | 
					vim.o.mhi = vim.o.msghistory
 | 
				
			||||||
 | 
					vim.go.msghistory = vim.o.msghistory
 | 
				
			||||||
 | 
					vim.go.mhi = vim.go.msghistory
 | 
				
			||||||
 | 
					
 | 
				
			||||||
--- This defines what bases Vim will consider for numbers when using the
 | 
					--- This defines what bases Vim will consider for numbers when using the
 | 
				
			||||||
--- CTRL-A and CTRL-X commands for adding to and subtracting from a number
 | 
					--- CTRL-A and CTRL-X commands for adding to and subtracting from a number
 | 
				
			||||||
--- respectively; see `CTRL-A` for more info on these commands.
 | 
					--- respectively; see `CTRL-A` for more info on these commands.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -626,6 +626,8 @@ call <SID>AddOption("terse", gettext("add 's' flag in 'shortmess' (don't show se
 | 
				
			|||||||
call <SID>BinOptionG("terse", &terse)
 | 
					call <SID>BinOptionG("terse", &terse)
 | 
				
			||||||
call <SID>AddOption("shortmess", gettext("list of flags to make messages shorter"))
 | 
					call <SID>AddOption("shortmess", gettext("list of flags to make messages shorter"))
 | 
				
			||||||
call <SID>OptionG("shm", &shm)
 | 
					call <SID>OptionG("shm", &shm)
 | 
				
			||||||
 | 
					call <SID>AddOption("msghistory", gettext("how many messages are remembered"))
 | 
				
			||||||
 | 
					call append("$", " \tset mhi=" . &mhi)
 | 
				
			||||||
call <SID>AddOption("showcmd", gettext("show (partial) command keys in location given by 'showcmdloc'"))
 | 
					call <SID>AddOption("showcmd", gettext("show (partial) command keys in location given by 'showcmdloc'"))
 | 
				
			||||||
let &sc = s:old_sc
 | 
					let &sc = s:old_sc
 | 
				
			||||||
call <SID>BinOptionG("sc", &sc)
 | 
					call <SID>BinOptionG("sc", &sc)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -981,7 +981,7 @@ static void add_msg_hist_multihl(const char *s, int len, int hl_id, bool multili
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Don't let the message history get too big
 | 
					  // Don't let the message history get too big
 | 
				
			||||||
  while (msg_hist_len > MAX_MSG_HIST_LEN) {
 | 
					  while (msg_hist_len > p_mhi) {
 | 
				
			||||||
    delete_first_msg();
 | 
					    delete_first_msg();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2874,6 +2874,13 @@ static const char *validate_num_option(OptIndex opt_idx, OptInt *newval, char *e
 | 
				
			|||||||
      return e_invarg;
 | 
					      return e_invarg;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    break;
 | 
					    break;
 | 
				
			||||||
 | 
					  case kOptMsghistory:
 | 
				
			||||||
 | 
					    if (value < 0) {
 | 
				
			||||||
 | 
					      return e_positive;
 | 
				
			||||||
 | 
					    } else if (value > 10000) {
 | 
				
			||||||
 | 
					      return e_invarg;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    break;
 | 
				
			||||||
  case kOptPyxversion:
 | 
					  case kOptPyxversion:
 | 
				
			||||||
    if (value == 0) {
 | 
					    if (value == 0) {
 | 
				
			||||||
      *newval = 3;
 | 
					      *newval = 3;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -536,6 +536,7 @@ EXTERN OptInt p_mousescroll_vert INIT( = MOUSESCROLL_VERT_DFLT);
 | 
				
			|||||||
EXTERN OptInt p_mousescroll_hor INIT( = MOUSESCROLL_HOR_DFLT);
 | 
					EXTERN OptInt p_mousescroll_hor INIT( = MOUSESCROLL_HOR_DFLT);
 | 
				
			||||||
EXTERN OptInt p_mouset;         ///< 'mousetime'
 | 
					EXTERN OptInt p_mouset;         ///< 'mousetime'
 | 
				
			||||||
EXTERN int p_more;              ///< 'more'
 | 
					EXTERN int p_more;              ///< 'more'
 | 
				
			||||||
 | 
					EXTERN OptInt p_mhi;            ///< 'msghistory'
 | 
				
			||||||
EXTERN char *p_nf;              ///< 'nrformats'
 | 
					EXTERN char *p_nf;              ///< 'nrformats'
 | 
				
			||||||
EXTERN char *p_opfunc;          ///< 'operatorfunc'
 | 
					EXTERN char *p_opfunc;          ///< 'operatorfunc'
 | 
				
			||||||
EXTERN char *p_para;            ///< 'paragraphs'
 | 
					EXTERN char *p_para;            ///< 'paragraphs'
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3962,7 +3962,8 @@ return {
 | 
				
			|||||||
      desc = [=[
 | 
					      desc = [=[
 | 
				
			||||||
        A history of ":" commands, and a history of previous search patterns
 | 
					        A history of ":" commands, and a history of previous search patterns
 | 
				
			||||||
        is remembered.  This option decides how many entries may be stored in
 | 
					        is remembered.  This option decides how many entries may be stored in
 | 
				
			||||||
        each of these histories (see |cmdline-editing|).
 | 
					        each of these histories (see |cmdline-editing| and 'msghistory' for
 | 
				
			||||||
 | 
					        the number of messages to remember).
 | 
				
			||||||
        The maximum value is 10000.
 | 
					        The maximum value is 10000.
 | 
				
			||||||
      ]=],
 | 
					      ]=],
 | 
				
			||||||
      full_name = 'history',
 | 
					      full_name = 'history',
 | 
				
			||||||
@@ -5757,6 +5758,19 @@ return {
 | 
				
			|||||||
      type = 'number',
 | 
					      type = 'number',
 | 
				
			||||||
      varname = 'p_mouset',
 | 
					      varname = 'p_mouset',
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      abbreviation = 'mhi',
 | 
				
			||||||
 | 
					      defaults = { if_true = 500 },
 | 
				
			||||||
 | 
					      desc = [=[
 | 
				
			||||||
 | 
					        Determines how many entries are remembered in the |:messages| history.
 | 
				
			||||||
 | 
					        The maximum value is 10000.
 | 
				
			||||||
 | 
					      ]=],
 | 
				
			||||||
 | 
					      full_name = 'msghistory',
 | 
				
			||||||
 | 
					      scope = { 'global' },
 | 
				
			||||||
 | 
					      short_desc = N_('how many messages are remembered'),
 | 
				
			||||||
 | 
					      type = 'number',
 | 
				
			||||||
 | 
					      varname = 'p_mhi',
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      abbreviation = 'nf',
 | 
					      abbreviation = 'nf',
 | 
				
			||||||
      cb = 'did_set_nrformats',
 | 
					      cb = 'did_set_nrformats',
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// Some defines from the old feature.h
 | 
					// Some defines from the old feature.h
 | 
				
			||||||
#define SESSION_FILE "Session.vim"
 | 
					#define SESSION_FILE "Session.vim"
 | 
				
			||||||
#define MAX_MSG_HIST_LEN 200
 | 
					 | 
				
			||||||
#define SYS_OPTWIN_FILE "$VIMRUNTIME/optwin.vim"
 | 
					#define SYS_OPTWIN_FILE "$VIMRUNTIME/optwin.vim"
 | 
				
			||||||
#define RUNTIME_DIRNAME "runtime"
 | 
					#define RUNTIME_DIRNAME "runtime"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -117,6 +117,7 @@ let test_values = {
 | 
				
			|||||||
      "\ 'imstyle': [[0, 1], [-1, 2, 999]],
 | 
					      "\ 'imstyle': [[0, 1], [-1, 2, 999]],
 | 
				
			||||||
      \ 'lines': [[2, 24, 1000], [-1, 0, 1]],
 | 
					      \ 'lines': [[2, 24, 1000], [-1, 0, 1]],
 | 
				
			||||||
      \ 'linespace': [[-1, 0, 2, 4, 999], ['']],
 | 
					      \ 'linespace': [[-1, 0, 2, 4, 999], ['']],
 | 
				
			||||||
 | 
					      \ 'msghistory': [[0, 1, 100, 10000], [-1, 10001]],
 | 
				
			||||||
      \ 'numberwidth': [[1, 4, 8, 10, 11, 20], [-1, 0, 21]],
 | 
					      \ 'numberwidth': [[1, 4, 8, 10, 11, 20], [-1, 0, 21]],
 | 
				
			||||||
      \ 'regexpengine': [[0, 1, 2], [-1, 3, 999]],
 | 
					      \ 'regexpengine': [[0, 1, 2], [-1, 3, 999]],
 | 
				
			||||||
      \ 'report': [[0, 1, 2, 9999], [-1]],
 | 
					      \ 'report': [[0, 1, 2, 9999], [-1]],
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -743,6 +743,7 @@ func Test_set_option_errors()
 | 
				
			|||||||
  call assert_fails('set backupcopy=', 'E474:')
 | 
					  call assert_fails('set backupcopy=', 'E474:')
 | 
				
			||||||
  call assert_fails('set regexpengine=3', 'E474:')
 | 
					  call assert_fails('set regexpengine=3', 'E474:')
 | 
				
			||||||
  call assert_fails('set history=10001', 'E474:')
 | 
					  call assert_fails('set history=10001', 'E474:')
 | 
				
			||||||
 | 
					  call assert_fails('set msghistory=10001', 'E474:')
 | 
				
			||||||
  call assert_fails('set numberwidth=21', 'E474:')
 | 
					  call assert_fails('set numberwidth=21', 'E474:')
 | 
				
			||||||
  call assert_fails('set colorcolumn=-a', 'E474:')
 | 
					  call assert_fails('set colorcolumn=-a', 'E474:')
 | 
				
			||||||
  call assert_fails('set colorcolumn=a', 'E474:')
 | 
					  call assert_fails('set colorcolumn=a', 'E474:')
 | 
				
			||||||
@@ -756,6 +757,7 @@ func Test_set_option_errors()
 | 
				
			|||||||
  endif
 | 
					  endif
 | 
				
			||||||
  call assert_fails('set helpheight=-1', 'E487:')
 | 
					  call assert_fails('set helpheight=-1', 'E487:')
 | 
				
			||||||
  call assert_fails('set history=-1', 'E487:')
 | 
					  call assert_fails('set history=-1', 'E487:')
 | 
				
			||||||
 | 
					  call assert_fails('set msghistory=-1', 'E487:')
 | 
				
			||||||
  call assert_fails('set report=-1', 'E487:')
 | 
					  call assert_fails('set report=-1', 'E487:')
 | 
				
			||||||
  call assert_fails('set shiftwidth=-1', 'E487:')
 | 
					  call assert_fails('set shiftwidth=-1', 'E487:')
 | 
				
			||||||
  call assert_fails('set sidescroll=-1', 'E487:')
 | 
					  call assert_fails('set sidescroll=-1', 'E487:')
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user