summary refs log tree commit diff
path: root/complete.c
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2020-04-23 20:22:15 -0400
committerJune McEnroe <june@causal.agency>2020-04-23 20:22:15 -0400
commit88263cc1d7610233606ddd30bee5202e330e57e5 (patch)
tree99c248ced876b0193d52e91ba3d295c8ee50a99c /complete.c
parentDon't clobber windows.swap in else of showAuto (diff)
downloadcatgirl-88263cc1d7610233606ddd30bee5202e330e57e5.tar.gz
catgirl-88263cc1d7610233606ddd30bee5202e330e57e5.zip
Separate completeID state from complete state
I think this is what causes QUITs to sometimes not appear, because
wherever the complete match is skips over some IDs.
Diffstat (limited to 'complete.c')
-rw-r--r--complete.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/complete.c b/complete.c
index d23932c..86846f4 100644
--- a/complete.c
+++ b/complete.c
@@ -117,9 +117,11 @@ void completeReject(void) {
 	match = NULL;
 }
 
+static struct Node *iter;
+
 uint completeID(const char *str) {
-	for (match = (match ? match->next : head); match; match = match->next) {
-		if (match->id && !strcmp(match->str, str)) return match->id;
+	for (iter = (iter ? iter->next : head); iter; iter = iter->next) {
+		if (iter->id && !strcmp(iter->str, str)) return iter->id;
 	}
 	return None;
 }
@@ -144,6 +146,7 @@ void completeRemove(uint id, const char *str) {
 		if (id && node->id != id) continue;
 		if (strcmp(node->str, str)) continue;
 		if (match == node) match = NULL;
+		if (iter == node) iter = NULL;
 		detach(node);
 		free(node->str);
 		free(node);
@@ -156,6 +159,7 @@ void completeClear(uint id) {
 		next = node->next;
 		if (node->id != id) continue;
 		if (match == node) match = NULL;
+		if (iter == node) iter = NULL;
 		detach(node);
 		free(node->str);
 		free(node);
> This fixes, for example, where the link gets placed on static regex_t regex(const char *pattern, int flags) in title.c. 2022-03-24Add The Invisible Life of Addie LaRueJune McEnroe So good, but so long. Reminded me of The Ten Thousand Doors of January at the beginning, and more of that N. K. Jemisin series about gods later. I like this interacting with gods and becoming something like one sort of thing. God, it took me a whole month (more?) to read and this is only my third book of the year :( I need some more novellas to read, but the other books I have from the library currently are also thick. 2022-03-22Source ~/.profile.local if it existsJune McEnroe 2022-03-18Publish "Addendum 2021"June McEnroe 2022-03-16Remove wcwidth portJune McEnroe DYLD_FORCE_FLAT_NAMESPACE no longer exists in macOS 12 so this approach doesn't work anymore. Moved to <https://git.causal.agency/jorts/tree/wcwidth> and compiled into <https://git.causal.agency/jorts/tree/ncurses>. 2022-03-16Remove -j4 from ./PlanJune McEnroe Plan learned to set this automatically! 2022-03-15Rewrite Linux install.sh for DebianJune McEnroe 2022-03-15Remove dashJune McEnroe