[Openmcl-devel] release/autorelease question
R. Matthew Emerson
rme at clozure.com
Wed May 5 01:52:22 UTC 2010
On May 4, 2010, at 8:25 PM, John DeSoi wrote:
> I was looking at gui::lookup-hyperspec-symbol and noticed a couple of calls to %make-nsstring that do not appear to be released or autoreleased. Is this a memory leak or do I still not completely get Cocoa memory management? I think both cases are equally likely :).
> (defun lookup-hyperspec-symbol (symbol doc)
> (let* ((relative-url (gethash symbol (hyperspec-map-hash doc))))
> (when relative-url
> (let* ((url (#/absoluteURL
> (make-instance 'ns:ns-url
> :with-string (%make-nsstring relative-url)
> :relative-to-url *hyperspec-map-sym-url*))))
You are right. That function leaks not only NSString instances (as returned by %make-nsstring), but also the NSURL object, the NSData object, and the NSAttributedString object that contains the returned HTML.
That function could use some help. :-)
More information about the Openmcl-devel