Skip to content

Conversation

@ychin
Copy link
Member

@ychin ychin commented Sep 24, 2025

MacVim guifont's can be specified by either full PostScript names or family names. Since family names can contain spaces, MacVim allows using underscores to serve as substitute to make it easier for the user to type, and this is similar to how Win32 gVim works.

However, some fonts use underscores in their full PostScript name. For example, Cascadia Code has names like "CascadiaCode-Regular_Light". The previous substitution code always replaced underscores with spaces which caused them to fail to load. Fix the code to only do the underscore-space substitution if the font could not be loaded. Also, fix documentation to be clearer in what MacVim expects as guifont's input.

In retrospect, implicit substitution like this was probably a bad idea when the user could just escape with spaces, but given this has been the behavior for a long time we should just keep it to avoid breaking backwards compatibility.

Fix #1208

@ychin ychin added this to the Release 182 milestone Sep 24, 2025
MacVim guifont's can be specified by either full PostScript names or
family names. Since family names can contain spaces, MacVim allows using
underscores to serve as substitute to make it easier for the user to
type, and this is similar to how Win32 gVim works.

However, some fonts use underscores in their full PostScript name. For
example, Cascadia Code has names like "CascadiaCode-Regular_Light". The
previous substitution code always replaced underscores with spaces which
caused them to fail to load. Fix the code to only do the
underscore-space substitution if the font could not be loaded. Also, fix
documentation to be clearer in what MacVim expects as guifont's input.

In retrospect, implicit substitution like this was probably a bad idea
when the user could just escape with spaces, but given this has been the
behavior for a long time we should just keep it to avoid breaking
backwards compatibility.

Fix macvim-dev#1208
@ychin ychin force-pushed the support-underscore-guifont-name branch from c1e6d6b to 7c179e3 Compare September 24, 2025 06:37
@ychin ychin enabled auto-merge September 24, 2025 06:41
@ychin ychin merged commit 7aa98ee into macvim-dev:master Sep 24, 2025
5 checks passed
@ychin ychin deleted the support-underscore-guifont-name branch September 24, 2025 19:16
ychin added a commit that referenced this pull request Oct 29, 2025
Updated to Vim 9.1.1887

This update is still built against macOS 15 Sequoia, and does not
contain any specific fixes or improvements for macOS 26 Tahoe. That will
come in a future update.

Announcements
====================

Moving macOS 10.13 - 10.15 support to legacy release
--------------------

Currently, MacVim binary releases are available in two versions: a
normal version (macOS 10.13 or above), and a legacy version (macOS
10.9-10.12). Starting next release (r183), the normal version will
require macOS 11 or above (due to Xcode 26 requirements), and macOS
10.13-10.15 users will need to use the legacy version instead. This will
mostly be a transparent change, and the updater will automatically
update to the right version. The legacy version should be almost
identical to said users as they are using older versions of macOS that
can't make use of newer OS features to begin with.

In the future we may remove support for macOS 10.9-10.12 but for now
they are still supported.

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

Better mouse support
--------------------

- Scroll wheels should feel much better to use in MacVim. A small scroll
  is now guaranteed to scroll at least one line, and shift-scrolling
  (horizontal scroll) works correctly now. You can now also turn off
  macOS's scroll wheel acceleration to scroll a fixed amount of lines in
  the "Input" settings pane. #1566
- Mouse buttons 4 and 5 can now be bound to `<X1Mouse>` and `<X2Mouse>`
  in Vim mappings (`:h X1Mouse`). #1534

New Vim Features
====================

- Diff mode improvements
    - Vim diff can now highlight per-character or per-word differences
      within a line. Per-character highlighting is now used by default.
      See `:h diffopt` under "inline". v9.1.1242
    - Diff anchors allow for more explicit controls over how and where
      the diff algorithm aligns text across files (`:h diff-anchors`).
      v9.1.1557
