code: func splitList(path string) []string {
  	if path == "" {
  		return []string{""}
  	}
  	list := strings.Split(path, ":")
  	if runtime.GOOS != "windows" {
  		return list
  	}
  	// join "C", "/foo" into "C:/foo"
  	var fixed []string
  	for i := 0; i < len(list); i++ {
  		s := list[i]
  		switch {
  		case len(s) != 1, !driveLetter(s[0]):
  		case i+1 >= len(list):
  			// last element
  		case strings.IndexAny(list[i+1], `/\`) != 0:
  			// next element doesn't start with / or \
  		default:
  			fixed = append(fixed, s+":"+list[i+1])
  			i++
  			continue
  		}
  		fixed = append(fixed, s)
  	}
  	return fixed
  }
docs: // splitList is like filepath.SplitList, but always using the unix path
  // list separator ':'. On Windows, it also makes sure not to split
  // [A-Z]:[/\].