summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorflorian <florian@openbsd.org>2013-05-31 18:19:19 +0000
committerflorian <florian@openbsd.org>2013-05-31 18:19:19 +0000
commitfdd5a11db143ae63c70b7cfa41ff8e227903f2dd (patch)
tree5de9275c93d243c41528bcfc2ec942eaa1200db4
parentMake the system bell toggleable via 'audible-bell', and if switched (diff)
downloadwireguard-openbsd-fdd5a11db143ae63c70b7cfa41ff8e227903f2dd.tar.xz
wireguard-openbsd-fdd5a11db143ae63c70b7cfa41ff8e227903f2dd.zip
Also inform the user about beginning / end of buffer in previous-line
and next-line. ok lum@
-rw-r--r--usr.bin/mg/basic.c24
1 files changed, 22 insertions, 2 deletions
diff --git a/usr.bin/mg/basic.c b/usr.bin/mg/basic.c
index c4c24ddfe4c..488acc35218 100644
--- a/usr.bin/mg/basic.c
+++ b/usr.bin/mg/basic.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: basic.c,v 1.40 2013/05/31 18:03:43 lum Exp $ */
+/* $OpenBSD: basic.c,v 1.41 2013/05/31 18:19:19 florian Exp $ */
/* This file is in the public domain */
@@ -162,8 +162,13 @@ forwline(int f, int n)
if (n < 0)
return (backline(f | FFRAND, -n));
- if ((dlp = curwp->w_dotp) == curbp->b_headp)
+ if ((dlp = curwp->w_dotp) == curbp->b_headp) {
+ if (!(f & FFRAND)) {
+ dobeep();
+ ewprintf("End of buffer");
+ }
return(TRUE);
+ }
if ((lastflag & CFCPCN) == 0) /* Fix goal. */
setgoal();
thisflag |= CFCPCN;
@@ -175,6 +180,10 @@ forwline(int f, int n)
curwp->w_dotp = lback(dlp);
curwp->w_doto = llength(curwp->w_dotp);
curwp->w_rflag |= WFMOVE;
+ if (!(f & FFRAND)) {
+ dobeep();
+ ewprintf("End of buffer");
+ }
return (TRUE);
}
curwp->w_dotline++;
@@ -205,10 +214,21 @@ backline(int f, int n)
setgoal();
thisflag |= CFCPCN;
dlp = curwp->w_dotp;
+ if (lback(dlp) == curbp->b_headp) {
+ if (!(f & FFRAND)) {
+ dobeep();
+ ewprintf("Beginning of buffer");
+ }
+ return(TRUE);
+ }
while (n-- && lback(dlp) != curbp->b_headp) {
dlp = lback(dlp);
curwp->w_dotline--;
}
+ if (n > 0 && !(f & FFRAND)) {
+ dobeep();
+ ewprintf("Beginning of buffer");
+ }
curwp->w_dotp = dlp;
curwp->w_doto = getgoal(dlp);
curwp->w_rflag |= WFMOVE;