annotate runtime/indent/python.vim @ 33096:828bcb1a37e7 v9.0.1833

patch 9.0.1833: [security] runtime file fixes Commit: https://github.com/vim/vim/commit/816fbcc262687b81fc46f82f7bbeb1453addfe0c Author: Christian Brabandt <cb@256bit.org> Date: Thu Aug 31 23:52:30 2023 +0200 patch 9.0.1833: [security] runtime file fixes Problem: runtime files may execute code in current dir Solution: only execute, if not run from current directory The perl, zig and ruby filetype plugins and the zip and gzip autoload plugins may try to load malicious executable files from the current working directory. This is especially a problem on windows, where the current directory is implicitly in your $PATH and windows may even run a file with the extension `.bat` because of $PATHEXT. So make sure that we are not trying to execute a file from the current directory. If this would be the case, error out (for the zip and gzip) plugins or silently do not run those commands (for the ftplugins). This assumes, that only the current working directory is bad. For all other directories, it is assumed that those directories were intentionally set to the $PATH by the user. Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Fri, 01 Sep 2023 00:00:02 +0200
parents 4027cefc2aab
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 " Vim indent file
32770
4027cefc2aab Farewell to Bram and dedicate upcoming Vim 9.1 to him (#12749)
Christian Brabandt <cb@256bit.org>
parents: 29450
diff changeset
2 " Language: Python
4027cefc2aab Farewell to Bram and dedicate upcoming Vim 9.1 to him (#12749)
Christian Brabandt <cb@256bit.org>
parents: 29450
diff changeset
3 " Maintainer: The Vim Project <https://github.com/vim/vim>
4027cefc2aab Farewell to Bram and dedicate upcoming Vim 9.1 to him (#12749)
Christian Brabandt <cb@256bit.org>
parents: 29450
diff changeset
4 " Last Change: 2023 Aug 10
4027cefc2aab Farewell to Bram and dedicate upcoming Vim 9.1 to him (#12749)
Christian Brabandt <cb@256bit.org>
parents: 29450
diff changeset
5 " Former Maintainer: Bram Moolenaar <Bram@vim.org>
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6 " Original Author: David Bustos <bustos@caltech.edu>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8 " Only load this indent file when no other was loaded.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9 if exists("b:did_indent")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 finish
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12 let b:did_indent = 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14 " Some preliminary settings
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 setlocal nolisp " Make sure lisp indenting doesn't supersede us
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 setlocal autoindent " indentexpr isn't much help otherwise
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17
29450
67f31c24291b Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
18 setlocal indentexpr=python#GetIndent(v:lnum)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 setlocal indentkeys+=<:>,=elif,=except
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20
25880
9c221ad9634a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 24751
diff changeset
21 let b:undo_indent = "setl ai< inde< indk< lisp<"
9c221ad9634a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 24751
diff changeset
22
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23 " Only define the function once.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 if exists("*GetPythonIndent")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 finish
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27
29450
67f31c24291b Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
28 " Keep this for backward compatibility, new scripts should use
67f31c24291b Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
29 " python#GetIndent()
67f31c24291b Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
30 function GetPythonIndent(lnum)
67f31c24291b Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
31 return python#GetIndent(a:lnum)
20379
7f88f6a3ed4c Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 15932
diff changeset
32 endfunction
7f88f6a3ed4c Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 15932
diff changeset
33
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34 " vim:sw=2