Skip to content

Commit fd785db

Browse files
committed
Merge branch 'develop' into feature/1-project-context
# Conflicts: # SubEthaEdit-Mac/Source/PlainTextDocument.h # SubEthaEdit-Mac/Source/PlainTextDocument.m # SubEthaEdit-Mac/Source/PlainTextWindowController.m
2 parents 2e2a23b + 4873eb8 commit fd785db

68 files changed

Lines changed: 2885 additions & 1105 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,8 @@ xcuserdata
117117
project.xcworkspace
118118
*.xccheckout
119119

120+
xcdebugger/
121+
120122
####
121123
# Xcode 4 - Deprecated classes
122124
#

BuildConfig/TCMReleaseInfo.xcconfig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ TCM_APP_IDENTIFER_SUFFIX =
1414
TCM_APP_STYLE = FULL
1515

1616
TCM_APP_BETA_EXPIRE_DATE = "2018-12-01 00:00:00 +0100"
17-
TCM_APP_VERSION = 5.1a
17+
TCM_APP_VERSION = 5.1.2a
1818

1919
// remove app version suffix for release versions
2020
TCM_APP_VERSION_SUFFIX =
2121

2222
TCM_APP_GET_INFO = ${SEE_APP_PRODUCT_NAME} ${TCM_APP_VERSION}, ${TCM_APP_COPYRIGHT}
2323

24-
TCM_CLT_VERSION = 2.1.3
24+
TCM_CLT_VERSION = 2.1.4
2525
TCM_CLT_GET_INFO = see ${TCM_CLT_VERSION}, ${TCM_APP_COPYRIGHT}

ChangeLog.md

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,40 @@
1-
### [Unreleased] SubEthaEdit 5.1
1+
### [unreleased] SubEthaEdit 5.1.2
2+
3+
#### Features:
4+
#### Bug fixes and maintenance:
5+
#### Improved modes:
6+
7+
### SubEthaEdit 5.1.1
8+
9+
#### Bug fixes and maintenance:
10+
* Fixed an issue where default Avatars on macOS 10.15 looked bad in dark appearance
11+
* Fixed top status bar text readability on live light/dark appearance change
12+
* Fixed an issue where invitation windows needed to be dismissed twice to deny the invitation
13+
* Updated the certificate for the `see` tool installer (AppStore version only)
14+
* Fixed a rare crasher in TCMPortMapper
15+
16+
#### Improved modes:
17+
* bash - improved indenting, handling of escaped strings and variables
18+
19+
### SubEthaEdit 5.1
220

321
#### Features:
422
* Switched to native macOS window tabs, removed PSMTabBarControl
5-
* Improved Regular Expression features and speed. See Help > Regular Expressions for updated documentation
23+
* Improved Regular Expression features and speed. See Help > Regular Expressions for updated documentation and additional capabilities
24+
* Improved security dialogs and `see` command line tool for future releases of macOS
25+
* `see` command line tool now follows symlinks
626

727
#### Bug fixes and maintenance:
8-
* Fixed dark appearance of encoding panel and encoding conflict resolution dialog
928
* Updated underlying RegEX Library (origuruma-mod) to onigmo 6.2
1029
* Updated OgreKit to 3.0.2
1130
* Fixed cascading of new windows to be of proper height and location
1231
* Fixed top status bar to use fixed width at start for less jitter
1332
* Blur behind bars now properly created using NSVisualEffectView
33+
* Improved performance in general and for big font choices especially
34+
* Upped minimum deployment version to macOS High Sierra and cleaned out dead code
35+
* Moved all code to ARC (Automatic Reference Counting)
36+
* Fixed dark appearance of encoding panel and encoding conflict resolution dialog
37+
* Fixed remaining false colored dialogs and windows for dark mode
1438

