chiark / gitweb /
WIP
[subdirmk.git] / NOTES
diff --git a/NOTES b/NOTES
index b2023817f2beb3c80a9cab908a9623f60bf58fff..5d57e99ecb2dcab936010d4734727b16e431dc67 100644 (file)
--- a/NOTES
+++ b/NOTES
@@ -1,20 +1,30 @@
-&=             =>      subdir
-&_             =>      subdir_
-&/             =>      subdir/
-&CAPS          =>      subdir_CAPS
-&lc            =>      subdir/lc
+&CAPS          =>      subdir_CAPS                     or TOP_CAPS
+&lc            =>      subdir/lc                       or lc
 
-&.= &._ &./ &.CAPS &.lc        =>      $(top_srcdir)/subdir
-&:= &:_ &:/ &:CAPS &:lc        =>      $(abs_top_srcdir)/subdir
-& thing thing          =>      like &thing &thing (until EOL)
+&_             =>      subdir_                         or TOP_
+&/             =>      subdir/                         or nothing
+&=_            =>      subdir                          or TOP
+&=/            =>      subdir                          or .
+&^             =>      $(top_srcdir)/subdir            or $(top_srcdir)
+&~             =>      $(abs_top_srcdir)/subdir        or $(abs_top_srcdir)
 
-&&             =>      &
+&&             =>      &&
+\&             =>      &
 
-&! spc         disables & *until* EOL
+& thing thing... &     =>      each thing prefixed by &/ &^ &~ resp
+& ^ thing thing... &           each thing is any non-ws
+& ~ thing thing... &           & may be omitted before EOL or before \EOL
+                               other &'s not recognised
+
+CAPS is [A-Z][0-9_A-Z]*(?!\w)
+lc is [a-z][-+,0-9_a-z]*(?!\w)
+
+&!<spaces or tabs>     disables & *until* EOL (and disappears)
 
 &!STUFF                STUFF is recognised instead of & (beyond EOL)
-               STUFF is either all punct or all alphanum (incl _)
+               STUFF is either all ASCII punct or all ASCII alphanum (incl _)
                any lwsp after STUFF is discarded too
+
 eg notably
  STUFF!&               now & is recognised instead (ie back to normal)
  STUFFSTUFF    STUFF
@@ -22,3 +32,9 @@ eg notably
 eg
  &!@@@         @@@ is recognised instead of &
  @@@!&         go back to &
+
+&TARGETS[_things]              is handled specially
+                               must be spelled precisely this way
+                               if no _things, means _all
+
+Also, `all' is weird in that it is present even if not specified