unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
@ 2021-09-12  0:29 Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
       [not found] ` <handler.50534.B.16314065846903.ack@debbugs.gnu.org>
  2021-09-12 11:48 ` bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS Alan Third
  0 siblings, 2 replies; 30+ messages in thread
From: Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-09-12  0:29 UTC (permalink / raw)
  To: 50534


[-- Attachment #1.1: Type: text/plain, Size: 12287 bytes --]

Good day!

I've described this bug here:
https://github.com/hlissner/doom-emacs/issues/5469

During investigation I've discovered the exact commit which brokes
toolbar on this scenario.

Let me share git bisect log:
git bisect start
# good: [cfcf42ff879f766ffe5812fb0cd12f35803c1bfb] Ensure that gud commands for non-GDB debuggers are handled by repeat-mode
git bisect good cfcf42ff879f766ffe5812fb0cd12f35803c1bfb
# bad: [192a384408cc846d8e66e91a67cd9ad4e7f0be24] Revert usage of format-prompt in python.el
git bisect bad 192a384408cc846d8e66e91a67cd9ad4e7f0be24
# bad: [beb54dc1b2b00cb4541b82acf6ead8a8075c3011] Improve documentation of 'file-preserve-symlinks-on-save'
git bisect bad beb54dc1b2b00cb4541b82acf6ead8a8075c3011
# bad: [c56e395edf5babdbcc65fa7bdb9fb462c674f156] Let image-dired-mouse-toggle-mark act on active region
git bisect bad c56e395edf5babdbcc65fa7bdb9fb462c674f156
# bad: [0ec67a295632f3c4ac92e0b6a0070f67dedac4eb] ; so-long-tests.el: Suppress expected warnings
git bisect bad 0ec67a295632f3c4ac92e0b6a0070f67dedac4eb
# bad: [12c5ca4d825496b3c7304b75ab82a6fabdc2023d] Fix some macOS problems
git bisect bad 12c5ca4d825496b3c7304b75ab82a6fabdc2023d
# good: [0bd1346318fe9ef4eba91905172d30a030d7da18] Fix issue with mml-preview from outside Gnus
git bisect good 0bd1346318fe9ef4eba91905172d30a030d7da18
# good: [55a9c17cef78b1fd3da42bcc2ab55d4acbaa24eb] Change Tramp version to "2.5.2-pre"
git bisect good 55a9c17cef78b1fd3da42bcc2ab55d4acbaa24eb
# good: [a4d2c88cdee90a3e4863a62c4ff69896d0c1a347] Simplify macOS drawing code
git bisect good a4d2c88cdee90a3e4863a62c4ff69896d0c1a347
# bad: [1ba02d85a964e1b2c6a9735cd3decdc524e06dc1] Fix macOS live resize drawing
git bisect bad 1ba02d85a964e1b2c6a9735cd3decdc524e06dc1
# bad: [960f3fc589d8d021e1ed1a505e660929e4c13d0a] Change NS port resize detection
git bisect bad 960f3fc589d8d021e1ed1a505e660929e4c13d0a
# good: [1535c81f77153dd61426246be2e8afd33fa6909a] Tidy up NS port OS window handling
git bisect good 1535c81f77153dd61426246be2e8afd33fa6909a
# first bad commit: [960f3fc589d8d021e1ed1a505e660929e4c13d0a] Change NS port resize detection


In GNU Emacs 28.0.50 (build 1, x86_64-apple-darwin20.6.0, NS appkit-2022.60 Version 11.5.2 (Build 20G95))
of 2021-09-12 built on MacBook-Pro.sa31-cbt.catap.net
Repository revision: 1535c81f77153dd61426246be2e8afd33fa6909a
Repository branch: HEAD
Windowing system distributor 'Apple', version 10.3.2022
System Description:  macOS 11.5.2

Configured using:
'configure --prefix=/opt/local --disable-silent-rules --without-dbus
--without-gconf --without-libotf --without-m17n-flt --with-gmp
--with-gnutls --with-json --with-xml2 --with-modules --infodir
/opt/local/share/info/emacs --with-ns --with-lcms2 --without-harfbuzz
--without-imagemagick --without-xaw3d --with-native-compilation
--with-rsvg 'CFLAGS=-pipe -Os
-isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -arch
x86_64' 'CPPFLAGS=-I/opt/local/include
-isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk'
'LDFLAGS=-L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-no_pie
-Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
-arch x86_64''

Configured features:
ACL GIF GLIB GMP GNUTLS JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP
NOTIFY KQUEUE NS PDUMPER PNG RSVG THREADS TIFF TOOLKIT_SCROLL_BARS XIM
ZLIB

Important settings:
  value of $LC_ALL: en_US.UTF-8
  value of $LC_CTYPE: UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: DOOM v3.0.0-alpha

Minor modes in effect:
  flyspell-lazy-mode: t
  gcmh-mode: t
  global-hl-line-mode: t
  hl-line-mode: t
  winner-mode: t
  show-paren-mode: t
  smartparens-global-mode: t
  ws-butler-global-mode: t
  global-emojify-mode: t
  emojify-mode: t
  global-undo-fu-session-mode: t
  undo-fu-session-mode: t
  undo-fu-mode: t
  global-flycheck-mode: t
  which-key-mode: t
  better-jumper-mode: t
  better-jumper-local-mode: t
  global-company-mode: t
  company-mode: t
  ivy-rich-project-root-cache-mode: t
  ivy-rich-mode: t
  ivy-mode: t
  volatile-highlights-mode: t
  global-git-commit-mode: t
  shell-dirtrack-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  savehist-mode: t
  solaire-global-mode: t
  solaire-mode: t
  doom-modeline-mode: t
  persp-mode: t
  delete-selection-mode: t
  projectile-mode: t
  ns-auto-titlebar-mode: t
  +popup-mode: t
  general-override-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  window-divider-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
/Users/catap/src/doom-emacs/.local/straight/build-28.0.50/use-package/use-package-diminish hides /Users/catap/src/doom-emacs/.local/straight/repos/use-package/use-package-diminish
/Users/catap/src/doom-emacs/.local/straight/build-28.0.50/use-package/use-package hides /Users/catap/src/doom-emacs/.local/straight/repos/use-package/use-package
/Users/catap/src/doom-emacs/.local/straight/build-28.0.50/use-package/use-package-lint hides /Users/catap/src/doom-emacs/.local/straight/repos/use-package/use-package-lint
/Users/catap/src/doom-emacs/.local/straight/build-28.0.50/use-package/use-package-delight hides /Users/catap/src/doom-emacs/.local/straight/repos/use-package/use-package-delight
/Users/catap/src/doom-emacs/.local/straight/build-28.0.50/use-package/use-package-jump hides /Users/catap/src/doom-emacs/.local/straight/repos/use-package/use-package-jump
/Users/catap/src/doom-emacs/.local/straight/build-28.0.50/use-package/use-package-core hides /Users/catap/src/doom-emacs/.local/straight/repos/use-package/use-package-core
/Users/catap/src/doom-emacs/.local/straight/build-28.0.50/use-package/use-package-ensure hides /Users/catap/src/doom-emacs/.local/straight/repos/use-package/use-package-ensure
/Users/catap/src/doom-emacs/.local/straight/build-28.0.50/use-package/use-package-bind-key hides /Users/catap/src/doom-emacs/.local/straight/repos/use-package/use-package-bind-key
/Users/catap/src/doom-emacs/.local/straight/build-28.0.50/bind-key/bind-key hides /Users/catap/src/doom-emacs/.local/straight/repos/use-package/bind-key
/Users/catap/src/doom-emacs/.local/straight/build-28.0.50/straight/straight-x hides /Users/catap/src/doom-emacs/.local/straight/repos/straight.el/straight-x
/Users/catap/src/doom-emacs/.local/straight/build-28.0.50/apel/install hides /Users/catap/src/doom-emacs/.local/straight/repos/straight.el/install
/Users/catap/src/doom-emacs/.local/straight/build-28.0.50/straight/straight hides /Users/catap/src/doom-emacs/.local/straight/repos/straight.el/straight
/Users/catap/src/doom-emacs/.local/straight/build-28.0.50/cmake-mode/cmake-mode hides /opt/local/share/emacs/site-lisp/cmake-mode
/Users/catap/src/doom-emacs/.local/straight/repos/straight.el/indent hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/indent
/Users/catap/src/doom-emacs/.local/straight/build-28.0.50/transient/transient hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/transient
/Users/catap/src/doom-emacs/.local/straight/build-28.0.50/xref/xref hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/progmodes/xref
/Users/catap/src/doom-emacs/.local/straight/build-28.0.50/project/project hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/progmodes/project
/Users/catap/src/doom-emacs/.local/straight/build-28.0.50/flim/sasl hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/net/sasl

Features:
(shadow sort disp-table whitespace flycheck-popup-tip popup
flyspell-lazy flyspell ispell vi-tilde-fringe display-line-numbers
highlight-indent-guides adaptive-wrap gcmh hl-line winner paren
smartparens-config smartparens-org smartparens-text smartparens
ws-butler emojify apropos tar-mode arc-mode archive-mode ht
undo-fu-session undo-fu flycheck-package package-lint finder finder-inf
lisp-mnt flycheck mail-extr emacsbug sendmail cursor-sensor amx
which-key better-jumper company-capf company etags fileloop generator
ivy-xref ivy-avy avy ivy-rich counsel xdg swiper ivy flx ivy-faces
ivy-overlay colir color xref project volatile-highlights magit-todos
pcre2el rxt re-builder hl-todo async org ob ob-tangle ob-ref ob-lob
ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete
org-list org-faces org-entities noutline outline org-version
ob-emacs-lisp ob-core ob-eval org-table ol org-keys org-compat org-macs
org-loaddefs find-func cal-menu calendar cal-loaddefs github-review
ghub-graphql treepy gsexp ghub url-http url-gw nsm url-auth gnutls
deferred a magit-autoloads magit-submodule magit-obsolete magit-popup
magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull
magit-fetch magit-clone magit-remote magit-commit magit-sequence
magit-notes magit-worktree magit-tag magit-merge magit-branch
magit-reset magit-files magit-refs magit-status magit magit-repos
magit-apply magit-wip magit-log which-func imenu magit-diff smerge-mode
diff diff-mode magit-core magit-autorevert magit-margin magit-transient
magit-process magit-mode core-packages package browse-url url url-proxy
url-privacy url-expand url-methods url-history url-cookie url-domsuf
url-util mailcap url-handlers url-parse url-vars git-commit transient
format-spec log-edit message rmc puny dired dired-loaddefs rfc822 mml
mml-sec epa epg epg-config gnus-util rmail rmail-loaddefs auth-source
password-cache json map time-date mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr
mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log magit-git
magit-section magit-utils crm with-editor shell pcomplete doom-snippets
doom-snippets-lib autorevert filenotify yasnippet elisp-mode savehist
recentf tree-widget wid-edit server persistent-soft list-utils pcache
eieio-base eieio eieio-core eieio-loaddefs font-utils unicode-fonts
dtrt-indent advice doom-themes-ext-treemacs doom-themes-ext-org
solaire-mode face-remap doom-one-theme doom-themes doom-themes-base
doom-modeline doom-modeline-segments let-alist doom-modeline-env
doom-modeline-core shrink-path f s all-the-icons all-the-icons-faces
data-material data-weathericons data-octicons data-fileicons
data-faicons data-alltheicons dash persp-mode delsel projectile grep
compile text-property-search comint ansi-color ring ibuf-ext ibuffer
ibuffer-loaddefs thingatpt smartparens-lua ns-auto-titlebar derived
edmacro kmacro core-editor core-projects core-ui easy-mmode comp
comp-cstr warnings core-keybinds pp general cl-extra help-mode cl-seq
use-package-core core-modules tex-site rx cl core core-lib pcase cl-macs
cl-loaddefs cl-lib subr-x chemacs seq byte-opt gv bytecomp byte-compile
cconv iso-transl tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel term/ns-win ns-win ucs-normalize mule-util
term/common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode lisp-mode prog-mode register
page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese composite charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray cl-preloaded nadvice button loaddefs faces
cus-face macroexp files window text-properties overlay sha1 md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote threads kqueue cocoa ns lcms2 multi-tty make-network-process
native-compile emacs)

Memory information:
((conses 16 795703 772735)
(symbols 48 57901 56)
(strings 32 203824 59149)
(string-bytes 1 5610377)
(vectors 16 124771)
(vector-slots 8 4454343 1257321)
(floats 8 986 1890)
(intervals 56 1662 501)
(buffers 992 11))


--
wbr, Kirill


[-- Attachment #1.2: Type: text/html, Size: 18228 bytes --]

[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: Acknowledgement (28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS)
       [not found] ` <handler.50534.B.16314065846903.ack@debbugs.gnu.org>
@ 2021-09-12  9:25   ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 30+ messages in thread
From: Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-09-12  9:25 UTC (permalink / raw)
  To: 50534


[-- Attachment #1.1: Type: text/plain, Size: 1090 bytes --]

I just would like to share that reverting of:
 - 12c5ca4d825496b3c7304b75ab82a6fabdc2023d
 - 1ba02d85a964e1b2c6a9735cd3decdc524e06dc1
 - 960f3fc589d8d021e1ed1a505e660929e4c13d0a

fixed an issue

--
wbr, Kirill

> On 12. Sep 2021, at 02:30, GNU bug Tracking System <help-debbugs@gnu.org> wrote:
> 
> Thank you for filing a new bug report with debbugs.gnu.org.
> 
> This is an automatically generated reply to let you know your message
> has been received.
> 
> Your message is being forwarded to the package maintainers and other
> interested parties for their attention; they will reply in due course.
> 
> Your message has been sent to the package maintainer(s):
> bug-gnu-emacs@gnu.org
> 
> If you wish to submit further information on this problem, please
> send it to 50534@debbugs.gnu.org.
> 
> Please do not send mail to help-debbugs@gnu.org unless you wish
> to report a problem with the Bug-tracking system.
> 
> --
> 50534: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=50534
> GNU Bug Tracking System
> Contact help-debbugs@gnu.org with problems


[-- Attachment #1.2: Type: text/html, Size: 2679 bytes --]

[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-12  0:29 bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
       [not found] ` <handler.50534.B.16314065846903.ack@debbugs.gnu.org>
@ 2021-09-12 11:48 ` Alan Third
  2021-09-12 12:54   ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 1 reply; 30+ messages in thread
From: Alan Third @ 2021-09-12 11:48 UTC (permalink / raw)
  To: Kirill A. Korinsky; +Cc: 50534

[-- Attachment #1: Type: text/plain, Size: 2505 bytes --]

On Sun, Sep 12, 2021 at 02:29:19AM +0200, Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors wrote:
> Good day!
> 
> I've described this bug here:
> https://github.com/hlissner/doom-emacs/issues/5469
> 
> During investigation I've discovered the exact commit which brokes
> toolbar on this scenario.
> 
> Let me share git bisect log:
> git bisect start
> # good: [cfcf42ff879f766ffe5812fb0cd12f35803c1bfb] Ensure that gud commands for non-GDB debuggers are handled by repeat-mode
> git bisect good cfcf42ff879f766ffe5812fb0cd12f35803c1bfb
> # bad: [192a384408cc846d8e66e91a67cd9ad4e7f0be24] Revert usage of format-prompt in python.el
> git bisect bad 192a384408cc846d8e66e91a67cd9ad4e7f0be24
> # bad: [beb54dc1b2b00cb4541b82acf6ead8a8075c3011] Improve documentation of 'file-preserve-symlinks-on-save'
> git bisect bad beb54dc1b2b00cb4541b82acf6ead8a8075c3011
> # bad: [c56e395edf5babdbcc65fa7bdb9fb462c674f156] Let image-dired-mouse-toggle-mark act on active region
> git bisect bad c56e395edf5babdbcc65fa7bdb9fb462c674f156
> # bad: [0ec67a295632f3c4ac92e0b6a0070f67dedac4eb] ; so-long-tests.el: Suppress expected warnings
> git bisect bad 0ec67a295632f3c4ac92e0b6a0070f67dedac4eb
> # bad: [12c5ca4d825496b3c7304b75ab82a6fabdc2023d] Fix some macOS problems
> git bisect bad 12c5ca4d825496b3c7304b75ab82a6fabdc2023d
> # good: [0bd1346318fe9ef4eba91905172d30a030d7da18] Fix issue with mml-preview from outside Gnus
> git bisect good 0bd1346318fe9ef4eba91905172d30a030d7da18
> # good: [55a9c17cef78b1fd3da42bcc2ab55d4acbaa24eb] Change Tramp version to "2.5.2-pre"
> git bisect good 55a9c17cef78b1fd3da42bcc2ab55d4acbaa24eb
> # good: [a4d2c88cdee90a3e4863a62c4ff69896d0c1a347] Simplify macOS drawing code
> git bisect good a4d2c88cdee90a3e4863a62c4ff69896d0c1a347
> # bad: [1ba02d85a964e1b2c6a9735cd3decdc524e06dc1] Fix macOS live resize drawing
> git bisect bad 1ba02d85a964e1b2c6a9735cd3decdc524e06dc1
> # bad: [960f3fc589d8d021e1ed1a505e660929e4c13d0a] Change NS port resize detection
> git bisect bad 960f3fc589d8d021e1ed1a505e660929e4c13d0a
> # good: [1535c81f77153dd61426246be2e8afd33fa6909a] Tidy up NS port OS window handling
> git bisect good 1535c81f77153dd61426246be2e8afd33fa6909a
> # first bad commit: [960f3fc589d8d021e1ed1a505e660929e4c13d0a] Change NS port resize detection

I can't for the life of my see why that commit should break it, but
can you please try the attached patch and see if it fixes the problem?
I can't replicate it here.
-- 
Alan Third

[-- Attachment #2: 0001-Fix-incorrectly-appearing-toolbar-on-NS-bug-50534.patch --]
[-- Type: text/x-diff, Size: 2496 bytes --]

From 527ba13636c83f826d385de628d5e56556cfa021 Mon Sep 17 00:00:00 2001
From: Alan Third <alan@idiocy.org>
Date: Sun, 12 Sep 2021 12:42:11 +0100
Subject: [PATCH] Fix incorrectly appearing toolbar on NS (bug#50534)

* src/nsterm.h (FRAME_TOOLBAR_P): Work out whether the frame should
have a toolbar or not.
* src/nsterm.m (ns_update_begin):
([EmacsView windowDidEnterFullScreen]):
([EmacsView windowDidExitFullScreen]): Use new FRAME_TOOLBAR_P instead
of the apparently unreliable FRAME_EXTERNAL_TOOL_BAR.
---
 src/nsterm.h | 3 +++
 src/nsterm.m | 6 +++---
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/nsterm.h b/src/nsterm.h
index 6d4ea77121..8fb9c0fda1 100644
--- a/src/nsterm.h
+++ b/src/nsterm.h
@@ -1074,6 +1074,9 @@ #define FIRST_CHAR_POSITION(f)				\
   (! (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT (f)) ? 0	\
    : FRAME_SCROLL_BAR_COLS (f))
 
+#define FRAME_TOOLBAR_P(f) (FRAME_EXTERNAL_TOOL_BAR (f)		\
+			    && FRAME_TOOL_BAR_LINES (f) > 0)
+
 extern struct ns_display_info *ns_term_init (Lisp_Object display_name);
 extern void ns_term_shutdown (int sig);
 
diff --git a/src/nsterm.m b/src/nsterm.m
index 8d88f7bd3d..24a2383848 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -1025,7 +1025,7 @@ static NSRect constrain_frame_rect(NSRect frameRect, bool isFullscreen)
   if ([view isFullscreen] && [view fsIsNative])
   {
     // Fix reappearing tool bar in fullscreen for Mac OS X 10.7
-    BOOL tbar_visible = FRAME_EXTERNAL_TOOL_BAR (f) ? YES : NO;
+    BOOL tbar_visible = FRAME_TOOLBAR_P (f);
     NSToolbar *toolbar = [[FRAME_NS_VIEW (f) window] toolbar];
     if (! tbar_visible != ! [toolbar isVisible])
       [toolbar setVisible: tbar_visible];
@@ -7403,7 +7403,7 @@ - (void)windowDidEnterFullScreen /* provided for direct calls */
     }
   else
     {
-      BOOL tbar_visible = FRAME_EXTERNAL_TOOL_BAR (emacsframe) ? YES : NO;
+      BOOL tbar_visible = FRAME_TOOLBAR_P (emacsframe);
 #if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED >= 1070 \
   && MAC_OS_X_VERSION_MIN_REQUIRED <= 1070
       unsigned val = (unsigned)[NSApp presentationOptions];
@@ -7462,7 +7462,7 @@ - (void)windowDidExitFullScreen /* provided for direct calls */
 #if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
   [self updateCollectionBehavior];
 #endif
-  if (FRAME_EXTERNAL_TOOL_BAR (emacsframe))
+  if (FRAME_TOOLBAR_P (emacsframe))
     {
       [[[self window] toolbar] setVisible:YES];
       update_frame_tool_bar (emacsframe);
-- 
2.30.2


^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-12 11:48 ` bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS Alan Third
@ 2021-09-12 12:54   ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-09-12 15:33     ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-09-12 15:44     ` Alan Third
  0 siblings, 2 replies; 30+ messages in thread
From: Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-09-12 12:54 UTC (permalink / raw)
  To: Alan Third; +Cc: 50534


[-- Attachment #1.1: Type: text/plain, Size: 131 bytes --]

I've tried to apply suggested patch to local 192a384408cc846d8e66e91a67cd9ad4e7f0be24 and it doesn't help.

--
wbr, Kirill



[-- Attachment #1.2: Type: text/html, Size: 878 bytes --]

[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-12 12:54   ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-09-12 15:33     ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-09-12 15:44     ` Alan Third
  1 sibling, 0 replies; 30+ messages in thread
From: Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-09-12 15:33 UTC (permalink / raw)
  To: Alan Third; +Cc: 50534


[-- Attachment #1.1: Type: text/plain, Size: 772 bytes --]

I would like to share two screenshots.

Both was made with local root 192a384408cc846d8e66e91a67cd9ad4e7f0be24

1) Screenshot 2021-09-12 at 17.31.16 without any patches
2) Screenshot 2021-09-12 at 17.30.22 with https://github.com/macports/macports-ports/blob/b9a749676382e24a5b1f22f93f155874a3f2cfcd/editors/emacs/files/worckaround-bug-50534.diff <https://github.com/macports/macports-ports/blob/b9a749676382e24a5b1f22f93f155874a3f2cfcd/editors/emacs/files/worckaround-bug-50534.diff> which is reverted 3 pointed commits

--
wbr, Kirill

> On 12. Sep 2021, at 14:54, Kirill A. Korinsky <kirill@korins.ky> wrote:
> 
> I've tried to apply suggested patch to local 192a384408cc846d8e66e91a67cd9ad4e7f0be24 and it doesn't help.
> 
> --
> wbr, Kirill
> 
> 


[-- Attachment #1.2.1: Type: text/html, Size: 2817 bytes --]

[-- Attachment #1.2.2: Screenshot 2021-09-12 at 17.30.22.png --]
[-- Type: image/png, Size: 511064 bytes --]

[-- Attachment #1.2.3: Screenshot 2021-09-12 at 17.31.16.png --]
[-- Type: image/png, Size: 454440 bytes --]

[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-12 12:54   ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-09-12 15:33     ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-09-12 15:44     ` Alan Third
  2021-09-12 16:40       ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 1 reply; 30+ messages in thread
From: Alan Third @ 2021-09-12 15:44 UTC (permalink / raw)
  To: Kirill A. Korinsky; +Cc: 50534

[-- Attachment #1: Type: text/plain, Size: 216 bytes --]

On Sun, Sep 12, 2021 at 02:54:09PM +0200, Kirill A. Korinsky wrote:
> I've tried to apply suggested patch to local 192a384408cc846d8e66e91a67cd9ad4e7f0be24 and it doesn't help.

Please try this patch.
-- 
Alan Third

[-- Attachment #2: v2-0001-Fix-incorrectly-appearing-toolbar-on-NS-bug-50534.patch --]
[-- Type: text/x-diff, Size: 3139 bytes --]

From 70dbd0c9db782d15e0036f27db13a5ed8d9bba0b Mon Sep 17 00:00:00 2001
From: Alan Third <alan@idiocy.org>
Date: Sun, 12 Sep 2021 12:42:11 +0100
Subject: [PATCH v2] Fix incorrectly appearing toolbar on NS (bug#50534)

* src/nsterm.h (FRAME_TOOLBAR_P): Work out whether the frame should
have a toolbar or not.
* src/nsterm.m (ns_update_begin):
([EmacsView windowDidEnterFullScreen]):
([EmacsView windowDidExitFullScreen]): Use new FRAME_TOOLBAR_P instead
of the apparently unreliable FRAME_EXTERNAL_TOOL_BAR.
* src/nsmenu.m (update_frame_tool_bar): Use new FRAME_TOOLBAR_P.
---
 src/nsmenu.m | 4 ++--
 src/nsterm.h | 3 +++
 src/nsterm.m | 6 +++---
 3 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/nsmenu.m b/src/nsmenu.m
index 0d0b2f60c9..08d4fb830e 100644
--- a/src/nsmenu.m
+++ b/src/nsmenu.m
@@ -1090,10 +1090,10 @@ - (void)menu:(NSMenu *)menu willHighlightItem:(NSMenuItem *)item
 #undef TOOLPROP
     }
 
-  if ([toolbar isVisible] != FRAME_EXTERNAL_TOOL_BAR (f))
+  if ([toolbar isVisible] != FRAME_TOOLBAR_P (f))
     {
       f->output_data.ns->in_animation = 1;
-      [toolbar setVisible: FRAME_EXTERNAL_TOOL_BAR (f)];
+      [toolbar setVisible: FRAME_TOOLBAR_P (f)];
       f->output_data.ns->in_animation = 0;
     }
 
diff --git a/src/nsterm.h b/src/nsterm.h
index 8640b97d8a..4739fe6d1c 100644
--- a/src/nsterm.h
+++ b/src/nsterm.h
@@ -1044,6 +1044,9 @@ #define FIRST_CHAR_POSITION(f)				\
   (! (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT (f)) ? 0	\
    : FRAME_SCROLL_BAR_COLS (f))
 
+#define FRAME_TOOLBAR_P(f) (FRAME_EXTERNAL_TOOL_BAR (f)		\
+			    && FRAME_TOOL_BAR_LINES (f) > 0)
+
 extern struct ns_display_info *ns_term_init (Lisp_Object display_name);
 extern void ns_term_shutdown (int sig);
 
diff --git a/src/nsterm.m b/src/nsterm.m
index f8b8c1e574..9f129be29c 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -1038,7 +1038,7 @@ static NSRect constrain_frame_rect(NSRect frameRect, bool isFullscreen)
   if ([view isFullscreen] && [view fsIsNative])
   {
     // Fix reappearing tool bar in fullscreen for Mac OS X 10.7
-    BOOL tbar_visible = FRAME_EXTERNAL_TOOL_BAR (f) ? YES : NO;
+    BOOL tbar_visible = FRAME_TOOLBAR_P (f);
     NSToolbar *toolbar = [[FRAME_NS_VIEW (f) window] toolbar];
     if (! tbar_visible != ! [toolbar isVisible])
       [toolbar setVisible: tbar_visible];
@@ -7328,7 +7328,7 @@ - (void)windowDidEnterFullScreen /* provided for direct calls */
     }
   else
     {
-      BOOL tbar_visible = FRAME_EXTERNAL_TOOL_BAR (emacsframe) ? YES : NO;
+      BOOL tbar_visible = FRAME_TOOLBAR_P (emacsframe);
 #if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED >= 1070 \
   && MAC_OS_X_VERSION_MIN_REQUIRED <= 1070
       unsigned val = (unsigned)[NSApp presentationOptions];
@@ -7387,7 +7387,7 @@ - (void)windowDidExitFullScreen /* provided for direct calls */
 #if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
   [self updateCollectionBehavior];
 #endif
-  if (FRAME_EXTERNAL_TOOL_BAR (emacsframe))
+  if (FRAME_TOOLBAR_P (emacsframe))
     {
       [[[self window] toolbar] setVisible:YES];
       update_frame_tool_bar (emacsframe);
-- 
2.30.2


^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-12 15:44     ` Alan Third
@ 2021-09-12 16:40       ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-09-12 19:43         ` Alan Third
  0 siblings, 1 reply; 30+ messages in thread
From: Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-09-12 16:40 UTC (permalink / raw)
  To: Alan Third; +Cc: 50534


[-- Attachment #1.1: Type: text/plain, Size: 420 bytes --]

this one works,

Thanks!
--
wbr, Kirill

> On 12. Sep 2021, at 17:44, Alan Third <alan@idiocy.org> wrote:
> 
> On Sun, Sep 12, 2021 at 02:54:09PM +0200, Kirill A. Korinsky wrote:
>> I've tried to apply suggested patch to local 192a384408cc846d8e66e91a67cd9ad4e7f0be24 and it doesn't help.
> 
> Please try this patch.
> --
> Alan Third
> <v2-0001-Fix-incorrectly-appearing-toolbar-on-NS-bug-50534.patch>


[-- Attachment #1.2: Type: text/html, Size: 1538 bytes --]

[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-12 16:40       ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-09-12 19:43         ` Alan Third
  2021-09-12 19:52           ` Alan Third
  0 siblings, 1 reply; 30+ messages in thread
From: Alan Third @ 2021-09-12 19:43 UTC (permalink / raw)
  To: Kirill A. Korinsky; +Cc: 50534

On Sun, Sep 12, 2021 at 06:40:55PM +0200, Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors wrote:
> this one works,

Turns out it doesn't, it just prevents the toolbar from appearing at
all.

What's the value of (frame-parameter nil 'tool-bar-lines) once the
frame has loaded with the toolbar visible?
-- 
Alan Third





^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-12 19:43         ` Alan Third
@ 2021-09-12 19:52           ` Alan Third
  2021-09-12 20:14             ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 30+ messages in thread
From: Alan Third @ 2021-09-12 19:52 UTC (permalink / raw)
  To: Kirill A. Korinsky, 50534

On Sun, Sep 12, 2021 at 08:43:47PM +0100, Alan Third wrote:
> On Sun, Sep 12, 2021 at 06:40:55PM +0200, Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors wrote:
> > this one works,
> 
> Turns out it doesn't, it just prevents the toolbar from appearing at
> all.
> 
> What's the value of (frame-parameter nil 'tool-bar-lines) once the
> frame has loaded with the toolbar visible?

And can you perhaps try commenting out the call to
update_frame_tool_bar on line 8328 of nsterm.m?
-- 
Alan Third





^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-12 19:52           ` Alan Third
@ 2021-09-12 20:14             ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-09-12 20:35               ` Alan Third
  0 siblings, 1 reply; 30+ messages in thread
From: Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-09-12 20:14 UTC (permalink / raw)
  To: Alan Third; +Cc: 50534


[-- Attachment #1.1: Type: text/plain, Size: 109 bytes --]

The value is: 0 (#o0, #x0, ?\C-@)

Do you mean to commit this call without your last patch?

--
wbr, Kirill


[-- Attachment #1.2: Type: text/html, Size: 896 bytes --]

[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-12 20:14             ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-09-12 20:35               ` Alan Third
  2021-09-12 21:02                 ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 30+ messages in thread
From: Alan Third @ 2021-09-12 20:35 UTC (permalink / raw)
  To: Kirill A. Korinsky; +Cc: 50534

[-- Attachment #1: Type: text/plain, Size: 297 bytes --]

Yes, please.

On 12 September 2021 21:14:41 BST, "Kirill A. Korinsky" <kirill@korins.ky> wrote:
>The value is: 0 (#o0, #x0, ?\C-@)
>
>Do you mean to commit this call without your last patch?
>
>--
>wbr, Kirill
>

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.

[-- Attachment #2: Type: text/html, Size: 1334 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-12 20:35               ` Alan Third
@ 2021-09-12 21:02                 ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-09-13 18:44                   ` Alan Third
  0 siblings, 1 reply; 30+ messages in thread
From: Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-09-12 21:02 UTC (permalink / raw)
  To: Alan Third; +Cc: 50534


[-- Attachment #1.1: Type: text/plain, Size: 485 bytes --]

It doesn't help neighter.

Requested value is the same: 0 (#o0, #x0, ?\C-@)

--
wbr, Kirill

> On 12. Sep 2021, at 22:35, Alan Third <alan@idiocy.org> wrote:
> 
> Yes, please.
> 
> On 12 September 2021 21:14:41 BST, "Kirill A. Korinsky" <kirill@korins.ky> wrote:
> The value is: 0 (#o0, #x0, ?\C-@)
> 
> Do you mean to commit this call without your last patch?
> 
> --
> wbr, Kirill
> 
> --
> Sent from my Android device with K-9 Mail. Please excuse my brevity.


[-- Attachment #1.2: Type: text/html, Size: 2489 bytes --]

[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-12 21:02                 ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-09-13 18:44                   ` Alan Third
  2021-09-13 18:52                     ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 30+ messages in thread
From: Alan Third @ 2021-09-13 18:44 UTC (permalink / raw)
  To: Kirill A. Korinsky; +Cc: 50534

On Sun, Sep 12, 2021 at 11:02:23PM +0200, Kirill A. Korinsky wrote:
> It doesn't help neighter.
> 
> Requested value is the same: 0 (#o0, #x0, ?\C-@)

OK... When you open a file does the toolbar disappear?
-- 
Alan Third





^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-13 18:44                   ` Alan Third
@ 2021-09-13 18:52                     ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-09-13 18:54                       ` Alan Third
  0 siblings, 1 reply; 30+ messages in thread
From: Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-09-13 18:52 UTC (permalink / raw)
  To: Alan Third; +Cc: 50534


[-- Attachment #1.1: Type: text/plain, Size: 354 bytes --]

on which version should I test it?

--
wbr, Kirill

> On 13. Sep 2021, at 20:44, Alan Third <alan@idiocy.org> wrote:
> 
> On Sun, Sep 12, 2021 at 11:02:23PM +0200, Kirill A. Korinsky wrote:
>> It doesn't help neighter.
>> 
>> Requested value is the same: 0 (#o0, #x0, ?\C-@)
> 
> OK... When you open a file does the toolbar disappear?
> --
> Alan Third


[-- Attachment #1.2: Type: text/html, Size: 1433 bytes --]

[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-13 18:52                     ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-09-13 18:54                       ` Alan Third
  2021-09-13 18:57                         ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 30+ messages in thread
From: Alan Third @ 2021-09-13 18:54 UTC (permalink / raw)
  To: Kirill A. Korinsky; +Cc: 50534

On Mon, Sep 13, 2021 at 08:52:56PM +0200, Kirill A. Korinsky wrote:
> on which version should I test it?

Unpatched. The patches don't actually fix anything, so forget about
them. The problem must be elsewhere.
-- 
Alan Third





^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-13 18:54                       ` Alan Third
@ 2021-09-13 18:57                         ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-09-13 19:11                           ` Alan Third
  0 siblings, 1 reply; 30+ messages in thread
From: Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-09-13 18:57 UTC (permalink / raw)
  To: Alan Third; +Cc: 50534


[-- Attachment #1.1: Type: text/plain, Size: 345 bytes --]

Nope, toolbar exists

--
wbr, Kirill

> On 13. Sep 2021, at 20:54, Alan Third <alan@idiocy.org> wrote:
> 
> On Mon, Sep 13, 2021 at 08:52:56PM +0200, Kirill A. Korinsky wrote:
>> on which version should I test it?
> 
> Unpatched. The patches don't actually fix anything, so forget about
> them. The problem must be elsewhere.
> --
> Alan Third


[-- Attachment #1.2: Type: text/html, Size: 1388 bytes --]

[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-13 18:57                         ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-09-13 19:11                           ` Alan Third
  2021-09-13 20:42                             ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 30+ messages in thread
From: Alan Third @ 2021-09-13 19:11 UTC (permalink / raw)
  To: Kirill A. Korinsky; +Cc: 50534

[-- Attachment #1: Type: text/plain, Size: 206 bytes --]

On Mon, Sep 13, 2021 at 08:57:12PM +0200, Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors wrote:
> Nope, toolbar exists

Please try the attached patch.
-- 
Alan Third

[-- Attachment #2: v3-0001-Fix-incorrectly-appearing-toolbar-on-NS-bug-50534.patch --]
[-- Type: text/x-diff, Size: 843 bytes --]

From 17c5fbeca65de70e471a532ced3aead96468eaef Mon Sep 17 00:00:00 2001
From: Alan Third <alan@idiocy.org>
Date: Mon, 13 Sep 2021 20:09:22 +0100
Subject: [PATCH v3] Fix incorrectly appearing toolbar on NS (bug#50534)

* src/nsmenu.m (update_frame_tool_bar): Ensure both sides of the test
are booleans.
---
 src/nsmenu.m | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/nsmenu.m b/src/nsmenu.m
index 0d0b2f60c9..947c8368ed 100644
--- a/src/nsmenu.m
+++ b/src/nsmenu.m
@@ -1090,7 +1090,7 @@ - (void)menu:(NSMenu *)menu willHighlightItem:(NSMenuItem *)item
 #undef TOOLPROP
     }
 
-  if ([toolbar isVisible] != FRAME_EXTERNAL_TOOL_BAR (f))
+  if (![toolbar isVisible] != !FRAME_EXTERNAL_TOOL_BAR (f))
     {
       f->output_data.ns->in_animation = 1;
       [toolbar setVisible: FRAME_EXTERNAL_TOOL_BAR (f)];
-- 
2.30.2


^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-13 19:11                           ` Alan Third
@ 2021-09-13 20:42                             ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-09-13 22:21                               ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 30+ messages in thread
From: Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-09-13 20:42 UTC (permalink / raw)
  To: Alan Third; +Cc: 50534


[-- Attachment #1.1: Type: text/plain, Size: 391 bytes --]

Same.

--
wbr, Kirill

> On 13. Sep 2021, at 21:11, Alan Third <alan@idiocy.org> wrote:
> 
> On Mon, Sep 13, 2021 at 08:57:12PM +0200, Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors wrote:
>> Nope, toolbar exists
> 
> Please try the attached patch.
> --
> Alan Third
> <v3-0001-Fix-incorrectly-appearing-toolbar-on-NS-bug-50534.patch>


[-- Attachment #1.2: Type: text/html, Size: 1463 bytes --]

[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-13 20:42                             ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-09-13 22:21                               ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-09-13 23:25                                 ` Alan Third
  0 siblings, 1 reply; 30+ messages in thread
From: Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-09-13 22:21 UTC (permalink / raw)
  To: Alan Third; +Cc: 50534


[-- Attachment #1.1: Type: text/plain, Size: 880 bytes --]

Maybe it can be for some use.

I've attached the minimal patch which fixed issue for me.

This patch reverted some of your changes.

Because when I move to full screen => toolbar is dissapear, I feel that the root cause is replacing layoutSublayersOfLayer to layout.

Anyway, I don't know quartz and I can't minimize it future.

--
wbr, Kirill



> On 13. Sep 2021, at 22:42, Kirill A. Korinsky <kirill@korins.ky> wrote:
> 
> Same.
> 
> --
> wbr, Kirill
> 
>> On 13. Sep 2021, at 21:11, Alan Third <alan@idiocy.org <mailto:alan@idiocy.org>> wrote:
>> 
>> On Mon, Sep 13, 2021 at 08:57:12PM +0200, Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors wrote:
>>> Nope, toolbar exists
>> 
>> Please try the attached patch.
>> --
>> Alan Third
>> <v3-0001-Fix-incorrectly-appearing-toolbar-on-NS-bug-50534.patch>
> 


[-- Attachment #1.2.1: Type: text/html, Size: 1289 bytes --]

[-- Attachment #1.2.2: worckaround-bug-50534.diff --]
[-- Type: application/octet-stream, Size: 5318 bytes --]

index 8d88f7bd3d..2ee502fa99 100644
--- src/nsterm.m
+++ src/nsterm.m
@@ -6956,6 +6956,43 @@ - (NSSize)windowWillResize: (NSWindow *)sender toSize: (NSSize)frameSize
 }


+- (void)windowDidResize: (NSNotification *)notification
+{
+  NSTRACE ("[EmacsView windowDidResize:]");
+  if (!FRAME_LIVE_P (emacsframe))
+    {
+      NSTRACE_MSG ("Ignored (frame dead)");
+      return;
+    }
+  if (emacsframe->output_data.ns->in_animation)
+    {
+      NSTRACE_MSG ("Ignored (in animation)");
+      return;
+    }
+
+  if (! [self fsIsNative])
+    {
+      NSWindow *theWindow = [notification object];
+      /* We can get notification on the non-FS window when in
+         fullscreen mode.  */
+      if ([self window] != theWindow) return;
+    }
+
+  NSTRACE_RECT ("frame", [[notification object] frame]);
+
+#ifdef NS_IMPL_GNUSTEP
+  NSWindow *theWindow = [notification object];
+
+   /* In GNUstep, at least currently, it's possible to get a didResize
+      without getting a willResize, therefore we need to act as if we got
+      the willResize now.  */
+  NSSize sz = [theWindow frame].size;
+  sz = [self windowWillResize: theWindow toSize: sz];
+#endif /* NS_IMPL_GNUSTEP */
+
+  ns_send_appdefined (-1);
+}
+
 #ifdef NS_IMPL_COCOA
 - (void)viewDidEndLiveResize
 {
@@ -6973,30 +7010,38 @@ - (void)viewDidEndLiveResize
 #endif /* NS_IMPL_COCOA */


-- (void)resizeWithOldSuperviewSize: (NSSize)oldSize
+- (void)viewDidResize:(NSNotification *)notification
 {
-  NSRect frame;
-  int width, height;
-
-  NSTRACE ("[EmacsView resizeWithOldSuperviewSize:]");
-
-  [super resizeWithOldSuperviewSize:oldSize];
+  NSRect frame = [self frame];
+  int neww, newh, oldw, oldh;

   if (! FRAME_LIVE_P (emacsframe))
     return;

-  frame = [self frame];
-  width = (int)NSWidth (frame);
-  height = (int)NSHeight (frame);
+  NSTRACE ("[EmacsView viewDidResize]");
+
+  neww = (int)NSWidth (frame);
+  newh = (int)NSHeight (frame);
+  oldw = FRAME_PIXEL_WIDTH (emacsframe);
+  oldh = FRAME_PIXEL_HEIGHT (emacsframe);

-  NSTRACE_SIZE ("New size", NSMakeSize (width, height));
-  NSTRACE_SIZE ("Original size", size);
+  /* Don't want to do anything when the view size hasn't changed. */
+  if (emacsframe->new_size_p
+      ? (newh == emacsframe->new_height
+         && neww == emacsframe->new_width)
+      : (oldh == newh && oldw == neww))
+    {
+      NSTRACE_MSG ("No change");
+      return;
+    }

-  change_frame_size (emacsframe, width, height, false, YES, false);
+  NSTRACE_SIZE ("New size", NSMakeSize (neww, newh));
+  NSTRACE_SIZE ("Original size", NSMakeSize (oldw, oldh));
+
+  change_frame_size (emacsframe, neww, newh, false, YES, false);

   SET_FRAME_GARBAGED (emacsframe);
   cancel_mouse_face (emacsframe);
-  ns_send_appdefined (-1);
 }


@@ -7132,7 +7177,7 @@ - (instancetype) initFrameFromEmacs: (struct frame *)f
   /* These settings mean AppKit will retain the contents of the frame
      on resize.  Unfortunately it also means the frame will not be
      automatically marked for display, but we can do that ourselves in
-     resizeWithOldSuperviewSize.  */
+     viewDidResize.  */
   [self setWantsLayer:YES];
   [self setLayerContentsRedrawPolicy:
           NSViewLayerContentsRedrawOnSetNeedsDisplay];
@@ -7152,6 +7197,13 @@ - (instancetype) initFrameFromEmacs: (struct frame *)f
   [NSApp registerServicesMenuSendTypes: ns_send_types
                            returnTypes: [NSArray array]];

+  /* Set up view resize notifications.  */
+  [self setPostsFrameChangedNotifications:YES];
+  [[NSNotificationCenter defaultCenter]
+      addObserver:self
+         selector:@selector (viewDidResize:)
+             name:NSViewFrameDidChangeNotification object:nil];
+
   ns_window_num++;
   return self;
 }
@@ -7938,28 +7990,24 @@ - (void)copyRect:(NSRect)srcRect to:(NSRect)dstRect
    redisplay before drawing.

    This used to be done in viewWillDraw, but with the custom layer
-   that method is not called.  We cannot call redisplay directly from
-   [NSView layout], because it may trigger another round of layout by
-   changing the frame size and recursive layout calls are banned.  It
-   appears to be safe to call redisplay here.  */
-- (void)layoutSublayersOfLayer:(CALayer *)layer
-{
-  if (!redisplaying_p && FRAME_GARBAGED_P (emacsframe))
-    {
-      /* If there is IO going on when redisplay is run here Emacs
-         crashes.  I think it's because this code will always be run
-         within the run loop and for whatever reason processing input
-         is dangerous.  This technique was stolen wholesale from
-         nsmenu.m and seems to work.  */
-      bool owfi = waiting_for_input;
-      waiting_for_input = 0;
-      block_input ();
+   that method is not called.  */
+- (void)layout
+{
+  [super layout];
+
+  /* If there is IO going on when redisplay is run here Emacs
+     crashes.  I think it's because this code will always be run
+     within the run loop and for whatever reason processing input
+     is dangerous.  This technique was stolen wholesale from
+     nsmenu.m and seems to work.  */
+  bool owfi = waiting_for_input;
+  waiting_for_input = 0;
+  block_input ();

-      redisplay ();
+  redisplay ();

-      unblock_input ();
-      waiting_for_input = owfi;
-    }
+  unblock_input ();
+  waiting_for_input = owfi;
 }
 #endif

[-- Attachment #1.2.3: Type: text/html, Size: 1960 bytes --]

[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-13 22:21                               ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-09-13 23:25                                 ` Alan Third
  2021-09-14  0:05                                   ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 30+ messages in thread
From: Alan Third @ 2021-09-13 23:25 UTC (permalink / raw)
  To: Kirill A. Korinsky; +Cc: 50534

[-- Attachment #1: Type: text/plain, Size: 1007 bytes --]

On Tue, Sep 14, 2021 at 12:21:27AM +0200, Kirill A. Korinsky wrote:
> Maybe it can be for some use.
> 
> I've attached the minimal patch which fixed issue for me.
> 
> This patch reverted some of your changes.
> 
> Because when I move to full screen => toolbar is dissapear, I feel that the root cause is replacing layoutSublayersOfLayer to layout.
> 
> Anyway, I don't know quartz and I can't minimize it future.

It has to be a timing issue. None of the code you're changing touches
the toolbar or its visibility, directly or indirectly, so any change
there can only be altering when various pieces of code are called.

Changing to and from fullscreen explicitly resets the toolbar's
visibility.

I think what we probably want to do is default the toolbar to
non-visible when it's created (at the moment it's using the default,
which I suspect is visible), and then rely on the fact that
update_frame_tool_bar is always called when it should be visible to
turn it back on.

Patch attached.
-- 
Alan Third

[-- Attachment #2: v4-0001-Fix-incorrectly-appearing-toolbar-on-NS-bug-50534.patch --]
[-- Type: text/x-diff, Size: 1612 bytes --]

From 86f1c66b9237bd9cb094d3b77aa0907114c2f2dc Mon Sep 17 00:00:00 2001
From: Alan Third <alan@idiocy.org>
Date: Mon, 13 Sep 2021 20:09:22 +0100
Subject: [PATCH v4] Fix incorrectly appearing toolbar on NS (bug#50534)

* src/nsmenu.m (update_frame_tool_bar): Ensure both sides of the test
are booleans.
* src/nsterm.m ([EmacsWindow createToolbar:]): Make the toolbar
non-visible initially, in case things get out of sync.  Remove call to
update_frame_tool_bar: the window isn't yet associated with the view,
so it will return immediately.
---
 src/nsmenu.m | 2 +-
 src/nsterm.m | 3 +--
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/nsmenu.m b/src/nsmenu.m
index 0d0b2f60c9..947c8368ed 100644
--- a/src/nsmenu.m
+++ b/src/nsmenu.m
@@ -1090,7 +1090,7 @@ - (void)menu:(NSMenu *)menu willHighlightItem:(NSMenuItem *)item
 #undef TOOLPROP
     }
 
-  if ([toolbar isVisible] != FRAME_EXTERNAL_TOOL_BAR (f))
+  if (![toolbar isVisible] != !FRAME_EXTERNAL_TOOL_BAR (f))
     {
       f->output_data.ns->in_animation = 1;
       [toolbar setVisible: FRAME_EXTERNAL_TOOL_BAR (f)];
diff --git a/src/nsterm.m b/src/nsterm.m
index f8b8c1e574..33850544b0 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -8253,10 +8253,9 @@ - (void)createToolbar: (struct frame *)f
   EmacsToolbar *toolbar = [[EmacsToolbar alloc]
                             initForView:view
                             withIdentifier:[NSString stringWithLispString:f->name]];
+  [toolbar setVisible:NO];
   [self setToolbar:toolbar];
 
-  update_frame_tool_bar (f);
-
 #ifdef NS_IMPL_COCOA
   {
     NSButton *toggleButton;
-- 
2.30.2


^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-13 23:25                                 ` Alan Third
@ 2021-09-14  0:05                                   ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-09-14  9:21                                     ` Alan Third
  0 siblings, 1 reply; 30+ messages in thread
From: Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-09-14  0:05 UTC (permalink / raw)
  To: Alan Third; +Cc: 50534


[-- Attachment #1.1: Type: text/plain, Size: 1266 bytes --]

and it works!

Thanks!

--
wbr, Kirill

> On 14. Sep 2021, at 01:25, Alan Third <alan@idiocy.org> wrote:
> 
> On Tue, Sep 14, 2021 at 12:21:27AM +0200, Kirill A. Korinsky wrote:
>> Maybe it can be for some use.
>> 
>> I've attached the minimal patch which fixed issue for me.
>> 
>> This patch reverted some of your changes.
>> 
>> Because when I move to full screen => toolbar is dissapear, I feel that the root cause is replacing layoutSublayersOfLayer to layout.
>> 
>> Anyway, I don't know quartz and I can't minimize it future.
> 
> It has to be a timing issue. None of the code you're changing touches
> the toolbar or its visibility, directly or indirectly, so any change
> there can only be altering when various pieces of code are called.
> 
> Changing to and from fullscreen explicitly resets the toolbar's
> visibility.
> 
> I think what we probably want to do is default the toolbar to
> non-visible when it's created (at the moment it's using the default,
> which I suspect is visible), and then rely on the fact that
> update_frame_tool_bar is always called when it should be visible to
> turn it back on.
> 
> Patch attached.
> --
> Alan Third
> <v4-0001-Fix-incorrectly-appearing-toolbar-on-NS-bug-50534.patch>


[-- Attachment #1.2: Type: text/html, Size: 2596 bytes --]

[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-14  0:05                                   ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-09-14  9:21                                     ` Alan Third
  2021-09-14 11:26                                       ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 30+ messages in thread
From: Alan Third @ 2021-09-14  9:21 UTC (permalink / raw)
  To: Kirill A. Korinsky; +Cc: 50534

package emacs
user emacs
usertag 50534 + ns
close 50534 28.0
thankyou

On Tue, Sep 14, 2021 at 02:05:37AM +0200, Kirill A. Korinsky wrote:
> and it works!

Thanks, I've it pushed to master.
-- 
Alan Third





^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-14  9:21                                     ` Alan Third
@ 2021-09-14 11:26                                       ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-09-14 12:13                                         ` Alan Third
  2021-09-14 16:07                                         ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 2 replies; 30+ messages in thread
From: Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-09-14 11:26 UTC (permalink / raw)
  To: Alan Third; +Cc: 50534


[-- Attachment #1.1: Type: text/plain, Size: 421 bytes --]

I have one bad news: it still exists but less often.

I can reproduce it one time in 10 starts of my emacs.

--
wbr, Kirill

> On 14. Sep 2021, at 11:21, Alan Third <alan@idiocy.org> wrote:
> 
> package emacs
> user emacs
> usertag 50534 + ns
> close 50534 28.0
> thankyou
> 
> On Tue, Sep 14, 2021 at 02:05:37AM +0200, Kirill A. Korinsky wrote:
>> and it works!
> 
> Thanks, I've it pushed to master.
> --
> Alan Third


[-- Attachment #1.2: Type: text/html, Size: 1596 bytes --]

[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-14 11:26                                       ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-09-14 12:13                                         ` Alan Third
  2021-09-14 12:54                                           ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-09-14 14:17                                           ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-09-14 16:07                                         ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 2 replies; 30+ messages in thread
From: Alan Third @ 2021-09-14 12:13 UTC (permalink / raw)
  To: Kirill A. Korinsky; +Cc: 50534

[-- Attachment #1: Type: text/plain, Size: 776 bytes --]

On Tue, Sep 14, 2021 at 01:26:44PM +0200, Kirill A. Korinsky wrote:
> I have one bad news: it still exists but less often.
> 
> I can reproduce it one time in 10 starts of my emacs.

The *only* place that should modify FRAME_EXTERNAL_TOOL_BAR is
ns_set_tool_bar_lines, which should be called *every time* the number
of lines is changed.

It would be nice to know what the value of FRAME_EXTERNAL_TOOL_BAR and
tool-bar-lines are when the toolbar is wrongly visible, because I
can't find a single location in the code that sets the visibility
without first checking FRAME_EXTERNAL_TOOL_BAR, and it should *always*
be set by ns_set_tool_bar_lines.

*sigh* I've no idea.

Attached is the nuclear option. If this doesn't work then
FRAME_EXTERNAL_TOOL_BAR is wrong.

-- 
Alan Third

[-- Attachment #2: 0001-A-further-fix-for-toolbar-visibility-problems-on-mac.patch --]
[-- Type: text/x-diff, Size: 1222 bytes --]

From 5a652de0e955185fafdad3b2aa886c0fdf48e679 Mon Sep 17 00:00:00 2001
From: Alan Third <alan@idiocy.org>
Date: Tue, 14 Sep 2021 13:03:37 +0100
Subject: [PATCH] A further fix for toolbar visibility problems on macOS
 (bug#50534)

* src/nsterm.m (ns_update_begin): Ensure the toolbar's visibility is
set correctly.
---
 src/nsterm.m | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/src/nsterm.m b/src/nsterm.m
index 33850544b0..14dc6573b8 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -1034,16 +1034,14 @@ static NSRect constrain_frame_rect(NSRect frameRect, bool isFullscreen)
 
   ns_update_auto_hide_menu_bar ();
 
-#ifdef NS_IMPL_COCOA
-  if ([view isFullscreen] && [view fsIsNative])
+  NSToolbar *toolbar = [[FRAME_NS_VIEW (f) window] toolbar];
+  if (toolbar)
   {
-    // Fix reappearing tool bar in fullscreen for Mac OS X 10.7
+    /* Ensure the toolbars visibility is set correctly.  */
     BOOL tbar_visible = FRAME_EXTERNAL_TOOL_BAR (f) ? YES : NO;
-    NSToolbar *toolbar = [[FRAME_NS_VIEW (f) window] toolbar];
     if (! tbar_visible != ! [toolbar isVisible])
       [toolbar setVisible: tbar_visible];
   }
-#endif
 
   ns_updating_frame = f;
   [view lockFocus];
-- 
2.30.2


^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-14 12:13                                         ` Alan Third
@ 2021-09-14 12:54                                           ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-09-14 14:17                                           ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 0 replies; 30+ messages in thread
From: Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-09-14 12:54 UTC (permalink / raw)
  To: Alan Third; +Cc: 50534


[-- Attachment #1.1: Type: text/plain, Size: 1226 bytes --]

Hey,

I haven't yet tested your last patch.

Right now I'm on 1e83d04214f27a79a4d4841772da946e24cbf21d as local root and it starts to have wired visual things like that:


Before your last patches everything was fine.

--
wbr, Kirill

> On 14. Sep 2021, at 14:13, Alan Third <alan@idiocy.org> wrote:
> 
> On Tue, Sep 14, 2021 at 01:26:44PM +0200, Kirill A. Korinsky wrote:
>> I have one bad news: it still exists but less often.
>> 
>> I can reproduce it one time in 10 starts of my emacs.
> 
> The *only* place that should modify FRAME_EXTERNAL_TOOL_BAR is
> ns_set_tool_bar_lines, which should be called *every time* the number
> of lines is changed.
> 
> It would be nice to know what the value of FRAME_EXTERNAL_TOOL_BAR and
> tool-bar-lines are when the toolbar is wrongly visible, because I
> can't find a single location in the code that sets the visibility
> without first checking FRAME_EXTERNAL_TOOL_BAR, and it should *always*
> be set by ns_set_tool_bar_lines.
> 
> *sigh* I've no idea.
> 
> Attached is the nuclear option. If this doesn't work then
> FRAME_EXTERNAL_TOOL_BAR is wrong.
> 
> --
> Alan Third
> <0001-A-further-fix-for-toolbar-visibility-problems-on-mac.patch>


[-- Attachment #1.2.1: Type: text/html, Size: 2838 bytes --]

[-- Attachment #1.2.2: Screenshot 2021-09-14 at 14.52.33.png --]
[-- Type: image/png, Size: 15607 bytes --]

[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-14 12:13                                         ` Alan Third
  2021-09-14 12:54                                           ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-09-14 14:17                                           ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-09-14 14:35                                             ` Alan Third
  1 sibling, 1 reply; 30+ messages in thread
From: Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-09-14 14:17 UTC (permalink / raw)
  To: Alan Third; +Cc: 50534


[-- Attachment #1.1: Type: text/plain, Size: 1047 bytes --]

Hey,

I can't broke the nuclear option anymore.

Seems it fixing everything.

--
wbr, Kirill

> On 14. Sep 2021, at 14:13, Alan Third <alan@idiocy.org> wrote:
> 
> On Tue, Sep 14, 2021 at 01:26:44PM +0200, Kirill A. Korinsky wrote:
>> I have one bad news: it still exists but less often.
>> 
>> I can reproduce it one time in 10 starts of my emacs.
> 
> The *only* place that should modify FRAME_EXTERNAL_TOOL_BAR is
> ns_set_tool_bar_lines, which should be called *every time* the number
> of lines is changed.
> 
> It would be nice to know what the value of FRAME_EXTERNAL_TOOL_BAR and
> tool-bar-lines are when the toolbar is wrongly visible, because I
> can't find a single location in the code that sets the visibility
> without first checking FRAME_EXTERNAL_TOOL_BAR, and it should *always*
> be set by ns_set_tool_bar_lines.
> 
> *sigh* I've no idea.
> 
> Attached is the nuclear option. If this doesn't work then
> FRAME_EXTERNAL_TOOL_BAR is wrong.
> 
> --
> Alan Third
> <0001-A-further-fix-for-toolbar-visibility-problems-on-mac.patch>


[-- Attachment #1.2: Type: text/html, Size: 2406 bytes --]

[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-14 14:17                                           ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-09-14 14:35                                             ` Alan Third
  2021-09-14 14:43                                               ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-09-17 17:26                                               ` Alan Third
  0 siblings, 2 replies; 30+ messages in thread
From: Alan Third @ 2021-09-14 14:35 UTC (permalink / raw)
  To: Kirill A. Korinsky; +Cc: 50534

On Tue, Sep 14, 2021 at 04:17:15PM +0200, Kirill A. Korinsky wrote:
> Hey,
> 
> I can't broke the nuclear option anymore.
> 
> Seems it fixing everything.

Thanks, I'll push it to master.

-- 
Alan Third





^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-14 14:35                                             ` Alan Third
@ 2021-09-14 14:43                                               ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-09-17 17:26                                               ` Alan Third
  1 sibling, 0 replies; 30+ messages in thread
From: Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-09-14 14:43 UTC (permalink / raw)
  To: Alan Third; +Cc: 50534


[-- Attachment #1.1: Type: text/plain, Size: 639 bytes --]

regarding my last screenshot.

I found a way to reproduce it. When I create a new frame via `New Frame` from menu inside Dock => it brokes lines inside emacs.



After I've working with emacs for a while. A while mean 30-40 minutes or more with active switching between frames and virtual screen on macOS.


--
wbr, Kirill

> On 14. Sep 2021, at 16:35, Alan Third <alan@idiocy.org> wrote:
> 
> On Tue, Sep 14, 2021 at 04:17:15PM +0200, Kirill A. Korinsky wrote:
>> Hey,
>> 
>> I can't broke the nuclear option anymore.
>> 
>> Seems it fixing everything.
> 
> Thanks, I'll push it to master.
> 
> --
> Alan Third


[-- Attachment #1.2.1: Type: text/html, Size: 1995 bytes --]

[-- Attachment #1.2.2: Screenshot 2021-09-14 at 16.41.28.png --]
[-- Type: image/png, Size: 15718 bytes --]

[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-14 11:26                                       ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-09-14 12:13                                         ` Alan Third
@ 2021-09-14 16:07                                         ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 0 replies; 30+ messages in thread
From: Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-09-14 16:07 UTC (permalink / raw)
  To: Kirill A. Korinsky, Alan Third; +Cc: 50534

"Kirill A. Korinsky" via "Bug reports for GNU Emacs, the Swiss 
army knife of text editors" <bug-gnu-emacs@gnu.org> writes:

> I have one bad news: it still exists but less often.  I can 
> reproduce it one time in 10 starts of my emacs.

FYI:

I observe the bug on my Mac as well. When I execute M-x and 
tool-bar-mode, it says "Tool-bar mode enabled" or "Tool-bar mode 
disabled", but no matter what the message says, the tool bar does 
its own thing. Sometimes, Emacs says "Tool-bar mode enabled", and 
the tool bar hides. Other times, the opposite happens, or the 
command does nothing at all, despite Emacs saying that it enabled 
or disabled the tool bar. Chaos!

I observe the above on Emacs 28 from master, commit 
0934363c96ff774ce242b51529688bbfbb48ba02, which includes 
1e83d04214 * Fix incorrectly appearing toolbar on NS (bug#50534).

R+
-- 
"Contrariwise," continued Tweedledee, "if it was so, it might be; 
and if it were so, it would be; but as it isn't, it ain't. That's 
logic." -- Lewis Carroll, Through the Looking Glass  Rudolf 
Adamkovič <salutis@me.com> Studenohorská 25 84103 Bratislava 
Slovakia  [he/him]





^ permalink raw reply	[flat|nested] 30+ messages in thread

* bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS
  2021-09-14 14:35                                             ` Alan Third
  2021-09-14 14:43                                               ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-09-17 17:26                                               ` Alan Third
  1 sibling, 0 replies; 30+ messages in thread
From: Alan Third @ 2021-09-17 17:26 UTC (permalink / raw)
  To: Kirill A. Korinsky, 50534

On Tue, Sep 14, 2021 at 03:35:57PM +0100, Alan Third wrote:
> On Tue, Sep 14, 2021 at 04:17:15PM +0200, Kirill A. Korinsky wrote:
> > Hey,
> > 
> > I can't broke the nuclear option anymore.
> > 
> > Seems it fixing everything.
> 
> Thanks, I'll push it to master.

This last patch breaks toolbar display on my Mac.

I think probably the best option is to change the toolbar handling so
it actually just removes the toolbar when we don't want to display it.
I really don't understand why the NS port goes to great lengths to
hide it. If we remove it then it can never be displayed when it
shouldn't be, and if it's attached to the window then it should always
be displayed, so we don't have to concern ourselves with making sure
the settings match after the window is resized or whatever.
-- 
Alan Third





^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2021-09-17 17:26 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-12  0:29 bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
     [not found] ` <handler.50534.B.16314065846903.ack@debbugs.gnu.org>
2021-09-12  9:25   ` bug#50534: Acknowledgement (28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS) Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-09-12 11:48 ` bug#50534: 28.0.50; Toolbar shows despite tool-bar-mode being disabled on macOS Alan Third
2021-09-12 12:54   ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-09-12 15:33     ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-09-12 15:44     ` Alan Third
2021-09-12 16:40       ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-09-12 19:43         ` Alan Third
2021-09-12 19:52           ` Alan Third
2021-09-12 20:14             ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-09-12 20:35               ` Alan Third
2021-09-12 21:02                 ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-09-13 18:44                   ` Alan Third
2021-09-13 18:52                     ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-09-13 18:54                       ` Alan Third
2021-09-13 18:57                         ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-09-13 19:11                           ` Alan Third
2021-09-13 20:42                             ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-09-13 22:21                               ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-09-13 23:25                                 ` Alan Third
2021-09-14  0:05                                   ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-09-14  9:21                                     ` Alan Third
2021-09-14 11:26                                       ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-09-14 12:13                                         ` Alan Third
2021-09-14 12:54                                           ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-09-14 14:17                                           ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-09-14 14:35                                             ` Alan Third
2021-09-14 14:43                                               ` Kirill A. Korinsky via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-09-17 17:26                                               ` Alan Third
2021-09-14 16:07                                         ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors

Code repositories for project(s) associated with this 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 NNTP newsgroup(s).