Comments (13)
HF is now 100% ARC 🎉
from hexfiend.
Maybe I never pushed it? Anyways I pushed it now as ARC.
from hexfiend.
Yes. But development seems to carry on with MRC! master
is still full of retain
and release
.
from hexfiend.
Why migrate to ARC today when you can migrate to Swift tomorrow? Heh.
from hexfiend.
Is there any interest in migrating to/continuing the move to ARC?
@percontation I would argue that no real migration to Swift is possible. Only porting, be it piecemeal or monolithic. :)
from hexfiend.
Nah, just follow these 20 easy steps and you'll be fine! :P
Anyway, the benefits of switching everything to ARC are kinda low. On the other hand, ARC seems unlikely to go the way of GC or anything, so I don't see any hidden downsides.
from hexfiend.
Even though I had used MRC for years I found that ARC frees up your capacity for other things. One thing less you might be screwing up.
from hexfiend.
Yeah, I'm all for ARC, it's just that HexFiend is past the point where migration is sufficiently automatic and error-free for me personally to want to do :). But if you wanna take a stab at brining the ARC branch up to parity with master, I'd happily start dogfooding that to help spot issues.
FWIW at some point a while ago I tried collecting the ARC stuff at https://github.com/percontation/HexFiend/tree/ARC_rebase. I don't really remember exactly where that's at, or if it's even worth using.
from hexfiend.
Could always start turning on ARC for files one by one. That way it's not a huge set of changes to test and code review.
from hexfiend.
Yeah, I imagine there are quite a few files that could be auto-ARCed and merged straight into master without raising too much concern. I'd have to catch up on those "Writing Modern ObjC" docs before I could help though :P
from hexfiend.
I did two changes for ARC:
- Replaced NSAutoreleasePool with @autoreleasepool [bc8ebcd]
- Moved HexFiendling to ARC [7bdc030]
I just did these in master since they were relatively harmless.
from hexfiend.
Closing this. ARC changes will continue to occur (slowly though), and pull requests are always welcomed. The problem is making mass changes to the code will most likely result in bugs, so they need to be done carefully and in small chunks at a time.
from hexfiend.
HF is now 95% ARC. There are only 4 remaining files to convert in the framework, but these are the most difficult due to mixing Objective-C objects with C data structures, or with CoreFoundation collections. I'll get to them eventually.
I nearly completed converting HFByteArray_FileWriting.m but came across an issue where createAcyclicGraphFromStronglyConnectedComponents()
creates dependencies
and dependencyObjects
variables, then iterates over them, but never references them. There have been no reports on file writing not working, so I'm not sure what's going on with this code.
from hexfiend.
Related Issues (20)
- When the text encoding is changed from the menu, the application crashes. HOT 2
- Compare window is a document window that can be saved
- Ability to transform template type values HOT 2
- [2.18] Byte grouping of 2 or 3 causes Compare window to be invisible
- Preferences window should be titled Settings on Ventura+
- Change settings window to a toolbar
- [2.18] Compare scroller overlaps plain text view
- [2.18] Columns not working correctly on left side for Compare
- Text Encoding and Byte Grouping cause Compare window to shrink
- [2.18] Byte Theme doesn't apply to left side for Compare
- [2.18] Bookmarks don't apply to left side for Compare HOT 1
- Adding a Bookmark marks the window as dirty, prompting to save on close
- Support applying highlight colors from templates HOT 2
- Replace deprecated SMJobBless with SMAppService in privilege helper
- Replace Mach messaging/MIG with XPC in privileged helper
- Replace distributed notifications with CFMessagePort in hexf
- Setting HFTextView.data to empty doesn't update the view. HOT 1
- Adding custom encoding HOT 1
- Variable to get how many sections deep the template is currently
- Question about "open with" HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hexfiend.