Hello community,

here is the log from the commit of package vte for openSUSE:Factory checked in 
at 2018-11-08 09:44:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vte (Old)
 and      /work/SRC/openSUSE:Factory/.vte.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "vte"

Thu Nov  8 09:44:44 2018 rev:113 rq:644304 version:0.54.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/vte/vte.changes  2018-10-17 08:14:54.603034786 
+0200
+++ /work/SRC/openSUSE:Factory/.vte.new/vte.changes     2018-11-08 
09:44:50.189356979 +0100
@@ -1,0 +2,12 @@
+Wed Oct 24 10:01:18 UTC 2018 - [email protected]
+
+- Update to version 0.54.2:
+  + ring: Fix thawing combining accents over a double-wide
+    character.
+  + emulation:
+    - Implement SCOSC/SCORC.
+    - Make dispatch of SCORC symmetrical to SCOSC.
+  + modes: Use parentheses in macro.
+  + widget: Add missing exception specification.
+
+-------------------------------------------------------------------

Old:
----
  vte-0.54.1.tar.xz

New:
----
  vte-0.54.2.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ vte.spec ++++++
--- /var/tmp/diff_new_pack.vHuiPs/_old  2018-11-08 09:44:50.781356288 +0100
+++ /var/tmp/diff_new_pack.vHuiPs/_new  2018-11-08 09:44:50.785356283 +0100
@@ -22,7 +22,7 @@
 %define _gtkver 3.0
 %define _name   vte
 Name:           vte
-Version:        0.54.1
+Version:        0.54.2
 Release:        0
 Summary:        Terminal Emulator Library
 License:        LGPL-2.0-only AND LGPL-3.0-only AND GPL-3.0-or-later

++++++ _service ++++++
--- /var/tmp/diff_new_pack.vHuiPs/_old  2018-11-08 09:44:50.809356255 +0100
+++ /var/tmp/diff_new_pack.vHuiPs/_new  2018-11-08 09:44:50.809356255 +0100
@@ -4,7 +4,7 @@
     <param name="scm">git</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="changesgenerate">enable</param>
-    <param name="revision">refs/tags/0.54.1</param>
+    <param name="revision">refs/tags/0.54.2</param>
     <param name="exclude">doc/vttest.*</param>
   </service>
   <service name="recompress" mode="disabled">

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.vHuiPs/_old  2018-11-08 09:44:50.829356232 +0100
+++ /var/tmp/diff_new_pack.vHuiPs/_new  2018-11-08 09:44:50.829356232 +0100
@@ -3,4 +3,4 @@
             <param name="url">git://git.gnome.org/vte</param>
           <param 
name="changesrevision">961927a8115c82f35deafe09c1d68689ff069905</param></service><service
 name="tar_scm">
                 <param 
name="url">https://gitlab.gnome.org/GNOME/vte.git</param>
-              <param 
name="changesrevision">e3ed022308860a6c90935d4c663e9e90be3883c0</param></service></servicedata>
\ No newline at end of file
+              <param 
name="changesrevision">6c37e5164aef8b2ac3dea02f6c1a3152dad93fda</param></service></servicedata>
\ No newline at end of file

++++++ vte-0.54.1.tar.xz -> vte-0.54.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vte-0.54.1/configure.ac new/vte-0.54.2/configure.ac
--- old/vte-0.54.1/configure.ac 2018-09-23 12:57:42.000000000 +0200
+++ new/vte-0.54.2/configure.ac 2018-10-19 22:14:06.000000000 +0200
@@ -1,6 +1,6 @@
 m4_define([version_major],0)
 m4_define([version_minor],54)
-m4_define([version_micro],1)
+m4_define([version_micro],2)
 m4_define([version_triplet],version_major.version_minor.version_micro)
 
 AC_PREREQ([2.63])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vte-0.54.1/src/modes-private.hh 
new/vte-0.54.2/src/modes-private.hh
--- old/vte-0.54.1/src/modes-private.hh 2018-09-23 12:57:42.000000000 +0200
+++ new/vte-0.54.2/src/modes-private.hh 2018-10-19 22:14:06.000000000 +0200
@@ -375,7 +375,8 @@
  *
  * References: VT525
  *
