Mercurial > vim
view runtime/ftplugin/gprof.vim @ 17352:b2616a8be8a6 v8.1.1675
patch 8.1.1675: listener list not correctly updated on listener_remove()
commit https://github.com/vim/vim/commit/7b73f914c4fc5a3f7ad97b678cc8137f964e3d62
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jul 13 13:03:02 2019 +0200
patch 8.1.1675: listener list not correctly updated on listener_remove()
Problem: Listener list not correctly updated on listener_remove().
Solution: Only set "prev" when not removing a listener. Return one if the
listener was found and removed.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 13 Jul 2019 13:15:05 +0200 |
parents | a5352e73dc00 |
children | 9f41bfdbc6fc |
line wrap: on
line source
" Language: gprof " Maintainer: Dominique Pelle <dominique.pelle@gmail.com> " Last Change: 2013 Jun 09 " When cursor is on one line of the gprof call graph, " calling this function jumps to this function in the call graph. if exists("b:did_ftplugin") finish endif let b:did_ftplugin=1 fun! <SID>GprofJumpToFunctionIndex() let l:line = getline('.') if l:line =~ '[\d\+\]$' " We're in a line in the call graph. norm! $y% call search('^' . escape(@", '[]'), 'sw') norm! zz elseif l:line =~ '^\(\s\+[0-9\.]\+\)\{3}\s\+' " We're in line in the flat profile. norm! 55|eby$ call search('^\[\d\+\].*\d\s\+' . escape(@", '[]*.') . '\>', 'sW') norm! zz endif endfun " Pressing <C-]> on a line in the gprof flat profile or in " the call graph, jumps to the corresponding function inside " the flat profile. map <buffer> <silent> <C-]> :call <SID>GprofJumpToFunctionIndex()<CR> " vim:sw=2 fdm=indent