Commit Graph

80 Commits

Author SHA1 Message Date
Allan Odgaard
0bc9380b1b Checkin release notes 2012-08-13 23:34:32 +02:00
Allan Odgaard
718ea40002 Use path::is_absolute instead of own logic 2012-08-13 22:54:09 +02:00
Allan Odgaard
4259a8f884 Add path::is_absolute.
This is actually not entirely trivial since we can have a path that starts with a slash but includes more ‘..’ components than there are actual directories in the path.
2012-08-13 22:53:16 +02:00
Allan Odgaard
b85aafb9a9 Crash when searching a bogus path
If we set projectDirectory to a non-path (e.g. ‘dummy’) then that value makes it into the default folder to search (on ⇧⌘F). Since we want folder specific settings for the path we are about to search (include/exclude patterns) then we would ask for settings for a non-path, which the settings framework couldn’t handle (it kept asking for the parent of this non-path expecting to eventually get to either the user’s home folder or the root of the disk, but instead it would loop infinitely).

This fixes issue #19.
2012-08-13 22:22:02 +02:00
Allan Odgaard
3f00d23de7 Consecutive deletes extend the yank clipboard
This turned out to be a little more involved due to how we need to make a distinction between a forward delete (prepend) and backward delete (append).

Implements issue #118.
2012-08-13 21:30:57 +02:00
Allan Odgaard
4594b08c46 Improve variable names 2012-08-13 21:27:03 +02:00
Allan Odgaard
236c608e86 Revert "Accept HTTP/1.1 response in network tests"
Since we bypass the system’s proxy for localhost, no-one should modify our test server’s response.

This reverts commit c98bc92b5d.
2012-08-13 20:32:35 +02:00
Allan Odgaard
f370ee13e4 Make proxy setup URL specific
We now bypass the global proxy if trying to connect to localhost (as some of our tests do) and we also hand the actual target URL to the potential proxy auto configuration (PAC) script.
2012-08-13 20:32:35 +02:00
jtbandes
25071ce6e5 Draw tab triggers and key equivalents in menu
The old techniques used to set key equivalents no longer work. Unfortunately, this technique is only a workaround and is not pixel-for-pixel identical due to the way NSMenuItem lays itself out when rendering a key equivalent; but I think it's the best that can be done for now.
2012-08-13 19:46:55 +02:00
Cody Krieger
df84fa92d4 Set a blank SDK path if the 10.7 SDK isn't found.
This allows the project to build with the system default framework/include/library paths.
2012-08-13 19:36:20 +02:00
Allan Odgaard
bf12bdd3f2 Another CJK fix
When invoking an action that would replace the marked text (“CJK edit buffer”) with a zero-length string, we would continue to be in “CJK” mode and thus allow the input manager to process the next key press.

In this situation though pressing e.g. escape or backspace would result in the input manager inserting the literal character code for this key.

So we now leave “CJK edit mode” if the “edit buffer” is empty.

There is still an issue though where, if the edit buffer is not empty, and the user press backspace, we correctly (?) ask the input manager to handle this key press, but the input manager will (wrongly) replace the selection with the literal backspace character.
2012-08-13 18:31:37 +02:00
Allan Odgaard
a3b8be728d fixup! Turn private run_cmd (scm/utility.h) → io::exec
Forgot to update debug variable.
2012-08-13 18:05:56 +02:00
Allan Odgaard
54d157129b fixup! Use SecItemCopyMatching instead of the deprecated SecKeychainSearch
The cf::wrap function returns a temporary object that can be converted to a CFType, but this object’s lifetime is that of the temporary object returned. By putting the result of cf::wrap into a C array we keep the CFTypeRef around longer than the temporary object.
2012-08-13 16:14:32 +02:00
Allan Odgaard
6be0458551 Checkin release notes 2012-08-13 12:05:56 +02:00
Allan Odgaard
9ce0a3faa6 Fix issue #44 (CJK input)
We have our own version of interpretKeyEvents: because we want to augment the default key bindings dictionaries (and support multi-stroke key bindings).

When there is marked text (as part of inserting CJK or similar) the system’s version of interpretKeyEvents: seems to handle key bindings slightly different, for example where ↩ is normally bound to insertNewline:, this might be suppressed when the user has just selected a “translation”.
2012-08-13 01:21:53 +02:00
Andrew Hobden
18f6e2c6af Fixed Grammar Mistake. 2012-08-13 00:40:47 +02:00
Allan Odgaard
6c35a3314a Fix leaking bundle menu delegates 2012-08-13 00:39:10 +02:00
Elia Schito
449b6229d8 Add bundle menu to the status bar 2012-08-13 00:25:20 +02:00
Elia Schito
b0018c2099 Extract Bundle menu to a framework 2012-08-12 23:56:19 +02:00
Allan Odgaard
0cedb7f3ab Specifically call platform’s tsort.
This fixes issue #102 where user has a ‘tsort’ not supporting the ‘-q’ option in his PATH (before the platform version).
2012-08-12 22:30:49 +02:00
Clemens Lang
f29af22cff configure: exit with code != 0 on error
Using this allows other software to check whether configure was
successful.

This patch is public domain.
2012-08-12 22:26:59 +02:00
Clemens Lang
b08daa7f97 git test: don't fail in unconfigured envs
git commit fails when user.name and user.email aren't set. Unfortunately
using git commit --author='Test Test <test@example.com>' doesn't work.

This could happen in environments where pristine users are used to build
software.

This patch is public domain.
2012-08-12 22:26:59 +02:00
Allan Odgaard
a92c7cda68 fixup! Stop using deprecated NSSavePanel/NSOpenPanel methods
Be careful not to initialize an NSURL from nil.
2012-08-12 22:23:52 +02:00
Allan Odgaard
2ff7684eda Order build rules based on dependencies.
Previously we wrote out the build rules alphabetically and grouped by target type. So e.g. the build rule for a framework would be created before that of an application bundle.

While it worked, it didn’t allow e.g. the preferences framework to depend on the mate executables (for copying to its resources section) since the build rules for mate would be created after that of the preferences framework.

We now do a topological sort on the dependency graph (by shelling out to ‘tsort’) to make the build system more flexible.
2012-08-12 16:07:29 +02:00
Bo Xiao
0e581cd2f6 Changed Find/Replace combobox height to 21, to be aligned with other controls. 2012-08-12 12:59:43 +02:00
jtbandes
7f3818fb4c Use SecItemCopyMatching instead of the deprecated SecKeychainSearch 2012-08-12 12:59:43 +02:00
jtbandes
df3e9bcdc2 QLPreviewPanel is no longer private 2012-08-12 12:59:43 +02:00
jtbandes
0112532e64 Stop using deprecated NSSavePanel/NSOpenPanel methods 2012-08-12 12:59:43 +02:00
jtbandes
3d3d22f509 Use Security framework instead of deprecated OpenSSL functions 2012-08-11 23:04:00 -07:00
jtbandes
4cc010c289 Helper function for getting CFError description 2012-08-11 23:04:00 -07:00
jtbandes
bf2fa756ce Fix xib warnings 2012-08-11 23:04:00 -07:00
jtbandes
ee11103d2d Change deployment target of all xibs to OS X 10.7 2012-08-11 23:04:00 -07:00
jtbandes
45b68389f2 Save all xibs with Xcode 4.4.1 (4F1003) 2012-08-11 23:04:00 -07:00
Tuk Bredsdorff
f4f6d9cc6d Updated IRC channel name in README.
Only one octothorpe now.
2012-08-12 01:44:35 +02:00
Allan Odgaard
dec4dbf30d Update dialog plug-ins
Latest versions compile without warnings.
2012-08-12 01:40:13 +02:00
Allan Odgaard
08f415ca7c Checkin release notes 2012-08-12 01:40:13 +02:00
Nathaniel Tagg
99ab4e6578 Implement ⌃Y for yanking last deletion 2012-08-11 22:41:02 +02:00
jtmkrueger
e495a6e9a3 Add example textmate image to README
It's a good looking editor, let's see a picture.
2012-08-11 21:48:19 +02:00
Jesse B. Hannah
4716c15c92 "Enter/Exit Full Screen" menu item
"Full Screen Menu Item" template from Object Library in Interface
Builder, with key binding removed
2012-08-11 21:18:31 +02:00
Jesse B. Hannah
824e9b5f27 Added fullscreen behavior to document window
In Interface Builder: Attributes Inspector -> Full Screen -> Primary
Window
2012-08-11 21:18:25 +02:00
Allan Odgaard
5d0682d317 Use user-specific temp directory for mate’s socket
We have TextMate create a named socket that ‘mate’ can use to contact the main application. Previously it was hardcoded to ‘/tmp/avian.sock’ which is bad on a multi-user system.

Placing it in the user’s temporary directory should ensure it doesn’t clash, yet still give us a predictable path (for mate to use).

Presently we maintain the old socket path as a link to the new location so that old versions of mate will still work.
2012-08-11 21:01:40 +02:00
Allan Odgaard
2dcc7ec7b4 Keep version of mate (installed) in defaults
This is so that we know when to update the installed version.
2012-08-11 20:49:55 +02:00
Allan Odgaard
512e5fdede Prune GIT variables from the inherited environment
Incase we do a git commit that launches TextMate, it will inherit a bunch of variables from git, including GIT_DIR, which will cause issues for the Git bundle.
2012-08-11 20:37:05 +02:00
Allan Odgaard
5f55fcb514 Turn private run_cmd (scm/utility.h) → io::exec 2012-08-11 19:39:18 +02:00
Allan Odgaard
e680130eaf Move oak::basic_environment to the io framework
Previously this was under the OakSystem framework which depends on the io framework meaning that the io framework itself was unable to obtain a basic environment, which is necessary for next commit.
2012-08-11 19:31:10 +02:00
Allan Odgaard
485bdde0f7 Move oak::c_array to oak/datatypes.h
This simple wrapper is useful in a few places so we shouldn’t need to depend on the OakSystem framework in order to use it.
2012-08-11 19:21:28 +02:00
Mads Hartmann Jensen
dc37506831 Keep window open after closing last tab. Fixes #24.
When the last tab is closed the window will be kept open if the
file browser is shown. It will close the existing document and
replace it with a scratch document.
2012-08-11 17:05:05 +02:00
Allan Odgaard
b9d8d61298 Add instructions about how to change a xib 2012-08-11 13:06:16 +02:00
Fernando
a921f258e1 Don’t write to /tmp in configure
If another user (on the same system) builds TextMate then he blocks everyone else, as other users would be unable to overwrite /tmp/dummy.
2012-08-11 12:00:25 +02:00
Allan Odgaard
3f083c12c6 Checkin release notes. 2012-08-11 00:14:48 +02:00