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

Bug#1107957: marked as done (unblock: konsole/4:25.04.2-1)



Your message dated Wed, 18 Jun 2025 06:49:41 +0000
with message-id <E1uRmc9-005AKo-2F@respighi.debian.org>
and subject line unblock konsole
has caused the Debian Bug report #1107957,
regarding unblock: konsole/4:25.04.2-1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1107957: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1107957
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
X-Debbugs-Cc: konsole@packages.debian.org, Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Control: affects -1 + src:konsole
User: release.debian.org@packages.debian.org
Usertags: unblock

Dear Release Team,

please unblock package konsole.

[ Reason ]
It contains the following changes:
* New upstream release (25.04.1).
  - Update kconf update script version to 6.
  - Wrap output it html document & body. (kde#500515)
  - Allow /path/to/file.cpp:123:123 paths. (kde#501004)
  - Fix search wrapping behavior at boundaries. (kde#396510)
  - Fix: disable copy action even when semantic integration is detected.
  - Feat(TerminalDisplay): Copy to X11 selection immediately on mouse release.
* New upstream release (25.04.2).
  - Clear the arguments if the command is not found.
* Drop backported commit now part of the upstream release.

The complete debdiff is quite huge due to translation fixes to I’m also
attaching a simple diff trimmed from these for your convenience :
    diff -ur --exclude=po konsole-25.04.[02]

[ Tests ]
- Tested standard terminal features quite extensively, including when
  used inside yakuake.

[ Risks ]
Upstream point releases only contain targetted commits. Further fixes
can easily be backported or the changes reverted.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing


Thanks!


unblock konsole/4:25.04.2-1

Attachment: konsole_25.04.0-2.dsc_konsole_25.04.2-1.dsc.debdiff.gz
Description: application/gzip

diff -ur '--exclude=po' konsole-25.04.0/CMakeLists.txt konsole-25.04.2/CMakeLists.txt
--- konsole-25.04.0/CMakeLists.txt	2025-04-07 22:52:58.000000000 +0200
+++ konsole-25.04.2/CMakeLists.txt	2025-06-02 22:11:25.000000000 +0200
@@ -3,7 +3,7 @@
 # KDE Application Version, managed by release script
 set(RELEASE_SERVICE_VERSION_MAJOR "25")
 set(RELEASE_SERVICE_VERSION_MINOR "04")
-set(RELEASE_SERVICE_VERSION_MICRO "0")
+set(RELEASE_SERVICE_VERSION_MICRO "2")
 set(RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
 
 # Do not increase these requirements without a merge-request or/and
diff -ur '--exclude=po' konsole-25.04.0/debian/changelog konsole-25.04.2/debian/changelog
--- konsole-25.04.0/debian/changelog	2025-06-10 19:48:29.000000000 +0200
+++ konsole-25.04.2/debian/changelog	2025-06-17 08:52:48.000000000 +0200
@@ -1,3 +1,19 @@
+konsole (4:25.04.2-1) unstable; urgency=medium
+
+  [ Aurélien COUDERC ]
+  * New upstream release (25.04.1).
+    - Update kconf update script version to 6.
+    - Wrap output it html document & body. (kde#500515)
+    - Allow /path/to/file.cpp:123:123 paths. (kde#501004)
+    - Fix search wrapping behavior at boundaries. (kde#396510)
+    - Fix: disable copy action even when semantic integration is detected.
+    - Feat(TerminalDisplay): Copy to X11 selection immediately on mouse release.
+  * New upstream release (25.04.2).
+    - Clear the arguments if the command is not found.
+  * Drop backported commit now part of the upstream release.
+
+ -- Aurélien COUDERC <coucouf@debian.org>  Tue, 17 Jun 2025 08:52:48 +0200
+
 konsole (4:25.04.0-2) unstable; urgency=medium
 
   [ Aurélien COUDERC ]
Seulement dans konsole-25.04.0/debian: patches
diff -ur '--exclude=po' konsole-25.04.0/desktop/org.kde.konsole.appdata.xml konsole-25.04.2/desktop/org.kde.konsole.appdata.xml
--- konsole-25.04.0/desktop/org.kde.konsole.appdata.xml	2025-04-07 22:52:58.000000000 +0200
+++ konsole-25.04.2/desktop/org.kde.konsole.appdata.xml	2025-06-02 22:11:25.000000000 +0200
@@ -88,6 +88,7 @@
   <summary xml:lang="pt-BR">Use a interface de linha de comando</summary>
   <summary xml:lang="ru">Использование интерфейса командной строки</summary>
   <summary xml:lang="sa">आदेशपङ्क्ति-अन्तरफलकस्य उपयोगं कुर्वन्तु</summary>
+  <summary xml:lang="sk">Používať rozhrania príkazového riadka</summary>
   <summary xml:lang="sl">Uporabi vmesnik ukazne vrstice</summary>
   <summary xml:lang="sv">Använd kommandoradsgränssnitt</summary>
   <summary xml:lang="ta">முனைய இடைமுகப்பைப் பயன்படுத்துங்கள்</summary>
@@ -593,6 +594,8 @@
   </provides>
   <update_contact>konsole-devel_AT_kde.org</update_contact>
   <releases>
+    <release version="25.04.2" date="2025-06-05"/>
+    <release version="25.04.1" date="2025-05-08"/>
     <release version="25.04.0" date="2025-04-17"/>
     <release version="24.12.3" date="2025-03-06"/>
     <release version="24.12.2" date="2025-02-06"/>
diff -ur '--exclude=po' konsole-25.04.0/kconf_update/konsole.upd konsole-25.04.2/kconf_update/konsole.upd
--- konsole-25.04.0/kconf_update/konsole.upd	2025-04-07 22:52:58.000000000 +0200
+++ konsole-25.04.2/kconf_update/konsole.upd	2025-06-02 22:11:25.000000000 +0200
@@ -1,4 +1,4 @@
-Version=5
+Version=6
 
 Id=konsole_globalaccel
 File=khotkeysrc
diff -ur '--exclude=po' konsole-25.04.0/.pc/applied-patches konsole-25.04.2/.pc/applied-patches
--- konsole-25.04.0/.pc/applied-patches	2025-06-17 21:55:39.511963470 +0200
+++ konsole-25.04.2/.pc/applied-patches	2025-06-17 23:36:33.267277472 +0200
@@ -1 +0,0 @@
-clear_argument_list.patch
Seulement dans konsole-25.04.0/.pc: clear_argument_list.patch
diff -ur '--exclude=po' konsole-25.04.0/src/autotests/TerminalCharacterDecoderTest.cpp konsole-25.04.2/src/autotests/TerminalCharacterDecoderTest.cpp
--- konsole-25.04.0/src/autotests/TerminalCharacterDecoderTest.cpp	2025-04-07 22:52:58.000000000 +0200
+++ konsole-25.04.2/src/autotests/TerminalCharacterDecoderTest.cpp	2025-06-02 22:11:25.000000000 +0200
@@ -112,6 +112,14 @@
     decoder->end();
     delete[] testCharacters;
     delete decoder;
+
+    // ensure we exported the encoding, bug 500515
+    QVERIFY(outputString.contains(QStringLiteral("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />")));
+
+    // strip HTML document
+    outputString.replace(QRegularExpression(QStringLiteral("^.*<body>\\n"), QRegularExpression::DotMatchesEverythingOption), QString());
+    outputString.replace(QRegularExpression(QStringLiteral("</body>.*$"), QRegularExpression::DotMatchesEverythingOption), QString());
+
     QCOMPARE(outputString, result);
 }
 
diff -ur '--exclude=po' konsole-25.04.0/src/decoders/HTMLDecoder.cpp konsole-25.04.2/src/decoders/HTMLDecoder.cpp
--- konsole-25.04.0/src/decoders/HTMLDecoder.cpp	2025-04-07 22:52:58.000000000 +0200
+++ konsole-25.04.2/src/decoders/HTMLDecoder.cpp	2025-06-02 22:11:25.000000000 +0200
@@ -30,6 +30,15 @@
 {
     _output = output;
 
+    // open html document & body, ensure right encoding set, bug 500515
+    *_output << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
+    *_output << "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"DTD/xhtml1-strict.dtd\">\n";
+    *_output << "<html xmlns=\"http://www.w3.org/1999/xhtml\";>\n";
+    *_output << "<head>\n";
+    *_output << "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n";
+    *_output << "</head>\n";
+    *_output << "<body>\n";
+
     QString text;
     openSpan(text, QStringLiteral("font-family:monospace"));
     *output << text;
@@ -43,6 +52,10 @@
     closeSpan(text);
     *_output << text;
 
+    // close body & html document
+    *_output << "</body>\n";
+    *_output << "</html>\n";
+
     _output = nullptr;
 }
 
diff -ur '--exclude=po' konsole-25.04.0/src/filterHotSpots/FileFilterHotspot.cpp konsole-25.04.2/src/filterHotSpots/FileFilterHotspot.cpp
--- konsole-25.04.0/src/filterHotSpots/FileFilterHotspot.cpp	2025-04-07 22:52:58.000000000 +0200
+++ konsole-25.04.2/src/filterHotSpots/FileFilterHotspot.cpp	2025-06-02 22:11:25.000000000 +0200
@@ -77,9 +77,9 @@
     // Output of e.g.:
     // - grep with line numbers: "path/to/some/file:123:"
     //   grep with long lines e.g. "path/to/some/file:123:void blah" i.e. no space after 123:
-    // - compiler errors with line/column numbers: "/path/to/file.cpp:123:123:"
+    // - compiler errors with line/column numbers: "/path/to/file.cpp:123:123:" or "/path/to/file.cpp:123:123"
     // - ctest failing unit tests: "/path/to/file(204)"
-    static const QRegularExpression re(QStringLiteral(R"foo([:\(](\d+)(?:\)\])?(?::(\d+):|:[^\d]*)?$)foo"));
+    static const QRegularExpression re(QStringLiteral(R"foo([:\(](\d+)(?:\)\])?(?::(\d+):?|:[^\d]*)?$)foo"));
     const QRegularExpressionMatch match = re.match(_filePath);
     if (match.hasMatch()) {
         // The file path without the ":123" ... etc part
diff -ur '--exclude=po' konsole-25.04.0/src/SearchHistoryTask.cpp konsole-25.04.2/src/SearchHistoryTask.cpp
--- konsole-25.04.0/src/SearchHistoryTask.cpp	2025-04-07 22:52:58.000000000 +0200
+++ konsole-25.04.2/src/SearchHistoryTask.cpp	2025-06-02 22:11:25.000000000 +0200
@@ -78,6 +78,8 @@
         int delta = forwards ? maxDelta : -maxDelta;
 
         int endLine = line;
+        bool continueLoop = true;
+        bool invertDirection = false;
         bool hasWrapped = false; // set to true when we reach the top/bottom
         // of the output and continue from the other
         // end
@@ -126,9 +128,15 @@
                 endLine += delta;
 
                 if (forwards) {
-                    endLine = qMin(startLine, endLine);
+                    if (endLine >= startLine) {
+                        endLine = startLine;
+                        continueLoop = false;
+                    }
                 } else {
-                    endLine = qMax(startLine, endLine);
+                    if (endLine <= startLine) {
+                        endLine = startLine;
+                        continueLoop = false;
+                    }
                 }
             } else {
                 endLine += delta;
@@ -177,7 +185,11 @@
 
             // if noWrap is checked and we wrapped, set cursor at last match
             if (hasWrapped && _noWrap) {
-                // invert search direction
+                // one chance to invert search direction
+                if (invertDirection) {
+                    continueLoop = false;
+                }
+                invertDirection = true;
                 forwards = !forwards;
                 delta = -delta;
                 endLine += (forwards ? 1 : -1);
@@ -187,7 +199,7 @@
             // clear the current block of text and move to the next one
             string.clear();
             line = endLine;
-        } while (startLine != endLine);
+        } while (continueLoop);
         if (!session->getSelectMode()) {
             // if no match was found, clear selection to indicate this,
             window->clearSelection();
diff -ur '--exclude=po' konsole-25.04.0/src/session/SessionController.cpp konsole-25.04.2/src/session/SessionController.cpp
--- konsole-25.04.0/src/session/SessionController.cpp	2025-04-07 22:52:58.000000000 +0200
+++ konsole-25.04.2/src/session/SessionController.cpp	2025-06-02 22:11:25.000000000 +0200
@@ -475,9 +475,8 @@
     QAction *copyAction = actionCollection()->action(QStringLiteral("edit_copy"));
     QAction *copyContextMenu = actionCollection()->action(QStringLiteral("edit_copy_contextmenu"));
     // copy action is meaningful only when some text is selected.
-    // Or when semantic integration is used.
     bool hasRepl = view() && view()->screenWindow() && view()->screenWindow()->screen() && view()->screenWindow()->screen()->hasRepl();
-    copyAction->setEnabled(!selectionEmpty || hasRepl);
+    copyAction->setEnabled(!selectionEmpty);
     copyContextMenu->setVisible(!selectionEmpty || hasRepl);
     QAction *Action = actionCollection()->action(QStringLiteral("edit_copy_contextmenu_in"));
     Action->setVisible(!selectionEmpty && hasRepl);
diff -ur '--exclude=po' konsole-25.04.0/src/terminalDisplay/TerminalDisplay.cpp konsole-25.04.2/src/terminalDisplay/TerminalDisplay.cpp
--- konsole-25.04.0/src/terminalDisplay/TerminalDisplay.cpp	2025-04-07 22:52:58.000000000 +0200
+++ konsole-25.04.2/src/terminalDisplay/TerminalDisplay.cpp	2025-06-02 22:11:25.000000000 +0200
@@ -1517,6 +1517,7 @@
             clearSelection();
         } else {
             if (_actSel > 1) {
+                copyToX11Selection();
                 if (_possibleTripleClick) {
                     const QString text = _screenWindow->selectedText(currentDecodingOptions());
                     if (!text.isEmpty()) {
@@ -1525,8 +1526,6 @@
                             _doubleClickSelectedHtml = _screenWindow->selectedText(currentDecodingOptions() | Screen::ConvertToHtml);
                         }
                     }
-                } else {
-                    copyToX11Selection();
                 }
             }
 

--- End Message ---
--- Begin Message ---
Unblocked.

--- End Message ---

Reply to: