summary refs log tree commit diff
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--bin/cash/parser.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/bin/cash/parser.c b/bin/cash/parser.c
index 91771e81..377ab78f 100644
--- a/bin/cash/parser.c
+++ b/bin/cash/parser.c
@@ -1978,7 +1978,7 @@ pgetc_linecont(void)
 static char *
 expandprompt(const char *fmt) {
 	static char ps[PROMPTLEN];
-	const char *pwd;
+	const char *pwd, *home;
 	int i, trim;
 
 	/*
@@ -2015,17 +2015,27 @@ expandprompt(const char *fmt) {
 			case 'W':
 			case 'w':
 				pwd = lookupvar("PWD");
+				home = lookupvar("HOME");
 				if (pwd == NULL || *pwd == '\0')
 					pwd = "?";
+				if (home == NULL || *home == '\0')
+					home = "?";
 				if (*fmt == 'W' &&
-				    *pwd == '/' && pwd[1] != '\0')
+				    *pwd == '/' && pwd[1] != '\0' &&
+					strcmp(pwd, home) != 0) {
 					strlcpy(&ps[i], strrchr(pwd, '/') + 1,
 					    PROMPTLEN - i);
-				else
+				} else {
+					if (strncmp(pwd, home, strlen(home)) == 0) {
+						ps[i++] = '~';
+						pwd += strlen(home);
+					}
 					strlcpy(&ps[i], pwd, PROMPTLEN - i);
+				}
 				/* Skip to end of path. */
-				while (ps[i + 1] != '\0')
+				while (ps[i] != '\0')
 					i++;
+				--i;
 				break;
 
 				/*
ers consistentJune McEnroe 2019-07-08Remove NetHack from indexJune McEnroe 2019-04-08Don't install rc.kfcgi eitherJune McEnroe 2019-03-28Remove rc.kfcgiJune McEnroe I sent a better version of it to the port maintainer and it is now in the ports tree. 2019-01-16Reformat index.html with explore linkJune McEnroe 2019-01-16Return false from keydown handler in exploreJune McEnroe 2019-01-08Draw lines to tile edgeJune McEnroe 2019-01-08Factor out default pathsJune McEnroe 2019-01-08Remove incorrect default coordinatesJune McEnroe 2019-01-07Set img src when explore fragment changesJune McEnroe 2019-01-07Compress PNG data in imageJune McEnroe kcgi never enables compression for FastCGI. 2019-01-07madvise MADV_NOCORE in imageJune McEnroe 2019-01-07Add license notice to explore JavaScriptJune McEnroe 2019-01-07Add Q/Home binding in exploreJune McEnroe 2019-01-07Fix explore image URLJune McEnroe 2019-01-07Add HOME button, ssh link, AGPL notice to exploreJune McEnroe 2019-01-06Add meta viewport to exploreJune McEnroe 2019-01-06Set background and max-width in exploreJune McEnroe 2019-01-06Swallow writes after the connection is closedJune McEnroe It was not okay. 2019-01-06Handle KCGI_HUPJune McEnroe I hope it's okay that I keep writing to the fwopen stream after streamWrite returns -1. 2019-01-06Install html filesJune McEnroe