annotate runtime/tutor/README.txt @ 34074:1629cc65d78d v9.1.0006

patch 9.1.0006: is*() and to*() function may be unsafe Commit: https://github.com/vim/vim/commit/184f71cc6868a240dc872ed2852542bbc1d43e28 Author: Keith Thompson <Keith.S.Thompson@gmail.com> Date: Thu Jan 4 21:19:04 2024 +0100 patch 9.1.0006: is*() and to*() function may be unsafe Problem: is*() and to*() function may be unsafe Solution: Add SAFE_* macros and start using those instead (Keith Thompson) Use SAFE_() macros for is*() and to*() functions The standard is*() and to*() functions declared in <ctype.h> have undefined behavior for negative arguments other than EOF. If plain char is signed, passing an unchecked value from argv for from user input to one of these functions has undefined behavior. Solution: Add SAFE_*() macros that cast the argument to unsigned char. Most implementations behave sanely for negative arguments, and most character values in practice are non-negative, but it's still best to avoid undefined behavior. The change from #13347 has been omitted, as this has already been separately fixed in commit ac709e2fc0db6d31abb7da96f743c40956b60c3a (v9.0.2054) fixes: #13332 closes: #13347 Signed-off-by: Keith Thompson <Keith.S.Thompson@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Thu, 04 Jan 2024 21:30:04 +0100
parents ca8e754bdd53
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1631
be3cb7232484 updated for version 7.2a
vimboss
parents: 1620
diff changeset
1 Tutor is a "hands on" tutorial for new users of the Vim editor.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2
1631
be3cb7232484 updated for version 7.2a
vimboss
parents: 1620
diff changeset
3 Most new users can get through it in less than one hour. The result
be3cb7232484 updated for version 7.2a
vimboss
parents: 1620
diff changeset
4 is that you can do a simple editing task using the Vim editor.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5
1631
be3cb7232484 updated for version 7.2a
vimboss
parents: 1620
diff changeset
6 Tutor is a file that contains the tutorial lessons. You can simply
be3cb7232484 updated for version 7.2a
vimboss
parents: 1620
diff changeset
7 execute "vim tutor" and then follow the instructions in the lessons.
be3cb7232484 updated for version 7.2a
vimboss
parents: 1620
diff changeset
8 The lessons tell you to modify the file, so DON'T DO THIS ON YOUR
be3cb7232484 updated for version 7.2a
vimboss
parents: 1620
diff changeset
9 ORIGINAL COPY.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10
1631
be3cb7232484 updated for version 7.2a
vimboss
parents: 1620
diff changeset
11 On Unix you can also use the "vimtutor" program. It will make a
be3cb7232484 updated for version 7.2a
vimboss
parents: 1620
diff changeset
12 scratch copy of the tutor first.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13
1631
be3cb7232484 updated for version 7.2a
vimboss
parents: 1620
diff changeset
14 I have considered adding more advanced lessons but have not found the
be3cb7232484 updated for version 7.2a
vimboss
parents: 1620
diff changeset
15 time. Please let me know how you like it and send any improvements you
be3cb7232484 updated for version 7.2a
vimboss
parents: 1620
diff changeset
16 make.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17
1631
be3cb7232484 updated for version 7.2a
vimboss
parents: 1620
diff changeset
18 Bob Ware, Colorado School of Mines, Golden, Co 80401, USA
be3cb7232484 updated for version 7.2a
vimboss
parents: 1620
diff changeset
19 (303) 273-3987
be3cb7232484 updated for version 7.2a
vimboss
parents: 1620
diff changeset
20 bware@mines.colorado.edu bware@slate.mines.colorado.edu bware@mines.bitnet
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21
14372
2a4a2dc35c55 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 1631
diff changeset
22
2a4a2dc35c55 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 1631
diff changeset
23 Translation
2a4a2dc35c55 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 1631
diff changeset
24 -----------
2a4a2dc35c55 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 1631
diff changeset
25
2a4a2dc35c55 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 1631
diff changeset
26 The tutor.xx and tutor.xx.utf-8 files are translated files (where xx is the
17433
ca8e754bdd53 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14372
diff changeset
27 language code). The encoding of tutor.xx might be latin1 or other traditional
14372
2a4a2dc35c55 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 1631
diff changeset
28 encoding. If you don't need a translation with such traditional encoding,
2a4a2dc35c55 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 1631
diff changeset
29 you just need to prepare the tutor.xx.utf-8 file.
2a4a2dc35c55 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 1631
diff changeset
30 If you need another encoding, you can also prepare a file named tutor.xx.enc
2a4a2dc35c55 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 1631
diff changeset
31 (replace enc with the actual encoding name). You might also need to adjust the
2a4a2dc35c55 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 1631
diff changeset
32 tutor.vim file.
2a4a2dc35c55 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 1631
diff changeset
33 The "make" command can be used for creating tutor.xx from tutor.xx.utf-8.
2a4a2dc35c55 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 1631
diff changeset
34 See the Makefile for detail. (For some languages, tutor.xx.utf-8 is created
2a4a2dc35c55 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 1631
diff changeset
35 from tutor.xx for historical reasons.)
2a4a2dc35c55 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 1631
diff changeset
36
2a4a2dc35c55 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 1631
diff changeset
37 [This file was modified for Vim by Bram Moolenaar et al.]