1539
#### Improved modes:
1640
* Markdown – improved syntax highlighting of code blocks
Lines changed: 268 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,268 @@
1+
# tests for miscellaneous builtins not tested elsewhere
2+
set +p
3+
set +o posix
4+
5+
ulimit -c 0 2>/dev/null
6+
7+
# check that break breaks loops
8+
for i in a b c; do echo $i; break; echo bad-$i; done
9+
echo end-1
10+
for i in a b c; do echo $i; break 1; echo bad-$i; done
11+
echo end-2
12+
for i in a b c; do
13+
for j in x y z; do
14+
echo $i:$j
15+
break
16+
echo bad-$i
17+
done
18+
echo end-$i
19+
done
20+
echo end-3
21+
22+
# check that break breaks nested loops
23+
for i in a b c; do
24+
for j in x y z; do
25+
echo $i:$j
26+
break 2
27+
echo bad-$i
28+
done
29+
echo end-$i
30+
done
31+
echo end
32+
33+
# check that continue continues loops
34+
for i in a b c; do echo $i; continue; echo bad-$i ; done
35+
echo end-1
36+
for i in a b c; do echo $i; continue 1; echo bad-$i; done
37+
echo end-2
38+
for i in a b c; do
39+
for j in x y z; do
40+
echo $i:$j
41+
continue
42+
echo bad-$i-$j
43+
done
44+
echo end-$i
45+
done
46+
echo end-3
47+
48+
# check that continue breaks out of nested loops
49+
for i in a b c; do
50+
for j in x y z; do
51+
echo $i:$j
52+
continue 2
53+
echo bad-$i-$j
54+
done
55+
echo end-$i
56+
done
57+
echo end
58+
59+
# check that `eval' re-evaluates arguments, but `builtin' and `command' do not
60+
AVAR='$BVAR'
61+
BVAR=foo
62+
63+
echo $AVAR
64+
builtin echo $AVAR
65+
command echo $AVAR
66+
eval echo \$AVAR
67+
eval echo $AVAR
68+
69+
# test out eval with a temp environment
70+
AVAR=bar eval echo \$AVAR
71+
BVAR=xxx eval echo $AVAR
72+
73+
unset -v AVAR BVAR
74+
75+
# test umask
76+
mask=$(umask)
77+
umask 022
78+
umask
79+
umask -S
80+
umask -S u=rwx,g=rwx,o=rx >/dev/null # 002
81+
umask
82+
umask -S
83+
umask -p
84+
umask -p -S
85+
umask 0
86+
umask -S
87+
umask ${mask} # restore original mask
88+
89+
# builtin/command without arguments should do nothing. maybe someday they will
90+
builtin
91+
command
92+
93+
# test enable
94+
enable -ps
95+
96+
enable -aps ; enable -nps
97+
98+
enable -n test
99+
case "$(type -t test)" in
100+
builtin) echo oops -- enable -n test failed ;;
101+
*) echo enable -n test worked ;;
102+
esac
103+
104+
enable test
105+
case "$(type -t test)" in
106+
builtin) echo enable test worked ;;
107+
*) echo oops -- enable test failed ;;
108+
esac
109+
110+
# test options to exec
111+
(exec -a specialname ${THIS_SH} -c 'echo $0' )
112+
(exec -l -a specialname ${THIS_SH} -c 'echo $0' )
113+
# test `clean' environment. if /bin/sh is bash, and the script version of
114+
# printenv is run, there will be variables in the environment that bash
115+
# sets on startup. Also test code that prefixes argv[0] with a dash.
116+
(export FOO=BAR ; exec -c -l printenv ) | grep FOO
117+
(FOO=BAR exec -c printenv ) | grep FOO
118+
119+
(export FOO=BAR ; exec printenv ) | grep FOO
120+
(FOO=BAR exec printenv ) | grep FOO
121+
122+
# ok, forget everything about hashed commands
123+
hash -r
124+
hash
125+
126+
# this had better succeed, since command -p guarantees we will find the
127+
# standard utilties
128+
command -p hash rm
129+
130+
# check out source/.
131+
132+
# sourcing a zero-length-file had better not be an error
133+
rm -f /tmp/zero-length-file
134+
cp /dev/null /tmp/zero-length-file
135+
. /tmp/zero-length-file
136+
echo $?
137+
rm /tmp/zero-length-file
138+
139+
AVAR=AVAR
140+
141+
. ./source1.sub
142+
AVAR=foo . ./source1.sub
143+
144+
. ./source2.sub
145+
echo $?
146+
147+
set -- a b c
148+
. ./source3.sub
149+
150+
# make sure source with arguments does not change the shell's positional
151+
# parameters, but that the sourced file sees the arguments as its
152+
# positional parameters
153+
echo "$@"
154+
. ./source3.sub x y z
155+
echo "$@"
156+
157+
# but if the sourced script sets the positional parameters explicitly, they
158+
# should be reflected in the calling shell's positional parameters. this
159+
# also tests one of the shopt options that controls source using $PATH to
160+
# find the script
161+
echo "$@"
162+
shopt -u sourcepath
163+
. source4.sub
164+
echo "$@"
165+
166+
# this is complicated when the sourced scripts gets its own positional
167+
# parameters from arguments to `.'
168+
set -- a b c
169+
echo "$@"
170+
. source4.sub x y z
171+
echo "$@"
172+
173+
# test out cd and $CDPATH
174+
${THIS_SH} ./builtins1.sub
175+
176+
# test behavior of `.' when given a non-existant file argument
177+
${THIS_SH} ./source5.sub
178+
179+
# test bugs in sourcing non-regular files, fixed post-bash-3.2
180+
${THIS_SH} ./source6.sub
181+
182+
# test bugs with source called from multiline aliases and other contexts
183+
${THIS_SH} ./source7.sub
184+
185+
# in posix mode, assignment statements preceding special builtins are
186+
# reflected in the shell environment. `.' and `eval' need special-case
187+
# code.
188+
set -o posix
189+
echo $AVAR
190+
AVAR=foo . ./source1.sub
191+
echo $AVAR
192+
193+
AVAR=AVAR
194+
echo $AVAR
195+
AVAR=foo eval echo \$AVAR
196+
echo $AVAR
197+
198+
AVAR=AVAR
199+
echo $AVAR
200+
AVAR=foo :
201+
echo $AVAR
202+
set +o posix
203+
204+
# but assignment statements preceding `export' are always reflected in
205+
# the environment
206+
foo="" export foo
207+
declare -p foo
208+
unset foo
209+
210+
# assignment statements preceding `declare' should be displayed correctly,
211+
# but not persist after the command
212+
FOO='$$' declare -p FOO
213+
declare -p FOO
214+
unset FOO
215+
216+
# except for `declare -x', which should be equivalent to `export'
217+
FOO='$$' declare -x FOO
218+
declare -p FOO
219+
unset FOO
220+
221+
# test out kill -l. bash versions prior to 2.01 did `kill -l num' wrong
222+
sigone=$(kill -l | sed -n 's:^ 1) *\([^ ]*\)[ ].*$:\1:p')
223+
224+
case "$(kill -l 1)" in
225+
${sigone/SIG/}) echo ok;;
226+
*) echo oops -- kill -l failure;;
227+
esac
228+
229+
# kill -l and trap -l should display exactly the same output
230+
sigonea=$(trap -l | sed -n 's:^ 1) *\([^ ]*\)[ ].*$:\1:p')
231+
232+
if [ "$sigone" != "$sigonea" ]; then
233+
echo oops -- kill -l and trap -l differ
234+
fi
235+
236+
# POSIX.2 says that exit statuses > 128 are mapped to signal names by
237+
# subtracting 128 so you can find out what signal killed a process
238+
case "$(kill -l $(( 128 + 1)) )" in
239+
${sigone/SIG/}) echo ok;;
240+
*) echo oops -- kill -l 129 failure;;
241+
esac
242+
243+
# out-of-range signal numbers should report the argument in the error
244+
# message, not 128 less than the argument
245+
kill -l 4096
246+
247+
# kill -l NAME should return the signal number
248+
kill -l ${sigone/SIG/}
249+
250+
# test behavior of shopt xpg_echo
251+
${THIS_SH} ./builtins2.sub
252+
253+
# test behavior of declare -g
254+
${THIS_SH} ./builtins3.sub
255+
256+
# test behavior of using declare to create variables without assigning values
257+
${THIS_SH} ./builtins4.sub
258+
259+
# test behavior of set and unset array variables
260+
${THIS_SH} ./builtins5.sub
261+
262+
# test behavior of unset builtin with -f and -v options
263+
${THIS_SH} ./builtins6.sub
264+
265+
# this must be last -- it is a fatal error
266+
exit status
267+
268+
echo after bad exit
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
#!/bin/sh
2+
3+
if [ "a" != "b" ]; then
4+
foo
5+
echo "true"
6+
else
7+
echo "false"
8+
fi
9+
10+
if [ "a" != "b" ]; then
11+
echo "true"
12+
if [ "a" != "b" ]; then
13+
foo
14+
echo "true"
15+
else
16+
echo "false"
17+
fi
18+
elif [ "1" -ge "2" ]
19+
echo "false"
20+
elif [ "1" -ge "2" ]
21+
echo "false"
22+
else
23+
echo "mist"
24+
fi
25+
26+
27+
"let me test this"
28+
29+
`this` still work\`s
30+
31+
echo "The # here does not begin a comment."
32+
echo 'The # here does not begin a comment.'
33+
echo The \# here does not begin a comment.
34+
echo The # here begins a comment.
35+
36+
echo ${PATH#*:} # Parameter substitution, not a comment.
37+
echo $(( 2#101011 )) # Base conversion, not a comment.
38+
39+
40+
cd 265_Videos
41+
for f in ../*.mov; do o=${f##*/}; ffmpeg -i $f -c:v libx265 -crf 25 -tag:v hvc1 ${o%.*}.h265.mp4; done
42+

0 commit comments

Comments
 (0)