mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-06-23 11:08:19 +02:00
users/29175: Don't need to forget zle edits if none
This commit is contained in:
parent
d36b9ae0dc
commit
094f230e36
2 changed files with 18 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2023-08-22 Peter Stephenson <p.stephenson@samsung.com>
|
||||||
|
|
||||||
|
* Nojus Gudinavičius: users/29175: Src/Zle/zle_hist.c: don't
|
||||||
|
need to forget edits if none were made, avoiding loop over
|
||||||
|
entire history.
|
||||||
|
|
||||||
2023-08-21 Jun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp>
|
2023-08-21 Jun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp>
|
||||||
|
|
||||||
* Shohei YOSHIDA: 52059 (+52070): Completion/Unix/Command/_scons:
|
* Shohei YOSHIDA: 52059 (+52070): Completion/Unix/Command/_scons:
|
||||||
|
|
|
@ -68,6 +68,13 @@ Keymap isearch_keymap;
|
||||||
*/
|
*/
|
||||||
#define GETZLETEXT(ent) ((ent)->zle_text ? (ent)->zle_text : (ent)->node.nam)
|
#define GETZLETEXT(ent) ((ent)->zle_text ? (ent)->zle_text : (ent)->node.nam)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Flag that edits have been made to a zle line.
|
||||||
|
* If not set, nothing to forget.
|
||||||
|
*/
|
||||||
|
/**/
|
||||||
|
int have_edits = 0;
|
||||||
|
|
||||||
/**/
|
/**/
|
||||||
void
|
void
|
||||||
remember_edits(void)
|
remember_edits(void)
|
||||||
|
@ -81,6 +88,7 @@ remember_edits(void)
|
||||||
if (ent->zle_text)
|
if (ent->zle_text)
|
||||||
free(ent->zle_text);
|
free(ent->zle_text);
|
||||||
ent->zle_text = zlemetaline ? ztrdup(line) : line;
|
ent->zle_text = zlemetaline ? ztrdup(line) : line;
|
||||||
|
have_edits = 1;
|
||||||
} else if (!zlemetaline)
|
} else if (!zlemetaline)
|
||||||
free(line);
|
free(line);
|
||||||
}
|
}
|
||||||
|
@ -90,6 +98,10 @@ remember_edits(void)
|
||||||
void
|
void
|
||||||
forget_edits(void)
|
forget_edits(void)
|
||||||
{
|
{
|
||||||
|
if (!have_edits) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
have_edits = 0;
|
||||||
Histent he;
|
Histent he;
|
||||||
|
|
||||||
for (he = hist_ring; he; he = up_histent(he)) {
|
for (he = hist_ring; he; he = up_histent(he)) {
|
||||||
|
|
Loading…
Reference in a new issue