- Lots of auto-completion improvements. Some highlights below:
    - New option: `autocomplete`. Get completion suggestions as you
      type. See `:h ins-autocompletion`. v9.1.1590
    - Fuzzy matching now uses the fzf algorithm. v9.1.1627
    - Popup menu borders can now be styled (`:h pumborder` / `:h
      completepopup`). v9.1.1835 / v9.1.1856
    - Can now specify a custom completion source when using insert-mode
      completion (`:h 'complete'`). v9.1.1301
    - `set completeopt+=nearest` will sort completion items by proximity
      to the cursor. v9.1.1308
    - Command-line completion
        - Search commands like `/` and `:g` can be tab-completed now.
          v9.1.1490 v9.1.1526
        - Commands like `:filetype` and `:highlight` have better
          auto-completion. v9.1.1340 / v9.1.1138
- New vertical tab panel. v9.1.1490
- new bundled optional plugins (use `packadd` to enable them):
    - hlyank (`:h package-hlyank`): Briefly highlight region of last
      yank command
- new commands:
    - `:uniq` (`:h :uniq`): Remove duplicate adjacent lines v9.1.1477

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

- Sparkle (updater for MacVim) is now updated to 2.8.0. #1605

Security Fixes
====================

- Fixed MacVim erroneously setting the get-task-allow entitlement, which
  could allow another user-installed application to inspect it
  (CVE-2025-8597) #1585

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

- Fixed issue where macOS services (available in the "Services" menu)
  could not insert text when not in visual mode. #1571 #1569
- Fixed issue where guifont did not accept PostScript names with
  underscores (e.g. "CascadiaMono-Regular_Light"). #1600
- MacVim now uses the standard `v:colornames` variable for choosing
  highlight colors. #1568
- Vim syntax now understands MacVim-specific function
  `showdefinition()`. #1601

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

Requires macOS 10.9 or above. (10.9 - 10.12 requires downloading a
separate legacy build)

Script interfaces have compatibility with these versions:

- Lua 5.4
- Perl 5.34
- Python2 2.7
- Python3 3.9 or above
- Ruby 3.4
ychin added a commit that referenced this pull request Oct 29, 2025
Updated to Vim 9.1.1887

This update is still built against macOS 15 Sequoia, and does not
contain any specific fixes or improvements for macOS 26 Tahoe. That will
come in a future update.

Announcements
====================

Moving macOS 10.13 - 10.15 support to legacy release
--------------------

Currently, MacVim binary releases are available in two versions: a
normal version (macOS 10.13 or above), and a legacy version (macOS
10.9-10.12). Starting next release (r183), the normal version will
require macOS 11 or above (due to Xcode 26 requirements), and macOS
10.13-10.15 users will need to use the legacy version instead. This will
mostly be a transparent change, and the updater will automatically
update to the right version. The legacy version should be almost
identical to said users as they are using older versions of macOS that
can't make use of newer OS features to begin with.

In the future we may remove support for macOS 10.9-10.12 but for now
they are still supported.

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

Better mouse support
--------------------

- Scroll wheels should feel much better to use in MacVim. A small scroll
  is now guaranteed to scroll at least one line, and shift-scrolling
  (horizontal scroll) works correctly now. You can now also turn off
  macOS's scroll wheel acceleration to scroll a fixed amount of lines in
  the "Input" settings pane. #1566
- Mouse buttons 4 and 5 can now be bound to `<X1Mouse>` and `<X2Mouse>`
  in Vim mappings (`:h X1Mouse`). #1534

New Vim Features
====================

- Diff mode improvements
    - Vim diff can now highlight per-character or per-word differences
      within a line. Per-character highlighting is now used by default.
      See `:h diffopt` under "inline". v9.1.1242
    - Diff anchors allow for more explicit controls over how and where
      the diff algorithm aligns text across files (`:h diff-anchors`).
      v9.1.1557
- Lots of auto-completion improvements. Some highlights below:
    - New option: `autocomplete`. Get completion suggestions as you
      type. See `:h ins-autocompletion`. v9.1.1590
    - Fuzzy matching now uses the fzf algorithm. v9.1.1627
    - Popup menu borders can now be styled (`:h pumborder` / `:h
      completepopup`). v9.1.1835 / v9.1.1856
    - Can now specify a custom completion source when using insert-mode
      completion (`:h 'complete'`). v9.1.1301
    - `set completeopt+=nearest` will sort completion items by proximity
      to the cursor. v9.1.1308
    - Command-line completion
        - Search commands like `/` and `:g` can be tab-completed now.
          v9.1.1490 v9.1.1526
        - Commands like `:filetype` and `:highlight` have better
          auto-completion. v9.1.1340 / v9.1.1138
