mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-06-18 21:38:03 +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>
|
||||
|
||||
* 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)
|
||||
|
||||
/*
|
||||
* Flag that edits have been made to a zle line.
|
||||
* If not set, nothing to forget.
|
||||
*/
|
||||
/**/
|
||||
int have_edits = 0;
|
||||
|
||||
/**/
|
||||
void
|
||||
remember_edits(void)
|
||||
|
@ -81,6 +88,7 @@ remember_edits(void)
|
|||
if (ent->zle_text)
|
||||
free(ent->zle_text);
|
||||
ent->zle_text = zlemetaline ? ztrdup(line) : line;
|
||||
have_edits = 1;
|
||||
} else if (!zlemetaline)
|
||||
free(line);
|
||||
}
|
||||
|
@ -90,6 +98,10 @@ remember_edits(void)
|
|||
void
|
||||
forget_edits(void)
|
||||
{
|
||||
if (!have_edits) {
|
||||
return;
|
||||
}
|
||||
have_edits = 0;
|
||||
Histent he;
|
||||
|
||||
for (he = hist_ring; he; he = up_histent(he)) {
|
||||
|
|
Loading…
Reference in a new issue