source: patches/readline-6.2-branch_update-3.patch @ a7c1552

clfs-3.0.0-systemdclfs-3.0.0-sysvinitsystemdsysvinit
Last change on this file since a7c1552 was 8c5edb4, checked in by William Harrington <kb0iic@…>, 11 years ago

Create readline 6.2 level 004 patch.

  • Property mode set to 100644
File size: 4.9 KB
RevLine 
[8c5edb4]1Submitted By: William Harrington (kb0iic at cross-lfs dot org)
2Date: 2012-11-01
3Initial Package Version: 6.2
4Origin: Upstream
5Upstream Status: Applied
6Description: Contains all upstream patches up to 6.2-004
7
8diff -Naur readline-6.2.orig/callback.c readline-6.2/callback.c
9--- readline-6.2.orig/callback.c        2010-06-06 16:18:58.000000000 +0000
10+++ readline-6.2/callback.c     2012-11-01 20:14:01.000000000 +0000
11@@ -148,6 +148,9 @@
12          eof = _rl_vi_domove_callback (_rl_vimvcxt);
13          /* Should handle everything, including cleanup, numeric arguments,
14             and turning off RL_STATE_VIMOTION */
15+         if (RL_ISSTATE (RL_STATE_NUMERICARG) == 0)
16+           _rl_internal_char_cleanup ();
17+
18          return;
19        }
20 #endif
21diff -Naur readline-6.2.orig/input.c readline-6.2/input.c
22--- readline-6.2.orig/input.c   2010-05-30 22:33:01.000000000 +0000
23+++ readline-6.2/input.c        2012-11-01 20:14:01.000000000 +0000
24@@ -409,7 +409,7 @@
25 int
26 rl_read_key ()
27 {
28-  int c;
29+  int c, r;
30 
31   rl_key_sequence_length++;
32 
33@@ -429,14 +429,18 @@
34        {
35          while (rl_event_hook)
36            {
37-             if (rl_gather_tyi () < 0) /* XXX - EIO */
38+             if (rl_get_char (&c) != 0)
39+               break;
40+               
41+             if ((r = rl_gather_tyi ()) < 0)   /* XXX - EIO */
42                {
43                  rl_done = 1;
44                  return ('\n');
45                }
46+             else if (r == 1)                  /* read something */
47+               continue;
48+
49              RL_CHECK_SIGNALS ();
50-             if (rl_get_char (&c) != 0)
51-               break;
52              if (rl_done)              /* XXX - experimental */
53                return ('\n');
54              (*rl_event_hook) ();
55diff -Naur readline-6.2.orig/patchlevel readline-6.2/patchlevel
56--- readline-6.2.orig/patchlevel        2010-01-14 15:15:52.000000000 +0000
57+++ readline-6.2/patchlevel     2012-11-01 20:14:01.000000000 +0000
58@@ -1,3 +1,3 @@
59 # Do not edit -- exists only for use by patch
60 
61-1
62+4
63diff -Naur readline-6.2.orig/support/shobj-conf readline-6.2/support/shobj-conf
64--- readline-6.2.orig/support/shobj-conf        2009-10-28 13:20:21.000000000 +0000
65+++ readline-6.2/support/shobj-conf     2012-11-01 20:14:01.000000000 +0000
66@@ -157,7 +157,7 @@
67        ;;
68 
69 # Darwin/MacOS X
70-darwin[89]*|darwin10*)
71+darwin[89]*|darwin1[012]*)
72        SHOBJ_STATUS=supported
73        SHLIB_STATUS=supported
74       
75@@ -186,7 +186,7 @@
76        SHLIB_LIBSUFF='dylib'
77 
78        case "${host_os}" in
79-       darwin[789]*|darwin10*) SHOBJ_LDFLAGS=''
80+       darwin[789]*|darwin1[012]*)     SHOBJ_LDFLAGS=''
81                        SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
82                        ;;
83        *)              SHOBJ_LDFLAGS='-dynamic'
84diff -Naur readline-6.2.orig/vi_mode.c readline-6.2/vi_mode.c
85--- readline-6.2.orig/vi_mode.c 2010-11-21 00:51:39.000000000 +0000
86+++ readline-6.2/vi_mode.c      2012-11-01 20:14:01.000000000 +0000
87@@ -1114,7 +1114,7 @@
88       rl_beg_of_line (1, c);
89       _rl_vi_last_motion = c;
90       RL_UNSETSTATE (RL_STATE_VIMOTION);
91-      return (0);
92+      return (vidomove_dispatch (m));
93     }
94 #if defined (READLINE_CALLBACKS)
95   /* XXX - these need to handle rl_universal_argument bindings */
96@@ -1234,11 +1234,19 @@
97       _rl_vimvcxt->motion = '$';
98       r = rl_domove_motion_callback (_rl_vimvcxt);
99     }
100-  else if (vi_redoing)
101+  else if (vi_redoing && _rl_vi_last_motion != 'd')    /* `dd' is special */
102     {
103       _rl_vimvcxt->motion = _rl_vi_last_motion;
104       r = rl_domove_motion_callback (_rl_vimvcxt);
105     }
106+  else if (vi_redoing)         /* handle redoing `dd' here */
107+    {
108+      _rl_vimvcxt->motion = _rl_vi_last_motion;
109+      rl_mark = rl_end;
110+      rl_beg_of_line (1, key);
111+      RL_UNSETSTATE (RL_STATE_VIMOTION);
112+      r = vidomove_dispatch (_rl_vimvcxt);
113+    }
114 #if defined (READLINE_CALLBACKS)
115   else if (RL_ISSTATE (RL_STATE_CALLBACK))
116     {
117@@ -1316,11 +1324,19 @@
118       _rl_vimvcxt->motion = '$';
119       r = rl_domove_motion_callback (_rl_vimvcxt);
120     }
121-  else if (vi_redoing)
122+  else if (vi_redoing && _rl_vi_last_motion != 'c')    /* `cc' is special */
123     {
124       _rl_vimvcxt->motion = _rl_vi_last_motion;
125       r = rl_domove_motion_callback (_rl_vimvcxt);
126     }
127+  else if (vi_redoing)         /* handle redoing `cc' here */
128+    {
129+      _rl_vimvcxt->motion = _rl_vi_last_motion;
130+      rl_mark = rl_end;
131+      rl_beg_of_line (1, key);
132+      RL_UNSETSTATE (RL_STATE_VIMOTION);
133+      r = vidomove_dispatch (_rl_vimvcxt);
134+    }
135 #if defined (READLINE_CALLBACKS)
136   else if (RL_ISSTATE (RL_STATE_CALLBACK))
137     {
138@@ -1377,6 +1393,19 @@
139       _rl_vimvcxt->motion = '$';
140       r = rl_domove_motion_callback (_rl_vimvcxt);
141     }
142+  else if (vi_redoing && _rl_vi_last_motion != 'y')    /* `yy' is special */
143+    {
144+      _rl_vimvcxt->motion = _rl_vi_last_motion;
145+      r = rl_domove_motion_callback (_rl_vimvcxt);
146+    }
147+  else if (vi_redoing)                 /* handle redoing `yy' here */
148+    {
149+      _rl_vimvcxt->motion = _rl_vi_last_motion;
150+      rl_mark = rl_end;
151+      rl_beg_of_line (1, key);
152+      RL_UNSETSTATE (RL_STATE_VIMOTION);
153+      r = vidomove_dispatch (_rl_vimvcxt);
154+    }
155 #if defined (READLINE_CALLBACKS)
156   else if (RL_ISSTATE (RL_STATE_CALLBACK))
157     {
Note: See TracBrowser for help on using the repository browser.