* Re: scratch/ns/refactor 06d9e72 5/6: Move NS port toolbar handling to the window [not found] ` <20210620155629.258B620B76@vcs0.savannah.gnu.org> @ 2021-06-23 12:37 ` Robert Pluim 2021-06-23 14:27 ` Alan Third 0 siblings, 1 reply; 15+ messages in thread From: Robert Pluim @ 2021-06-23 12:37 UTC (permalink / raw) To: emacs-devel; +Cc: Alan Third [-- Attachment #1: Type: text/plain, Size: 630 bytes --] >>>>> On Sun, 20 Jun 2021 11:56:28 -0400 (EDT), alan@idiocy.org (Alan Third) said: Alan> branch: scratch/ns/refactor Alan> commit 06d9e723f79390eb6151f521d154b47e1ffa943e Alan> Author: Alan Third <alan@idiocy.org> Alan> Commit: Alan Third <alan@idiocy.org> Alan> Move NS port toolbar handling to the window Hi Alan, I tried this branch. I did emacs -Q (tool-bar-mode -1) C-x 5 2 The second frame has the tool-bar disabled, but unlike master the frame height is greater than the initial frame, and the frame title is bigger as well, as if its height had not been adjusted after removing the tool-bar. [-- Attachment #2: emacs-toolbar.png --] [-- Type: image/png, Size: 181532 bytes --] [-- Attachment #3: Type: text/plain, Size: 12 bytes --] Robert -- ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: scratch/ns/refactor 06d9e72 5/6: Move NS port toolbar handling to the window 2021-06-23 12:37 ` scratch/ns/refactor 06d9e72 5/6: Move NS port toolbar handling to the window Robert Pluim @ 2021-06-23 14:27 ` Alan Third 2021-06-23 14:57 ` Robert Pluim 0 siblings, 1 reply; 15+ messages in thread From: Alan Third @ 2021-06-23 14:27 UTC (permalink / raw) To: Robert Pluim; +Cc: emacs-devel On Wed, Jun 23, 2021 at 02:37:08PM +0200, Robert Pluim wrote: > >>>>> On Sun, 20 Jun 2021 11:56:28 -0400 (EDT), alan@idiocy.org (Alan Third) said: > > Alan> branch: scratch/ns/refactor > Alan> commit 06d9e723f79390eb6151f521d154b47e1ffa943e > Alan> Author: Alan Third <alan@idiocy.org> > Alan> Commit: Alan Third <alan@idiocy.org> > > Alan> Move NS port toolbar handling to the window > > Hi Alan, I tried this branch. I did Thanks for trying it. > emacs -Q > (tool-bar-mode -1) > C-x 5 2 > > The second frame has the tool-bar disabled, but unlike master the > frame height is greater than the initial frame, and the frame title is > bigger as well, as if its height had not been adjusted after removing > the tool-bar. What's happening is that the toolbar is set to be visible, but it has nothing in it, so it shrinks to the toolbar's minimum height. Can you please try the following, I think it should sort it: modified src/nsmenu.m @@ -1089,10 +1089,10 @@ - (void)menu:(NSMenu *)menu willHighlightItem:(NSMenuItem *)item #undef TOOLPROP } - if (![toolbar isVisible]) + if ([toolbar isVisible] != FRAME_EXTERNAL_TOOL_BAR (f)) { f->output_data.ns->in_animation = 1; - [toolbar setVisible: YES]; + [toolbar setVisible: FRAME_EXTERNAL_TOOL_BAR (f)]; f->output_data.ns->in_animation = 0; } -- Alan Third ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: scratch/ns/refactor 06d9e72 5/6: Move NS port toolbar handling to the window 2021-06-23 14:27 ` Alan Third @ 2021-06-23 14:57 ` Robert Pluim 2021-06-23 16:06 ` Alan Third 0 siblings, 1 reply; 15+ messages in thread From: Robert Pluim @ 2021-06-23 14:57 UTC (permalink / raw) To: Alan Third; +Cc: emacs-devel >>>>> On Wed, 23 Jun 2021 15:27:42 +0100, Alan Third <alan@idiocy.org> said: >> The second frame has the tool-bar disabled, but unlike master the >> frame height is greater than the initial frame, and the frame title is >> bigger as well, as if its height had not been adjusted after removing >> the tool-bar. Alan> What's happening is that the toolbar is set to be visible, but it has Alan> nothing in it, so it shrinks to the toolbar's minimum height. Alan> Can you please try the following, I think it should sort it: Youʼre on a roll here Alan. That fixes it. Thanks Robert -- ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: scratch/ns/refactor 06d9e72 5/6: Move NS port toolbar handling to the window 2021-06-23 14:57 ` Robert Pluim @ 2021-06-23 16:06 ` Alan Third 2021-06-24 13:58 ` Robert Pluim 0 siblings, 1 reply; 15+ messages in thread From: Alan Third @ 2021-06-23 16:06 UTC (permalink / raw) To: Robert Pluim; +Cc: emacs-devel On Wed, Jun 23, 2021 at 04:57:34PM +0200, Robert Pluim wrote: > >>>>> On Wed, 23 Jun 2021 15:27:42 +0100, Alan Third <alan@idiocy.org> said: > >> The second frame has the tool-bar disabled, but unlike master the > >> frame height is greater than the initial frame, and the frame title is > >> bigger as well, as if its height had not been adjusted after removing > >> the tool-bar. > > Alan> What's happening is that the toolbar is set to be visible, but it has > Alan> nothing in it, so it shrinks to the toolbar's minimum height. > > Alan> Can you please try the following, I think it should sort it: > > Youʼre on a roll here Alan. That fixes it. I've pushed a fix if you want to give it a go. Plus another couple of patches which probably break something else. -- Alan Third ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: scratch/ns/refactor 06d9e72 5/6: Move NS port toolbar handling to the window 2021-06-23 16:06 ` Alan Third @ 2021-06-24 13:58 ` Robert Pluim 2021-06-24 14:05 ` Alan Third 0 siblings, 1 reply; 15+ messages in thread From: Robert Pluim @ 2021-06-24 13:58 UTC (permalink / raw) To: Alan Third; +Cc: emacs-devel >>>>> On Wed, 23 Jun 2021 17:06:12 +0100, Alan Third <alan@idiocy.org> said: Alan> On Wed, Jun 23, 2021 at 04:57:34PM +0200, Robert Pluim wrote: >> >>>>> On Wed, 23 Jun 2021 15:27:42 +0100, Alan Third <alan@idiocy.org> said: >> >> The second frame has the tool-bar disabled, but unlike master the >> >> frame height is greater than the initial frame, and the frame title is >> >> bigger as well, as if its height had not been adjusted after removing >> >> the tool-bar. >> Alan> What's happening is that the toolbar is set to be visible, but it has Alan> nothing in it, so it shrinks to the toolbar's minimum height. >> Alan> Can you please try the following, I think it should sort it: >> >> Youʼre on a roll here Alan. That fixes it. Alan> I've pushed a fix if you want to give it a go. Alan> Plus another couple of patches which probably break something else. I guess that using the menus being dodgy when displaying a tramp-visited buffer is normal? Emacs appears to be busy-looping, I can provide backtrace if you want. I never use the menus, so itʼs not a big deal to me. Robert -- ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: scratch/ns/refactor 06d9e72 5/6: Move NS port toolbar handling to the window 2021-06-24 13:58 ` Robert Pluim @ 2021-06-24 14:05 ` Alan Third 2021-06-24 14:07 ` Alan Third 2021-06-24 14:11 ` Robert Pluim 0 siblings, 2 replies; 15+ messages in thread From: Alan Third @ 2021-06-24 14:05 UTC (permalink / raw) To: Robert Pluim; +Cc: emacs-devel On Thu, Jun 24, 2021 at 03:58:40PM +0200, Robert Pluim wrote: > >>>>> On Wed, 23 Jun 2021 17:06:12 +0100, Alan Third <alan@idiocy.org> said: > > Alan> On Wed, Jun 23, 2021 at 04:57:34PM +0200, Robert Pluim wrote: > >> >>>>> On Wed, 23 Jun 2021 15:27:42 +0100, Alan Third <alan@idiocy.org> said: > >> >> The second frame has the tool-bar disabled, but unlike master the > >> >> frame height is greater than the initial frame, and the frame title is > >> >> bigger as well, as if its height had not been adjusted after removing > >> >> the tool-bar. > >> > Alan> What's happening is that the toolbar is set to be visible, but it has > Alan> nothing in it, so it shrinks to the toolbar's minimum height. > >> > Alan> Can you please try the following, I think it should sort it: > >> > >> Youʼre on a roll here Alan. That fixes it. > > Alan> I've pushed a fix if you want to give it a go. > > Alan> Plus another couple of patches which probably break something else. > > I guess that using the menus being dodgy when displaying a > tramp-visited buffer is normal? Emacs appears to be busy-looping, I > can provide backtrace if you want. > > I never use the menus, so itʼs not a big deal to me. No, that's not normal... Well, it kind of is... For some reason tramp + menus causes problems. It may be because we have to run a whole bunch of lisp stuff in the NS run loop while updating the contents of the menus before opening them and that interacts in some way with the tramp external processes' IO. I've no idea why. It may ultimately make more sense to take a copy of the menu structure when Emacs core updates the menus and then update them from that... If you revert 99adf4b2af is the menu behaviour better, worse or the same? -- Alan Third ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: scratch/ns/refactor 06d9e72 5/6: Move NS port toolbar handling to the window 2021-06-24 14:05 ` Alan Third @ 2021-06-24 14:07 ` Alan Third 2021-06-24 14:15 ` Robert Pluim 2021-06-24 14:11 ` Robert Pluim 1 sibling, 1 reply; 15+ messages in thread From: Alan Third @ 2021-06-24 14:07 UTC (permalink / raw) To: Robert Pluim, emacs-devel On Thu, Jun 24, 2021 at 03:05:43PM +0100, Alan Third wrote: > If you revert 99adf4b2af is the menu behaviour better, worse or the > same? Oops, sorry, 982ecc5aa9. I rebased my local copy onto master, so it doesn't match what you'll be using just now. -- Alan Third ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: scratch/ns/refactor 06d9e72 5/6: Move NS port toolbar handling to the window 2021-06-24 14:07 ` Alan Third @ 2021-06-24 14:15 ` Robert Pluim 2021-06-24 14:16 ` Alan Third 2021-06-24 14:32 ` Alan Third 0 siblings, 2 replies; 15+ messages in thread From: Robert Pluim @ 2021-06-24 14:15 UTC (permalink / raw) To: Alan Third; +Cc: emacs-devel >>>>> On Thu, 24 Jun 2021 15:07:33 +0100, Alan Third <alan@idiocy.org> said: Alan> On Thu, Jun 24, 2021 at 03:05:43PM +0100, Alan Third wrote: >> If you revert 99adf4b2af is the menu behaviour better, worse or the >> same? Alan> Oops, sorry, 982ecc5aa9. I rebased my local copy onto master, so it Alan> doesn't match what you'll be using just now. Yes. Better with that reverted. Robert -- ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: scratch/ns/refactor 06d9e72 5/6: Move NS port toolbar handling to the window 2021-06-24 14:15 ` Robert Pluim @ 2021-06-24 14:16 ` Alan Third 2021-06-24 14:32 ` Alan Third 1 sibling, 0 replies; 15+ messages in thread From: Alan Third @ 2021-06-24 14:16 UTC (permalink / raw) To: Robert Pluim; +Cc: emacs-devel On Thu, Jun 24, 2021 at 04:15:25PM +0200, Robert Pluim wrote: > >>>>> On Thu, 24 Jun 2021 15:07:33 +0100, Alan Third <alan@idiocy.org> said: > > Alan> On Thu, Jun 24, 2021 at 03:05:43PM +0100, Alan Third wrote: > >> If you revert 99adf4b2af is the menu behaviour better, worse or the > >> same? > > Alan> Oops, sorry, 982ecc5aa9. I rebased my local copy onto master, so it > Alan> doesn't match what you'll be using just now. > > Yes. Better with that reverted. Oh well, I'll just delete it then... It seemed to work better here, but I guess it was just chance. -- Alan Third ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: scratch/ns/refactor 06d9e72 5/6: Move NS port toolbar handling to the window 2021-06-24 14:15 ` Robert Pluim 2021-06-24 14:16 ` Alan Third @ 2021-06-24 14:32 ` Alan Third 2021-06-24 14:59 ` Robert Pluim 1 sibling, 1 reply; 15+ messages in thread From: Alan Third @ 2021-06-24 14:32 UTC (permalink / raw) To: Robert Pluim; +Cc: emacs-devel On Thu, Jun 24, 2021 at 04:15:25PM +0200, Robert Pluim wrote: > >>>>> On Thu, 24 Jun 2021 15:07:33 +0100, Alan Third <alan@idiocy.org> said: > > Alan> On Thu, Jun 24, 2021 at 03:05:43PM +0100, Alan Third wrote: > >> If you revert 99adf4b2af is the menu behaviour better, worse or the > >> same? > > Alan> Oops, sorry, 982ecc5aa9. I rebased my local copy onto master, so it > Alan> doesn't match what you'll be using just now. > > Yes. Better with that reverted. Actually, if it's not too much hassle could you check whether just commenting out the lines: [outerpool release]; outerpool = [[NSAutoreleasePool alloc] init]; in ns_select fixes the problem, or does the whole commit need reverted? The real solution to this problem is, I think, the old threadify all the things, which is what some of the refactoring in this branch is intended to make easier. Or was before I started putting bug fixes in it too. I should rename it. -- Alan Third ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: scratch/ns/refactor 06d9e72 5/6: Move NS port toolbar handling to the window 2021-06-24 14:32 ` Alan Third @ 2021-06-24 14:59 ` Robert Pluim 0 siblings, 0 replies; 15+ messages in thread From: Robert Pluim @ 2021-06-24 14:59 UTC (permalink / raw) To: Alan Third; +Cc: emacs-devel >>>>> On Thu, 24 Jun 2021 15:32:37 +0100, Alan Third <alan@idiocy.org> said: Alan> On Thu, Jun 24, 2021 at 04:15:25PM +0200, Robert Pluim wrote: >> >>>>> On Thu, 24 Jun 2021 15:07:33 +0100, Alan Third <alan@idiocy.org> said: >> Alan> On Thu, Jun 24, 2021 at 03:05:43PM +0100, Alan Third wrote: >> >> If you revert 99adf4b2af is the menu behaviour better, worse or the >> >> same? >> Alan> Oops, sorry, 982ecc5aa9. I rebased my local copy onto master, so it Alan> doesn't match what you'll be using just now. >> >> Yes. Better with that reverted. Alan> Actually, if it's not too much hassle could you check whether just Alan> commenting out the lines: Alan> [outerpool release]; Alan> outerpool = [[NSAutoreleasePool alloc] init]; Alan> in ns_select fixes the problem, or does the whole commit need Alan> reverted? Commenting out just those lines is not enough. Alan> The real solution to this problem is, I think, the old threadify all Alan> the things, which is what some of the refactoring in this branch is Alan> intended to make easier. The two great problems in computer science are naming, scope creep, and off-by-one errors Robert -- ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: scratch/ns/refactor 06d9e72 5/6: Move NS port toolbar handling to the window 2021-06-24 14:05 ` Alan Third 2021-06-24 14:07 ` Alan Third @ 2021-06-24 14:11 ` Robert Pluim 1 sibling, 0 replies; 15+ messages in thread From: Robert Pluim @ 2021-06-24 14:11 UTC (permalink / raw) To: Alan Third; +Cc: emacs-devel >>>>> On Thu, 24 Jun 2021 15:05:43 +0100, Alan Third <alan@idiocy.org> said: >> I guess that using the menus being dodgy when displaying a >> tramp-visited buffer is normal? Emacs appears to be busy-looping, I >> can provide backtrace if you want. >> >> I never use the menus, so itʼs not a big deal to me. Alan> No, that's not normal... Well, it kind of is... For some reason tramp Alan> + menus causes problems. It may be because we have to run a whole Alan> bunch of lisp stuff in the NS run loop while updating the contents of Alan> the menus before opening them and that interacts in some way with the Alan> tramp external processes' IO. I've no idea why. Alan> It may ultimately make more sense to take a copy of the menu structure Alan> when Emacs core updates the menus and then update them from that... Alan> If you revert 99adf4b2af is the menu behaviour better, worse or the Alan> same? I donʼt have that commit. Did you mean 982ecc5aa9? Robert -- ^ permalink raw reply [flat|nested] 15+ messages in thread
[parent not found: <20210620155628.D095320B76@vcs0.savannah.gnu.org>]
* Re: scratch/ns/refactor cc9dbaf 4/6: Fix macOS live resize drawing [not found] ` <20210620155628.D095320B76@vcs0.savannah.gnu.org> @ 2021-06-23 13:33 ` Robert Pluim 2021-06-23 14:05 ` Alan Third 0 siblings, 1 reply; 15+ messages in thread From: Robert Pluim @ 2021-06-23 13:33 UTC (permalink / raw) To: emacs-devel; +Cc: Alan Third >>>>> On Sun, 20 Jun 2021 11:56:28 -0400 (EDT), alan@idiocy.org (Alan Third) said: Alan> branch: scratch/ns/refactor Alan> commit cc9dbaf2e35fd5b8e5132e68ff459ab75012da45 Alan> Author: Alan Third <alan@idiocy.org> Alan> Commit: Alan Third <alan@idiocy.org> Alan> Fix macOS live resize drawing Hi Alan, I get a crash in redisplay when resizing my second frame using the mouse. At eval.c:1805 'waiting_for_input' is true, so we call emacs_abort Reverting this commit seems to fix it (my current test case is to visit eval.c, go to line 1805, and then resize the frame). (lldb) bt * thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT frame #0: 0x00007fff204c392e libsystem_kernel.dylib`__pthread_kill + 10 frame #1: 0x00007fff204f25bd libsystem_pthread.dylib`pthread_kill + 263 frame #2: 0x00007fff203d6be5 libsystem_c.dylib`raise + 26 frame #3: 0x00000001003a956c emacs`terminate_due_to_signal(sig=6, backtrace_limit=40) at emacs.c:437:3 frame #4: 0x00000001003a9993 emacs`emacs_abort at sysdep.c:2282:3 frame #5: 0x0000000100357ec8 emacs`ns_term_shutdown(sig=6) at nsterm.m:5471:7 frame #6: 0x0000000100158a47 emacs`shut_down_emacs(sig=6, stuff=0x0000000000000000) at emacs.c:2736:3 frame #7: 0x00000001003a9504 emacs`terminate_due_to_signal(sig=6, backtrace_limit=40) at emacs.c:420:11 frame #8: 0x00000001003a9993 emacs`emacs_abort at sysdep.c:2282:3 * frame #9: 0x0000000100256090 emacs`signal_or_quit(error_symbol=0x000000000000beb0, data=0x0000000150178c13, keyboard_quit=false) at eval.c:1805:5 frame #10: 0x00000001003ac2b7 emacs`Fsignal(error_symbol=0x000000000000beb0, data=0x0000000150178c13) at eval.c:1775:3 frame #11: 0x00000001003ac30d emacs`xsignal(error_symbol=0x000000000000beb0, data=0x0000000150178c13) at lisp.h:4136:3 frame #12: 0x00000001003ac350 emacs`xsignal3(error_symbol=0x000000000000beb0, arg1=0x000000014fd0dae4, arg2=0x000000000000c6b2, arg3=0x000000000000c6b2) at eval.c:1944:3 frame #13: 0x00000001002c20d8 emacs`scan_lists(from0=12717, count=-1, depth=-1, sexpflag=true) at syntax.c:2958:3 frame #14: 0x00000001002c24ef emacs`Fscan_sexps(from=0x000000000000c6b6, count=0xfffffffffffffffe) at syntax.c:3087:10 frame #15: 0x000000010025d60b emacs`funcall_subr(subr=0x0000000100403810, numargs=2, args=0x00007ffeefbed9d0) at eval.c:3116:19 frame #16: 0x000000010025c3e5 emacs`Ffuncall(nargs=3, args=0x00007ffeefbed9c8) at eval.c:3039:11 frame #17: 0x00000001002c89c3 emacs`exec_byte_code(bytestr=0x000000010502605c, vector=0x0000000105025b9d, maxdepth=0x000000000000001a, args_template=0x0000000000000802, nargs=2, args=0x00007ffeefbee0e0) at bytecode.c:632:12 frame #18: 0x0000000100260fd0 emacs`fetch_and_exec_byte_code(fun=0x0000000105025b45, syms_left=0x0000000000000802, nargs=2, args=0x00007ffeefbee0d0) at eval.c:3163:10 frame #19: 0x000000010025d9bf emacs`funcall_lambda(fun=0x0000000105025b45, nargs=2, arg_vector=0x00007ffeefbee0d0) at eval.c:3244:11 frame #20: 0x000000010025c440 emacs`Ffuncall(nargs=3, args=0x00007ffeefbee0c8) at eval.c:3043:11 frame #21: 0x00000001002c89c3 emacs`exec_byte_code(bytestr=0x0000000105248d3c, vector=0x0000000105248d25, maxdepth=0x0000000000000016, args_template=0x0000000000000802, nargs=1, args=0x00007ffeefbee798) at bytecode.c:632:12 frame #22: 0x0000000100260fd0 emacs`fetch_and_exec_byte_code(fun=0x0000000105248ced, syms_left=0x0000000000000802, nargs=1, args=0x00007ffeefbee790) at eval.c:3163:10 frame #23: 0x000000010025d9bf emacs`funcall_lambda(fun=0x0000000105248ced, nargs=1, arg_vector=0x00007ffeefbee790) at eval.c:3244:11 frame #24: 0x000000010025c440 emacs`Ffuncall(nargs=2, args=0x00007ffeefbee788) at eval.c:3043:11 frame #25: 0x00000001002c89c3 emacs`exec_byte_code(bytestr=0x00000001056e8a34, vector=0x00000001056e89dd, maxdepth=0x0000000000000012, args_template=0x000000000000080a, nargs=2, args=0x00007ffeefbeee78) at bytecode.c:632:12 frame #26: 0x0000000100260fd0 emacs`fetch_and_exec_byte_code(fun=0x00000001056e89ad, syms_left=0x000000000000080a, nargs=2, args=0x00007ffeefbeee68) at eval.c:3163:10 frame #27: 0x000000010025d9bf emacs`funcall_lambda(fun=0x00000001056e89ad, nargs=2, arg_vector=0x00007ffeefbeee68) at eval.c:3244:11 frame #28: 0x000000010025c440 emacs`Ffuncall(nargs=3, args=0x00007ffeefbeee60) at eval.c:3043:11 frame #29: 0x00000001002c89c3 emacs`exec_byte_code(bytestr=0x00000001056e8d14, vector=0x00000001056e8935, maxdepth=0x000000000000001a, args_template=0x0000000000000406, nargs=1, args=0x00007ffeefbef588) at bytecode.c:632:12 frame #30: 0x0000000100260fd0 emacs`fetch_and_exec_byte_code(fun=0x00000001056e8905, syms_left=0x0000000000000406, nargs=1, args=0x00007ffeefbef580) at eval.c:3163:10 frame #31: 0x000000010025d9bf emacs`funcall_lambda(fun=0x00000001056e8905, nargs=1, arg_vector=0x00007ffeefbef580) at eval.c:3244:11 frame #32: 0x000000010025c440 emacs`Ffuncall(nargs=2, args=0x00007ffeefbef578) at eval.c:3043:11 frame #33: 0x00000001002c89c3 emacs`exec_byte_code(bytestr=0x00000001052e9d74, vector=0x00000001052e8bcd, maxdepth=0x000000000000003e, args_template=0x0000000000000c0a, nargs=3, args=0x00007ffeefbefd58) at bytecode.c:632:12 frame #34: 0x0000000100260fd0 emacs`fetch_and_exec_byte_code(fun=0x00000001052e8b9d, syms_left=0x0000000000000c0a, nargs=3, args=0x00007ffeefbefd40) at eval.c:3163:10 frame #35: 0x000000010025d9bf emacs`funcall_lambda(fun=0x00000001052e8b9d, nargs=3, arg_vector=0x00007ffeefbefd40) at eval.c:3244:11 frame #36: 0x000000010025c440 emacs`Ffuncall(nargs=4, args=0x00007ffeefbefd38) at eval.c:3043:11 frame #37: 0x00000001002c89c3 emacs`exec_byte_code(bytestr=0x00000001052ebdec, vector=0x00000001052e7b95, maxdepth=0x000000000000002e, args_template=0x0000000000000c0e, nargs=3, args=0x00007ffeefbf04c0) at bytecode.c:632:12 frame #38: 0x0000000100260fd0 emacs`fetch_and_exec_byte_code(fun=0x00000001052e7b65, syms_left=0x0000000000000c0e, nargs=3, args=0x00007ffeefbf04a8) at eval.c:3163:10 frame #39: 0x000000010025d9bf emacs`funcall_lambda(fun=0x00000001052e7b65, nargs=3, arg_vector=0x00007ffeefbf04a8) at eval.c:3244:11 frame #40: 0x000000010025c440 emacs`Ffuncall(nargs=4, args=0x00007ffeefbf04a0) at eval.c:3043:11 frame #41: 0x00000001002c89c3 emacs`exec_byte_code(bytestr=0x00000001052ebefc, vector=0x00000001052e7ac5, maxdepth=0x000000000000001e, args_template=0x0000000000000c0a, nargs=2, args=0x00007ffeefbf0b88) at bytecode.c:632:12 frame #42: 0x0000000100260fd0 emacs`fetch_and_exec_byte_code(fun=0x00000001052e7a95, syms_left=0x0000000000000c0a, nargs=2, args=0x00007ffeefbf0b78) at eval.c:3163:10 frame #43: 0x000000010025d9bf emacs`funcall_lambda(fun=0x00000001052e7a95, nargs=2, arg_vector=0x00007ffeefbf0b78) at eval.c:3244:11 frame #44: 0x000000010025c440 emacs`Ffuncall(nargs=3, args=0x00007ffeefbf0b70) at eval.c:3043:11 frame #45: 0x00000001002c89c3 emacs`exec_byte_code(bytestr=0x00000001052bc12c, vector=0x00000001500edead, maxdepth=0x000000000000002a, args_template=0x0000000000000406, nargs=1, args=0x00007ffeefbf1530) at bytecode.c:632:12 frame #46: 0x0000000100260fd0 emacs`fetch_and_exec_byte_code(fun=0x00000001500edef5, syms_left=0x0000000000000406, nargs=1, args=0x00007ffeefbf1528) at eval.c:3163:10 frame #47: 0x000000010025d9bf emacs`funcall_lambda(fun=0x00000001500edef5, nargs=1, arg_vector=0x00007ffeefbf1528) at eval.c:3244:11 frame #48: 0x000000010025c440 emacs`Ffuncall(nargs=2, args=0x00007ffeefbf1520) at eval.c:3043:11 frame #49: 0x000000010025cbf3 emacs`run_hook_wrapped_funcall(nargs=2, args=0x00007ffeefbf1520) at eval.c:2776:9 frame #50: 0x000000010025ca17 emacs`run_hook_with_args(nargs=2, args=0x00007ffeefbf1520, funcall=(emacs`run_hook_wrapped_funcall at eval.c:2772)) at eval.c:2857:14 frame #51: 0x000000010025cba4 emacs`Frun_hook_wrapped(nargs=2, args=0x00007ffeefbf1520) at eval.c:2791:10 frame #52: 0x000000010025d50b emacs`funcall_subr(subr=0x00000001004011a0, numargs=2, args=0x00007ffeefbf1520) at eval.c:3094:12 frame #53: 0x000000010025c3e5 emacs`Ffuncall(nargs=3, args=0x00007ffeefbf1518) at eval.c:3039:11 frame #54: 0x00000001002c89c3 emacs`exec_byte_code(bytestr=0x00000001052bc364, vector=0x00000001052bbf55, maxdepth=0x0000000000000042, args_template=0x000000000000080a, nargs=2, args=0x00007ffeefbf1c70) at bytecode.c:632:12 frame #55: 0x0000000100260fd0 emacs`fetch_and_exec_byte_code(fun=0x00000001052bbf25, syms_left=0x000000000000080a, nargs=2, args=0x00007ffeefbf1c60) at eval.c:3163:10 frame #56: 0x000000010025d9bf emacs`funcall_lambda(fun=0x00000001052bbf25, nargs=2, arg_vector=0x00007ffeefbf1c60) at eval.c:3244:11 frame #57: 0x000000010025c440 emacs`Ffuncall(nargs=3, args=0x00007ffeefbf1c58) at eval.c:3043:11 frame #58: 0x00000001002c89c3 emacs`exec_byte_code(bytestr=0x00000001056e3f2c, vector=0x000000010505acad, maxdepth=0x000000000000006e, args_template=0x0000000000000802, nargs=2, args=0x00007ffeefbf2498) at bytecode.c:632:12 frame #59: 0x0000000100260fd0 emacs`fetch_and_exec_byte_code(fun=0x000000010505ac7d, syms_left=0x0000000000000802, nargs=2, args=0x00007ffeefbf2488) at eval.c:3163:10 frame #60: 0x000000010025d9bf emacs`funcall_lambda(fun=0x000000010505ac7d, nargs=2, arg_vector=0x00007ffeefbf2488) at eval.c:3244:11 frame #61: 0x000000010025c440 emacs`Ffuncall(nargs=3, args=0x00007ffeefbf2480) at eval.c:3043:11 frame #62: 0x00000001002c89c3 emacs`exec_byte_code(bytestr=0x00000001056e3fec, vector=0x000000010505a915, maxdepth=0x0000000000000032, args_template=0x0000000000000406, nargs=1, args=0x00007ffeefbf2c20) at bytecode.c:632:12 frame #63: 0x0000000100260fd0 emacs`fetch_and_exec_byte_code(fun=0x000000010505a8e5, syms_left=0x0000000000000406, nargs=1, args=0x00007ffeefbf2c18) at eval.c:3163:10 frame #64: 0x000000010025d9bf emacs`funcall_lambda(fun=0x000000010505a8e5, nargs=1, arg_vector=0x00007ffeefbf2c18) at eval.c:3244:11 frame #65: 0x000000010025c440 emacs`Ffuncall(nargs=2, args=0x00007ffeefbf2c10) at eval.c:3043:11 frame #66: 0x0000000100255cfa emacs`internal_condition_case_n(bfun=(emacs`Ffuncall at eval.c:3004), nargs=2, args=0x00007ffeefbf2c10, handlers=0x0000000000000030, hfun=(emacs`safe_eval_handler at xdisp.c:2960)) at eval.c:1642:25 frame #67: 0x000000010004617f emacs`safe__call(inhibit_quit=false, nargs=2, func=0x0000000004852150, ap=0x00007ffeefbf2e60) at xdisp.c:2994:13 frame #68: 0x0000000100044b84 emacs`safe_call(nargs=2, func=0x0000000004852150) at xdisp.c:3009:12 frame #69: 0x00000001000461f4 emacs`safe_call1(fn=0x0000000004852150, arg=0x000000000000c2d6) at xdisp.c:3020:10 frame #70: 0x000000010007e283 emacs`handle_fontified_prop(it=0x00007ffeefbf49e0) at xdisp.c:4326:3 frame #71: 0x000000010007ca51 emacs`handle_stop(it=0x00007ffeefbf49e0) at xdisp.c:3854:14 frame #72: 0x000000010008286e emacs`next_element_from_buffer(it=0x00007ffeefbf49e0) at xdisp.c:8907:4 frame #73: 0x00000001000387e7 emacs`get_next_display_element(it=0x00007ffeefbf49e0) at xdisp.c:7496:15 frame #74: 0x0000000100056d56 emacs`display_line(it=0x00007ffeefbf49e0, cursor_vpos=32) at xdisp.c:23567:12 frame #75: 0x0000000100056371 emacs`try_window(window=0x00000001509d2f15, pos=(charpos = 10898, bytepos = 10898), flags=1) at xdisp.c:19494:11 frame #76: 0x0000000100095145 emacs`redisplay_window(window=0x00000001509d2f15, just_this_one_p=false) at xdisp.c:18904:8 frame #77: 0x000000010009325d emacs`redisplay_window_0(window=0x00000001509d2f15) at xdisp.c:16618:5 frame #78: 0x00000001002558da emacs`internal_condition_case_1(bfun=(emacs`redisplay_window_0 at xdisp.c:16616), arg=0x00000001509d2f15, handlers=0x000000010570bb43, hfun=(emacs`redisplay_window_error at xdisp.c:16609)) at eval.c:1502:25 frame #79: 0x0000000100091afb emacs`redisplay_windows(window=0x00000001509d2f15) at xdisp.c:16598:4 frame #80: 0x0000000100050eda emacs`redisplay_internal at xdisp.c:16066:5 frame #81: 0x0000000100054ef9 emacs`redisplay at xdisp.c:15282:3 frame #82: 0x0000000100363550 emacs`-[EmacsView layoutSublayersOfLayer:](self=0x000000014fae28b0, _cmd="layoutSublayersOfLayer:", layer=0x0000000136474150) at nsterm.m:8063:7 frame #83: 0x00007fff26d6d8d3 QuartzCore`-[CALayer layoutSublayers] + 326 frame #84: 0x00007fff26d6d239 QuartzCore`CA::Layer::layout_if_needed(CA::Transaction*) + 619 frame #85: 0x00007fff26eb907f QuartzCore`CA::Context::commit_transaction(CA::Transaction*, double, double*) + 655 frame #86: 0x00007fff26d4f0df QuartzCore`CA::Transaction::commit() + 713 frame #87: 0x00007fff22e3ef5c AppKit`-[NSWindow _setFrameCommon:display:fromServer:] + 3985 frame #88: 0x0000000100367222 emacs`-[EmacsWindow setFrame:display:](self=0x000000014fae2cb0, _cmd="setFrame:display:", windowFrame=(origin = (x = -0, y = 123), size = (width = 844, height = 902)), displayViews=YES) at nsterm.m:8933:3 frame #89: 0x00007fff23197a97 AppKit`-[NSWindow(NSWindowResizing) _resizeWithEvent:] + 2600 frame #90: 0x00007fff2307ec7f AppKit`-[NSTitledFrame attemptResizeWithEvent:] + 177 frame #91: 0x00007fff2307e9fa AppKit`-[NSThemeFrame handleMouseDown:] + 298 frame #92: 0x00007fff23111a20 AppKit`-[NSThemeFrame mouseDown:] + 30 frame #93: 0x00007fff230052ae AppKit`-[NSWindow(NSEventRouting) _handleMouseDownEvent:isDelayedEvent:] + 4961 frame #94: 0x00007fff22f74a98 AppKit`-[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 2594 frame #95: 0x00007fff22f73e56 AppKit`-[NSWindow(NSEventRouting) sendEvent:] + 347 frame #96: 0x00007fff22f72264 AppKit`-[NSApplication(NSEvent) sendEvent:] + 352 frame #97: 0x0000000100358407 emacs`-[EmacsApp sendEvent:](self=0x00000001031652d0, _cmd="sendEvent:", theEvent=0x00000001428cba80) at nsterm.m:5644:3 frame #98: 0x00007fff2324b5fd AppKit`-[NSApplication _handleEvent:] + 65 frame #99: 0x00007fff22ddb25e AppKit`-[NSApplication run] + 623 Robert -- ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: scratch/ns/refactor cc9dbaf 4/6: Fix macOS live resize drawing 2021-06-23 13:33 ` scratch/ns/refactor cc9dbaf 4/6: Fix macOS live resize drawing Robert Pluim @ 2021-06-23 14:05 ` Alan Third 2021-06-23 14:32 ` Robert Pluim 0 siblings, 1 reply; 15+ messages in thread From: Alan Third @ 2021-06-23 14:05 UTC (permalink / raw) To: Robert Pluim; +Cc: emacs-devel On Wed, Jun 23, 2021 at 03:33:22PM +0200, Robert Pluim wrote: > >>>>> On Sun, 20 Jun 2021 11:56:28 -0400 (EDT), alan@idiocy.org (Alan Third) said: > > Alan> branch: scratch/ns/refactor > Alan> commit cc9dbaf2e35fd5b8e5132e68ff459ab75012da45 > Alan> Author: Alan Third <alan@idiocy.org> > Alan> Commit: Alan Third <alan@idiocy.org> > > Alan> Fix macOS live resize drawing > > Hi Alan, I get a crash in redisplay when resizing my second frame > using the mouse. At eval.c:1805 'waiting_for_input' is true, so we > call emacs_abort > > Reverting this commit seems to fix it (my current test case is to > visit eval.c, go to line 1805, and then resize the frame). Hi Robert, can you try uncommenting the code in layoutSublayersOfLayer and see if that fixes it? -- Alan Third ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: scratch/ns/refactor cc9dbaf 4/6: Fix macOS live resize drawing 2021-06-23 14:05 ` Alan Third @ 2021-06-23 14:32 ` Robert Pluim 0 siblings, 0 replies; 15+ messages in thread From: Robert Pluim @ 2021-06-23 14:32 UTC (permalink / raw) To: Alan Third; +Cc: emacs-devel >>>>> On Wed, 23 Jun 2021 15:05:32 +0100, Alan Third <alan@idiocy.org> said: Alan> Hi Robert, can you try uncommenting the code in layoutSublayersOfLayer Alan> and see if that fixes it? Hi Alan, this seems to do the job: diff --git i/src/nsterm.m w/src/nsterm.m index b5bfb242d5..5298466f27 100644 --- i/src/nsterm.m +++ w/src/nsterm.m @@ -8056,14 +8056,14 @@ - (void)layoutSublayersOfLayer:(CALayer *)layer however I can't understand why it would be different from viewWillDraw. I'll leave this commented out for now, but if nobody reports a crash it can be removed. */ - // bool owfi = waiting_for_input; - // waiting_for_input = 0; - // block_input (); + bool owfi = waiting_for_input; + waiting_for_input = 0; + block_input (); redisplay (); - // unblock_input (); - // waiting_for_input = owfi; + unblock_input (); + waiting_for_input = owfi; } } #endif Robert -- ^ permalink raw reply related [flat|nested] 15+ messages in thread
end of thread, other threads:[~2021-06-24 14:59 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <20210620155625.12886.44156@vcs0.savannah.gnu.org> [not found] ` <20210620155629.258B620B76@vcs0.savannah.gnu.org> 2021-06-23 12:37 ` scratch/ns/refactor 06d9e72 5/6: Move NS port toolbar handling to the window Robert Pluim 2021-06-23 14:27 ` Alan Third 2021-06-23 14:57 ` Robert Pluim 2021-06-23 16:06 ` Alan Third 2021-06-24 13:58 ` Robert Pluim 2021-06-24 14:05 ` Alan Third 2021-06-24 14:07 ` Alan Third 2021-06-24 14:15 ` Robert Pluim 2021-06-24 14:16 ` Alan Third 2021-06-24 14:32 ` Alan Third 2021-06-24 14:59 ` Robert Pluim 2021-06-24 14:11 ` Robert Pluim [not found] ` <20210620155628.D095320B76@vcs0.savannah.gnu.org> 2021-06-23 13:33 ` scratch/ns/refactor cc9dbaf 4/6: Fix macOS live resize drawing Robert Pluim 2021-06-23 14:05 ` Alan Third 2021-06-23 14:32 ` Robert Pluim
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).