Skip to content

E121: Undefined variable: b:currentDiff when switching from a diff to next one. #40

@niva-xx

Description

@niva-xx

Hi,

Using Vim DirDiff plugin, I have made this vim9 func to set layout (and go to next diff) when entering &ft dirdiff buffer

def g:ManageDirDiff()

  if ( &ft == 'dirdiff' )

  	echomsg 'Manage dirdiff'

	if &columns < 200
	  set columns=999 
	  set lines=999
	endif

	resize 4
	windo if &diff | setl nofoldenable | endif

    exec ':1,2 windo vertical resize ' .. (&columns / 2)
    exec ':1,2 windo setl nofoldenable'
    exec ':1,2 windo norm ]c'

  endif
enddef

When I call this def function from mapping it is ok.
When I automate it with this autocmd it disturb dirdiff plugin b:currentDiff variable to be set.

if has("autocmd")

  augroup VimReload
	autocmd!
	autocmd BufEnter      *.tmp     call g:ManageDirDiff() 
  augroup END

endif

This cause this error message

Manage dirdiff
Error detected while processing function 77_DirDiff[117]..77_DirDiffNext[10]..77_DirDiffOpen:
line 96:
E121: Undefined variable: b:currentDiff

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions