Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No rendering in New tab in MacVim built from source 57b0bab10 #1439

Closed
1 of 7 tasks
al3xandru opened this issue Oct 11, 2023 · 6 comments · Fixed by #1440
Closed
1 of 7 tasks

No rendering in New tab in MacVim built from source 57b0bab10 #1439

al3xandru opened this issue Oct 11, 2023 · 6 comments · Fixed by #1440

Comments

@al3xandru
Copy link

Steps to reproduce

  1. Open a file in a new buffer: tabe [file]
  2. Get an empty window
image 3. Switching between tabs makes them all "empty"

Expected behaviour

Normal vim behavior

Version of Vim and architecture

VIM - Vi IMproved 9.0 (2022 Jun 28, compiled Oct 11 2023 13:00:16) macOS version - arm64 Included patches: 1-1994 Compiled by 5098093a6@202310111259

Environment

macOS 14.0
MacBook Pro M1

Huge version with MacVim GUI. Features included (+) or not (-):
+acl +cscope -gettext +mouseshape +postscript -tag_old_static +visualextra
+arabic +cursorbind -hangul_input +mouse_dec +printer -tag_any_white +vreplace
+autocmd +cursorshape +iconv -mouse_gpm +profile -tcl +wildignore
+autochdir +dialog_con_gui +insert_expand -mouse_jsbterm +python/dyn +termguicolors +wildmenu
-autoservername +diff +ipv6 +mouse_netterm +python3/dyn +terminal +windows
+balloon_eval +digraphs +job +mouse_sgr +quickfix +terminfo +writebackup
+balloon_eval_term +dnd +jumplist -mouse_sysmouse +reltime +termresponse -X11
+browse -ebcdic +keymap +mouse_urxvt +rightleft +textobjects -xattr
++builtin_terms +emacs_tags +lambda +mouse_xterm +ruby/dyn +textprop -xfontset
+byte_offset +eval +langmap +multi_byte +scrollbind +timers +xim
+channel +ex_extra +libcall +multi_lang +signs +title -xpm
+cindent +extra_search +linebreak -mzscheme +smartindent +toolbar -xsmp
+clientserver -farsi +lispindent +netbeans_intg +sodium +transparency -xterm_clipboard
+clipboard +file_in_path +listcmds +num64 +sound +user_commands -xterm_save
+cmdline_compl +find_in_path +localmap +odbeditor +spell +vartabs
+cmdline_hist +float +lua/dyn +packages +startuptime +vertsplit
+cmdline_info +folding +menu +path_extra +statusline +vim9script
+comments -footer +mksession +perl/dyn -sun_workshop +viminfo
+conceal +fork() +modify_fname +persistent_undo +syntax +virtualedit
+cryptv +fullscreen +mouse +popupwin +tag_binary +visual
system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
2nd user vimrc file: "/.vim/vimrc"
user exrc file: "$HOME/.exrc"
system gvimrc file: "$VIM/gvimrc"
user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "
/.vim/gvimrc"
defaults file: "$VIMRUNTIME/defaults.vim"
system menu file: "$VIMRUNTIME/menu.vim"
fall-back for $VIM: "/opt/homebrew/MacVim.app/Contents/Resources/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe -DMACOS_X -DMACOS_X_DARWIN -g -O2 -I/opt/
homebrew/Cellar/libsodium/1.0.18_1/include -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc -L/usr/local/lib -o Vim -lm -lncurses -L/opt/homebrew/Cellar/libsodium/1.0.18_1/lib -lsodium -liconv -framework AppKit

How MacVim was installed

built from source

Logs and stack traces

No response

Vim configuration where issue is reproducable

No response

Issue has been tested with given configuration

  • by running MacVim.app from GUI macOS interface
  • by running vim/gvim/etc installed by MacVim
  • by running other versions of vim (e.g. /usr/bin/vim)

Issue has been tested with no configuration

  • by running mvim --clean (or gvim, supplied by MacVim distribution)
  • by running vim --clean (in terminal, supplied by MacVim distribution)
  • by running vim --clean (in terminal, other suppliers, e.g. /usr/bin/vim)

Other conditions

  • The both Homebrew packages "vim" and "macvim" are installed
@ychin ychin added this to the Release 179 milestone Oct 11, 2023
@ychin
Copy link
Member

ychin commented Oct 11, 2023

Thanks for reporting. From playing with it I think this has to do with Xcode 15 / macOS 14 SDK. I just updated my software and I knew it was too bugfree / seamless to be true :/. I'll take a look.

If you want to build from source, you could use the older macOS 13 SDK from Xcode 14.3.1.

@al3xandru
Copy link
Author

I’m not really an Xcode user and don’t know how to make these changes. I have a Makefile that configures the build and runs it from the terminal.

As a side note I did notice though, that I can’t build anymore on a macOS 13.5.2. Maybe I need to upgrade Xcode but I have no clue yet.

@ychin
Copy link
Member

ychin commented Oct 11, 2023

Ok I just found the issue. It's a clipping change introduced in macOS 14, and should be easy to fix. Should be fixed soon.

As a side note I did notice though, that I can’t build anymore on a macOS 13.5.2. Maybe I need to upgrade Xcode but I have no clue yet.

What do you mean? Can you be more specific? MacVim definitely does build in macOS 13.

@al3xandru
Copy link
Author

Would it be better to create a different issue for that?

@ychin
Copy link
Member

ychin commented Oct 11, 2023

Sure feel free to make an issue

ychin added a commit to ychin/macvim that referenced this issue Oct 12, 2023
macOS 14 now defaults clipsToBounds to false, which works in most places
in MacVim but seems to cause issues with PSMTabBar which relies on
clipping to work. Since we are replacing it soon, simply set
clipsToBounds to true for the control.

Also, fix configure --with-macsdk to work, by updating to use modern
Xcode folder structures and linker flags.

Fix macvim-dev#1439
ychin added a commit to ychin/macvim that referenced this issue Oct 12, 2023
macOS 14 now defaults clipsToBounds to false, which works in most places
in MacVim but seems to cause issues with PSMTabBar which relies on
clipping to work. Since we are replacing it soon, simply set
clipsToBounds to true for the control.

Fix macvim-dev#1439
ychin added a commit to ychin/macvim that referenced this issue Oct 12, 2023
macOS 14 now defaults clipsToBounds to false, which works in most places
in MacVim but seems to cause issues with PSMTabBar which relies on
clipping to work. Since we are replacing it soon, simply set
clipsToBounds to true for the control.

Fix macvim-dev#1439
@al3xandru
Copy link
Author

I can confirm latest build doesn't show this issue anymore. Thank you

derekerdmann added a commit to derekerdmann/homebrew-core that referenced this issue Dec 28, 2023
Backports the upstream fix that will be released with MacVim r179:
macvim-dev/macvim@30afcb7

A change in the default clipping behavior in the macOS 14 SDK causes
MacVim r178 GUI tabs to render over the rest of the editor.

According to macvim-dev/macvim#1439 and macvim-dev/macvim#1461, only
binaries installed from Homebrew are affected since the official
distribution of r178 used the macOS 13 SDK.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants