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

Bug#370555: marked as done (libreadline5: Additional standard terminfo keys mapping)



Your message dated Mon, 01 Feb 2021 22:18:23 +0000
with message-id <E1l6hWZ-000Bru-4d@fasolo.debian.org>
and subject line Bug#980504: Removed package(s) from unstable
has caused the Debian Bug report #370555,
regarding libreadline5: Additional standard terminfo keys mapping
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.)


-- 
370555: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=370555
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: libreadline5
Version: 5.1-7youpi
Severity: minor
Tags: patch upstream

Hi,

There are a bunch of standard terminfo keys that readline doesn't bind
(insert, keypad keys, previous/next page, find, previous, next, ...).
Attached is a patch that adds a lot of them and documents the remaining
keys for which I didn't find any obvious use.

I submitted the patch to bash-maintainers@gnu.org on Saturday but didn't
get any answer so far.  Maybe you know better how to submit such patch.

Regards,
Samuel

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (900, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.16
Locale: LANG=fr_FR@euro, LC_CTYPE=fr_FR@euro (charmap=ISO-8859-15)

Versions of packages libreadline5 depends on:
ii  libc6                         2.3.6-13   GNU C Library: Shared libraries
ii  libncurses5                   5.5-2      Shared libraries for terminal hand
ii  readline-common               5.1-7      GNU readline and history libraries

libreadline5 recommends no packages.

-- no debconf information
--- readline5-5.1/terminal.c	2005-11-13 02:46:54.000000000 +0100
+++ readline5-5.1-mine/terminal.c	2006-06-03 17:13:04.000000000 +0200
@@ -136,7 +136,9 @@
 static char *_rl_term_ku;
 static char *_rl_term_kd;
 static char *_rl_term_kr;
+static char *_rl_term_percenti;	/* %i shifted right */
 static char *_rl_term_kl;
+static char *_rl_term_sharp4;	/* #4 shifted left */
 
 /* How to initialize and reset the arrow keys, if this terminal has any. */
 static char *_rl_term_ks;
@@ -144,14 +146,93 @@
 
 /* The key sequences sent by the Home and End keys, if any. */
 static char *_rl_term_kh;
+static char *_rl_term_K1;	/* keypad home */
 static char *_rl_term_kH;
-static char *_rl_term_at7;	/* @7 */
-
-/* Delete key */
-static char *_rl_term_kD;
+static char *_rl_term_sharp2;	/* #2 shifted home */
+static char *_rl_term_at1;	/* @1 begin */
+static char *_rl_term_and9;	/* &9 shifted begin */
+static char *_rl_term_at7;	/* @7 end */
+static char *_rl_term_K4;	/* keypad end */
+static char *_rl_term_star7;	/* *7 shifted end */
+
+/* Delete keys */
+static char *_rl_term_kD;	/* delete */
+static char *_rl_term_star4;	/* *4 shifted delete */
+static char *_rl_term_kb;	/* backspace */
+static char *_rl_term_kL;	/* delete line */
+static char *_rl_term_star5;	/* *5 shifted delete line */
+static char *_rl_term_kC;	/* clear */
+static char *_rl_term_kE;	/* clear-to-end-of-line */
+static char *_rl_term_star8;	/* *8 shifted clear-to-end-of-line */
 
 /* Insert key */
 static char *_rl_term_kI;
+static char *_rl_term_sharp3;	/* #3 shifted insert-characteer */
+
+/* Find */
+static char *_rl_term_at0;	/* @0 find */
+static char *_rl_term_star0;	/* *0 shifted find */
+static char *_rl_term_kN;	/* next page */
+static char *_rl_term_K5;	/* keypad next page */
+static char *_rl_term_kP;	/* previous page */
+static char *_rl_term_K3;	/* keypad previous page */
+static char *_rl_term_percent5;	/* %5 next */
+static char *_rl_term_percentc;	/* %c shifted next */
+static char *_rl_term_percent8;	/* %8 previous */
+static char *_rl_term_percente;	/* %e shifted previous */
+
+/* Enter */
+static char *_rl_term_at8;	/* @8 enter */
+
+/* Refresh */
+static char *_rl_term_and2;	/* &2 refresh */
+
+/* Mark */
+static char *_rl_term_percent2;	/* %2 mark */
+
+/* Undo */
+static char *_rl_term_and8;	/* &8 undo */
+static char *_rl_term_not3;	/* !3 shifted undo */
+/* TODO: %0 redo / %g shifted redo */
+
+/* Copy */
+static char *_rl_term_at5;	/* @5 copy */
+static char *_rl_term_star2;	/* *2 shifted copy */
+
+/* TODO
+ *
+ * nowadays keyboards
+ * - K2 center of keypad
+ * - kM sent by rmir or smir in insert mode
+ * - k0... Fx function keys
+ *
+ * odd keyboards
+ * - %1 help / #1 shifted help
+ * - %3 message / %a shifted message
+ * - %4 move / %b shifted move
+ * - %6 open
+ * - %7 options / %d shifted options
+ * - %9 print / %f shifted print
+ * - &1 reference
+ * - &3 replace / %h shifted replace
+ * - &4 restart
+ * - &5 resume / %j shifted resume
+ * - &6 save / !1 shifted save
+ * - &7 suspend / !2 shifted suspend
+ * - *6 select key
+ * - @2 cancel / &0 shifted cancel
+ * - @3 close
+ * - @4 command / *1 shifted command
+ * - @6 create / *3 shifted create
+ * - @9 exit / *9 shifted exit
+ * - kA insert-line
+ * - kB back-tab
+ * - kF scroll forward / kR scroll backward
+ * - kS clear-to-end-of-screen
+ * - kT set-tab
+ * - ka clear-all-tabs
+ * - kt clear-tab
+ */
 
 /* Cursor control */
 static char *_rl_term_vs;	/* very visible */
@@ -332,9 +413,36 @@
    search algorithm to something smarter. */
 static struct _tc_string tc_strings[] =
 {
-  { "@7", &_rl_term_at7 },
+  { "!3", &_rl_term_not3 },	/* shifted undo */
+  { "#2", &_rl_term_sharp2 },	/* shifted home */
+  { "#3", &_rl_term_sharp3 },	/* shifted insert */
+  { "#4", &_rl_term_sharp4 },	/* shifted left */
+  { "%2", &_rl_term_percent2 },	/* mark */
+  { "%5", &_rl_term_percent5 }, /* next */
+  { "%8", &_rl_term_percent8 },	/* previous */
+  { "%c", &_rl_term_percentc },	/* shifted next */
+  { "%e", &_rl_term_percente },	/* shifted previous */
+  { "%i", &_rl_term_percenti },	/* shifted right */
+  { "&2", &_rl_term_and2 },	/* refresh */
+  { "&8", &_rl_term_and8 },	/* redo */
+  { "&9", &_rl_term_and9 },	/* shifted begin */
+  { "*0", &_rl_term_star0 },	/* shifted find */
+  { "*2", &_rl_term_star2 },	/* shifted copy */
+  { "*4", &_rl_term_star4 },	/* shifted delete */
+  { "*5", &_rl_term_star5 },	/* shifted delete line */
+  { "*7", &_rl_term_star7 },	/* shifted end */
+  { "*8", &_rl_term_star8 },	/* shifted clear-to-end-of-line */
+  { "@0", &_rl_term_at0 },	/* find */
+  { "@1", &_rl_term_at1 },	/* begin */
+  { "@5", &_rl_term_at5 },	/* copy */
+  { "@7", &_rl_term_at7 },	/* end */
+  { "@8", &_rl_term_at8 },	/* enter */
   { "DC", &_rl_term_DC },
   { "IC", &_rl_term_IC },
+  { "K1", &_rl_term_K1 },	/* keypad home */
+  { "K3", &_rl_term_K3 },	/* keypad previous page */
+  { "K4", &_rl_term_K4 },	/* keypad end */
+  { "K5", &_rl_term_K5 },	/* keypad next page */
   { "ce", &_rl_term_clreol },
   { "cl", &_rl_term_clrpag },
   { "cr", &_rl_term_cr },
@@ -342,9 +450,15 @@
   { "ei", &_rl_term_ei },
   { "ic", &_rl_term_ic },
   { "im", &_rl_term_im },
+  { "kC", &_rl_term_kC },	/* clear */
   { "kD", &_rl_term_kD },	/* delete */
+  { "kE", &_rl_term_kE },	/* clear to end of line */
   { "kH", &_rl_term_kH },	/* home down ?? */
   { "kI", &_rl_term_kI },	/* insert */
+  { "kL", &_rl_term_kL },	/* delete line */
+  { "kN", &_rl_term_kN },	/* next page */
+  { "kP", &_rl_term_kP },	/* previous page */
+  { "kb", &_rl_term_kb },	/* backspace */
   { "kd", &_rl_term_kd },
   { "ke", &_rl_term_ke },	/* end keypad mode */
   { "kh", &_rl_term_kh },	/* home */
@@ -450,8 +564,22 @@
       _rl_term_im = _rl_term_ei = _rl_term_ic = _rl_term_IC = (char *)NULL;
       _rl_term_up = _rl_term_dc = _rl_term_DC = _rl_visible_bell = (char *)NULL;
       _rl_term_ku = _rl_term_kd = _rl_term_kl = _rl_term_kr = (char *)NULL;
-      _rl_term_kh = _rl_term_kH = _rl_term_kI = _rl_term_kD = (char *)NULL;
-      _rl_term_ks = _rl_term_ke = _rl_term_at7 = (char *)NULL;
+      _rl_term_percenti = _rl_term_sharp4 = (char *)NULL;
+      _rl_term_kN = _rl_term_kP = _rl_term_K3 = _rl_term_K5 = (char *)NULL;
+      _rl_term_kh = _rl_term_K1 = _rl_term_kH = _rl_term_sharp2 = (char *)NULL;
+      _rl_term_at1 = _rl_term_and9 = (char *)NULL;
+      _rl_term_at7 = _rl_term_K4 = _rl_term_star7 = (char *)NULL;
+      _rl_term_kD = _rl_term_star4 = _rl_term_kb = (char *)NULL;
+      _rl_term_kL = _rl_term_star5 = (char *)NULL;
+      _rl_term_kC = _rl_term_star8 = _rl_term_kE = (char *)NULL;
+      _rl_term_kI = _rl_term_sharp3 = (char *)NULL;
+      _rl_term_at0 = _rl_term_star0 = (char *)NULL;
+      _rl_term_percent5 = _rl_term_percentc = (char *)NULL;
+      _rl_term_percent8 = _rl_term_percente = (char *)NULL;
+      _rl_term_at8 = _rl_term_and2 = _rl_term_percent2 = (char *)NULL;
+      _rl_term_and8 = _rl_term_not3 = (char *)NULL;
+      _rl_term_at5 = _rl_term_star2 = (char *)NULL;
+      _rl_term_ks = _rl_term_ke = (char *)NULL;
       _rl_term_mm = _rl_term_mo = (char *)NULL;
       _rl_term_ve = _rl_term_vs = (char *)NULL;
 #if defined (HACK_TERMCAP_MOTION)
@@ -525,12 +653,54 @@
   rl_bind_keyseq_if_unbound (_rl_term_ku, rl_get_previous_history);
   rl_bind_keyseq_if_unbound (_rl_term_kd, rl_get_next_history);
   rl_bind_keyseq_if_unbound (_rl_term_kr, rl_forward_char);
+  rl_bind_keyseq_if_unbound (_rl_term_percenti, rl_forward_char);	/* shifted right */
   rl_bind_keyseq_if_unbound (_rl_term_kl, rl_backward_char);
+  rl_bind_keyseq_if_unbound (_rl_term_sharp4, rl_backward_char);	/* shifted left */
 
   rl_bind_keyseq_if_unbound (_rl_term_kh, rl_beg_of_line);	/* Home */
+  rl_bind_keyseq_if_unbound (_rl_term_K1, rl_beg_of_line);	/* keypad home */
+  rl_bind_keyseq_if_unbound (_rl_term_kH, rl_beg_of_line);	/* Home down */
+  rl_bind_keyseq_if_unbound (_rl_term_sharp2, rl_beg_of_line);	/* shifted home */
+  rl_bind_keyseq_if_unbound (_rl_term_at1, rl_beg_of_line);	/* begin */
+  rl_bind_keyseq_if_unbound (_rl_term_and9, rl_beg_of_line);	/* shifted begin */
   rl_bind_keyseq_if_unbound (_rl_term_at7, rl_end_of_line);	/* End */
+  rl_bind_keyseq_if_unbound (_rl_term_K4, rl_end_of_line);	/* keypad end */
+  rl_bind_keyseq_if_unbound (_rl_term_star7, rl_end_of_line);	/* shifted end */
 
   rl_bind_keyseq_if_unbound (_rl_term_kD, rl_delete);
+  rl_bind_keyseq_if_unbound (_rl_term_star4, rl_rubout);	/* shifted delete */
+  rl_bind_keyseq_if_unbound (_rl_term_kb, rl_rubout);	/* backspace */
+  rl_bind_keyseq_if_unbound (_rl_term_kL, rl_kill_full_line);	/* delete line */
+  rl_bind_keyseq_if_unbound (_rl_term_star5, rl_kill_full_line);	/* shifted delete line */
+  rl_bind_keyseq_if_unbound (_rl_term_kC, rl_kill_full_line);	/* clear */
+  rl_bind_keyseq_if_unbound (_rl_term_kE, rl_kill_line);	/* clear to end of line */
+  rl_bind_keyseq_if_unbound (_rl_term_star8, rl_backward_kill_line);	/* shifted clear to end of line */
+
+  rl_bind_keyseq_if_unbound (_rl_term_kI, rl_vi_insertion_mode);	/* insert */
+  rl_bind_keyseq_if_unbound (_rl_term_sharp3, rl_vi_insertion_mode);	/* shifted insert */
+
+  rl_bind_keyseq_if_unbound (_rl_term_at0, rl_noninc_reverse_search);	/* find */
+  rl_bind_keyseq_if_unbound (_rl_term_star0, rl_noninc_forward_search);	/* shifted find */
+  rl_bind_keyseq_if_unbound (_rl_term_kN, rl_history_search_forward);	/* next page */
+  rl_bind_keyseq_if_unbound (_rl_term_K5, rl_history_search_forward);	/* keypad next page */
+  rl_bind_keyseq_if_unbound (_rl_term_kP, rl_history_search_backward);	/* previous page */
+  rl_bind_keyseq_if_unbound (_rl_term_K3, rl_history_search_backward);	/* keypad previous page */
+  rl_bind_keyseq_if_unbound (_rl_term_percent5, rl_forward_search_history);	/* next */
+  rl_bind_keyseq_if_unbound (_rl_term_percentc, rl_reverse_search_history);	/* shift next */
+  rl_bind_keyseq_if_unbound (_rl_term_percent8, rl_reverse_search_history);	/* previous */
+  rl_bind_keyseq_if_unbound (_rl_term_percente, rl_forward_search_history);	/* shift previous */
+
+  rl_bind_keyseq_if_unbound (_rl_term_at8, rl_newline);	/* enter */
+
+  rl_bind_keyseq_if_unbound (_rl_term_and2, rl_refresh_line);	/* refresh */
+
+  rl_bind_keyseq_if_unbound (_rl_term_percent2, rl_set_mark);	/* mark */
+
+  rl_bind_keyseq_if_unbound (_rl_term_and8, rl_undo_command);	/* undo */
+  rl_bind_keyseq_if_unbound (_rl_term_not3, rl_undo_command);	/* shifted undo */
+
+  rl_bind_keyseq_if_unbound (_rl_term_at5, rl_copy_region_to_kill);	/* copy */
+  rl_bind_keyseq_if_unbound (_rl_term_star2, rl_copy_region_to_kill);	/* shifted copy */
 
   _rl_keymap = xkeymap;
 }

--- End Message ---
--- Begin Message ---
Version: 5.2+dfsg-3+rm

Dear submitter,

as the package readline5 has just been removed from the Debian archive
unstable we hereby close the associated bug reports.  We are sorry
that we couldn't deal with your issue properly.

For details on the removal, please see https://bugs.debian.org/980504

The version of this package that was in Debian prior to this removal
can still be found using http://snapshot.debian.org/.

Please note that the changes have been done on the master archive and
will not propagate to any mirrors until the next dinstall run at the
earliest.

This message was generated automatically; if you believe that there is
a problem with it please contact the archive administrators by mailing
ftpmaster@ftp-master.debian.org.

Debian distribution maintenance software
pp.
Joerg Jaspert (the ftpmaster behind the curtain)

--- End Message ---

Reply to: