Sublime Forum

Dev Build 3163

#1

Dev Build 3163 is out now at https://www.sublimetext.com/3dev

This fixes a Windows performance regression in 3162, and has some character spacing tweaks for both MacOS and Windows. It also runs on FreeBSD again (via the Linux emulation layer).

6 Likes

Port to FreeBSD
#2

The Windows scrolling performance issue seems to be fixed now. Thanks!

However maybe because of the change to text rendering, now the text is ā€œflashingā€ when scrolling - it is most visible on the line numbers column and with a light colour scheme.

3162 & 3163 both suffer from this, 3161 is ok.

Windows 10 x64, light theme & scheme, no changes to default text rendering settings in the OS.

0 Likes

#3

A few questions:

  • What theme and color scheme are you using?
  • Have you changed the font_options in Sublime Text?
  • Are you using dpi scaling on the display, if so, what scale?
0 Likes

#4
  • Theme: SoDaReloaded Light
  • Colour scheme: pastie (SL)
  • font_options: no, no changes to that, but my font of choice is Fira Code, size 11
  • Primary display is 1920Ɨ1080 at 125 % DPI, secondary is 1920Ɨ1080 at 100 %, SublimeText exhibits the same behaviour on both.

I used to use the Win 10 setting for ā€œBypassing the DPI behaviour of the applicationā€ (not sure how it is called in english version of Windows) in the compatibility tab, but since a few builds ago (3158 afaik), I turned that off, because ST became per-display DPI aware.

0 Likes

#5

3163 is having trouble importing all files in a plugin. This is on OSX (all Iā€™ve tested so far). Certain files donā€™t get imported while others do. Did something change in how you guys import modules? This happens to a lot of my plugins, but here is one example:

reloading plugin BracketHighlighter.bh_core
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 116, in reload_plugin
    m = importlib.import_module(modulename)
  File "./python3.3/importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1532, in _find_and_load_unlocked
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 1182, in load_module
    exec(compile(source, source_path, 'exec'), mod.__dict__)
  File "/Users/facelessuser/Library/Application Support/Sublime Text 3/Packages/BracketHighlighter/bh_core.py", line 17, in <module>
    import BracketHighlighter.bh_popup as bh_popup
ImportError: No module named 'BracketHighlighter.bh_popup'
reloading plugin BracketHighlighter.bh_logging
reloading plugin BracketHighlighter.bh_plugin
reloading plugin BracketHighlighter.bh_regions
reloading plugin BracketHighlighter.bh_remove
reloading plugin BracketHighlighter.bh_rules
reloading plugin BracketHighlighter.bh_search
reloading plugin BracketHighlighter.bh_swapping
reloading plugin BracketHighlighter.bh_wrapping
0 Likes

#6

Looks like all imports of modules which are located within an overloading package fail.

Example:

  1. I have a folder Data/Packages/Git Formats with a git_rebase_todo.py in it.
    Loading fails with (ImportError: No module named ā€˜Git Formats.git_rebaseā€™)
  2. Renaming the folder to Git Formats 2 fixes the issue.
  3. Renaming the folder back to Git Formats reintroduces the issue.

This issue exists with all overloading packages, no matter whether they overload a default package or one located within the Installed Packages path.

0 Likes

#7

Not every overloaded file fails, but I do have a number of packages that are installed in Installed Packages, and I develop on them, unpacked, in Packages. So it kind of sounds like some override issues.

0 Likes

#8

I may hold off on upgrading to this to see if we get some fixes in regards to package importing.

0 Likes

#9

I was a big fan of the character spacing in the previous version. Is there an option we can use to change it ourselves?

0 Likes

#10

Seems like the ZipLoader::has() method in sublime_plugin.py is the culprit. Since 3161 the first evaluation (commented out here) always returns ignoring all the following code paths.

By reverting it, the import error disapears.

class ZipLoader(object):
    def __init__(self, zippath):
        self.zippath = zippath
        self.name = os.path.splitext(os.path.basename(zippath))[0]
        self._scan_zip()

    def has(self, fullname):
        # name, key = fullname.split('.', 1)
        # return name == self.name and key in self.contents

        # <3161
        key = '.'.join(fullname.split('.')[1:])
        if key in self.contents:
            return True
        # <3161

        override_file = os.path.join(override_path, os.sep.join(fullname.split('.')) + '.py')
        if os.path.isfile(override_file):
            return True

        override_package = os.path.join(override_path, os.sep.join(fullname.split('.')))
        if os.path.isdir(override_package):
            return True

        return False

1 Like

#11

Emoji in text files no longer show up for me in 3163. Using macOS Sierra 10.12.6 (16G29).

0 Likes

#12

You can get the character spacing of recent dev builds on macOS by turning on the no_round font option. Things are more complex than that on Windows though.

2 Likes

#13

Iā€™m seeing a bug with character widths in 3163, at least with braces:

In both cases, there are exactly 80 brace characters, all selected. The rendered characters donā€™t seem to have changed, while the ruler and selection have changed and no longer line up.

Update: "font_options": ["no_round"] suffices as a workaround for now

0 Likes

Dev Build 3164
#14

I actually had some time to confirm what @deathaxe was saying. Overrides is kinda broken. So I did have an older .sublime-package file for many of the failing packages, but then I had the unpacked overrides which no longer override properly. That is why certain files were failing as they did not exist in the older zipped packages which were normally overridden by the unpacked packages.

0 Likes

#15

@timkang it sounds like you arenā€™t using a monospace font?

0 Likes

#16

Iā€™m using the default MacOS font, Menlo.

0 Likes

#17

Iā€™ve confirmed the overrides issue and got a fix in that will resolve a couple of other related issues

5 Likes

#18

Whops, that was on my part. I was running the patch locally for quite a while and didnā€™t notice any problems though. Probably because I didnā€™t have nested overrides (as top-level ones were fine).

0 Likes

#19

FWIW, I prefer the ā€œold styleā€ (which was re-implemented in this build). :wink:

I posted about the issue here, macOS font rendering issue.

The ā€œold styleā€ appears to be more consistent with other macOS apps (e.g. vi in Terminal with same font options).

1 Like