Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move Vico to 10.8 SDK and ARC #55

Merged
merged 29 commits into from
Sep 21, 2013
Merged

Move Vico to 10.8 SDK and ARC #55

merged 29 commits into from
Sep 21, 2013

Conversation

Shadowfiend
Copy link
Member

Yep, this is a crazy one…

ARC reactor model from Flickr
Image credit flickr user NathanielS

@ghost ghost assigned Shadowfiend Aug 24, 2013
This also starts the process of getting the XCode project
building again. That said, while XCode successfully builds
the binary, it won't run. And the makefile isn't building
successfully yet. More to come.
We've changed ViTaskRunner to always invoke the same
selector on its target. Targets should use contextInfo to
disambiguate between multiple possible callback targets.

The change was already implemented, but there was still a
vestigial _selector instance variable in the ViTaskRunner
class.
contextInfo is now always a dictionary with a type key. The
@"type" key is used to decide which callback to use. To
avoid warnings, we have a protocol with the two methods
that the bundle_commands and vi_commands categories
define as callbacks for the task runner marked as optional.
Since we're targeting OS X 10.8+, we don't need to
accommodate Leopard-.
This lets us use ARC on SBJsonParser, as well.
Everything now builds via makefile, but we explode at
runtime.
Same crashiness at runtime, though.
We'll see what happens memory-retention wise… But right
now this causes crashes.
We'll want to re-profile this to figure out where we actually
want weaks. It seems like before we were relying on certain
weaks not being released at the appropriate times, and now
that ARC is doing the releasing for us they're causing some
serious issues.
In fact, they were probably downright dangerous…
This was returning in the opposite of the situation it was
supposed to do so in, so keystrokes weren't getting through.
@Shadowfiend
Copy link
Member Author

This is now behaving and seems to be working. I'll be using the branch for a few days to see if anything explodes in my face.

Conflicts:
	app/ViCompletion.h
	app/ViCompletion.m
	app/ViCompletionController.m
	app/ViKeyManager.m
@farmdawgnation
Copy link

No picture of the arc reactor? Really?! :P

@Shadowfiend
Copy link
Member Author

I opened the issue before there was a branch :p. I'll add it in now though
;)

The ARC converter marked it weak because it's an outlet,
but that was breaking preferences.
This via mega-hack, but it works for now. Hopefully we'll
figure out a better solution long term.
We're now setting up the inset in ExTextField instead of
changing the origin at request time in ViTextView. This
seems to not be buggy at the moment, we'll see if it holds
up.
We also have the groundwork for highlighting what is typed
into the ex line.
@Shadowfiend
Copy link
Member Author

Notably, this doesn't seem to compile correctly on some versions of XCode/LLVM. There are issues with -Warc-retain-cycles that need to be fixed. Not sure why I hadn't run into it yet…

Hopefully this doesn't totally break SFTPConnection...
@Shadowfiend
Copy link
Member Author

Ok, let's play this game. Merge-time.

Shadowfiend added a commit that referenced this pull request Sep 21, 2013
Move Vico to 10.8 SDK and ARC
@Shadowfiend Shadowfiend merged commit 1435d5d into master Sep 21, 2013
@Shadowfiend Shadowfiend deleted the arc-reactor branch September 21, 2013 04:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants