Panel View horizontal scrolling is not stable
If the messages become very long, so that the panel view shows scroll bars for both directions, we scroll in all directions depending on where the cursor is. 

- For testing, just make the window small enough.
- Now place the cursor on an error. The line will be selected and Sublime scrolls showing the end of the selection. 

We want to restrict scrolling to the y-axis here.
diff --git a/panel_view.py b/panel_view.py
index 2a2c08a..b91aa44 100644
--- a/panel_view.py
+++ b/panel_view.py
@@ -436,11 +436,21 @@ def update_selection(panel, region=None):
 
 class _sublime_linter_update_selection(sublime_plugin.TextCommand):
     def run(self, edit, a, b):
+        x1, y1 = self.view.viewport_position()
+
         region = sublime.Region(a, b)
         self.view.sel().clear()
         self.view.sel().add(region)
         self.view.show_at_center(region)
 
+        # `show_at_center` will scroll the `b` part into the viewport. If
+        # we have long lines that means we scroll on the x-axis as well.
+        # But we don't want that, so we maybe halfway undo and pin the x-axis
+        # to the previous value.
+        x2, y2 = self.view.viewport_position()
+        if x1 != x2:
+            self.view.set_viewport_position((x1, y2))
+
 
 def draw_position_marker(panel, line):
     line_start = panel.text_point(line - 1, 0)
['panel_view.py']