In commit 03aea09148 we switched to properties for the mapped instance variables which meant they all got an underscore prefix and wasn’t seen from JavaScript.
This is work in progress, the reason why the situation arise has not yet been found and there are likely other ways in which the index can be wrong/stale (based on user reports like issue #998).
We now convert the output to a hex-dump incase it is not valid UTF-8. Ideally we would present the user with a dialog, but for now a hex-dump will do and prevents a potential crash.
This will apply to all items in the bundle so it’s questionable if it’s something we want to use, as it would not allow the user to run a “Help” command from the bundle without first setting up the requirements. OTOH setting requiredCommands for all but a few items in e.g. the Git bundle seems redundant — perhaps items should be able to eclipse keys from the bundle’s info.plist to effectively unset the requiredCommands for a select few items.
The variable provided was ignored meaning that it would only work correctly if the executable was found via PATH, and if it wasn’t found, the error message would display a bogus character as the variable that the user should set.
We also add a time suffix to the old version so that if we fail to remove it, the user will not get (another) error when retrying the update.
Presumably fixes#991.
Like with snippets, we no longer support executing a shebang-script given “inline” — though this was never a documented feature and I am not aware of anything having made use of it.
Since we now run the shell code directly (via ‘/bin/sh -c «command»’) we no longer source ‘TM_SUPPORT_PATH/lib/bash_init.sh’.
I don’t think any code embedded in snippets rely on things setup by this file, but if they do, I’d prefer we update the snippets to explicitly source the file.
The problem is that empty files on a FAT file system all have the same inode so TextMate would consider them to be links of each other and only show the last one opened.
Fixes#979.
Previously we ignored clicks and only selected matches when the selection was changed. This was done to prevent firing off two “select match” actions. We now ignore the “selection changed” notification if the current event is a mouse-up.
The intent of this class was to allow ad-hoc recursive/lazy walking of a directory structure and having links only visited once.
It was however only used once, and for that task, path::entries() is sufficient.
The reason for this is mainly that the path given to path_attributes() might be a virtual path, in which case using that to obtain settings can cause problems. For example if the (virtual) path is ‘/net/some/long/path’ (rmate) then we’ll hit that path locally, but stat’ing paths under /net can take seconds.
Also, the ‘scopeAttributes’ read from the user settings isn’t technically path attributes. Though the feature this allows is that we can scope the encrypt/decrypt export/import commands to ‘attr.enable-encryption’ and then put something like this in a project’s .tm_properties:
[ private/** ]
scopeAttributes = "attr.enable-encryption"
We now use CFNetworkCopyProxiesForURL() to get the list of potential proxies, hopefully this will perform the proper “proxy auto discovery” (issue #973) though we still need to handle PAC ourself.
Presently we only use the first proxy found, ideally we would try them all (but this will require some API changes).