zsh-workers
 help / color / mirror / code / Atom feed
From: "Bart Schaefer" <schaefer@brasslantern.com>
To: Andy Wick <awick@actor.cs.vt.edu>, zsh-workers@math.gatech.edu
Subject: Re: up-line-or-search
Date: Mon, 1 Jun 1998 09:29:32 -0700	[thread overview]
Message-ID: <980601092932.ZM26540@candle.brasslantern.com> (raw)
In-Reply-To: <19980601081357.58829@actor.cs.vt.edu>

On Jun 1,  8:13am, Andy Wick wrote:
} Subject: up-line-or-search
}
} If you comment out line 376 of Zle/zle_hist.c
}     iblank(s[histmpos] == Meta ? s[histmpos+1]^32 : s[histmpos]) &&
} up-line-or-search will kind of work, which is better then not

I just downloaded and unpacked the 3.1.4 tarfile, and I have that code
on line 390, not 376.  So you may want to check the state of your
sources.  (This does not appear to be the reason for the problem.)

} What it still does with that line commented out is forget
} the orginal string typed in, and uses the last string found each
} time you hit up arrow.

This is all the result of the change in history-search-backward, which
causes it not to match word prefixes.  In my freshly-built copy of 3.1.4,
I can't even perform the search you describe here:

} Example:
} (Previous Commands)
} %lss -d
} %ls -l
} %lss
} %ls
} 
} Now if I do 
}    l<uparrow>
} it finds "ls"

When I do that, I get a beep, because there is no previous command where
`l' is the entire first word.  If I do "ls<uparrow>" I get "ls -l", having
entirely skipped "lss".  Repeated <uparrow> correctly finds other uses of
ls, skipping lss.

Now, I've never been terribly happy with the change to require full word
matching in history-search-backward, and the fact that it has rippled
through to change the way other commands behave makes it even more of an
annoyance.  However, I can't decide if this is actually a bug.  The doc
says:

`up-line-or-search'
     Move up a line in the buffer, or if already at the top line, search
     backward in the history for a line beginning with the first word
     in the buffer.

Neither there nor under history-search-backward does it say "a line whose
first word is the same as the first word in the buffer" but I suppose the
reference to "the first word" is supposed to imply that.  So perhaps the
command is working correctly but the doc is unclear.

} I'll buy someone a pizza if they just fix this for me, I really
} want to upgrade to 3.1.x, but can't without my favorite feature.

In zle_hist.c, in uplineorsearch(), call historybeginningsearchbackward()
instead of historysearchbackward() and I believe you'll get what you want.
How or whether Zefram intends to deal with this is another matter.

-- 
Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com


  parent reply	other threads:[~1998-06-01 16:35 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-06-01 12:13 up-line-or-search Andy Wick
1998-06-01 13:27 ` up-line-or-search Louis-David Mitterrand
1998-06-01 16:29 ` Bart Schaefer [this message]
1998-06-01 16:51   ` up-line-or-search Andy Wick
1998-06-01 18:02     ` up-line-or-search Bart Schaefer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=980601092932.ZM26540@candle.brasslantern.com \
    --to=schaefer@brasslantern.com \
    --cc=awick@actor.cs.vt.edu \
    --cc=zsh-workers@math.gatech.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).