/*
-goredo -- redo implementation on pure Go
+goredo -- djb's redo implementation on pure Go
Copyright (C) 2020-2021 Sergey Matveev <stargrave@stargrave.org>
This program is free software: you can redistribute it and/or modify
doFile = strings.Join(append(
[]string{"default"}, append(exts, "do")...,
), ".")
- if len(levels) > 0 || doFile != doFileOrig {
+ if len(levels) > 0 || (doFile != doFileOrig && doFile != tgt) {
exists, err = existsDo(fdDep, cwd, path.Join(updir, doFile))
if err != nil {
return "", 0, err
exts = exts[1:]
}
doFile = "default.do"
- if len(levels) > 0 || doFile != doFileOrig {
+ if len(levels) > 0 || (doFile != doFileOrig && doFile != tgt) {
exists, err = existsDo(fdDep, cwd, path.Join(updir, doFile))
if err != nil {
return "", 0, err
}
}
levels = append(levels, "..")
- dirAbs, err := filepath.Abs(updir)
+ dirAbs, err := filepath.Abs(path.Join(cwd, updir))
if err != nil {
panic(err)
}