diff --git a/lib/CREDITS b/lib/CREDITS index 72f642086f..53c7efe417 100644 --- a/lib/CREDITS +++ b/lib/CREDITS @@ -494,6 +494,9 @@ @bBernhard Roider @iE-mail: bernhard.roider () sonnenkinder ! org Various bug fixes +@bMichael Roitzsch +@iE-mail: reactorcontrol () icloud ! com + Fixes for the Nix package manager @bJim Rotmalm @iE-mail: jim.rotmalm () gmail ! com Swedish translation diff --git a/lib/generate_contributions.py b/lib/generate_contributions.py index 44953c52d1..2e9224c66c 100755 --- a/lib/generate_contributions.py +++ b/lib/generate_contributions.py @@ -1655,6 +1655,14 @@ contributors = [ "29 January 2007", u"Various bug fixes"), + contributor(u"Michael Roitzsch", + "reactorcontrol () icloud ! com", + "GPL", + "Re: TeXFiles.py compatibility with Nix on macOS", + "m=156146891826580", + "25 June 2019", + u"Fixes for the Nix package manager"), + contributor(u"Jim Rotmalm", "jim.rotmalm () gmail ! com", "GPL", diff --git a/lib/scripts/TeXFiles.py b/lib/scripts/TeXFiles.py index aac29bc9d0..188f6b90ad 100755 --- a/lib/scripts/TeXFiles.py +++ b/lib/scripts/TeXFiles.py @@ -116,7 +116,17 @@ for type in types: if not os.path.isdir(dir): continue # walk down the file hierarchy - for root,path,files in os.walk(dir): + visited = set() + for root,dirs,files in os.walk(dir, followlinks=True): + # prevent inifinite recursion + recurse = [] + for dir in dirs: + st = os.stat(os.path.join(root, dir)) + key = st.st_dev, st.st_ino + if key not in visited: + visited.add(key) + recurse.append(dir) + dirs[:] = recurse # check file type for file in files: if len(file) > 4 and file[-4:] == file_ext: diff --git a/status.23x b/status.23x index dbd63f04da..e98a9019fe 100644 --- a/status.23x +++ b/status.23x @@ -75,7 +75,7 @@ Avoid using text mode for unicode symbols representable in math mode (bug 9616). * INTERNALS - +- Fix TeX file listing with the Nix package manager.