annotate runtime/ftplugin/cfg.vim @ 33090:461541d860ac v9.0.1830

patch 9.0.1830: Vim9: crash when accessing a null object Commit: https://github.com/vim/vim/commit/d7085a06358c22250a27186bb7d52112ed4addd1 Author: Gianmaria Bajo <mg1979.git@gmail.com> Date: Thu Aug 31 18:15:26 2023 +0200 patch 9.0.1830: Vim9: crash when accessing a null object Problem: Vim9: crash when accessing a null object Solution: Check accessing a NULL object in def function An object is NULL when the variable is declared, but the constructor isn't called. Accessing/setting a member on the object crashed Vim. Note: this happens inside def functions, at script level things work differently. Accessing a NULL object member results in E1360 (correctly), while setting a value on it results in E1012 (type mismatch) so there's still something to fix. closes: #12973 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Gianmaria Bajo <mg1979.git@gmail.com>
author Christian Brabandt <cb@256bit.org>
date Thu, 31 Aug 2023 18:30:03 +0200
parents 97b40b4c6911
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15281
97b40b4c6911 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1 " Vim filetype plugin file
97b40b4c6911 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
2 " Language: Configuration File
97b40b4c6911 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
3 " Maintainer: Christian Brabandt <cb@256bit.org>
97b40b4c6911 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
4 " Latest Revision: 2018-12-24
97b40b4c6911 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
5
97b40b4c6911 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
6 if exists("b:did_ftplugin")
97b40b4c6911 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
7 finish
97b40b4c6911 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
8 endif
97b40b4c6911 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
9 let b:did_ftplugin = 1
97b40b4c6911 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
10
97b40b4c6911 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
11 let s:cpo_save = &cpo
97b40b4c6911 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
12 set cpo&vim
97b40b4c6911 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
13
97b40b4c6911 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
14 let b:undo_ftplugin = "setl cms< fo<"
97b40b4c6911 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
15
97b40b4c6911 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
16 setlocal commentstring=#\ %s formatoptions-=t formatoptions+=croql
97b40b4c6911 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
17
97b40b4c6911 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
18 let &cpo = s:cpo_save
97b40b4c6911 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
19 unlet s:cpo_save