summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Stephenson <p.stephenson@samsung.com>2019-11-18 15:26:14 +0000
committerPeter Stephenson <p.stephenson@samsung.com>2019-11-18 15:26:17 +0000
commit88d14451b093cf2f07049ebb264a29eefc790825 (patch)
tree5db09fcb9c360e8d5d0f0e1be82e5c770ae75f95
parenta8b0d399e5ccb4becb3699fad7e553a39963ebda (diff)
downloadzsh-88d14451b093cf2f07049ebb264a29eefc790825.tar.gz
zsh-88d14451b093cf2f07049ebb264a29eefc790825.zip
users/24445: Add :P modifier to history code.
This was in the glob qualifier and variable code but got missed out of the separate history modifier function.
-rw-r--r--ChangeLog5
-rw-r--r--Src/hist.c10
2 files changed, 15 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 5c62c20af..43d880c24 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2019-11-18 Peter Stephenson <p.stephenson@samsung.com>
+
+ * users/24445: Src/hist.c: Add missing support for :P to history
+ code (was already present in glob qualifiers and variables).
+
2019-11-11 skirit <skirit@dump.cz>
* unposted (salsa.debian.org MR!1): Completion/Unix/Command/_ip:
diff --git a/Src/hist.c b/Src/hist.c
index fd5606dc3..e47be8e15 100644
--- a/Src/hist.c
+++ b/Src/hist.c
@@ -920,6 +920,16 @@ histsubchar(int c)
case 'u':
sline = casemodify(sline, CASMOD_UPPER);
break;
+ case 'P':
+ if (*sline != '/') {
+ char *here = zgetcwd();
+ if (here[strlen(here)-1] != '/')
+ sline = zhtricat(metafy(here, -1, META_HEAPDUP), "/", sline);
+ else
+ sline = dyncat(here, sline);
+ }
+ sline = xsymlink(sline, 1);
+ break;
default:
herrflush();
zerr("illegal modifier: %c", c);