code: func NewEdit(filename string) (*edit, error) {
  	if err := Backup(filename); err != nil {
  		return nil, err
  	}
  
  	file, err := os.OpenFile(filename, os.O_RDWR, 0666)
  	if err != nil {
  		return nil, err
  	}
  
  	return &edit{
  		_editDefault,
  		file,
  		bufio.NewReadWriter(bufio.NewReader(file), bufio.NewWriter(file)),
  	}, nil
  }
docs: // NewEdit opens a file to edit; it is created a backup.