diff options
Diffstat (limited to 'Library/Formula/gnu-readline.rb')
| -rw-r--r-- | Library/Formula/gnu-readline.rb | 190 |
1 files changed, 0 insertions, 190 deletions
diff --git a/Library/Formula/gnu-readline.rb b/Library/Formula/gnu-readline.rb deleted file mode 100644 index 183cd8d19..000000000 --- a/Library/Formula/gnu-readline.rb +++ /dev/null @@ -1,190 +0,0 @@ -require 'formula' - -class GnuReadline < Formula - homepage 'http://tiswww.case.edu/php/chet/readline/rltop.html' - url 'http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz' - mirror 'http://ftp.gnu.org/gnu/readline/readline-6.2.tar.gz' - sha256 '79a696070a058c233c72dd6ac697021cc64abd5ed51e59db867d66d196a89381' - version '6.2.4' - - keg_only <<-EOS.undent - OS X provides the BSD libedit library, which shadows libreadline. - In order to prevent conflicts when programs look for libreadline we are - defaulting this GNU Readline installation to keg-only. - EOS - - # Vendor the patches. - # The mirrors are unreliable for getting the patches, and the more patches - # there are, the more unreliable they get. Pulling this patch inline to - # reduce bug reports. - # Upstream patches can be found in: - # http://ftpmirror.gnu.org/readline/readline-6.2-patches - def patches; DATA; end - - def install - # Always build universal, per https://github.com/mxcl/homebrew/issues/issue/899 - ENV.universal_binary - system "./configure", "--prefix=#{prefix}", - "--mandir=#{man}", - "--infodir=#{info}", - "--enable-multibyte" - system "make install" - end -end - -__END__ -diff --git a/callback.c b/callback.c -index 4ee6361..7682cd0 100644 ---- a/callback.c -+++ b/callback.c -@@ -148,6 +148,9 @@ rl_callback_read_char () - eof = _rl_vi_domove_callback (_rl_vimvcxt); - /* Should handle everything, including cleanup, numeric arguments, - and turning off RL_STATE_VIMOTION */ -+ if (RL_ISSTATE (RL_STATE_NUMERICARG) == 0) -+ _rl_internal_char_cleanup (); -+ - return; - } - #endif -diff --git a/input.c b/input.c -index 7c74c99..b49af88 100644 ---- a/input.c -+++ b/input.c -@@ -409,7 +409,7 @@ rl_clear_pending_input () - int - rl_read_key () - { -- int c; -+ int c, r; - - rl_key_sequence_length++; - -@@ -429,14 +429,18 @@ rl_read_key () - { - while (rl_event_hook) - { -- if (rl_gather_tyi () < 0) /* XXX - EIO */ -+ if (rl_get_char (&c) != 0) -+ break; -+ -+ if ((r = rl_gather_tyi ()) < 0) /* XXX - EIO */ - { - rl_done = 1; - return ('\n'); - } -+ else if (r == 1) /* read something */ -+ continue; -+ - RL_CHECK_SIGNALS (); -- if (rl_get_char (&c) != 0) -- break; - if (rl_done) /* XXX - experimental */ - return ('\n'); - (*rl_event_hook) (); -diff --git a/patchlevel b/patchlevel -index fdf4740..626a945 100644 ---- a/patchlevel -+++ b/patchlevel -@@ -1,3 +1,3 @@ - # Do not edit -- exists only for use by patch - --1 -+4 -diff --git a/support/shobj-conf b/support/shobj-conf -index 5a63e80..c61dc78 100644 ---- a/support/shobj-conf -+++ b/support/shobj-conf -@@ -157,7 +157,7 @@ freebsd[4-9]*|freebsdelf*|dragonfly*) - ;; - - # Darwin/MacOS X --darwin[89]*|darwin10*) -+darwin[89]*|darwin1[012]*) - SHOBJ_STATUS=supported - SHLIB_STATUS=supported - -@@ -186,7 +186,7 @@ darwin*|macosx*) - SHLIB_LIBSUFF='dylib' - - case "${host_os}" in -- darwin[789]*|darwin10*) SHOBJ_LDFLAGS='' -+ darwin[789]*|darwin1[012]*) SHOBJ_LDFLAGS='' - SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' - ;; - *) SHOBJ_LDFLAGS='-dynamic' -diff --git a/vi_mode.c b/vi_mode.c -index 41e1dbb..4408053 100644 ---- a/vi_mode.c -+++ b/vi_mode.c -@@ -1114,7 +1114,7 @@ rl_domove_read_callback (m) - rl_beg_of_line (1, c); - _rl_vi_last_motion = c; - RL_UNSETSTATE (RL_STATE_VIMOTION); -- return (0); -+ return (vidomove_dispatch (m)); - } - #if defined (READLINE_CALLBACKS) - /* XXX - these need to handle rl_universal_argument bindings */ -@@ -1234,11 +1234,19 @@ rl_vi_delete_to (count, key) - _rl_vimvcxt->motion = '$'; - r = rl_domove_motion_callback (_rl_vimvcxt); - } -- else if (vi_redoing) -+ else if (vi_redoing && _rl_vi_last_motion != 'd') /* `dd' is special */ - { - _rl_vimvcxt->motion = _rl_vi_last_motion; - r = rl_domove_motion_callback (_rl_vimvcxt); - } -+ else if (vi_redoing) /* handle redoing `dd' here */ -+ { -+ _rl_vimvcxt->motion = _rl_vi_last_motion; -+ rl_mark = rl_end; -+ rl_beg_of_line (1, key); -+ RL_UNSETSTATE (RL_STATE_VIMOTION); -+ r = vidomove_dispatch (_rl_vimvcxt); -+ } - #if defined (READLINE_CALLBACKS) - else if (RL_ISSTATE (RL_STATE_CALLBACK)) - { -@@ -1316,11 +1324,19 @@ rl_vi_change_to (count, key) - _rl_vimvcxt->motion = '$'; - r = rl_domove_motion_callback (_rl_vimvcxt); - } -- else if (vi_redoing) -+ else if (vi_redoing && _rl_vi_last_motion != 'c') /* `cc' is special */ - { - _rl_vimvcxt->motion = _rl_vi_last_motion; - r = rl_domove_motion_callback (_rl_vimvcxt); - } -+ else if (vi_redoing) /* handle redoing `cc' here */ -+ { -+ _rl_vimvcxt->motion = _rl_vi_last_motion; -+ rl_mark = rl_end; -+ rl_beg_of_line (1, key); -+ RL_UNSETSTATE (RL_STATE_VIMOTION); -+ r = vidomove_dispatch (_rl_vimvcxt); -+ } - #if defined (READLINE_CALLBACKS) - else if (RL_ISSTATE (RL_STATE_CALLBACK)) - { -@@ -1377,6 +1393,19 @@ rl_vi_yank_to (count, key) - _rl_vimvcxt->motion = '$'; - r = rl_domove_motion_callback (_rl_vimvcxt); - } -+ else if (vi_redoing && _rl_vi_last_motion != 'y') /* `yy' is special */ -+ { -+ _rl_vimvcxt->motion = _rl_vi_last_motion; -+ r = rl_domove_motion_callback (_rl_vimvcxt); -+ } -+ else if (vi_redoing) /* handle redoing `yy' here */ -+ { -+ _rl_vimvcxt->motion = _rl_vi_last_motion; -+ rl_mark = rl_end; -+ rl_beg_of_line (1, key); -+ RL_UNSETSTATE (RL_STATE_VIMOTION); -+ r = vidomove_dispatch (_rl_vimvcxt); -+ } - #if defined (READLINE_CALLBACKS) - else if (RL_ISSTATE (RL_STATE_CALLBACK)) - { |