- New vertical tab panel. v9.1.1490
- new bundled optional plugins (use `packadd` to enable them):
    - hlyank (`:h package-hlyank`): Briefly highlight region of last
      yank command
- new commands:
    - `:uniq` (`:h :uniq`): Remove duplicate adjacent lines v9.1.1477

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

- Sparkle (updater for MacVim) is now updated to 2.8.0. #1605

Security Fixes
====================

- Fixed MacVim erroneously setting the get-task-allow entitlement, which
  could allow another user-installed application to inspect it
  (CVE-2025-8597) #1585

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

- Fixed issue where macOS services (available in the "Services" menu)
  could not insert text when not in visual mode. #1571 #1569
- Fixed issue where guifont did not accept PostScript names with
  underscores (e.g. "CascadiaMono-Regular_Light"). #1600
- MacVim now uses the standard `v:colornames` variable for choosing
  highlight colors. #1568
- Vim syntax now understands MacVim-specific function
  `showdefinition()`. #1601

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

Requires macOS 10.9 or above. (10.9 - 10.12 requires downloading a
separate legacy build)

Script interfaces have compatibility with these versions:

- Lua 5.4
- Perl 5.34
- Python2 2.7
- Python3 3.9 or above
- Ruby 3.4
ychin added a commit that referenced this pull request Oct 29, 2025
Updated to Vim 9.1.1887

This update is still built against macOS 15 Sequoia, and does not
contain any specific fixes or improvements for macOS 26 Tahoe. That will
come in a future update.

Announcements
====================

Moving macOS 10.13 - 10.15 support to legacy release
--------------------

Currently, MacVim binary releases are available in two versions: a
normal version (macOS 10.13 or above), and a legacy version (macOS
10.9-10.12). Starting next release (r183), the normal version will
require macOS 11 or above (due to Xcode 26 requirements), and macOS
10.13-10.15 users will need to use the legacy version instead. This will
mostly be a transparent change, and the updater will automatically
update to the right version. The legacy version should be almost
identical to said users as they are using older versions of macOS that
can't make use of newer OS features to begin with.

In the future we may remove support for macOS 10.9-10.12 but for now
they are still supported.

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

Better mouse support
--------------------

- Scroll wheels should feel much better to use in MacVim. A small scroll
  is now guaranteed to scroll at least one line, and shift-scrolling
  (horizontal scroll) works correctly now. You can now also turn off
  macOS's scroll wheel acceleration to scroll a fixed amount of lines in
  the "Input" settings pane. #1566
- Mouse buttons 4 and 5 can now be bound to `<X1Mouse>` and `<X2Mouse>`
  in Vim mappings (`:h X1Mouse`). #1534

New Vim Features
====================

- Diff mode improvements
    - Vim diff can now highlight per-character or per-word differences
      within a line. Per-character highlighting is now used by default.
      See `:h diffopt` under "inline". v9.1.1242
    - Diff anchors allow for more explicit controls over how and where
      the diff algorithm aligns text across files (`:h diff-anchors`).
      v9.1.1557
- Lots of auto-completion improvements. Some highlights below:
    - New option: `autocomplete`. Get completion suggestions as you
      type. See `:h ins-autocompletion`. v9.1.1590
    - Fuzzy matching now uses the fzf algorithm. v9.1.1627
    - Popup menu borders can now be styled (`:h pumborder` / `:h
      completepopup`). v9.1.1835 / v9.1.1856
    - Can now specify a custom completion source when using insert-mode
      completion (`:h 'complete'`). v9.1.1301
    - `set completeopt+=nearest` will sort completion items by proximity
      to the cursor. v9.1.1308
    - Command-line completion
        - Search commands like `/` and `:g` can be tab-completed now.
          v9.1.1490 v9.1.1526
        - Commands like `:filetype` and `:highlight` have better
          auto-completion. v9.1.1340 / v9.1.1138
- New vertical tab panel. v9.1.1490
- new bundled optional plugins (use `packadd` to enable them):
    - hlyank (`:h package-hlyank`): Briefly highlight region of last
      yank command
- new commands:
    - `:uniq` (`:h :uniq`): Remove duplicate adjacent lines v9.1.1477

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

- Sparkle (updater for MacVim) is now updated to 2.8.0. #1605

Security Fixes
====================

- Fixed MacVim erroneously setting the get-task-allow entitlement, which
  could allow another user-installed application to inspect it
  (CVE-2025-8597) #1585

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

- Fixed issue where macOS services (available in the "Services" menu)
  could not insert text when not in visual mode. #1571 #1569
- Fixed issue where guifont did not accept PostScript names with
  underscores (e.g. "CascadiaMono-Regular_Light"). #1600
- MacVim now uses the standard `v:colornames` variable for choosing
  highlight colors. #1568
- Vim syntax now understands MacVim-specific function
  `showdefinition()`. #1601

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

Requires macOS 10.9 or above. (10.9 - 10.12 requires downloading a
separate legacy build)

Script interfaces have compatibility with these versions:

- Lua 5.4
- Perl 5.34
- Python2 2.7
- Python3 3.9 or above
- Ruby 3.4
ychin added a commit that referenced this pull request Oct 29, 2025
Updated to Vim 9.1.1887

This update is still built against macOS 15 Sequoia, and does not
contain any specific fixes or improvements for macOS 26 Tahoe. That will
come in a future update.

Announcements
====================

Moving macOS 10.13 - 10.15 support to legacy release
--------------------

Currently, MacVim binary releases are available in two versions: a
normal version (macOS 10.13 or above), and a legacy version (macOS
10.9-10.12). Starting next release (r183), the normal version will
require macOS 11 or above (due to Xcode 26 requirements), and macOS
10.13-10.15 users will need to use the legacy version instead. This will
mostly be a transparent change, and the updater will automatically
update to the right version. The legacy version should be almost
identical to said users as they are using older versions of macOS that
can't make use of newer OS features to begin with.

In the future we may remove support for macOS 10.9-10.12 but for now
they are still supported.

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

Better mouse support
--------------------

- Scroll wheels should feel much better to use in MacVim. A small scroll
  is now guaranteed to scroll at least one line, and shift-scrolling
  (horizontal scroll) works correctly now. You can now also turn off
  macOS's scroll wheel acceleration to scroll a fixed amount of lines in
  the "Input" settings pane. #1566
- Mouse buttons 4 and 5 can now be bound to `<X1Mouse>` and `<X2Mouse>`
  in Vim mappings (`:h X1Mouse`). #1534

New Vim Features
====================

- Diff mode improvements
    - Vim diff can now highlight per-character or per-word differences
      within a line. Per-character highlighting is now used by default.
      See `:h diffopt` under "inline". v9.1.1242
    - Diff anchors allow for more explicit controls over how and where
      the diff algorithm aligns text across files (`:h diff-anchors`).
      v9.1.1557
- Lots of auto-completion improvements. Some highlights below:
    - New option: `autocomplete`. Get completion suggestions as you
      type. See `:h ins-autocompletion`. v9.1.1590
    - Fuzzy matching now uses the fzf algorithm. v9.1.1627
    - Popup menu borders can now be styled (`:h pumborder` / `:h
      completepopup`). v9.1.1835 / v9.1.1856
    - Can now specify a custom completion source when using insert-mode
      completion (`:h 'complete'`). v9.1.1301
    - `set completeopt+=nearest` will sort completion items by proximity
      to the cursor. v9.1.1308
    - Command-line completion
        - Search commands like `/` and `:g` can be tab-completed now.
          v9.1.1490 v9.1.1526
        - Commands like `:filetype` and `:highlight` have better
          auto-completion. v9.1.1340 / v9.1.1138
- New vertical tab panel. v9.1.1490
- new bundled optional plugins (use `packadd` to enable them):
    - hlyank (`:h package-hlyank`): Briefly highlight region of last
      yank command
- new commands:
    - `:uniq` (`:h :uniq`): Remove duplicate adjacent lines v9.1.1477

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

- Sparkle (updater for MacVim) is now updated to 2.8.0. #1605

Security Fixes
====================

