1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-27 00:57:50 +00:00

Fix backspace bug (Debian Bug#130199).

Assume maintainership.

Obtained from:  debian.org 004-backspace.dpatch
Feature safe:	yes
This commit is contained in:
Cy Schubert 2012-03-10 17:37:56 +00:00
parent ea111a862a
commit a4cc9fb493
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=293056
2 changed files with 81 additions and 2 deletions

View File

@ -7,12 +7,12 @@
PORTNAME= xxgdb
PORTVERSION= 1.12
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_XCONTRIB}
MASTER_SITE_SUBDIR= utilities
MAINTAINER= ports@FreeBSD.org
MAINTAINER= cy@FreeBSD.org
COMMENT= An X window interface for gdb
USE_IMAKE= yes

View File

@ -0,0 +1,79 @@
diff -urNad dialog.c dialog.c
--- dialog.c 1995-06-20 00:15:13.000000000 +0200
+++ dialog.c 2008-05-16 17:31:45.000000000 +0200
@@ -130,8 +130,8 @@
Cardinal i;
textblock.firstPos = 0;
- textblock.length = 0;
- textblock.ptr = "";
+ textblock.length = 1;
+ textblock.ptr = " ";
pos = XawTextGetInsertionPoint(w);
if (pos <= StartPos)
@@ -142,6 +142,30 @@
XawTextSetInsertionPoint(w, i);
}
+/* Erases the preceding word.
+ * Simulates the action of the WERASE character (ctrl-W).
+ */
+/* ARGSUSED */
+void DeleteChar(w, event, params, num_params)
+ Widget w;
+ XEvent *event;
+ String *params;
+ Cardinal *num_params;
+{
+ XawTextBlock textblock;
+ XawTextPosition pos;
+
+ textblock.firstPos = 0;
+ textblock.length = 1;
+ textblock.ptr = " ";
+
+ pos = XawTextGetInsertionPoint(w);
+ if (pos > StartPos) {
+ XawTextReplace(w, pos-1, pos, &textblock);
+ XawTextSetInsertionPoint(w, pos-1);
+ }
+}
+
/* Deletes the entire current input line.
* simulates the action of the KILL character (ctrl-U).
@@ -159,8 +183,8 @@
char *s;
textblock.firstPos = 0;
- textblock.length = 0;
- textblock.ptr = "";
+ textblock.length = 1;
+ textblock.ptr = " ";
pos = XawTextGetInsertionPoint(w);
if (w == dialogWindow) {
@@ -307,6 +331,7 @@
{"SigQuit", (XtActionProc) SigQuit},
{"InsertSpace", (XtActionProc) InsertSpace},
{"Dispatch", (XtActionProc) Dispatch},
+ {"DeleteChar", (XtActionProc) DeleteChar},
{NULL, NULL}
};
@@ -316,10 +341,10 @@
Ctrl<Key>|: SigQuit()\n\
Ctrl<Key>W: DeleteWord()\n\
Ctrl<Key>U: DeleteLine()\n\
- Ctrl<Key>H: InsertSpace() delete-previous-character()\n\
- <Key>Delete: InsertSpace() delete-previous-character()\n\
- <Key>BackSpace: InsertSpace() delete-previous-character()\n\
- <Key>Return: newline() Dispatch()\n\
+ Ctrl<Key>H: DeleteChar()\n\
+ <Key>Delete: DeleteChar()\n\
+ <Key>BackSpace: DeleteChar()\n\
+ <Key>Return: newline()Dispatch()\n\
";
n = 0;