GNU bug report logs -
#38031
26.3; Trying to invoke the macOS File Open window causes Emacs to crash on macOS Catalina
Previous Next
Reported by: Michael Dixon <dixius99 <at> gmail.com>
Date: Sat, 2 Nov 2019 16:11:02 UTC
Severity: normal
Found in version 26.3
Done: Alan Third <alan <at> idiocy.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Thanks Alan. I might be a little over my head here, as I’m not sure how to apply a patch. I presume I would have to build from source...
> On Nov 3, 2019, at 3:39 PM, Alan Third <alan <at> idiocy.org> wrote:
>
> On Sat, Nov 02, 2019 at 06:19:27AM -0400, Michael Dixon wrote:
>>
>> On macOS Catalina, if I attempt to open a file using
>> * File > Open
>> * The toolbar button
>> * "Open a File" on the splash screen
>>
>> Emacs crashes. I am using the Homebrew formula with GUI. I have tried
>> with other Mac Emacs distributions, such as GNU Emacs for Mac OS X and
>> the Homebrew emacs-plus formula with the same result.
>>
>> Here's the part of the macOS crash report that I think is useful:
>>
>> Application Specific Information:
>> *** Terminating app due to uncaught exception 'NSObjectNotAvailableException',
>> reason: 'EmacsSavePanel is not a supported subclass for sandboxing'
>> abort() called
>> terminating with uncaught exception of type NSException
>
> That sounds suspiciously like the fact we’ve subclassed the save panel
> class means it’s no longer considered ‘safe’ by Cocoa.
>
> I suspect there’s no immediate work‐around other than trying to work
> out what about EmacsSavePanel is problematic.
>
> Can you try applying the patch below? I don’t think it’ll fix
> anything, but it should at least rule out that it’s something in these
> functions that’s causing this.
>
> modified src/nsfns.m
> @@ -3067,25 +3067,25 @@ The position is returned as a cons cell (X . Y) of the
> }
>
> @implementation EmacsSavePanel
> -- (BOOL)performKeyEquivalent:(NSEvent *)theEvent
> -{
> - BOOL ret = handlePanelKeys (self, theEvent);
> - if (! ret)
> - ret = [super performKeyEquivalent:theEvent];
> - return ret;
> -}
> +// - (BOOL)performKeyEquivalent:(NSEvent *)theEvent
> +// {
> +// BOOL ret = handlePanelKeys (self, theEvent);
> +// if (! ret)
> +// ret = [super performKeyEquivalent:theEvent];
> +// return ret;
> +// }
> @end
>
>
> @implementation EmacsOpenPanel
> -- (BOOL)performKeyEquivalent:(NSEvent *)theEvent
> -{
> - // NSOpenPanel inherits NSSavePanel, so passing self is OK.
> - BOOL ret = handlePanelKeys (self, theEvent);
> - if (! ret)
> - ret = [super performKeyEquivalent:theEvent];
> - return ret;
> -}
> +// - (BOOL)performKeyEquivalent:(NSEvent *)theEvent
> +// {
> +// // NSOpenPanel inherits NSSavePanel, so passing self is OK.
> +// BOOL ret = handlePanelKeys (self, theEvent);
> +// if (! ret)
> +// ret = [super performKeyEquivalent:theEvent];
> +// return ret;
> +// }
> @end
>
> --
> Alan Third
[Message part 2 (text/html, inline)]
This bug report was last modified 5 years and 124 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.