Mercurial > vim
view runtime/spell/cleanadd.vim @ 33160:4ecf54d709b3 v9.0.1862
patch 9.0.1862: Vim9 Garbage Collection issues
Commit: https://github.com/vim/vim/commit/e651e110c17656a263dd017b14c85b332163a58d
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Mon Sep 4 07:51:01 2023 +0200
patch 9.0.1862: Vim9 Garbage Collection issues
Problem: Vim9 Garbage Collection issues
Solution: Class members are garbage collected early leading to
use-after-free problems. Handle the garbage
collection of classes properly.
closes: #13019
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Mon, 04 Sep 2023 08:00:06 +0200 |
parents | b9740fb41986 |
children |
line wrap: on
line source
" Vim script to clean the ll.xxxxx.add files of commented out entries " Author: Antonio Colombo, Bram Moolenaar " Last Update: 2008 Jun 3 " Time in seconds after last time an ll.xxxxx.add file was updated " Default is one second. " If you invoke this script often set it to something bigger, e.g. 60 * 60 " (one hour) if !exists("g:spell_clean_limit") let g:spell_clean_limit = 1 endif " Loop over all the runtime/spell/*.add files. " Delete all comment lines, except the ones starting with ##. for s:fname in split(globpath(&rtp, "spell/*.add"), "\n") if filewritable(s:fname) && localtime() - getftime(s:fname) > g:spell_clean_limit if exists('*fnameescape') let s:f = fnameescape(s:fname) else let s:f = escape(s:fname, ' \|<') endif silent exe "tab split " . s:f echo "Processing" s:f silent! g/^#[^#]/d silent update close unlet s:f endif endfor unlet s:fname echo "Done"