chiark / gitweb /
emacs: inhibit-startup-screen
[ian-dotfiles.git] / infra / substitute
index 112e0467055d83b131daa92ef3140239d54b8827..7ceafb3c6995459194c4cce403f2bd4f6f0af757 100755 (executable)
@@ -6,10 +6,12 @@ mode_subst () {
 }
 
 mode_diff () {
+    mode_subst
     diff -u $dot $bfn.new || test $? = 1
 }
 
 mode_install () {
+    mode_subst
     mv -f $bfn.new $dot
 }
 
@@ -20,8 +22,16 @@ subst|diff|install) ;;
 esac
 shift
 
-for fn in templates/*.in; do
+if [ $# = 0 ]; then
+   set templates/*.in
+fi
+
+for fn in "$@"; do
     bfn=${fn%.in}
+    bfn=${bfn##*/}
+    bfn=${bfn#.}
+    bfn=templates/$bfn
+    fn=${bfn}.in
     dot=$HOME/.${bfn#*/}
     mode_$mode
 done