Previously acknowledged words that are now absent
bc ci classpath clj cx debounce dequantize df dh eb eol ericsson erl fd fh fsx gb gh gitattributes gx gy gz hxx ip jfif jq Jv kp libz lz mjpeg Mozilla's mx Mz nc px py qa rb resx ri rw ry scss sql sx sy SZ td tt uk unzigzagged upsampler vn vx vy Wx xf xn xp xproj xy ycbcr zd zr zu Some files were were automatically ignored
These sample patterns would exclude them:
```
^\.gitattributes$
^\.idea/\.name$
^\.idea/dictionaries/lilith\.xml$
^\.idea/dictionaries/n\.xml$
^c_components/\.idea/imageflow_c\.iml$
^c_components/src/lib\.rs$
^ci/cloud/mods/download_imageflow\.sh$
^ci/packaging_extras/requirements/ubuntu_16_04-x86_64\.txt$
^ci/packaging_extras/requirements/ubuntu_18_04-x86_64\.txt$
^docs/src/imageflow_server\.md$
^docs/src/imageflow_tool\.md$
```
You should consider excluding directory paths (e.g. `(?:^|/)vendor/`), filenames (e.g. `(?:^|/)yarn\.lock$`), or file extensions (e.g. `\.gz$`)
You should consider adding them to:
```
.github/actions/spell-check/excludes.txt
```
File matching is via Perl regular expressions.
To check these files, more of their words need to be in the dictionary than not. You can use `patterns.txt` to exclude portions, add items to the dictionary (e.g. by adding them to `allow.txt`), or fix typos.
To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words),
run the following commands
... in a clone of the [git@github.com:skunkwerks/imageflow.git](https://github.com/skunkwerks/imageflow.git) repository
on the `feature/add-freebsd` branch:
```
update_files() {
perl -e '
my @expect_files=qw('".github/actions/spell-check/expect/expect.txt"');
@ARGV=@expect_files;
my @stale=qw('"$patch_remove"');
my $re=join "|", @stale;
my $suffix=".".time();
my $previous="";
sub maybe_unlink { unlink($_[0]) if $_[0]; }
while (<>) {
if ($ARGV ne $old_argv) { maybe_unlink($previous); $previous="$ARGV$suffix"; rename($ARGV, $previous); open(ARGV_OUT, ">$ARGV"); select(ARGV_OUT); $old_argv = $ARGV; }
next if /^(?:$re)(?:(?:\r|\n)*$| .*)/; print;
}; maybe_unlink($previous);'
perl -e '
my $new_expect_file=".github/actions/spell-check/expect/715ee58d76315acd2fefb18a4558fe77109c0ee7.txt";
use File::Path qw(make_path);
use File::Basename qw(dirname);
make_path (dirname($new_expect_file));
open FILE, q{<}, $new_expect_file; chomp(my @words = ); close FILE;
my @add=qw('"$patch_add"');
my %items; @items{@words} = @words x (1); @items{@add} = @add x (1);
@words = sort {lc($a)."-".$a cmp lc($b)."-".$b} keys %items;
open FILE, q{>}, $new_expect_file; for my $word (@words) { print FILE "$word\n" if $word =~ /\w/; };
close FILE;
system("git", "add", $new_expect_file);
'
(cat '.github/actions/spell-check/excludes.txt' - < '.github/actions/spell-check/excludes.txt.temp' &&
mv '.github/actions/spell-check/excludes.txt.temp' '.github/actions/spell-check/excludes.txt'
}
comment_json=$(mktemp)
curl -L -s -S \
--header "Content-Type: application/json" \
"https://api.github.com/repos/imazen/imageflow/issues/comments/887455444" > "$comment_json"
comment_body=$(mktemp)
jq -r .body < "$comment_json" > $comment_body
rm $comment_json
patch_remove=$(perl -ne 'next unless s{^(.*)$}{$1}; print' < "$comment_body")
patch_add=$(perl -e '$/=undef;
$_=<>;
s{.*}{}s;
s{^#.*}{};
s{\n##.*}{};
s{(?:^|\n)\s*\*}{}g;
s{\s+}{ }g;
print' < "$comment_body")
should_exclude_patterns=$(perl -e '$/=undef;
$_=<>;
exit unless s{(?:You should consider excluding directory paths|You should consider adding them to).*}{}s;
s{.*These sample patterns would exclude them:}{}s;
s{.*\`\`\`([^`]*)\`\`\`.*}{$1}m;
print' < "$comment_body" | grep . || true)
update_files
rm $comment_body
git add -u
```
Previously acknowledged words that are now absent
bc ci classpath clj cx debounce dequantize df dh eb eol ericsson erl fd fh fsx gb gh gitattributes gx gy gz hxx ip jfif jq Jv kp libz lz mjpeg Mozilla's mx Mz nc px py qa rb resx ri rw ry scss sql sx sy SZ td tt uk unzigzagged upsampler vn vx vy Wx xf xn xp xproj xy ycbcr zd zr zu Some files were were automatically ignored
These sample patterns would exclude them:
```
^\.gitattributes$
^\.idea/\.name$
^\.idea/dictionaries/lilith\.xml$
^\.idea/dictionaries/n\.xml$
^c_components/\.idea/imageflow_c\.iml$
^c_components/src/lib\.rs$
^ci/cloud/mods/download_imageflow\.sh$
^ci/packaging_extras/requirements/ubuntu_16_04-x86_64\.txt$
^ci/packaging_extras/requirements/ubuntu_18_04-x86_64\.txt$
^docs/src/imageflow_server\.md$
^docs/src/imageflow_tool\.md$
```
You should consider excluding directory paths (e.g. `(?:^|/)vendor/`), filenames (e.g. `(?:^|/)yarn\.lock$`), or file extensions (e.g. `\.gz$`)
You should consider adding them to:
```
.github/actions/spell-check/excludes.txt
```
File matching is via Perl regular expressions.
To check these files, more of their words need to be in the dictionary than not. You can use `patterns.txt` to exclude portions, add items to the dictionary (e.g. by adding them to `allow.txt`), or fix typos.
To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words),
run the following commands
... in a clone of the [git@github.com:skunkwerks/imageflow.git](https://github.com/skunkwerks/imageflow.git) repository
on the `feature/add-freebsd` branch:
```
update_files() {
perl -e '
my @expect_files=qw('".github/actions/spell-check/expect/expect.txt"');
@ARGV=@expect_files;
my @stale=qw('"$patch_remove"');
my $re=join "|", @stale;
my $suffix=".".time();
my $previous="";
sub maybe_unlink { unlink($_[0]) if $_[0]; }
while (<>) {
if ($ARGV ne $old_argv) { maybe_unlink($previous); $previous="$ARGV$suffix"; rename($ARGV, $previous); open(ARGV_OUT, ">$ARGV"); select(ARGV_OUT); $old_argv = $ARGV; }
next if /^(?:$re)(?:(?:\r|\n)*$| .*)/; print;
}; maybe_unlink($previous);'
perl -e '
my $new_expect_file=".github/actions/spell-check/expect/715ee58d76315acd2fefb18a4558fe77109c0ee7.txt";
use File::Path qw(make_path);
use File::Basename qw(dirname);
make_path (dirname($new_expect_file));
open FILE, q{<}, $new_expect_file; chomp(my @words = ); close FILE;
my @add=qw('"$patch_add"');
my %items; @items{@words} = @words x (1); @items{@add} = @add x (1);
@words = sort {lc($a)."-".$a cmp lc($b)."-".$b} keys %items;
open FILE, q{>}, $new_expect_file; for my $word (@words) { print FILE "$word\n" if $word =~ /\w/; };
close FILE;
system("git", "add", $new_expect_file);
'
(cat '.github/actions/spell-check/excludes.txt' - < '.github/actions/spell-check/excludes.txt.temp' &&
mv '.github/actions/spell-check/excludes.txt.temp' '.github/actions/spell-check/excludes.txt'
}
comment_json=$(mktemp)
curl -L -s -S \
--header "Content-Type: application/json" \
"https://api.github.com/repos/imazen/imageflow/issues/comments/887468514" > "$comment_json"
comment_body=$(mktemp)
jq -r .body < "$comment_json" > $comment_body
rm $comment_json
patch_remove=$(perl -ne 'next unless s{^(.*)$}{$1}; print' < "$comment_body")
patch_add=$(perl -e '$/=undef;
$_=<>;
s{.*}{}s;
s{^#.*}{};
s{\n##.*}{};
s{(?:^|\n)\s*\*}{}g;
s{\s+}{ }g;
print' < "$comment_body")
should_exclude_patterns=$(perl -e '$/=undef;
$_=<>;
exit unless s{(?:You should consider excluding directory paths|You should consider adding them to).*}{}s;
s{.*These sample patterns would exclude them:}{}s;
s{.*\`\`\`([^`]*)\`\`\`.*}{$1}m;
print' < "$comment_body" | grep . || true)
update_files
rm $comment_body
git add -u
```
alloc(3) is part of libc on FreeBSD https://man.freebsd.org/alloca
FWIW it's also part of libc on https://man.openbsd.org/alloca & https://man.netbsd.org/alloca.3 perhaps we can include all of those here too?