- * Probably not worth implementing.
+ * Needs to be implemented if DECSLRM is implemented, to resolve a
+ * conflict between DECSLRM and SCOSC.
  */
 MODE_FIXED(DECLRMM, 69, ALWAYS_RESET) /* aka DECVSSM */
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vte-0.54.1/src/modes.hh new/vte-0.54.2/src/modes.hh
--- old/vte-0.54.1/src/modes.hh 2018-09-23 12:57:42.000000000 +0200
+++ new/vte-0.54.2/src/modes.hh 2018-10-19 22:14:06.000000000 +0200
@@ -36,6 +36,12 @@
                 return get(e##name); \
         }
 
+#define MODE_FIXED_ACCESSOR(name,value) \
+        inline constexpr bool name() const noexcept \
+        { \
+                return (value); \
+        }
+
 template <typename T>
 static inline void vte_modes_set_bool(T* modes,
                                       unsigned int shift,
@@ -159,7 +165,7 @@
         }
 
 #define MODE(name,param) MODE_ACCESSOR(name)
-#define MODE_FIXED(name,param,value)
+#define MODE_FIXED(name,param,value) MODE_FIXED_ACCESSOR(name, e##value == 
eALWAYS_SET)
 #include "modes-ecma.hh"
 #undef MODE
 #undef MODE_FIXED
@@ -213,7 +219,7 @@
         }
 
 #define MODE(name,param) MODE_ACCESSOR(name)
-#define MODE_FIXED(name,param,value)
+#define MODE_FIXED(name,param,value) MODE_FIXED_ACCESSOR(name, e##value == 
eALWAYS_SET)
 #include "modes-private.hh"
 #undef MODE
 #undef MODE_FIXED
@@ -244,6 +250,7 @@
 }; // class Private
 
 #undef MODE_ACCESSOR
+#undef MODE_FIXED_ACCESSOR
 
 } // namespace modes
 } // namespace terminal
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vte-0.54.1/src/parser-cmd.hh 
new/vte-0.54.2/src/parser-cmd.hh
--- old/vte-0.54.1/src/parser-cmd.hh    2018-09-23 12:57:42.000000000 +0200
+++ new/vte-0.54.2/src/parser-cmd.hh    2018-10-19 22:14:06.000000000 +0200
@@ -62,7 +62,7 @@
 _VTE_CMD(DECSED) /* selective erase in display */
 _VTE_CMD(DECSEL) /* selective erase in line */
 _VTE_CMD(DECSLPP) /* set lines per page */
-_VTE_CMD(DECSLRM) /* set left and right margins */
+_VTE_CMD(DECSLRM_OR_SCOSC) /* set left and right margins or SCO save cursor */
 _VTE_CMD(DECSR) /* secure reset */
 _VTE_CMD(DECST8C) /* set tab at every 8 columns */
 _VTE_CMD(DECSTBM) /* set top and bottom margins */
@@ -101,6 +101,8 @@
 _VTE_CMD(RIS) /* reset to initial state */
 _VTE_CMD(RM_DEC) /* reset mode dec */
 _VTE_CMD(RM_ECMA) /* reset mode ecma */
+_VTE_CMD(SCORC) /* SCO restore cursor */
+_VTE_CMD(SCOSC) /* SCO save cursor */
 _VTE_CMD(SD) /* scroll down */
 _VTE_CMD(SD_OR_XTERM_IHMT) /* scroll down or xterm initiate highlight mouse 
tracking */
 _VTE_CMD(SGR) /* select graphics rendition */
@@ -199,6 +201,7 @@
 _VTE_NOP(DECSKCV) /* set key click volume */
 _VTE_NOP(DECSLCK) /* set lock key style */
 _VTE_NOP(DECSLE) /* select locator events */
+_VTE_NOP(DECSLRM) /* set left and right margins */
 _VTE_NOP(DECSMBV) /* set margin bell volume */
 _VTE_NOP(DECSMKR) /* select modifier key reporting */
 _VTE_NOP(DECSNLS) /* set lines per screen */
