Commit Graph

22679 Commits

Author SHA1 Message Date
Yee Cheng Chin ee71f9398a MacVim Snapshot 167
Updated to Vim 8.2.2127.

*Note*: This release doesn't natively support Apple Silicon / M1 yet, but
does work under Rosetta. See below.

Features
====================

Big Sur / macOS 11
--------------------

- MacVim now has an updated app icon (#1054), and preference pane / toolbars
  have been updated to match Big Sur's interface guidelines. (#1128)
- Fixed Touch Bar warnings when launching MacVim from the terminal.
  #1114
- SF Symbol characters will show up properly as double-width as most of
  these icons would take up more than one column. Note that these
  characters are specific to macOS and would not work in other
  platforms. #1129

Renderer / scrolling performance improvements
--------------------

The Core Text renderer has been rewritten and is now much faster!
Scrolling should not stutter and lag like before and generally it should
feel a lot smoother now. Thanks to Sidney San Martín (@s4y) for the
contribution. #858

With this change, the non-Core-Text renderer is now considered
deprecated. The old renderer is accessible either through the Preference
Pane (under Advanced) or by setting the defaults "MMRenderer" to 0. It
works for now, but it will be removed in a future update as it has known
bugs.

Menu Localization
--------------------

Menus are now localized, see `:h langmenu` for how Vim menu localization
works. You can use `set langmenu=none` to turn it off if you would like. #1099

There still exists a few menu items that are not localized, and the
general MacVim GUI is not localized as well. If you would like to help,
please use #1102 to coordinate with MacVim dev team.

Getting help / Help menu
--------------------

- Help menu's search bar now searches Vim documentation as well! See
  #1095.
- Vimtutor is now bundled with MacVim, and you can access vimtutor from
  the Help menu (#1096). There is also a link to the latest release
  notes as well (#1131).

General
====================

- This release does not contain a native universal app for Apple Silicon
  / M1 Macs yet. The release binary will still work under Rosetta, which
  should provide enough performance, but if you use Python/etc plugins,
  you need to make sure you have x86 versions of Python/etc installed
  (which is still the default for Homebrew as of this release).

  MacVim is buildable under Apple Silicon, so if you need a native
  binary, you could build it yourself by downloading the source from the
  Github repository. See #1136 for progress on releasing a universal app
  for Apple Silicon.

- MacVim has enabled the Github Discussions feature, which serves as a
  good spot for general discussions and questions. See
  https://github.com/macvim-dev/macvim/discussions/1130 and check it
  out!

Fixes
====================

- Launching MacVim from the Dock with locales that use "," for decimal
  separators now works correctly. #11 (Vim 8.2.1738)
- `WinBar` menus (which are used by plugins like vimspector) now work
  properly and don't create dummy menu items. #918
- Using `:browse tabnew` no longer crashes MacVim in terminal mode.
  #1107 (Vim 8.2.1842)

Misc
====================

- Scripting languages versions:
    - Python is now built against 3.9, up from 3.8.
    - Lua is now built against 5.4, up from 5.3.

Compatibility
====================

Requires macOS 10.9 or above.

Script interfaces have compatibility with these versions:

- Lua 5.4
- Perl 5.18
- Python2 2.7
- Python3 3.9
- Ruby 2.7
snapshot-167
2020-12-11 01:12:57 -08:00
Yee Cheng Chin 80d9c39665 Merge remote-tracking branch 'vim/master' 2020-12-10 23:36:56 -08:00
Bram Moolenaar 1b884a0053 Update runtime files. 2020-12-10 21:11:27 +01:00
Bram Moolenaar 70249ee831 patch 8.2.2127: Vim9: executing user command from Vim9 script not tested
Problem:    Vim9: executing user command defined in Vim9 script not tested.
Solution:   Add a test.
2020-12-10 21:01:30 +01:00
Bram Moolenaar 0e12140550 patch 8.2.2126: Ruby: missing function prototype
Problem:    Ruby: missing function prototype.
Solution:   Add the prototype.
2020-12-10 20:50:34 +01:00
Bram Moolenaar 8f1bf2ef78 patch 8.2.2125: Vim9: leaking memory
Problem:    Vim9: leaking memory.
Solution:   Free the saved 'cpo' value.
2020-12-10 20:21:24 +01:00
Bram Moolenaar 08597875b2 patch 8.2.2124: Vim9: a range cannot be computed at runtime
Problem:    Vim9: a range cannot be computed at runtime.
Solution:   Add the ISN_RANGE instruction.
2020-12-10 19:43:40 +01:00
Yee Cheng Chin 520cd8ba59 Merge pull request #1133 from ychin/cleanup-macvim-docs-help-menu-startup
Cleanup MacVim docs
2020-12-09 23:32:49 -08:00
Yee Cheng Chin 6d737d16ac Merge pull request #1134 from ychin/fix-guifontwide-should-redraw
Fix setting `guifontwide` to redraw texts and clear the cache
2020-12-09 23:32:04 -08:00
Yee Cheng Chin b40a0d7096 Cleanup MacVim docs 2020-12-09 23:28:45 -08:00
Yee Cheng Chin 9dda8c0868 Fix setting guifontwide to redraw texts and clear the cache
Previously setting `guifontwide` doesn't do anything for drawn text, and
you have to set a new `guifont` in order for it to clear.
2020-12-09 22:55:27 -08:00
Yee Cheng Chin 10a5c8bbaf Merge pull request #1132 from ychin/macvim-python3.9-libs
Update python3 framework detection to use 3.9
2020-12-09 18:56:58 -08:00
Yee Cheng Chin f6ecba17ec Update python3 framework detection to use 3.9
MacVim's CI build script was already updated to use Python 3.9 from
Homebrew when building, so it would use that automatically, but update
the auto-detection used for MacPorts and binary install support to use
3.9 as well.
2020-12-09 18:50:02 -08:00
Bram Moolenaar d356fc65d2 patch 8.2.2123: after using a complete popup the buffer is listed
Problem:    After using a complete popup the buffer is listed. (Boris
            Staletic)
Solution:   Make the buffer unlisted.
2020-12-09 18:13:44 +01:00
Bram Moolenaar 9ec7026f24 patch 8.2.2122: Vim9: crash when sourcing vim9script early
Problem:    Vim9: crash when sourcing vim9script early.
Solution:   Use set_option_value() instead of setting p_cpo directly.
            (closes #7441)
2020-12-09 17:16:59 +01:00
Bram Moolenaar a7a691cc14 patch 8.2.2121: internal error when using \ze before \zs in a pattern
Problem:    Internal error when using \ze before \zs in a pattern.
Solution:   Check the end is never before the start. (closes #7442)
2020-12-09 16:36:04 +01:00
Bram Moolenaar 730677a0da patch 8.2.2120: not all Perl functionality is tested
Problem:    Not all Perl functionality is tested.
Solution:   Add a few more test cases. (Dominique Pellé, closes #7440)
2020-12-09 16:05:45 +01:00
Bram Moolenaar 7988a6f0e9 patch 8.2.2119: GTK3: status line background color is wrong
Problem:    GTK3: status line background color is wrong.
Solution:   Don't change the code for earlier GTK3 versions. (closes #7444)
2020-12-09 15:53:27 +01:00
Yee Cheng Chin 7ae94089a0 Merge pull request #1131 from ychin/add-release-notes-to-help-menu
Add "Release Notes" to Help menu similar to a lot of other apps
2020-12-09 05:52:09 -08:00
Yee Cheng Chin ccdf468588 Add "Release Notes" to Help menu similar to a lot of other apps
Also add translations for the new entry.
2020-12-09 05:50:42 -08:00
Bram Moolenaar f46bf5204c patch 8.2.2118: dead code in the job support
Problem:    Dead code in the job support. (Dominique Pellé)
Solution:   Define USE_ARGV before checking for it.
2020-12-09 13:16:13 +01:00
Yee Cheng Chin ca847b7d3f Merge pull request #1129 from ychin/sf-symbols-double-width
Make SF Symbols double-width
2020-12-09 04:06:55 -08:00
Yee Cheng Chin 615fa7a79f Merge pull request #1128 from ychin/big-sur-toolbar-style-preference-pane-symbols
macOS 11: SF symbols for preference pane / use the right toolbar styles
2020-12-09 04:03:44 -08:00
Yee Cheng Chin 98da2be102 macOS 11: SF symbols for preference pane / use the right toolbar styles
Use SF symbols (only for macOS 11+ / Big Sur) for preference pane's
toolbar to be consistent with rest of OS. Set toolbar style to be
"preference" as otherwise it defaults to "unified" which is not correct
for a preference pane.

Set toolbar style for main MacVim window to be "unified compact", as the
default "unified" is too larger and not useful for text editing. For
example, Xcode also uses this.
2020-12-09 03:51:52 -08:00
Bram Moolenaar 7bb4e74c38 patch 8.2.2117: some functions use any value as a string
Problem:    Some functions use any value as a string.
Solution:   Check that the value is a non-empty string.
2020-12-09 12:41:50 +01:00
Bram Moolenaar 2c78a772fd patch 8.2.2116: MS-Windows GUI: test for 'guifont' is incomplete
Problem:    MS-Windows GUI: test for 'guifont' is incomplete.
Solution:   Set 'renderoptions'. (Christian Brabandt)
2020-12-09 12:01:03 +01:00
Yee Cheng Chin 066de9d1bf Make SF Symbols double-width
macOS 11 (Big Sur) has added SF Symbols support for the OS. While these
are primarily designed to be used in apps as images, each symbol does
indeed correspond to a Unicode entry and can be used alongside normal
texts in a text editor, similar to how emojis work. Since they tend to
be pretty square in shape, we should treat them as double-width like
emojis.

The Unicode range was extracted by using Apple's SF Symbols app, and
copying out all the symbols and inspecting them. It will likely need to
be updated if Apple adds more symbols in future updates. For now, they
all seem to occupy the low end of Supplementary Private Use Area-B.

Note that these symbols only work when viewed in macOS, and won't work
in other platforms like Linux or Windows. They should probably not be
used in files that need to be shared outside of macOS.
2020-12-09 02:20:08 -08:00
Bram Moolenaar 7257af477b patch 8.2.2115: Vim9: some errors not tested for; dead code
Problem:    Vim9: some errors not tested for; dead code.
Solution:   Add a test.  Remove dead code.
2020-12-08 22:08:51 +01:00
Bram Moolenaar 61265b4000 patch 8.2.2114: Vim9: unreachable code in assignment
Problem:    Vim9: unreachable code in assignment.
Solution:   Remove impossible condition and code.
2020-12-08 21:53:28 +01:00
Bram Moolenaar 1b3e0727ce patch 8.2.2113: MS-Windows GUI: crash after using ":set guifont=" four times
Problem:    MS-Windows GUI: crash after using ":set guifont=" four times.
Solution:   Check for NULL pointer. (Ken Takata, closes #7434)
2020-12-08 21:12:40 +01:00
Bram Moolenaar ac665c24c9 patch 8.2.2112: running tests may leave some files behind
Problem:    Running tests may leave some files behind.
Solution:   Delete the right files.  Fix a few typos. (Dominique Pellé,
            closes #7436
2020-12-08 20:39:15 +01:00
Bram Moolenaar 023fd5d213 patch 8.2.2111: GTK: menu background is the same color as the main window
Problem:    GTK: Menu background is the same color as the main window.
Solution:   Fix white space around the test in another way. (closes #7437,
            closes #7427)
2020-12-08 20:31:16 +01:00
Bram Moolenaar 8e1cbb55c3 patch 8.2.2110: cannot use ":shell" when reading from stdin
Problem:    Cannot use ":shell" when reading from stdin. (Gary Johnson)
Solution:   Revert patch 8.2.1833.
2020-12-08 19:36:21 +01:00
Bram Moolenaar 8a3da6a368 patch 8.2.2109: "vim -" does not work well when modifyOtherKeys is enabled
Problem:    "vim -" does not work well when modifyOtherKeys is enabled and a
            shell command is executed on startup.
Solution:   Only change modifyOtherKeys when executing a shell command in raw
            mode.
2020-12-08 19:18:37 +01:00
Bram Moolenaar 083966f671 patch 8.2.2108: Vim9: no test to check for :let error
Problem:    Vim9: no test to check for :let error.
Solution:   Add a test.  Rename tests from _let_ to _var_.
2020-12-08 11:29:40 +01:00
Bram Moolenaar 8ff16e0183 patch 8.2.2107: Vim9: some errors not tested
Problem:    Vim9: some errors not tested.
Solution:   Add tests.  Fix getting the right error.
2020-12-07 21:49:52 +01:00
Bram Moolenaar b237ae7b83 patch 8.2.2106: TOML files are not recognized
Problem:    TOML files are not recognized.
Solution:   Match *.toml. (issue #7432)
2020-12-07 18:05:02 +01:00
ichizok 60e6568bb5 Merge remote-tracking branch 'vim/master' 2020-12-07 21:55:33 +09:00
Yee Cheng Chin 056df967e3 Merge pull request #1126 from ychin/fix-winbar-menu-off-by-one
Fix WinBar menus in GUI, and off-by-one error when adding new menus
2020-12-07 03:37:20 -08:00
Yee Cheng Chin e6e442913c Merge pull request #1125 from ychin/mark-non-coretext-renderer-deprecated
Fix docs and preferences to indicate non-CoreText renderer is deprecated
2020-12-07 03:37:10 -08:00
Yee Cheng Chin 5e4da5b3ac Fix WinBar menus in GUI, and off-by-one error when adding new menus
Fix WinBar menus to not create menu items in the main menu bar.

Also, fix an off-by-one error when adding new menu items to the main
menu when adding the menus using priorities to insert them in the
middle. This also allowed adding a menu (when using index 0) that goes
before the main "MacVim" app menu which is quite wrong as the app menu
should always be the first one.

Fix #918
2020-12-06 19:57:28 -08:00
Yee Cheng Chin e3e82fb006 Fix docs and preferences to indicate non-CoreText renderer is deprecated
Now that CoreText scrolling performance is fixed with the stateful
renderer we should eventually stop supporting the legacy NSTextView
renderer which doesn't renderer properly and cannot do proper
fixed-width column rendering that Vim uses. Mark it as deprecated for
now but it will be removed in the future.
2020-12-06 19:16:17 -08:00
Bram Moolenaar 7b130b9738 patch 8.2.2105: sound test is a bit flaky
Problem:    Sound test is a bit flaky.
Solution:   Use WaitForAssert(). (Dominique Pellé, closes #7429)
2020-12-06 21:43:44 +01:00
Bram Moolenaar d5a986f460 patch 8.2.2104: build problem with Ruby 2.7
Problem:    Build problem with Ruby 2.7.
Solution:   Adjust function declarations. (Ozaki Kiichi, closes #7430)
2020-12-06 21:11:31 +01:00
Bram Moolenaar 41d6196e30 patch 8.2.2103: Vim9: unreachable code
Problem:    Vim9: unreachable code.
Solution:   Remove the code to prepend s: to the variable name
2020-12-06 20:12:43 +01:00
Bram Moolenaar 5402175815 patch 8.2.2102: Vim9: not all error messages tested
Problem:    Vim9: not all error messages tested.
Solution:   Add a few test cases.
2020-12-06 18:50:36 +01:00
Bram Moolenaar 8bb0f5472c patch 8.2.2101: Vim9: memory leak when literal dict has an error
Problem:    Vim9: memory leak when literal dict has an error and when an
            expression is not complete.
Solution:   Clear the typval and the growarray.
2020-12-06 16:03:55 +01:00
Bram Moolenaar 67322bf74a patch 8.2.2100: insufficient testing for function range and dict
Problem:    Insufficient testing for function range and dict.
Solution:   Add a few tests. (Dominique Pellé, closes #7428)
2020-12-06 15:03:19 +01:00
Bram Moolenaar 918a424917 patch 8.2.2099: Vim9: some checks are not tested
Problem:    Vim9: some checks are not tested.
Solution:   Add a few more tests.  Give better error messages.
2020-12-06 14:37:08 +01:00
Bram Moolenaar 08cf0c0d82 patch 8.2.2098: Vim9: function argument of sort() and map() not tested
Problem:    Vim9: function argument of sort() and map() not tested.
Solution:   Add a couple of tests.
2020-12-05 21:47:06 +01:00