diff options
Diffstat (limited to 'manualPorts/alpine')
-rw-r--r-- | manualPorts/alpine/.md5sum | 1 | ||||
-rw-r--r-- | manualPorts/alpine/.signature | 5 | ||||
-rw-r--r-- | manualPorts/alpine/Pkgfile | 2 | ||||
-rw-r--r-- | manualPorts/alpine/backwards-search.patch | 93 |
4 files changed, 99 insertions, 2 deletions
diff --git a/manualPorts/alpine/.md5sum b/manualPorts/alpine/.md5sum index 0276689..ac26ba5 100644 --- a/manualPorts/alpine/.md5sum +++ b/manualPorts/alpine/.md5sum @@ -1,2 +1,3 @@ db6023ebd9693c2e0e3ac19a26fc231a 0707eb6.tar.gz +4d3befe19d6d66b3ea1024a70f4ab8bc backwards-search.patch 09f73ce6a93a93e475253d3c90ba0315 topal-patch.patch diff --git a/manualPorts/alpine/.signature b/manualPorts/alpine/.signature index a16ee29..10d3cdf 100644 --- a/manualPorts/alpine/.signature +++ b/manualPorts/alpine/.signature @@ -1,6 +1,7 @@ untrusted comment: verify with /etc/ports/deepthought.pub -RWQxCptPusLGGj0/fwjYV5ti+IyZ3Xcby6MHQTYM/Ze7xwUslh8SsVFCO8hEP9PE/6UWFwjWdO/jAyrxHSeNu8csxub7drHeIw8= -SHA256 (Pkgfile) = 723a206807c492452019476baf898504811c3a35500859d8b19d4c0c4448492b +RWQxCptPusLGGiGRA40WL5slDIk+ua/y/fy7AhseCm/qqJa0nsjkm6NVbKWjjBU8sRbX8b1BCjvehdXGBGqw53y3AtCj2OdF7wY= +SHA256 (Pkgfile) = c6bb2332f039282f0b21f17c3cf49ad579566218cd4bcc9653d9bd84802a3355 SHA256 (.footprint) = dd67d2fc4470f569897d32b8ecd5d740c59592de8ead67668be423dd89456871 SHA256 (0707eb6.tar.gz) = b221769f2afa5be3db6fe49aa99c7b804e6ce8575f8be23bade448cf5d6ac0c4 +SHA256 (backwards-search.patch) = 2de9c773a8d1754eead015c2e3952f8a803646b5859ad3440bfeece5afd7cfa9 SHA256 (topal-patch.patch) = 8ee8e1dfa18e3089cc9d8db0ed06c49898c089ff8ba5703cce608102fb9b0b9b diff --git a/manualPorts/alpine/Pkgfile b/manualPorts/alpine/Pkgfile index a9e1d34..42441a2 100644 --- a/manualPorts/alpine/Pkgfile +++ b/manualPorts/alpine/Pkgfile @@ -8,11 +8,13 @@ version=2.21.999.r73.0707eb6 _commit=${version##*.} release=1 source=("http://repo.or.cz/alpine.git/snapshot/${_commit}.tar.gz" +backwards-search.patch topal-patch.patch) build() { cd "alpine-${_commit}" + patch -p1 -i "${SRC}/backwards-search.patch" patch -p1 -i "${SRC}/topal-patch.patch" ./configure \ diff --git a/manualPorts/alpine/backwards-search.patch b/manualPorts/alpine/backwards-search.patch new file mode 100644 index 0000000..8926609 --- /dev/null +++ b/manualPorts/alpine/backwards-search.patch @@ -0,0 +1,93 @@ +diff --git a/alpine/mailindx.c b/alpine/mailindx.c +index 18583c3..f1dd874 100644 +--- a/alpine/mailindx.c ++++ b/alpine/mailindx.c +@@ -2954,19 +2954,21 @@ away. + void + index_search(struct pine *state, MAILSTREAM *stream, int command_line, MSGNO_S *msgmap) + { +- int rc, select_all = 0, flags, prefetch, we_turned_on = 0; ++ int rc, select_all = 0, flags, prefetch, searchbound, otherbound, offset = 0, we_turned_on = 0; + long i, sorted_msg, selected = 0L; + char prompt[MAX_SEARCH+50], new_string[MAX_SEARCH+1]; + char buf[MAX_SCREEN_COLS+1], *p; + HelpType help; + char search_string[MAX_SEARCH+1]; + ICE_S *ice, *ic; ++ static int direction = 1; + static HISTORY_S *history = NULL; + static ESCKEY_S header_search_key[] = { {0, 0, NULL, NULL }, + {ctrl('Y'), 10, "^Y", N_("First Msg")}, + {ctrl('V'), 11, "^V", N_("Last Msg")}, + {KEY_UP, 30, "", ""}, + {KEY_DOWN, 31, "", ""}, ++ {ctrl('W'), 32, "^W", N_("Direction")}, + {-1, 0, NULL, NULL} }; + #define KU_IS (3) /* index of KEY_UP */ + #define PREFETCH_THIS_MANY_LINES (50) +@@ -2995,7 +2997,8 @@ index_search(struct pine *state, MAILSTREAM *stream, int command_line, MSGNO_S * + new_string[0] = '\0'; + + while(1) { +- snprintf(prompt, sizeof(prompt), _("Word to search for [%s] : "), search_string); ++ snprintf(prompt, sizeof(prompt), _("Word to search %sfor [%s] : "), ++ direction == -1 ? _("(backwards) ") : "", search_string); + + if(F_ON(F_ENABLE_AGG_OPS, ps_global)){ + header_search_key[0].ch = ctrl('X'); +@@ -3092,6 +3095,10 @@ index_search(struct pine *state, MAILSTREAM *stream, int command_line, MSGNO_S * + + continue; + } ++ else if(rc == 32){ ++ direction *= -1; ++ continue; ++ } + + if(rc != 4){ /* 4 is redraw */ + save_hist(history, new_string, 0, NULL); +@@ -3115,9 +3122,18 @@ index_search(struct pine *state, MAILSTREAM *stream, int command_line, MSGNO_S * + we_turned_on = intr_handling_on(); + + prefetch = 0; +- for(i = sorted_msg + ((select_all)?0:1); +- i <= mn_get_total(msgmap) && !ps_global->intr_pending; +- i++){ ++ if (direction == -1) { ++ searchbound = -1; ++ otherbound = mn_get_total(msgmap); ++ offset = 2; ++ } else { ++ searchbound = mn_get_total(msgmap); ++ otherbound = 1; ++ } ++ ++ for(i = sorted_msg + ((select_all)?0:1) - offset; ++ i * direction <= searchbound && !ps_global->intr_pending; ++ i += direction){ + if(msgline_hidden(stream, msgmap, i, 0)) + continue; + +@@ -3139,8 +3155,11 @@ index_search(struct pine *state, MAILSTREAM *stream, int command_line, MSGNO_S * + } + + prefetch = 0; +- if(i > mn_get_total(msgmap)){ +- for(i = 1; i < sorted_msg && !ps_global->intr_pending; i++){ ++ if(i * direction > searchbound){ ++ for(i = otherbound; ++ i * direction < sorted_msg * direction && !ps_global->intr_pending; ++ i += direction ){ ++ + if(msgline_hidden(stream, msgmap, i, 0)) + continue; + +@@ -3194,7 +3213,7 @@ index_search(struct pine *state, MAILSTREAM *stream, int command_line, MSGNO_S * + } + else if(selected){ + q_status_message1(SM_ORDER, 0, 3, _("Word found%s"), +- (i < sorted_msg) ? _(". Search wrapped to beginning") : ++ (i * direction < sorted_msg * direction) ? _(". Search wrapped to beginning") : + (i == sorted_msg) ? _(". Current line contains only match") : ""); + mn_set_cur(msgmap, i); + } |