- Fixed MacVim erroneously setting the get-task-allow entitlement, which
  could allow another user-installed application to inspect it
  (CVE-2025-8597) #1585

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

- Fixed issue where macOS services (available in the "Services" menu)
  could not insert text when not in visual mode. #1571 #1569
- Fixed issue where guifont did not accept PostScript names with
  underscores (e.g. "CascadiaMono-Regular_Light"). #1600
- MacVim now uses the standard `v:colornames` variable for choosing
  highlight colors. #1568
- Vim syntax now understands MacVim-specific function
  `showdefinition()`. #1601

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

Requires macOS 10.9 or above. (10.9 - 10.12 requires downloading a
separate legacy build)

Script interfaces have compatibility with these versions:

- Lua 5.4
- Perl 5.34
- Python2 2.7
- Python3 3.9 or above
- Ruby 3.4
ychin added a commit that referenced this pull request Oct 29, 2025
Updated to Vim 9.1.1887

This update is still built against macOS 15 Sequoia, and does not
contain any specific fixes or improvements for macOS 26 Tahoe. That will
come in a future update.

Announcements
====================

Moving macOS 10.13 - 10.15 support to legacy release
--------------------

Currently, MacVim binary releases are available in two versions: a
normal version (macOS 10.13 or above), and a legacy version (macOS
10.9-10.12). Starting next release (r183), the normal version will
require macOS 11 or above (due to Xcode 26 requirements), and macOS
10.13-10.15 users will need to use the legacy version instead. This will
mostly be a transparent change, and the updater will automatically
update to the right version. The legacy version should be almost
identical to said users as they are using older versions of macOS that
can't make use of newer OS features to begin with.

In the future we may remove support for macOS 10.9-10.12 but for now
they are still supported.

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

Better mouse support
--------------------

- Scroll wheels should feel much better to use in MacVim. A small scroll
  is now guaranteed to scroll at least one line, and shift-scrolling
  (horizontal scroll) works correctly now. You can now also turn off
  macOS's scroll wheel acceleration to scroll a fixed amount of lines in
  the "Input" settings pane. #1566
- Mouse buttons 4 and 5 can now be bound to `<X1Mouse>` and `<X2Mouse>`
  in Vim mappings (`:h X1Mouse`). #1534

New Vim Features
====================

- Diff mode improvements
    - Vim diff can now highlight per-character or per-word differences
      within a line. Per-character highlighting is now used by default.
      See `:h diffopt` under "inline". v9.1.1242
    - Diff anchors allow for more explicit controls over how and where
      the diff algorithm aligns text across files (`:h diff-anchors`).
      v9.1.1557
- Lots of auto-completion improvements. Some highlights below:
    - New option: `autocomplete`. Get completion suggestions as you
      type. See `:h ins-autocompletion`. v9.1.1590
    - Fuzzy matching now uses the fzf algorithm. v9.1.1627
    - Popup menu borders can now be styled (`:h pumborder` / `:h
      completepopup`). v9.1.1835 / v9.1.1856
    - Can now specify a custom completion source when using insert-mode
      completion (`:h 'complete'`). v9.1.1301
    - `set completeopt+=nearest` will sort completion items by proximity
      to the cursor. v9.1.1308
    - Command-line completion
        - Search commands like `/` and `:g` can be tab-completed now.
          v9.1.1490 v9.1.1526
        - Commands like `:filetype` and `:highlight` have better
          auto-completion. v9.1.1340 / v9.1.1138
- New vertical tab panel. v9.1.1490
- new bundled optional plugins (use `packadd` to enable them):
    - hlyank (`:h package-hlyank`): Briefly highlight region of last
      yank command
- new commands:
    - `:uniq` (`:h :uniq`): Remove duplicate adjacent lines v9.1.1477

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

- Sparkle (updater for MacVim) is now updated to 2.8.0. #1605

Security Fixes
====================

- Fixed MacVim erroneously setting the get-task-allow entitlement, which
  could allow another user-installed application to inspect it
  (CVE-2025-8597) #1585

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

- Fixed issue where macOS services (available in the "Services" menu)
  could not insert text when not in visual mode. #1571 #1569
- Fixed issue where guifont did not accept PostScript names with
  underscores (e.g. "CascadiaMono-Regular_Light"). #1600
