emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs-24 r117383: Fix assertion violation when restoring h


From: Eli Zaretskii
Subject: [Emacs-diffs] emacs-24 r117383: Fix assertion violation when restoring hscrolled window configurations.
Date: Thu, 17 Jul 2014 15:26:29 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 117383
revision-id: address@hidden
parent: address@hidden
committer: Eli Zaretskii <address@hidden>
branch nick: emacs-24
timestamp: Thu 2014-07-17 18:25:21 +0300
message:
  Fix assertion violation when restoring hscrolled window configurations.
  
   src/xdisp.c (hscroll_window_tree): Don't try hscrolling windows whose cursor
   row has zero buffer position as their start position.  Reported by
   martin rudalics <address@hidden>.
modified:
  src/ChangeLog                  changelog-20091113204419-o5vbwnq5f7feedwu-1438
  src/xdisp.c                    xdisp.c-20091113204419-o5vbwnq5f7feedwu-240
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2014-07-17 15:17:52 +0000
+++ b/src/ChangeLog     2014-07-17 15:25:21 +0000
@@ -4,6 +4,9 @@
        buffer position where we are to start the iteration.
        (handle_invisible_prop): Record in it->stop_charpos the position
        where the invisible text ends.  (Bug#18035)
+       (hscroll_window_tree): Don't try hscrolling windows whose cursor
+       row has zero buffer position as their start position.  Reported by
+       martin rudalics <address@hidden>.
 
 2014-07-16  Eli Zaretskii  <address@hidden>
 

=== modified file 'src/xdisp.c'
--- a/src/xdisp.c       2014-07-17 15:17:52 +0000
+++ b/src/xdisp.c       2014-07-17 15:25:21 +0000
@@ -12880,6 +12880,13 @@
          h_margin = hscroll_margin * WINDOW_FRAME_COLUMN_WIDTH (w);
 
          if (!NILP (Fbuffer_local_value (Qauto_hscroll_mode, w->contents))
+             /* In some pathological cases, like restoring a window
+                configuration into a frame that is much smaller than
+                the one from which the configuration was saved, we
+                get glyph rows whose start and end have zero buffer
+                positions, which we cannot handle below.  Just skip
+                such windows.  */
+             && CHARPOS (cursor_row->start.pos) >= BUF_BEG (w->contents)
              /* For left-to-right rows, hscroll when cursor is either
                 (i) inside the right hscroll margin, or (ii) if it is
                 inside the left margin and the window is already


reply via email to

[Prev in Thread] Current Thread [Next in Thread]