Mercurial > vim
annotate vimtutor.bat @ 33764:f2445075dbeb v9.0.2103
patch 9.0.2103: recursive callback may cause issues on some archs
Commit: https://github.com/vim/vim/commit/2076463e383901cef44685aaf4b63e4306444f9e
Author: Christian Brabandt <cb@256bit.org>
Date: Sun Nov 12 16:59:29 2023 +0100
patch 9.0.2103: recursive callback may cause issues on some archs
Problem: recursive callback may cause issues on some archs
Solution: Decrease the limit drastically to 20
Recursive callback limit causes problems on some architectures
Since commit 47510f3d6598a1218958c03ed11337a43b73f48d we have a test
that causes a recursive popup callback function to be executed. However
it seems the current limit of 'maxfuncdepth' option value is still too
recursive for some 32bit architectures (e.g. 32bit ARM).
So instead of allowing a default limit of 100 (default value for
'maxfuncdepth'), let's reduce this limit to 20. I don't think there is a
use case where one would need such a high recursive callback limit and a
limit of 20 seems reasonable (although it is currently hard-coded).
closes: #13495
closes: #13502
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 12 Nov 2023 17:15:03 +0100 |
parents | 79aaaa134298 |
children |
rev | line source |
---|---|
7 | 1 :: Start Vim on a copy of the tutor file. |
2 @echo off | |
3 | |
4 :: Usage: vimtutor [-console] [xx] | |
5 :: | |
6 :: -console means gvim will not be used | |
7 :: xx is a language code like "es" or "nl". | |
8 :: When an xx argument is given, it tries loading that tutor. | |
9 :: When this fails or no xx argument was given, it tries using 'v:lang' | |
10 :: When that also fails, it uses the English version. | |
11 | |
12 :: Use Vim to copy the tutor, it knows the value of $VIMRUNTIME | |
19711
831a3f3be6f4
patch 8.2.0412: MS-Windows: cannot use vimtutor from the start menu
Bram Moolenaar <Bram@vim.org>
parents:
13113
diff
changeset
|
13 FOR %%d in (. %TMP% %TEMP%) DO ( |
25812
79aaaa134298
patch 8.2.3441: MS-Windows: vimtutor can't handle path with spaces
Bram Moolenaar <Bram@vim.org>
parents:
25700
diff
changeset
|
14 call :test_dir_writable "%~dpf0" %%d |
19711
831a3f3be6f4
patch 8.2.0412: MS-Windows: cannot use vimtutor from the start menu
Bram Moolenaar <Bram@vim.org>
parents:
13113
diff
changeset
|
15 IF NOT ERRORLEVEL 1 GOTO dir_ok |
831a3f3be6f4
patch 8.2.0412: MS-Windows: cannot use vimtutor from the start menu
Bram Moolenaar <Bram@vim.org>
parents:
13113
diff
changeset
|
16 ) |
831a3f3be6f4
patch 8.2.0412: MS-Windows: cannot use vimtutor from the start menu
Bram Moolenaar <Bram@vim.org>
parents:
13113
diff
changeset
|
17 |
831a3f3be6f4
patch 8.2.0412: MS-Windows: cannot use vimtutor from the start menu
Bram Moolenaar <Bram@vim.org>
parents:
13113
diff
changeset
|
18 echo No working directory is found |
831a3f3be6f4
patch 8.2.0412: MS-Windows: cannot use vimtutor from the start menu
Bram Moolenaar <Bram@vim.org>
parents:
13113
diff
changeset
|
19 GOTO end |
831a3f3be6f4
patch 8.2.0412: MS-Windows: cannot use vimtutor from the start menu
Bram Moolenaar <Bram@vim.org>
parents:
13113
diff
changeset
|
20 |
831a3f3be6f4
patch 8.2.0412: MS-Windows: cannot use vimtutor from the start menu
Bram Moolenaar <Bram@vim.org>
parents:
13113
diff
changeset
|
21 :test_dir_writable |
831a3f3be6f4
patch 8.2.0412: MS-Windows: cannot use vimtutor from the start menu
Bram Moolenaar <Bram@vim.org>
parents:
13113
diff
changeset
|
22 SET TUTORCOPY=%2\$tutor$ |
831a3f3be6f4
patch 8.2.0412: MS-Windows: cannot use vimtutor from the start menu
Bram Moolenaar <Bram@vim.org>
parents:
13113
diff
changeset
|
23 COPY %1 %TUTORCOPY% >nul 2>nul |
831a3f3be6f4
patch 8.2.0412: MS-Windows: cannot use vimtutor from the start menu
Bram Moolenaar <Bram@vim.org>
parents:
13113
diff
changeset
|
24 GOTO end |
831a3f3be6f4
patch 8.2.0412: MS-Windows: cannot use vimtutor from the start menu
Bram Moolenaar <Bram@vim.org>
parents:
13113
diff
changeset
|
25 |
831a3f3be6f4
patch 8.2.0412: MS-Windows: cannot use vimtutor from the start menu
Bram Moolenaar <Bram@vim.org>
parents:
13113
diff
changeset
|
26 :dir_ok |
7 | 27 |
28 SET xx=%1 | |
29 | |
30 IF NOT .%1==.-console GOTO use_gui | |
31 SHIFT | |
32 SET xx=%1 | |
33 GOTO use_vim | |
34 :use_gui | |
35 | |
36 :: Try making a copy of tutor with gvim. If gvim cannot be found, try using | |
37 :: vim instead. If vim cannot be found, alert user to check environment and | |
38 :: installation. | |
39 | |
40 :: The script tutor.vim tells Vim which file to copy. | |
19711
831a3f3be6f4
patch 8.2.0412: MS-Windows: cannot use vimtutor from the start menu
Bram Moolenaar <Bram@vim.org>
parents:
13113
diff
changeset
|
41 start "dummy" /b /w "%~dp0gvim.exe" -u NONE -c "so $VIMRUNTIME/tutor/tutor.vim" |
7 | 42 IF ERRORLEVEL 1 GOTO use_vim |
43 | |
44 :: Start gvim without any .vimrc, set 'nocompatible' | |
19711
831a3f3be6f4
patch 8.2.0412: MS-Windows: cannot use vimtutor from the start menu
Bram Moolenaar <Bram@vim.org>
parents:
13113
diff
changeset
|
45 start "dummy" /b /w "%~dp0gvim.exe" -u NONE -c "set nocp" %TUTORCOPY% |
7 | 46 |
47 GOTO end | |
48 | |
49 :use_vim | |
50 :: The script tutor.vim tells Vim which file to copy | |
12485
ab40ecb0fd73
patch 8.0.1122: vimtutor.bat doesn't work well with vim.bat
Christian Brabandt <cb@256bit.org>
parents:
7
diff
changeset
|
51 call vim -u NONE -c "so $VIMRUNTIME/tutor/tutor.vim" |
7 | 52 IF ERRORLEVEL 1 GOTO no_executable |
53 | |
54 :: Start vim without any .vimrc, set 'nocompatible' | |
12485
ab40ecb0fd73
patch 8.0.1122: vimtutor.bat doesn't work well with vim.bat
Christian Brabandt <cb@256bit.org>
parents:
7
diff
changeset
|
55 call vim -u NONE -c "set nocp" %TUTORCOPY% |
7 | 56 |
57 GOTO end | |
58 | |
59 :no_executable | |
60 ECHO. | |
61 ECHO. | |
62 ECHO No vim or gvim found in current directory or PATH. | |
63 ECHO Check your installation or re-run install.exe | |
64 | |
65 :end | |
66 :: remove the copy of the tutor | |
67 IF EXIST %TUTORCOPY% DEL %TUTORCOPY% | |
68 SET xx= |