forked from aniani/vim
patch 9.1.0878: termdebug: cannot enable DEBUG mode
Problem: termdebug: cannot enable DEBUG mode Solution: Allow to specify DEBUG mode (Ubaldo Tiberi) closes: #16080 Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@volvo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
parent
b5c1557323
commit
ae1c8b790b
@ -10688,6 +10688,7 @@ termdebug-starting terminal.txt /*termdebug-starting*
|
|||||||
termdebug-stepping terminal.txt /*termdebug-stepping*
|
termdebug-stepping terminal.txt /*termdebug-stepping*
|
||||||
termdebug-timeout terminal.txt /*termdebug-timeout*
|
termdebug-timeout terminal.txt /*termdebug-timeout*
|
||||||
termdebug-variables terminal.txt /*termdebug-variables*
|
termdebug-variables terminal.txt /*termdebug-variables*
|
||||||
|
termdebug_contributing terminal.txt /*termdebug_contributing*
|
||||||
termdebug_disasm_window terminal.txt /*termdebug_disasm_window*
|
termdebug_disasm_window terminal.txt /*termdebug_disasm_window*
|
||||||
termdebug_evaluate_in_popup terminal.txt /*termdebug_evaluate_in_popup*
|
termdebug_evaluate_in_popup terminal.txt /*termdebug_evaluate_in_popup*
|
||||||
termdebug_map_K terminal.txt /*termdebug_map_K*
|
termdebug_map_K terminal.txt /*termdebug_map_K*
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*terminal.txt* For Vim version 9.1. Last change: 2024 Nov 10
|
*terminal.txt* For Vim version 9.1. Last change: 2024 Nov 19
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -1737,4 +1737,23 @@ This can also be used in a "one-shot" manner: >
|
|||||||
let g:termdebug_config['evaluate_in_popup'] = v:false
|
let g:termdebug_config['evaluate_in_popup'] = v:false
|
||||||
endfunc
|
endfunc
|
||||||
<
|
<
|
||||||
|
|
||||||
|
Contributing ~
|
||||||
|
*termdebug_contributing*
|
||||||
|
Contributions for termdebug improvements are welcome.
|
||||||
|
However, it is fairly common that during the development process you need some
|
||||||
|
mechanisms like `echo` statements (or similar) to help you in your job.
|
||||||
|
For this reason, you can set: >
|
||||||
|
let g:termdebug_config['debug'] = true
|
||||||
|
<
|
||||||
|
This sets the `DEBUG` variable to `true` in the source code that you can use
|
||||||
|
within the source code. An example of its usage follows: >
|
||||||
|
if exists('g:termdebug_loaded')
|
||||||
|
if DEBUG
|
||||||
|
Echoerr('Termdebug already loaded.')
|
||||||
|
endif
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
<
|
||||||
|
|
||||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||||
|
@ -4,7 +4,7 @@ vim9script
|
|||||||
|
|
||||||
# Author: Bram Moolenaar
|
# Author: Bram Moolenaar
|
||||||
# Copyright: Vim license applies, see ":help license"
|
# Copyright: Vim license applies, see ":help license"
|
||||||
# Last Change: 2024 Jul 04
|
# Last Change: 2024 Nov 19
|
||||||
# Converted to Vim9: Ubaldo Tiberi <ubaldo.tiberi@gmail.com>
|
# Converted to Vim9: Ubaldo Tiberi <ubaldo.tiberi@gmail.com>
|
||||||
|
|
||||||
# WORK IN PROGRESS - The basics works stable, more to come
|
# WORK IN PROGRESS - The basics works stable, more to come
|
||||||
@ -38,6 +38,11 @@ vim9script
|
|||||||
# The communication with gdb uses GDB/MI. See:
|
# The communication with gdb uses GDB/MI. See:
|
||||||
# https://sourceware.org/gdb/current/onlinedocs/gdb/GDB_002fMI.html
|
# https://sourceware.org/gdb/current/onlinedocs/gdb/GDB_002fMI.html
|
||||||
|
|
||||||
|
var DEBUG = false
|
||||||
|
if exists('g:termdebug_config')
|
||||||
|
DEBUG = get(g:termdebug_config, 'debug', false)
|
||||||
|
endif
|
||||||
|
|
||||||
def Echoerr(msg: string)
|
def Echoerr(msg: string)
|
||||||
echohl ErrorMsg | echom $'[termdebug] {msg}' | echohl None
|
echohl ErrorMsg | echom $'[termdebug] {msg}' | echohl None
|
||||||
enddef
|
enddef
|
||||||
@ -49,7 +54,9 @@ enddef
|
|||||||
# Variables to keep their status among multiple instances of Termdebug
|
# Variables to keep their status among multiple instances of Termdebug
|
||||||
# Avoid to source the script twice.
|
# Avoid to source the script twice.
|
||||||
if exists('g:termdebug_loaded')
|
if exists('g:termdebug_loaded')
|
||||||
Echoerr('Termdebug already loaded.')
|
if DEBUG
|
||||||
|
Echoerr('Termdebug already loaded.')
|
||||||
|
endif
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
g:termdebug_loaded = true
|
g:termdebug_loaded = true
|
||||||
|
@ -57,6 +57,8 @@ endfunction
|
|||||||
|
|
||||||
packadd termdebug
|
packadd termdebug
|
||||||
|
|
||||||
|
" should be the first test to run, since it validates the window layout with
|
||||||
|
" win ids
|
||||||
func Test_termdebug_basic()
|
func Test_termdebug_basic()
|
||||||
let bin_name = 'XTD_basic'
|
let bin_name = 'XTD_basic'
|
||||||
let src_name = bin_name .. '.c'
|
let src_name = bin_name .. '.c'
|
||||||
@ -620,4 +622,22 @@ function Test_termdebug_config_types()
|
|||||||
unlet g:termdebug_config
|
unlet g:termdebug_config
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
function Test_termdebug_config_debug()
|
||||||
|
let s:error_message = '\[termdebug\] Termdebug already loaded'
|
||||||
|
|
||||||
|
" USER mode: No error message shall be displayed
|
||||||
|
packadd termdebug
|
||||||
|
call assert_true(execute('messages') !~ s:error_message)
|
||||||
|
|
||||||
|
" DEBUG mode: Error message shall now be displayed
|
||||||
|
let g:termdebug_config = {}
|
||||||
|
let g:termdebug_config['debug'] = 1
|
||||||
|
packadd termdebug
|
||||||
|
call assert_true(execute('messages') =~ s:error_message)
|
||||||
|
|
||||||
|
unlet g:termdebug_config
|
||||||
|
unlet g:termdebug_loaded
|
||||||
|
" Revert DEBUG mode, by reloading the plugin
|
||||||
|
source $VIMRUNTIME/pack/dist/opt/termdebug/plugin/termdebug.vim
|
||||||
|
endfunction
|
||||||
" vim: shiftwidth=2 sts=2 expandtab
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
@ -704,6 +704,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
878,
|
||||||
/**/
|
/**/
|
||||||
877,
|
877,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user