feat(mac): open more functions
feat(mac): open DoConvert-InitializeUCHR
feat(mac): open write_US_ToVector
feat(mac): (temporarily) add mac_ to function names to be able to distinguish between linux-functions and mac functions if needed
feat(mac): finished mac_createOneVectorFromBothKeyboards()
feat(mac): started DoConvert
feat(mac): mcompile tidy up
feat(mac): include km_types and u16
feat(mac): include filesystem and some kmx
feat(mac): include old functions in keymap
feat(mac): include kmx_file, mc_kmxfile
feat(mac): include deadkey, filesystem, km_types, import_rules,mc_kmxfile
feat(mac): include functions in mcompile.cpp/h
feat(mac): #includes out to be used
Fixes#7632.
If Caps Lock was on, rules that did not specify Caps Lock state were
not matched, for example:
```
+ [K_SLASH] > 'foo'
```
The truth table for matches is:
Event | Rule | Result
---------|-------------|-----------
NCAPS | 0 | match
NCAPS | CAPS | no match
NCAPS | NCAPS | match
CAPS | 0 | match
CAPS | CAPS | match
CAPS | NCAPS | no match
(Internally, Keyman for Mac currently maps 0 to NCAPS on the event for
simplicity.)
The fix is to ignore the Event Caps Lock state if the rule specifies
neither `CAPS` nor `NCAPS`. If the rule specifies either of these
state masks, then the Caps component of the state mask must match.
Fixes#7227.
We want to use keyman.com for now even for alpha builds, as
keyman-staging.com is going to be used for transition to Docker-based
hosting, and it will be problematic to try and share that process with
alpha builds.
shellHelperFunctions.sh currently needs build-utils.sh sourced first in
order to parse. As we are planning to merge these two scripts, I am okay
with this for now. But we need to make sure that prerequisite is met for
now.
I ran the following command to find scripts that referenced
shellHelperFunctions.sh but not build-utils.sh:
grep -L build-utils.sh $(grep -lR shellHelperFunctions --include='*.sh' .)
The following files were found:
./mac/bashHelperFunctions.sh
./mac/setup/build.sh
./resources/build/history/history-utils.sh
* bashHelperFunctions.sh has only a comment reference, so it's okay.
* mac/setup/build.sh I have reworked to include build-utils.sh.
* history-utils.sh is used only by ios/tools/prepRelease.sh, and that
script already includes build-utils.sh.
Fixes up scripts (except under /linux) to use `#!/usr/bin/env bash`
instead of `#!/bin/bash` or `#!/bin/sh` so that we don't end up with
the ancient version of bash supplied with macOS.
This became urgent with this PR, because of bash-4.xisms in
build-utils.sh, for example on line 572:
```
if [[ -v _builder_params[$e] ]]; then
```
Adds run-xcodebuild function to wrap xcodebuild calls to keep logging
and error handling consistent. Currently used only by the iOS build; the
macOS build has a corresponding execBuildCommand function which does
pretty much the same thing (changing that would belong in a separate PR
I think and low priority.)