unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Alan Third <alan@idiocy.org>
To: Michael Dixon <dixius99@gmail.com>
Cc: 38031@debbugs.gnu.org
Subject: bug#38031: 26.3; Trying to invoke the macOS File Open window causes Emacs to crash on macOS Catalina
Date: Sun, 3 Nov 2019 20:39:46 +0000	[thread overview]
Message-ID: <20191103203946.GB37523@breton.holly.idiocy.org> (raw)
In-Reply-To: <C6AAAD31-83D6-4073-B6C0-2C45AA0D672A@gmail.com>

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





  reply	other threads:[~2019-11-03 20:39 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-02 10:19 bug#38031: 26.3; Trying to invoke the macOS File Open window causes Emacs to crash on macOS Catalina Michael Dixon
2019-11-03 20:39 ` Alan Third [this message]
2019-11-03 21:02   ` Michael Dixon
2019-11-04 20:06     ` Alan Third
2019-11-08  0:39       ` Stefan Kangas
2019-11-08  5:06         ` Nathaniel Bass
2019-11-08 19:47           ` Alan Third
2019-11-08 21:33             ` Michael Dixon
2019-11-08 23:08               ` Alan Third
2019-11-08 23:17                 ` Michael Dixon
2020-01-14 21:39                   ` Alan Third
2020-01-15  3:00                     ` Michael Dixon
2020-01-15 19:00                       ` Alan Third
2020-01-15 21:48                         ` Michael Dixon
2020-01-17 18:53                           ` Alan Third
2020-01-17 23:49                             ` Michael Dixon
2020-01-18 15:22                               ` Alan Third
2020-01-18 16:39                                 ` Michael Dixon
2020-01-18 20:50                                   ` Alan Third
2020-01-24 10:00                                     ` Alan Third
2019-11-08  7:02 ` Andrii Kolomoiets
2019-12-05 11:20 ` Michael Dixon
2019-12-06  1:57   ` Michael Dixon
2019-12-19  7:37 ` bug#38031: Same error Lars Hovdan Molden via Bug reports for GNU Emacs, the Swiss army knife of text editors

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191103203946.GB37523@breton.holly.idiocy.org \
    --to=alan@idiocy.org \
    --cc=38031@debbugs.gnu.org \
    --cc=dixius99@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).