[arch-commits] Commit in nano/trunk (PKGBUILD keycode_fixes.diff)

Andreas Radke andyrtr at archlinux.org
Wed Sep 12 19:22:25 UTC 2018


    Date: Wednesday, September 12, 2018 @ 19:22:24
  Author: andyrtr
Revision: 334425

upgpkg: nano 3.0-2

fix backspace behavior - FS#60026

Added:
  nano/trunk/keycode_fixes.diff
Modified:
  nano/trunk/PKGBUILD

--------------------+
 PKGBUILD           |   14 ++++++--
 keycode_fixes.diff |   83 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 94 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2018-09-12 18:07:37 UTC (rev 334424)
+++ PKGBUILD	2018-09-12 19:22:24 UTC (rev 334425)
@@ -3,7 +3,7 @@
 
 pkgname=nano
 pkgver=3.0
-pkgrel=1
+pkgrel=2
 pkgdesc="Pico editor clone with enhancements"
 arch=('x86_64')
 license=('GPL')
@@ -11,14 +11,22 @@
 groups=('base')
 depends=('ncurses' 'file' 'sh')
 backup=('etc/nanorc')
-source=(https://www.nano-editor.org/dist/v3/${pkgname}-${pkgver}.tar.xz{,.asc})
+source=(https://www.nano-editor.org/dist/v3/${pkgname}-${pkgver}.tar.xz{,.asc}
+        keycode_fixes.diff)
 sha256sums=('e0a5bca354514e64762c987c200a8758b05e7bcced3b00b3e48ea0a2d383c8a0'
-            'SKIP')
+            'SKIP'
+            '8453d3040f894482484e5318705689f3bf2fb6e23ea1a61cada4eac76eb68b14')
 validpgpkeys=('8DA6FE7BFA7A418AB3CB2354BCB356DF91009FA7' # "Chris Allegretta <chrisa at asty.org>"
               'A7F6A64A67DA09EF92782DD79DF4862AF1175C5B' # "Benno Schulenberg <bensberg at justemail.net>"
               'BFD009061E535052AD0DF2150D28D4D2A0ACE884' # "Benno Schulenberg <bensberg at telfort.nl>"
 )
 
+prepare(){
+  cd ${pkgname}-${pkgver}
+  # FS#60026
+  patch -Np1 -i ../keycode_fixes.diff
+}
+
 build() {
   cd ${pkgname}-${pkgver}
   ./configure --prefix=/usr \

Added: keycode_fixes.diff
===================================================================
--- keycode_fixes.diff	                        (rev 0)
+++ keycode_fixes.diff	2018-09-12 19:22:24 UTC (rev 334425)
@@ -0,0 +1,83 @@
+From 09ab2e3d0eeb33bc4d0702623404ba01b1f8fa9a Mon Sep 17 00:00:00 2001
+From: Benno Schulenberg <bensberg at telfort.nl>
+Date: Wed, 12 Sep 2018 13:18:17 +0200
+Subject: bindings: when Ctrl+Shift+Delete has no keycode, don't use KEY_BSP
+
+When curses gives no code for Ctrl+Shift+Delete, do not fall back
+to KEY_BACKSPACE, because then ^H and/or <Backspace> get bound to
+'cutwordleft'.
+
+This fixes https://savannah.gnu.org/bugs/?54642.
+
+Bug was introduced with version 3.0, commit e6429e78.
+---
+ src/nano.c | 2 +-
+ src/nano.h | 1 +
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/nano.c b/src/nano.c
+index c7e0ca2..74e1243 100644
+--- a/src/nano.c
++++ b/src/nano.c
+@@ -2580,7 +2580,7 @@ int main(int argc, char **argv)
+ 	controlhome = get_keycode("kHOM5", CONTROL_HOME);
+ 	controlend = get_keycode("kEND5", CONTROL_END);
+ 	controldelete = get_keycode("kDC5", CONTROL_DELETE);
+-	controlshiftdelete = get_keycode("kDC6", KEY_BACKSPACE);
++	controlshiftdelete = get_keycode("kDC6", CONTROL_SHIFT_DELETE);
+ #ifndef NANO_TINY
+ 	/* Ask for the codes for Shift+Control+Left/Right/Up/Down. */
+ 	shiftcontrolleft = get_keycode("kLFT6", SHIFT_CONTROL_LEFT);
+diff --git a/src/nano.h b/src/nano.h
+index e104275..7de34bf 100644
+--- a/src/nano.h
++++ b/src/nano.h
+@@ -588,6 +588,7 @@ enum
+ #define SHIFT_CONTROL_DOWN 0x414
+ #define SHIFT_CONTROL_HOME 0x415
+ #define SHIFT_CONTROL_END 0x416
++#define CONTROL_SHIFT_DELETE 0x417
+ #define ALT_LEFT 0x421
+ #define ALT_RIGHT 0x422
+ #define ALT_UP 0x423
+-- 
+cgit v1.0-41-gc330
+
+From 3c5e5d4b6f7fd388578622e3ed9c78aad88055c1 Mon Sep 17 00:00:00 2001
+From: Benno Schulenberg <bensberg at telfort.nl>
+Date: Wed, 12 Sep 2018 15:00:06 +0200
+Subject: input: recognize the sequences for Ctrl+Shift+Delete on xterm and
+ urxvt
+
+This fixes https://savannah.gnu.org/bugs/?54648.
+---
+ src/winio.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/winio.c b/src/winio.c
+index 953826b..d6a5630 100644
+--- a/src/winio.c
++++ b/src/winio.c
+@@ -1101,12 +1101,18 @@ int convert_sequence(const int *seq, size_t length, int *consumed)
+ 							if (seq[3] == '5')
+ 								/* Esc [ 3 ; 5 ~ == Ctrl-Delete on xterm. */
+ 								return CONTROL_DELETE;
++							if (seq[3] == '6')
++								/* Esc [ 3 ; 6 ~ == Ctrl-Shift-Delete on xterm. */
++								return controlshiftdelete;
+ 						}
+ 						if (length > 2 && seq[2] == '^') {
+ 							/* Esc [ 3 ^ == Ctrl-Delete on urxvt. */
+ 							*consumed = 3;
+ 							return CONTROL_DELETE;
+ 						}
++						if (length > 2 && seq[2] == '@')
++							/* Esc [ 3 @ == Ctrl-Shift-Delete on urxvt. */
++							return controlshiftdelete;
+ 						break;
+ 					case '4': /* Esc [ 4 ~ == End on VT220/VT320/
+ 							   * Linux console/xterm. */
+-- 
+cgit v1.0-41-gc330
+
+



More information about the arch-commits mailing list