@@ -271,7 +274,6 @@
 _VTE_NOP(RLOGIN_MML) /* RLogin music macro language */
 _VTE_NOP(SACS) /* set additional character separation */
 _VTE_NOP(SAPV) /* select alternative presentation variants */
-_VTE_NOP(SCORC) /* SCO restore cursor */
 _VTE_NOP(SCO) /* select character orientation */
 _VTE_NOP(SCP) /* select character path */
 _VTE_NOP(SCS) /* set character spacing */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vte-0.54.1/src/parser-csi.hh 
new/vte-0.54.2/src/parser-csi.hh
--- old/vte-0.54.1/src/parser-csi.hh    2018-09-23 12:57:42.000000000 +0200
+++ new/vte-0.54.2/src/parser-csi.hh    2018-10-19 22:14:06.000000000 +0200
@@ -150,7 +150,7 @@
 _VTE_NOQ(DECSMKR,                CSI,    'r',  NONE,  1, PLUS     ) /* 
select-modifier-key-reporting */
 _VTE_NOQ(DECSEST,                CSI,    'r',  NONE,  1, MINUS    ) /* energy 
saver time */
 _VTE_SEQ(DECPCTERM_OR_XTERM_RPM, CSI,    'r',  WHAT,  0, NONE     ) /* pcterm 
or xterm restore DEC private mode */
-_VTE_SEQ(DECSLRM,                CSI,    's',  NONE,  0, NONE     ) /* 
set-left-and-right-margins */
+_VTE_SEQ(DECSLRM_OR_SCOSC,       CSI,    's',  NONE,  0, NONE     ) /* set 
left and right margins or SCO save cursor */
 _VTE_NOQ(DECSPRTT,               CSI,    's',  NONE,  1, CASH     ) /* 
select-printer-type */
 _VTE_NOQ(DECSFC,                 CSI,    's',  NONE,  1, MULT     ) /* 
select-flow-control */
 _VTE_SEQ(XTERM_SPM,              CSI,    's',  WHAT,  0, NONE     ) /* xterm 
save private mode */
@@ -159,7 +159,7 @@
 _VTE_NOQ(DECSRFR,                CSI,    't',  NONE,  1, DQUOTE   ) /* 
select-refresh-rate */
 _VTE_NOQ(DECRARA,                CSI,    't',  NONE,  1, CASH     ) /* 
reverse-attributes-in-rectangular-area */
 _VTE_NOQ(XTERM_STM,              CSI,    't',  GT,    0, NONE     ) /* 
xterm-set-title-mode */
-_VTE_NOQ(SCORC,                  CSI,    'u',  NONE,  0, NONE     ) /* SCO 
restore-cursor */
+_VTE_SEQ(SCORC,                  CSI,    'u',  NONE,  0, NONE     ) /* SCO 
restore cursor */
 _VTE_NOQ(DECSMBV,                CSI,    'u',  NONE,  1, SPACE    ) /* 
set-margin-bell-volume */
 _VTE_NOQ(DECSTRL,                CSI,    'u',  NONE,  1, DQUOTE   ) /* 
set-transmit-rate-limit */
 _VTE_SEQ(DECRQTSR,               CSI,    'u',  NONE,  1, CASH     ) /* 
request-terminal-state-report */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vte-0.54.1/src/ring.cc new/vte-0.54.2/src/ring.cc
--- old/vte-0.54.1/src/ring.cc  2018-09-23 12:57:42.000000000 +0200
+++ new/vte-0.54.2/src/ring.cc  2018-10-19 22:14:06.000000000 +0200
@@ -489,6 +489,10 @@
                        if (G_LIKELY (row->len)) {
                                /* Combine it */
                                row->cells[row->len - 1].c = 
_vte_unistr_append_unichar (row->cells[row->len - 1].c, cell.c);
+                                /* Spread it to all the previous cells of a 
potentially multicell character */
+                                for (int i = row->len - 1; i >= 1 && 
row->cells[i].attr.fragment(); i--) {
+                                        row->cells[i - 1].c = row->cells[i].c;
+                                }
                        } else {
                                cell.attr.set_columns(1);
                                 if (row->len == hyperlink_column && hyperlink 
!= nullptr)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vte-0.54.1/src/vteseq.cc new/vte-0.54.2/src/vteseq.cc
--- old/vte-0.54.1/src/vteseq.cc        2018-09-23 12:57:42.000000000 +0200
+++ new/vte-0.54.2/src/vteseq.cc        2018-10-19 22:14:06.000000000 +0200
@@ -4343,22 +4343,39 @@
          *
          * References: VT525
          *
-         * Note: There is a conflict between SCOSC and DECSLRM that both
-         * have final character 's' (7/3). SCOSC has 0 parameters, and
-         * DECSLRM has 2 parameters which both have default values, and
-         * my reading of ECMA-48 § 5.4.2h says that this allows for an
-         * empty parameter string to represent them.
-         *
-         * We could either fudge it by dispatching zero params to SCOSC
-         * and anything else to DECSLRM, or, since we already implement
-         * DECSC/DECRC, we can just drop support for the extra SCOSC/SCORC.
-         * Do the latter.
-         *
          * FIXMEchpe: Consider implementing this.
          */
 }
 
 void
+Terminal::DECSLRM_OR_SCOSC(vte::parser::Sequence const& seq)
+{
+        /*
+         * set left and right margins or SCO restore cursor - DECSLRM or SCOSC
+         * There is a conflict between SCOSC and DECSLRM that both are
+         * CSI s (CSI 7/3). SCOSC has 0 parameters, and DECSLRM has 2
+         * parameters which both have default values, and my reading
+         * of ECMA-48 § 5.4.2h says that this allows for an empty
+         * parameter string to represent them.
+         *
+         * While the DEC manuals say that SCOSC/SCORC only operates in
+         * "SCO Console Mode" (which is entered by DECTME 13), and not in
+         * "VT mode" (i.e. native mode), we instead distinguish the cases
+         * by private mode DECLRMM: If DECLRMM is set, dispatch DECSLRM;
+         * if it's reset, dispatch SCOSC.
+         *
+         * See issue #48.
+         */
+
+#ifdef PARSER_INCLUDE_NOP
+        if (m_modes_private.DECLRMM())
+                DECSLRM(seq);
+        else
+#endif
+                SCOSC(seq);
+}
+
+void
 Terminal::DECSMBV(vte::parser::Sequence const& seq)
 {
         /*
@@ -6723,12 +6740,35 @@
 Terminal::SCORC(vte::parser::Sequence const& seq)
 {
         /*
-         * SCORC - SCO restore-cursor
+         * SCORC - SCO restore cursor
+         * Works like DECRC, except in that it does not restore the page.
+         * While this is an obsolete sequence from an obsolete terminal,
+         * and not used in terminfo, there still are some programmes
+         * that use it and break when it's not implemented; see issue#48.
          *
          * References: VT525
+         */
+
+        if (m_modes_private.DECLRMM())
+                return;
+
+        restore_cursor();
+}
+
+void
+Terminal::SCOSC(vte::parser::Sequence const& seq)
+{
+        /*
+         * SCORC - SCO save cursor
+         * Works like DECSC, except in that it does not save the page.
+         * While this is an obsolete sequence from an obsolete terminal,
+         * and not used in terminfo, there still are some programmes
+         * that use it and break when it's not implemented; see issue#48.
          *
-         * Not worth implementing, given that we already support DECSC/DECRC.
+         * References: VT525
          */
+
+        save_cursor();
 }
 
 void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vte-0.54.1/src/widget.cc new/vte-0.54.2/src/widget.cc
--- old/vte-0.54.1/src/widget.cc        2018-09-23 12:57:42.000000000 +0200
+++ new/vte-0.54.2/src/widget.cc        2018-10-19 22:14:06.000000000 +0200
@@ -327,7 +327,7 @@
 }
 
 void
-Widget::unmap()
+Widget::unmap() noexcept
 {
         if (m_event_window)
                 gdk_window_hide(m_event_window);


Reply via email to