chiark / gitweb /
Syntax: Use &\ for escaping; abolish \&
[subdirmk.git] / README
diff --git a/README b/README
index 006b57f62eaeacb6cb0927dcfe67b3968121e15b..d15a9f42d9239b9c8271d7a2729f2b34d6bacaad 100644 (file)
--- a/README
+++ b/README
@@ -218,30 +218,38 @@ empty string).
        The assumption is that filenames are usually lowercase and
        variables usually uppercase.  Otherwise, use another syntax:
 
+&/             =>      sub/dir/                        or nothing
 &_             =>      sub_dir_                        or TOP_
-&=_            =>      sub_dir                         or TOP
+&.             =>      sub/dir                         or .
+       (This implies that `&./' works roughly like `&/', although
+       it can produce a needless `./')
 
-&/             =>      sub/dir/                        or nothing
-&=/            =>      sub/dir                         or .
+&=             =>      sub_dir                         or TOP
 
 &^lc           =>      $(top_srcdir)/sub/dir/lc
 &^/            =>      $(top_srcdir)/sub/dir/
+&^.            =>      $(top_srcdir)/sub/dir
 
 &~lc           =>      $(top_srcdir)/lc
 &~/            =>      $(top_srcdir)/
+&~.            =>      $(top_srcdir)
 
 In general:
-    =  return subdir without delimiter (not allowed with `^' `~')
     ^   pathname of this subdirectory in source tree
     ~   pathname of top level of source tree
-    /  terminates the escape (needed if next is not lwsp or space)
+    /  terminates the path escape } needed if next is
+    _   terminates the var escape  } not lwsp or space)
+    .   terminates path escape giving dir name (excluding /)
+    =  terminates var escape giving only prefix part (rarely needed)
   lwsp  starts multi-word processing (see below)
 
 So pathname syntax is a subset of:
-    '&' [ '^' | '~' ] [ lc | '/' ]
+    '&' [ '^' | '~' ] [ lc | '/' | '.' | '=' ]
 
 &&             =>      &&              for convenience in shell runes
-\&             =>      &               general escaping mechanism
+
+&\&            =>      &               general escaping mechanism
+&\$            =>      $
 
 & thing thing... &
 &^ thing thing... &
@@ -279,7 +287,7 @@ So pathname syntax is a subset of:
 
        Notably
                STUFFSTUFF              => STUFFSTUFF
-               \STUFF                  => STUFF
+               STUFF\STUFF             => STUFF
                STUFF:changequote &     => set escape back to &
 
 &TARGETS_things