aboutsummaryrefslogtreecommitdiff
path: root/sh
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2017-03-24 15:34:56 +1300
committerTom Ryder <tom@sanctum.geek.nz>2017-03-24 15:34:56 +1300
commitd2d66ee13c568c5fced6033f69929ad172b01281 (patch)
treed7c2288739d9cbfb87df5b4b2dfebe1a41706533 /sh
parentd914c06b05a96f2273ccfd9b5ed0db0c5aa7b87f (diff)
parent1d053c5713b0adef23847529692ce63f6cf92d8b (diff)
downloaddotfiles-d2d66ee13c568c5fced6033f69929ad172b01281.tar.gz
Merge branch 'master' into port/bsd/freebsd
Diffstat (limited to 'sh')
-rw-r--r--sh/profile.d/editor.sh11
-rw-r--r--sh/shrc.d/path.sh8
2 files changed, 10 insertions, 9 deletions
diff --git a/sh/profile.d/editor.sh b/sh/profile.d/editor.sh
index 5d6b249e..307879fe 100644
--- a/sh/profile.d/editor.sh
+++ b/sh/profile.d/editor.sh
@@ -1,7 +1,16 @@
-# Set command-line editor; ed if we've got it (!), but ex will do fine
+# Ideally, we'd use plain old ed(1), but many Linux distributions don't install
+# it by default
if command -v ed >/dev/null 2>&1 ; then
EDITOR=ed
+
+# Failing that, if we have both vim(1) and exm(1df) in our $PATH, use the
+# latter to work around Vim's ex mode screen-clearing
+elif { command -v vim && command -v exm ; } >/dev/null 2>&1 ; then
+ EDITOR=exm
+
+# Otherwise, just call ex(1) directly
else
EDITOR=ex
fi
+
export EDITOR
diff --git a/sh/shrc.d/path.sh b/sh/shrc.d/path.sh
index 2759e11f..79b48fd5 100644
--- a/sh/shrc.d/path.sh
+++ b/sh/shrc.d/path.sh
@@ -1,14 +1,6 @@
# Function to manage contents of PATH variable within the current shell
path() {
- # The second argument, the directory, can never have a colon
- case $2 in
- *:*)
- printf >&2 'path(): %s illegal colon\n' "$2"
- return 2
- ;;
- esac
-
# Check first argument to figure out operation
case $1 in