- MacVim now uses the standard `v:colornames` variable for choosing
  highlight colors. #1568
- Vim syntax now understands MacVim-specific function
  `showdefinition()`. #1601

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

Requires macOS 10.9 or above. (10.9 - 10.12 requires downloading a
separate legacy build)

Script interfaces have compatibility with these versions:

- Lua 5.4
- Perl 5.34
- Python2 2.7
- Python3 3.9 or above
- Ruby 3.4
ychin added a commit that referenced this pull request Oct 30, 2025
Updated to Vim 9.1.1887

This update is still built against macOS 15 Sequoia, and does not
contain any specific fixes or improvements for macOS 26 Tahoe. That will
come in a future update.

Announcements
====================

Moving macOS 10.13 - 10.15 support to legacy release
--------------------

Currently, MacVim binary releases are available in two versions: a
normal version (macOS 10.13 or above), and a legacy version (macOS
10.9-10.12). Starting next release (r183), the normal version will
require macOS 11 or above (due to Xcode 26 requirements), and macOS
10.13-10.15 users will need to use the legacy version instead. This will
mostly be a transparent change, and the updater will automatically
update to the right version. The legacy version should be almost
identical to said users as they are using older versions of macOS that
can't make use of newer OS features to begin with.

In the future we may remove support for macOS 10.9-10.12 but for now
they are still supported.

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

Better mouse support
--------------------

- Scroll wheels should feel much better to use in MacVim. A small scroll
  is now guaranteed to scroll at least one line, and shift-scrolling
  (horizontal scroll) works correctly now. You can now also turn off
  macOS's scroll wheel acceleration to scroll a fixed amount of lines in
  the "Input" settings pane. #1566
- Mouse buttons 4 and 5 can now be bound to `<X1Mouse>` and `<X2Mouse>`
  in Vim mappings (`:h X1Mouse`). #1534

New Vim Features
====================

- Diff mode improvements
    - Vim diff can now highlight per-character or per-word differences
      within a line. Per-character highlighting is now used by default.
      See `:h diffopt` under "inline". v9.1.1242
    - Diff anchors allow for more explicit controls over how and where
      the diff algorithm aligns text across files (`:h diff-anchors`).
      v9.1.1557
- Lots of auto-completion improvements. Some highlights below:
    - New option: `autocomplete`. Get completion suggestions as you
      type. See `:h ins-autocompletion`. v9.1.1590
    - Fuzzy matching now uses the fzf algorithm. v9.1.1627
    - Popup menu borders can now be styled (`:h pumborder` / `:h
      completepopup`). v9.1.1835 / v9.1.1856
    - Can now specify a custom completion source when using insert-mode
      completion (`:h 'complete'`). v9.1.1301
    - `set completeopt+=nearest` will sort completion items by proximity
      to the cursor. v9.1.1308
    - Command-line completion
        - Search commands like `/` and `:g` can be tab-completed now.
          v9.1.1490 v9.1.1526
        - Commands like `:filetype` and `:highlight` have better
          auto-completion. v9.1.1340 / v9.1.1138
- New vertical tab panel. v9.1.1490
- new bundled optional plugins (use `packadd` to enable them):
    - hlyank (`:h package-hlyank`): Briefly highlight region of last
      yank command
- new commands:
    - `:uniq` (`:h :uniq`): Remove duplicate adjacent lines v9.1.1477

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

- Sparkle (updater for MacVim) is now updated to 2.8.0. #1605

Security Fixes
====================

- Fixed MacVim erroneously setting the get-task-allow entitlement, which
  could allow another user-installed application to inspect it
  (CVE-2025-8597) #1585

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

- Fixed issue where macOS services (available in the "Services" menu)
  could not insert text when not in visual mode. #1571 #1569
- Fixed issue where guifont did not accept PostScript names with
  underscores (e.g. "CascadiaMono-Regular_Light"). #1600
- MacVim now uses the standard `v:colornames` variable for choosing
  highlight colors. #1568
- Vim syntax now understands MacVim-specific function
  `showdefinition()`. #1601

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

Requires macOS 10.9 or above. (10.9 - 10.12 requires downloading a
separate legacy build)

