When looking into the `pdftocio` package I find the following piece of code ``` try: with open_pdf(path_in) as doc: if toc_file.isatty() or print_toc: # no input from user, switch to output mode and extract the toc # of pdf toc = read_toc(doc) if len(toc) == 0: print("error: no table of contents found", file=sys.stderr) sys.exit(1) if readable: print(pprint_toc(toc)) else: print(dump_toc(toc), end="") sys.exit(0) # an input is given, so switch to input mode toc = parse_toc(toc_file) write_toc(doc, toc) ``` As from using `shell-command-to-string` we find that `len(toc)` must be 0 (it returns an empty string), so then it is probably the case that python determines that some input has been given. So maybe, even though in the `call-process` the INFILE command is set to `nil`, still python might determine that some kind of input is given.