Mercurial > vim
view runtime/ftplugin/framescript.vim @ 27221:165a799b4129 v8.2.4139
patch 8.2.4139: using freed memory in expression abbreviation
Commit: https://github.com/vim/vim/commit/94075b2b0e8e3b75334799d2c082497fbf85ffa1
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Jan 18 20:30:39 2022 +0000
patch 8.2.4139: using freed memory in expression abbreviation
Problem: Using freed memory if an expression abbreviation deletes the
abbreviation.
Solution: Do not access the pointer after evaluating the expression.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 18 Jan 2022 21:45:02 +0100 |
parents | 34b4eb3a8458 |
children |
line wrap: on
line source
" Vim ftplugin file " Language: FrameScript " Previous Maintainer: Nikolai Weibull <now@bitwi.se> " Latest Revision: 2008-07-19 if exists("b:did_ftplugin") finish endif let b:did_ftplugin = 1 let s:cpo_save = &cpo set cpo&vim let b:undo_ftplugin = "setl com< cms< fo< inc< | unlet! b:matchwords" setlocal comments=s1:/*,mb:*,ex:*/,:// commentstring=/*\ %s\ */ setlocal formatoptions-=t formatoptions+=croql setlocal include=^\\s*<#Include if exists("loaded_matchit") let s:not_end = '\c\%(\<End\)\@<!' let b:match_words = \ s:not_end . '\<If\>:\c\<ElseIf\>:\c\<Else\>:\c\<EndIf\>,' . \ s:not_end . '\<Loop\>:\c\<EndLoop\>' . \ s:not_end . '\<Sub\>:\c\<EndSub\>' unlet s:not_end endif let &cpo = s:cpo_save unlet s:cpo_save