Script interfaces have compatibility with these versions:

- Lua 5.4
- Perl 5.34
- Python2 2.7
- Python3 3.9 or above
- Ruby 3.4
ychin added a commit that referenced this pull request Oct 30, 2025
Updated to Vim 9.1.1887

This update is still built against macOS 15 Sequoia, and does not
contain any specific fixes or improvements for macOS 26 Tahoe. That will
come in a future update.

Announcements
====================

Moving macOS 10.13 - 10.15 support to legacy release
--------------------

Currently, MacVim binary releases are available in two versions: a
normal version (macOS 10.13 or above), and a legacy version (macOS
10.9-10.12). Starting next release (r183), the normal version will
require macOS 11 or above (due to Xcode 26 requirements), and macOS
10.13-10.15 users will need to use the legacy version instead. This will
mostly be a transparent change, and the updater will automatically
update to the right version. The legacy version should be almost
identical to said users as they are using older versions of macOS that
can't make use of newer OS features to begin with.

In the future we may remove support for macOS 10.9-10.12 but for now
they are still supported.

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

Better mouse support
--------------------

- Scroll wheels should feel much better to use in MacVim. A small scroll
  is now guaranteed to scroll at least one line, and shift-scrolling
  (horizontal scroll) works correctly now. You can now also turn off
  macOS's scroll wheel acceleration to scroll a fixed amount of lines in
  the "Input" settings pane. #1566
- Mouse buttons 4 and 5 can now be bound to `<X1Mouse>` and `<X2Mouse>`
  in Vim mappings (`:h X1Mouse`). #1534

New Vim Features
====================

- Diff mode improvements
    - Vim diff can now highlight per-character or per-word differences
      within a line. Per-character highlighting is now used by default.
      See `:h 'diffopt'` under "inline". v9.1.1243
    - Diff anchors allow for more explicit controls over how and where
      the diff algorithm aligns text across files (`:h diff-anchors`).
      v9.1.1557
- Lots of auto-completion improvements. Some highlights below:
    - New option: `autocomplete`. Get completion suggestions as you
      type. See `:h ins-autocompletion`. v9.1.1590
    - Fuzzy matching now uses the fzf algorithm. v9.1.1627
    - Popup menu borders can now be styled (`:h 'pumborder'` / `:h
      'completepopup'`). v9.1.1835 / v9.1.1856
    - Can now specify a custom completion source when using insert-mode
      completion (`:h 'complete'`). v9.1.1301
    - `set completeopt+=nearest` will sort completion items by proximity
      to the cursor. v9.1.1308
    - Command-line completion
        - Search commands like `/` and `:g` can be tab-completed now.
          v9.1.1490 v9.1.1526
        - Commands like `:filetype` and `:highlight` have better
          auto-completion. v9.1.1340 / v9.1.1138
- New vertical tab panel (`:h tabpanel`). v9.1.1391
- new bundled optional plugins (use `packadd` to enable them):
    - hlyank (`:h package-hlyank`): Briefly highlight region of last
      yank command
- new commands:
    - `:uniq` (`:h :uniq`): Remove duplicate adjacent lines v9.1.1477

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

- Sparkle (updater for MacVim) is now updated to 2.8.0. #1605

Security Fixes
====================

- Fixed MacVim erroneously setting the get-task-allow entitlement, which
  could allow another user-installed application to inspect it
  (CVE-2025-8597) #1585

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

- Fixed issue where macOS services (available in the "Services" menu)
  could not insert text when not in visual mode. #1571 #1569
- Fixed issue where guifont did not accept PostScript names with
  underscores (e.g. "CascadiaMono-Regular_Light"). #1600
- MacVim now uses the standard `v:colornames` variable for choosing
  highlight colors. #1568
- Vim syntax now understands MacVim-specific function
  `showdefinition()`. #1601

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

Requires macOS 10.9 or above. (10.9 - 10.12 requires downloading a
separate legacy build)

Script interfaces have compatibility with these versions:

- Lua 5.4
- Perl 5.34
- Python2 2.7
- Python3 3.9 or above
- Ruby 3.4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

MacVim won't set the font Cascadia Mono with the typeface Light via the Fonts dialogue

1 participant