The ~ is a feature of the OS shell. > On Jul 7, 2020, at 6:44 PM, 'Jacob Kopczynski' via golang-nuts > <golang-nuts@googlegroups.com> wrote: > > I tried to state a path relative to the home directory, since in the context > I am writing for the path from ~ to the Git repository will be consistent, > though the meaning of ~ may change based on user. A snippet: > > const specPath = "~/trunk/infra/metadata/config.cfg" > absPath, _ := filepath.Abs(specPath) > if err := readJSONPb(absPath, &s); err != nil { > fmt.Printf("specPath is %s, or as absolute %s\n", specPath, absPath) > return nil, errors.Annotate(err, "extracting tests from spec").Err() > } > However, this produces this output: > specPath is ~/trunk/infra/metadata/config.cfg, or as absolute > /home/jkop/trunk/infra/~/trunk/infra/metadata/config.cfg > extracting tests from spec: read JSON pb: open > /home/jkop/trunk/infra/~/trunk/infra/metadata/config.cfg: no such file or > directory > > This is a) surprising, since I would expect a platform-sensitive absolute > path function to deal with platform-global shortcuts like ~, and b) > completely undocumented. The docs say that "Abs returns an absolute > representation of path. If the path is not absolute it will be joined with > the current working directory to turn it into an absolute path." It doesn't > say "If the path is not rooted", but "not absolute". This is not an absolute > representation but it does specify an absolute path unambiguously. > > What's the process for submitting a change to a core library like this one? > Ideally, to the code, but I'd settle for making the documentation clearer. > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/golang-nuts/ee99cbb9-583f-487f-9e57-e0072d7a859an%40googlegroups.com.
-- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/4C1276FE-D6C9-4CC8-94FC-592765E0993A%40ix.netcom.com.