code: func (w *Window) message(format string, args ...interface{}) {
  	if *acmeDebug {
  		q0, q1, _ := w.ReadAddr()
  		log.Printf("message; addr=%d,%d", q0, q1)
  	}
  	if err := w.Addr(".-/\\n?\\n?/"); err != nil && *acmeDebug {
  		log.Printf("set addr: %s", err)
  	}
  	q0, _, _ := w.ReadAddr()
  	nl := ""
  	if q0 > 0 {
  		nl = "\n"
  	}
  	if *acmeDebug {
  		q0, q1, _ := w.ReadAddr()
  		log.Printf("inserting; addr=%d,%d", q0, q1)
  	}
  	w.Fprintf("data", nl+w.time()+format+"\n", args...)
  	if *acmeDebug {
  		q0, q1, _ := w.ReadAddr()
  		log.Printf("wrote; addr=%d,%d", q0, q1)
  	}
  }
docs: // Invariant: in chat windows, the acme addr corresponds to the
  // empty string just before the input being typed.  Text before addr
  // is the chat history (usually ending in a blank line).