endif
" Display a warning when editing a file which contains "do not edit" (ignoring
-" the case, \c), for example template files which were preprocessed or
-" auto-generated files. Especially useful when the header is not displayed on
-" the first screen, e.g. when the old position is restored. Not for vimrc
-" though.
+" the case) in the first lines of the file, for example template files which
+" were preprocessed or auto-generated files. Especially useful when the header
+" is not displayed on the first screen, e.g. when the old position is
+" restored.
function! s:SearchForDoNotEditHeader()
- if search('\cdo not edit', 'n') == 0
- \ || expand('<afile>:t') =~# '^.\?vimrc$'
+ " Only search the first 20 lines to prevent false positives, e.g.
+ " in scripts which write files containing this warning and ignore
+ " the case (\c). (Can't use search()'s {stopline} as we might not
+ " start searching from the top.)
+ let l:match = search('\cdo not edit', 'n')
+ if l:match == 0 || l:match > 20
return
endif