First check in
This commit is contained in:
86
Makefile
Normal file
86
Makefile
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
# This file is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License version 2 as
|
||||||
|
# published by the Free Software Foundation here:
|
||||||
|
# (http://www.gnu.org/licenses/gpl-2.0.html)
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
DEPENDS =
|
||||||
|
ARCH = x86_64
|
||||||
|
URL = http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html
|
||||||
|
DESC = The GNU Readline library provides a set of functions for use by \
|
||||||
|
applications that allow users to edit command lines as they are typed in.
|
||||||
|
SNAPVER = sr0
|
||||||
|
|
||||||
|
ARCHIVE := $(PWD)/SRC/$(shell ls SRC|egrep '(bz2|gz|tar|xz)$$'|tail -1)
|
||||||
|
TYPE := $(shell file -ib $(ARCHIVE)|cut -d';' -f1|tr -d '\n')
|
||||||
|
SRCDIR := $(shell tar -tf $(ARCHIVE)|head -1|sed 's/\/.*//')
|
||||||
|
PATCHDIR := $(PWD)/SRC/patches
|
||||||
|
VERSION := $(shell echo $(SRCDIR)|egrep -o '\-[0-9].*'|sed 's/^-//')$(SNAPVER)
|
||||||
|
|
||||||
|
MAKE = make
|
||||||
|
MAKEINST = make install
|
||||||
|
SNAPHACKS = install -d -v -m 755 $(ROOT)/lib && \
|
||||||
|
mv -v $(ROOT)/usr/lib/lib{readline,history}.so.* $(ROOT)/lib && \
|
||||||
|
ln -sfv ../../lib/`readlink $(ROOT)/usr/lib/libreadline.so` \
|
||||||
|
$(ROOT)/usr/lib/libreadline.so && \
|
||||||
|
ln -sfv ../../lib/`readlink $(ROOT)/usr/lib/libhistory.so` \
|
||||||
|
$(ROOT)/usr/lib/libhistory.so && \
|
||||||
|
install -v -m 644 $(SRCDIR)/doc/*.{ps,pdf,html,dvi} \
|
||||||
|
$(ROOT)/usr/share/doc/readline
|
||||||
|
|
||||||
|
include /usr/share/snap/Makefile.snaplinux
|
||||||
|
|
||||||
|
$(SRCDIR)/configure: $(ARCHIVE)
|
||||||
|
@if [ '$(TYPE)' == 'application/x-bzip2' ]; then \
|
||||||
|
tar -jxf $(ARCHIVE); \
|
||||||
|
elif [ '$(TYPE)' == 'application/x-gzip' ]; then \
|
||||||
|
tar -zxf $(ARCHIVE); \
|
||||||
|
elif [ '$(TYPE)' == 'application/x-tar' ]; then \
|
||||||
|
tar -xf $(ARCHIVE); \
|
||||||
|
elif [ '$(TYPE)' == 'application/x-xz' ]; then \
|
||||||
|
tar -xf $(ARCHIVE); \
|
||||||
|
else \
|
||||||
|
echo 'Unable to determine archive type'; \
|
||||||
|
exit 1; \
|
||||||
|
fi
|
||||||
|
@touch $(SRCDIR)/configure
|
||||||
|
|
||||||
|
$(SRCDIR)/config.log: $(SRCDIR)/configure
|
||||||
|
@cd $(SRCDIR) && for patch in `find $(PATCHDIR) -name \*.patch`; do \
|
||||||
|
patch --verbose -Np0 -i $$patch; \
|
||||||
|
done
|
||||||
|
@cd $(SRCDIR); \
|
||||||
|
./configure \
|
||||||
|
--prefix=/usr \
|
||||||
|
--disable-static \
|
||||||
|
--build=x86_64-snap-linux-gnu \
|
||||||
|
--host=x86_64-snap-linux-gnu \
|
||||||
|
--target=x86_64-snap-linux-gnu
|
||||||
|
|
||||||
|
$(SRCDIR)/shlib/libhistory.so.$(VERSION): $(SRCDIR)/config.log
|
||||||
|
@cd $(SRCDIR); \
|
||||||
|
$(MAKE)
|
||||||
|
|
||||||
|
$(ROOT): $(SRCDIR)/shlib/libhistory.so.$(VERSION)
|
||||||
|
@if [ -d $(ROOT) ]; then \
|
||||||
|
touch $(ROOT); \
|
||||||
|
else \
|
||||||
|
mkdir -v $(ROOT); \
|
||||||
|
fi
|
||||||
|
|
||||||
|
@cd $(SRCDIR); \
|
||||||
|
$(MAKEINST) DESTDIR=$(ROOT)
|
||||||
|
|
||||||
|
@$(SNAPHACKS)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
@rm -rvf $(ROOT) \
|
||||||
|
$(SNAPINFO) \
|
||||||
|
$(MANIFEST) \
|
||||||
|
$(FILES) \
|
||||||
|
$(SRCDIR)
|
||||||
|
|
||||||
3
SNAP/README
Normal file
3
SNAP/README
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
This is the directory where the manifest, snapinfo, and files.tar.gz
|
||||||
|
files will be created. It is also where the usher file should be
|
||||||
|
placed if it is required by the package.
|
||||||
2
SRC/patches/README
Normal file
2
SRC/patches/README
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
Place any patch files here and preface each with a number indicating
|
||||||
|
the order of execution. Patch files are expected to use a .patch extension.
|
||||||
43
SRC/patches/readline63-001.patch
Normal file
43
SRC/patches/readline63-001.patch
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
READLINE PATCH REPORT
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Readline-Release: 6.3
|
||||||
|
Patch-ID: readline63-001
|
||||||
|
|
||||||
|
Bug-Reported-by: Daan van Rossum <daan@flash.uchicago.edu>
|
||||||
|
Bug-Reference-ID: <20140307072523.GA14250@flash.uchicago.edu>
|
||||||
|
Bug-Reference-URL:
|
||||||
|
|
||||||
|
Bug-Description:
|
||||||
|
|
||||||
|
The `.' command in vi mode cannot undo multi-key commands beginning with
|
||||||
|
`c', `d', and `y' (command plus motion specifier).
|
||||||
|
|
||||||
|
Patch (apply with `patch -p0'):
|
||||||
|
|
||||||
|
*** ../readline-6.3/readline.c 2013-10-28 14:58:06.000000000 -0400
|
||||||
|
--- readline.c 2014-03-07 15:20:33.000000000 -0500
|
||||||
|
***************
|
||||||
|
*** 965,969 ****
|
||||||
|
if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap &&
|
||||||
|
key != ANYOTHERKEY &&
|
||||||
|
! rl_key_sequence_length == 1 && /* XXX */
|
||||||
|
_rl_vi_textmod_command (key))
|
||||||
|
_rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign);
|
||||||
|
--- 965,969 ----
|
||||||
|
if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap &&
|
||||||
|
key != ANYOTHERKEY &&
|
||||||
|
! _rl_dispatching_keymap == vi_movement_keymap &&
|
||||||
|
_rl_vi_textmod_command (key))
|
||||||
|
_rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign);
|
||||||
|
*** ../readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500
|
||||||
|
--- patchlevel 2014-03-21 08:28:40.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 1,3 ****
|
||||||
|
# Do not edit -- exists only for use by patch
|
||||||
|
|
||||||
|
! 5
|
||||||
|
--- 1,3 ----
|
||||||
|
# Do not edit -- exists only for use by patch
|
||||||
|
|
||||||
|
! 1
|
||||||
BIN
SRC/patches/readline63-001.patch.sig
Normal file
BIN
SRC/patches/readline63-001.patch.sig
Normal file
Binary file not shown.
44
SRC/patches/readline63-002.patch
Normal file
44
SRC/patches/readline63-002.patch
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
READLINE PATCH REPORT
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Readline-Release: 6.3
|
||||||
|
Patch-ID: readline63-002
|
||||||
|
|
||||||
|
Bug-Reported-by: Anatol Pomozov <anatol.pomozov@gmail.com>
|
||||||
|
Bug-Reference-ID: <CAOMFOmXy3mT2So5GQ5F-smCVArQuAeBwZ2QKzgCtMeXJoDeYOQ@mail.gmail.com>
|
||||||
|
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2014-03/msg00010.html
|
||||||
|
|
||||||
|
Bug-Description:
|
||||||
|
|
||||||
|
When in callback mode, some readline commands can cause readline to seg
|
||||||
|
fault by passing invalid contexts to callback functions.
|
||||||
|
|
||||||
|
Patch (apply with `patch -p0'):
|
||||||
|
|
||||||
|
*** ../readline-6.3/readline.c 2013-10-28 14:58:06.000000000 -0400
|
||||||
|
--- readline.c 2014-03-10 14:15:02.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 745,749 ****
|
||||||
|
|
||||||
|
RL_CHECK_SIGNALS ();
|
||||||
|
! if (r == 0) /* success! */
|
||||||
|
{
|
||||||
|
_rl_keyseq_chain_dispose ();
|
||||||
|
--- 745,750 ----
|
||||||
|
|
||||||
|
RL_CHECK_SIGNALS ();
|
||||||
|
! /* We only treat values < 0 specially to simulate recursion. */
|
||||||
|
! if (r >= 0 || (r == -1 && (cxt->flags & KSEQ_SUBSEQ) == 0)) /* success! or failure! */
|
||||||
|
{
|
||||||
|
_rl_keyseq_chain_dispose ();
|
||||||
|
*** ../readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500
|
||||||
|
--- patchlevel 2014-03-21 08:28:40.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 1,3 ****
|
||||||
|
# Do not edit -- exists only for use by patch
|
||||||
|
|
||||||
|
! 1
|
||||||
|
--- 1,3 ----
|
||||||
|
# Do not edit -- exists only for use by patch
|
||||||
|
|
||||||
|
! 2
|
||||||
BIN
SRC/patches/readline63-002.patch.sig
Normal file
BIN
SRC/patches/readline63-002.patch.sig
Normal file
Binary file not shown.
47
SRC/patches/readline63-003.patch
Normal file
47
SRC/patches/readline63-003.patch
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
READLINE PATCH REPORT
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Readline-Release: 6.3
|
||||||
|
Patch-ID: readline63-003
|
||||||
|
|
||||||
|
Bug-Reported-by:
|
||||||
|
Bug-Reference-ID:
|
||||||
|
Bug-Reference-URL:
|
||||||
|
|
||||||
|
Bug-Description:
|
||||||
|
|
||||||
|
There are debugging functions in the readline release that are theoretically
|
||||||
|
exploitable as security problems. They are not public functions, but have
|
||||||
|
global linkage.
|
||||||
|
|
||||||
|
Patch (apply with `patch -p0'):
|
||||||
|
|
||||||
|
*** ../readline-6.3/util.c 2013-09-02 13:36:12.000000000 -0400
|
||||||
|
--- util.c 2014-03-20 10:25:53.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 477,480 ****
|
||||||
|
--- 479,483 ----
|
||||||
|
}
|
||||||
|
|
||||||
|
+ #if defined (DEBUG)
|
||||||
|
#if defined (USE_VARARGS)
|
||||||
|
static FILE *_rl_tracefp;
|
||||||
|
***************
|
||||||
|
*** 539,542 ****
|
||||||
|
--- 542,546 ----
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
+ #endif /* DEBUG */
|
||||||
|
|
||||||
|
|
||||||
|
*** ../readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500
|
||||||
|
--- patchlevel 2014-03-21 08:28:40.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 1,3 ****
|
||||||
|
# Do not edit -- exists only for use by patch
|
||||||
|
|
||||||
|
! 2
|
||||||
|
--- 1,3 ----
|
||||||
|
# Do not edit -- exists only for use by patch
|
||||||
|
|
||||||
|
! 3
|
||||||
BIN
SRC/patches/readline63-003.patch.sig
Normal file
BIN
SRC/patches/readline63-003.patch.sig
Normal file
Binary file not shown.
45
SRC/patches/readline63-004.patch
Normal file
45
SRC/patches/readline63-004.patch
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
READLINE PATCH REPORT
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Readline-Release: 6.3
|
||||||
|
Patch-ID: readline63-004
|
||||||
|
|
||||||
|
Bug-Reported-by: Egmont Koblinger <egmont@gmail.com>
|
||||||
|
Bug-Reference-ID: <CAGWcZk+bU5Jo1M+tutGvL-250UBE9DXjpeJVofYJSFcqFEVfMg@mail.gmail.com>
|
||||||
|
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00153.html
|
||||||
|
|
||||||
|
Bug-Description:
|
||||||
|
|
||||||
|
The signal handling changes to bash and readline (to avoid running any code
|
||||||
|
in a signal handler context) cause the cursor to be placed on the wrong
|
||||||
|
line of a multi-line command after a ^C interrupts editing.
|
||||||
|
|
||||||
|
Patch (apply with `patch -p0'):
|
||||||
|
|
||||||
|
*** ../readline-6.3-patched/display.c 2013-12-27 13:10:56.000000000 -0500
|
||||||
|
--- display.c 2014-03-27 11:52:45.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 2678,2682 ****
|
||||||
|
if (_rl_echoing_p)
|
||||||
|
{
|
||||||
|
! _rl_move_vert (_rl_vis_botlin);
|
||||||
|
_rl_vis_botlin = 0;
|
||||||
|
fflush (rl_outstream);
|
||||||
|
--- 2678,2683 ----
|
||||||
|
if (_rl_echoing_p)
|
||||||
|
{
|
||||||
|
! if (_rl_vis_botlin > 0) /* minor optimization plus bug fix */
|
||||||
|
! _rl_move_vert (_rl_vis_botlin);
|
||||||
|
_rl_vis_botlin = 0;
|
||||||
|
fflush (rl_outstream);
|
||||||
|
*** ../readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500
|
||||||
|
--- patchlevel 2014-03-21 08:28:40.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 1,3 ****
|
||||||
|
# Do not edit -- exists only for use by patch
|
||||||
|
|
||||||
|
! 3
|
||||||
|
--- 1,3 ----
|
||||||
|
# Do not edit -- exists only for use by patch
|
||||||
|
|
||||||
|
! 4
|
||||||
BIN
SRC/patches/readline63-004.patch.sig
Normal file
BIN
SRC/patches/readline63-004.patch.sig
Normal file
Binary file not shown.
58
SRC/patches/readline63-005.patch
Normal file
58
SRC/patches/readline63-005.patch
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
READLINE PATCH REPORT
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Readline-Release: 6.3
|
||||||
|
Patch-ID: readline63-005
|
||||||
|
|
||||||
|
Bug-Reported-by: Juergen Daubert <jue@jue.li>
|
||||||
|
Bug-Reference-ID: <20140303180430.GA7346@jue.netz>
|
||||||
|
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2014-03/msg00002.html
|
||||||
|
|
||||||
|
Bug-Description:
|
||||||
|
|
||||||
|
There are still applications using the deprecated Function/VFunction/etc.
|
||||||
|
typedefs in rltypedefs.h. This patch restores the typedefs, but attempts
|
||||||
|
to mark them as deprecated using gcc/clang attributes. Thanks to Max Horn
|
||||||
|
for the suggestion.
|
||||||
|
|
||||||
|
Patch (apply with `patch -p0'):
|
||||||
|
|
||||||
|
*** ../readline-6.3-patched/rltypedefs.h 2011-03-26 14:53:31.000000000 -0400
|
||||||
|
--- rltypedefs.h 2014-04-10 11:30:45.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 27,30 ****
|
||||||
|
--- 27,49 ----
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+ /* Old-style, attempt to mark as deprecated in some way people will notice. */
|
||||||
|
+
|
||||||
|
+ #if !defined (_FUNCTION_DEF)
|
||||||
|
+ # define _FUNCTION_DEF
|
||||||
|
+
|
||||||
|
+ #if defined(__GNUC__) || defined(__clang__)
|
||||||
|
+ typedef int Function () __attribute__ ((deprecated));
|
||||||
|
+ typedef void VFunction () __attribute__ ((deprecated));
|
||||||
|
+ typedef char *CPFunction () __attribute__ ((deprecated));
|
||||||
|
+ typedef char **CPPFunction () __attribute__ ((deprecated));
|
||||||
|
+ #else
|
||||||
|
+ typedef int Function ();
|
||||||
|
+ typedef void VFunction ();
|
||||||
|
+ typedef char *CPFunction ();
|
||||||
|
+ typedef char **CPPFunction ();
|
||||||
|
+ #endif
|
||||||
|
+
|
||||||
|
+ #endif /* _FUNCTION_DEF */
|
||||||
|
+
|
||||||
|
/* New style. */
|
||||||
|
|
||||||
|
*** ../readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500
|
||||||
|
--- patchlevel 2014-03-21 08:28:40.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 1,3 ****
|
||||||
|
# Do not edit -- exists only for use by patch
|
||||||
|
|
||||||
|
! 4
|
||||||
|
--- 1,3 ----
|
||||||
|
# Do not edit -- exists only for use by patch
|
||||||
|
|
||||||
|
! 5
|
||||||
BIN
SRC/patches/readline63-005.patch.sig
Normal file
BIN
SRC/patches/readline63-005.patch.sig
Normal file
Binary file not shown.
63
SRC/patches/readline63-006.patch
Normal file
63
SRC/patches/readline63-006.patch
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
READLINE PATCH REPORT
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Readline-Release: 6.3
|
||||||
|
Patch-ID: readline63-006
|
||||||
|
|
||||||
|
Bug-Reported-by: <Trond.Endrestol@ximalas.info>
|
||||||
|
Bug-Reference-ID: <alpine.BSF.2.03.1404192114310.1973@enterprise.ximalas.info>
|
||||||
|
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00069.html
|
||||||
|
|
||||||
|
Bug-Description:
|
||||||
|
|
||||||
|
Using reverse-i-search when horizontal scrolling is enabled does not redisplay
|
||||||
|
the entire line containing the successful search results.
|
||||||
|
|
||||||
|
Patch (apply with `patch -p0'):
|
||||||
|
|
||||||
|
*** ../readline-6.3-patched/display.c 2014-04-08 18:19:36.000000000 -0400
|
||||||
|
--- display.c 2014-04-20 18:32:52.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 1638,1642 ****
|
||||||
|
the spot of first difference is before the end of the invisible chars,
|
||||||
|
lendiff needs to be adjusted. */
|
||||||
|
! if (current_line == 0 && !_rl_horizontal_scroll_mode &&
|
||||||
|
current_invis_chars != visible_wrap_offset)
|
||||||
|
{
|
||||||
|
--- 1638,1642 ----
|
||||||
|
the spot of first difference is before the end of the invisible chars,
|
||||||
|
lendiff needs to be adjusted. */
|
||||||
|
! if (current_line == 0 && /* !_rl_horizontal_scroll_mode && */
|
||||||
|
current_invis_chars != visible_wrap_offset)
|
||||||
|
{
|
||||||
|
***************
|
||||||
|
*** 1826,1831 ****
|
||||||
|
_rl_last_c_pos += bytes_to_insert;
|
||||||
|
|
||||||
|
if (_rl_horizontal_scroll_mode && ((oe-old) > (ne-new)))
|
||||||
|
! goto clear_rest_of_line;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
--- 1826,1836 ----
|
||||||
|
_rl_last_c_pos += bytes_to_insert;
|
||||||
|
|
||||||
|
+ /* XXX - we only want to do this if we are at the end of the line
|
||||||
|
+ so we move there with _rl_move_cursor_relative */
|
||||||
|
if (_rl_horizontal_scroll_mode && ((oe-old) > (ne-new)))
|
||||||
|
! {
|
||||||
|
! _rl_move_cursor_relative (ne-new, new);
|
||||||
|
! goto clear_rest_of_line;
|
||||||
|
! }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*** ../readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500
|
||||||
|
--- patchlevel 2014-03-21 08:28:40.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 1,3 ****
|
||||||
|
# Do not edit -- exists only for use by patch
|
||||||
|
|
||||||
|
! 5
|
||||||
|
--- 1,3 ----
|
||||||
|
# Do not edit -- exists only for use by patch
|
||||||
|
|
||||||
|
! 6
|
||||||
BIN
SRC/patches/readline63-006.patch.sig
Normal file
BIN
SRC/patches/readline63-006.patch.sig
Normal file
Binary file not shown.
47
SRC/patches/readline63-007.patch
Normal file
47
SRC/patches/readline63-007.patch
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
READLINE PATCH REPORT
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Readline-Release: 6.3
|
||||||
|
Patch-ID: readline63-007
|
||||||
|
|
||||||
|
Bug-Reported-by: John Lenton
|
||||||
|
Bug-Reference-ID:
|
||||||
|
Bug-Reference-URL: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1317476
|
||||||
|
|
||||||
|
Bug-Description:
|
||||||
|
|
||||||
|
Readline should allow SIGALRM and SIGVTALRM (if available) to `interrupt'
|
||||||
|
rl_getc and cause the handler to run when not in a signal handling context.
|
||||||
|
|
||||||
|
Patch (apply with `patch -p0'):
|
||||||
|
|
||||||
|
*** ../readline-6.3-patched/input.c 2014-01-10 15:07:08.000000000 -0500
|
||||||
|
--- input.c 2014-05-30 16:20:56.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 535,540 ****
|
||||||
|
--- 538,551 ----
|
||||||
|
else if (_rl_caught_signal == SIGHUP || _rl_caught_signal == SIGTERM)
|
||||||
|
return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF);
|
||||||
|
+ /* keyboard-generated signals of interest */
|
||||||
|
else if (_rl_caught_signal == SIGINT || _rl_caught_signal == SIGQUIT)
|
||||||
|
RL_CHECK_SIGNALS ();
|
||||||
|
+ /* non-keyboard-generated signals of interest */
|
||||||
|
+ else if (_rl_caught_signal == SIGALRM
|
||||||
|
+ #if defined (SIGVTALRM)
|
||||||
|
+ || _rl_caught_signal == SIGVTALRM
|
||||||
|
+ #endif
|
||||||
|
+ )
|
||||||
|
+ RL_CHECK_SIGNALS ();
|
||||||
|
|
||||||
|
if (rl_signal_event_hook)
|
||||||
|
*** ../readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500
|
||||||
|
--- patchlevel 2014-03-21 08:28:40.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 1,3 ****
|
||||||
|
# Do not edit -- exists only for use by patch
|
||||||
|
|
||||||
|
! 6
|
||||||
|
--- 1,3 ----
|
||||||
|
# Do not edit -- exists only for use by patch
|
||||||
|
|
||||||
|
! 7
|
||||||
BIN
SRC/patches/readline63-007.patch.sig
Normal file
BIN
SRC/patches/readline63-007.patch.sig
Normal file
Binary file not shown.
47
SRC/patches/readline63-008.patch
Normal file
47
SRC/patches/readline63-008.patch
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
READLINE PATCH REPORT
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Readline-Release: 6.3
|
||||||
|
Patch-ID: readline63-008
|
||||||
|
|
||||||
|
Bug-Reported-by: Jared Yanovich <slovichon@gmail.com>
|
||||||
|
Bug-Reference-ID: <20140625225019.GJ17044@nightderanger.psc.edu>
|
||||||
|
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00070.html
|
||||||
|
|
||||||
|
Bug-Description:
|
||||||
|
|
||||||
|
When the readline `revert-all-at-newline' option is set, pressing newline
|
||||||
|
when the current line is one retrieved from history results in a double free
|
||||||
|
and a segmentation fault.
|
||||||
|
|
||||||
|
Patch (apply with `patch -p0'):
|
||||||
|
|
||||||
|
*** ../readline-6.3-patched/misc.c 2012-09-01 18:03:11.000000000 -0400
|
||||||
|
--- misc.c 2014-06-30 13:41:19.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 462,465 ****
|
||||||
|
--- 462,466 ----
|
||||||
|
/* Set up rl_line_buffer and other variables from history entry */
|
||||||
|
rl_replace_from_history (entry, 0); /* entry->line is now current */
|
||||||
|
+ entry->data = 0; /* entry->data is now current undo list */
|
||||||
|
/* Undo all changes to this history entry */
|
||||||
|
while (rl_undo_list)
|
||||||
|
***************
|
||||||
|
*** 469,473 ****
|
||||||
|
FREE (entry->line);
|
||||||
|
entry->line = savestring (rl_line_buffer);
|
||||||
|
- entry->data = 0;
|
||||||
|
}
|
||||||
|
entry = previous_history ();
|
||||||
|
--- 470,473 ----
|
||||||
|
*** ../readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500
|
||||||
|
--- patchlevel 2014-03-21 08:28:40.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 1,3 ****
|
||||||
|
# Do not edit -- exists only for use by patch
|
||||||
|
|
||||||
|
! 7
|
||||||
|
--- 1,3 ----
|
||||||
|
# Do not edit -- exists only for use by patch
|
||||||
|
|
||||||
|
! 8
|
||||||
BIN
SRC/patches/readline63-008.patch.sig
Normal file
BIN
SRC/patches/readline63-008.patch.sig
Normal file
Binary file not shown.
BIN
SRC/readline-6.3.tar.gz
Normal file
BIN
SRC/readline-6.3.tar.gz
Normal file
Binary file not shown.
BIN
SRC/readline-6.3.tar.gz.sig
Normal file
BIN
SRC/readline-6.3.tar.gz.sig
Normal file
Binary file not shown.
Reference in New Issue
Block a user