
* various kinds of error checking in `ftag.c' is week

  For example, in `implicit_tag', failure to lseek to the beginning
  of the file should result in an error.

* make a lock server

  with-file-lock is fine, but it would be handy to write shell
  scripts that could easily lock and unlock files with arbitrary
  stuff in between.  For that purpose, with-file-lock could be
  a server, in the manner of with-ftp, that passes its address 
  to the invoked command via environment variables, and that accepts
  commands to lock and unlock files.  For one thing, that will make
  it much easier to write shell scripts that dead-lock.

* set-file-metadata needs a --symlink option

  Currently, `set-file-metadata' only calls chmod if the
  file is not a symbolic link.  Really, that should be the
  behavior only if `--symlink' is provided.  (`dopatch' in `arch' 
  depends on this behavior, so it will have to be updated at 
  the same time.)


* review arch

  Review arch and think about what things are awkward or don't quite
  work right.  Design and implement replacements.

  For example, `join', `cut', and `sort' all have different ideas
  about field splitting.  What the hell is that?  (Rob Pike proposed a 
  general nested-regexps solution a while back that might be worth 
  looking into.)

  Another example: `awk' and `sed' both hit the design space in the
  area of languages that can run very fast, but both having annoying
  feature ommissions and oddnesses.  Try substituting for a fixed
  string (determined at run time) in `sed'.  Try getting very far with
  the sub-process features of `awk'.  `perl!' I hear you cry.  Or 
  `python!'.  Still, I think there is something that is shell-like,
  awk-or-sed-like, simpler/smaller/cleaner than perl, etc.   Of
  course, the new language should use S-exps and Scheme types,
  wherever possible, and its programms should be runnable in 
  whatever interpreter follows Systas.

# tag: Tom Lord Fri Jan 11 20:25:44 2002 (file-utils/=TODO)
#
