The editline(7) library has a little known feature: vi-histedit. When invoked, the command creates a file in /tmp and spawns vi(1) to edit it. This behavior is unaccounted for in the pledge(2) promises of bc(1) and fsdb(8).
Steps to reproduce: $ echo "bind -v" >> ~/.editrc $ bc <Press "ESC", then "v"> Abort trap (core dumped) Adding "rpath wpath cpath proc exec" to their pledge(2) promises is just too much to fix this. Should vi-histedit be removed completely? Or should another flag be added to el_set(3) that disables it on demand, such that other programs can still use it if their pledge(2) permits it? The other editline(7) users, bgplgsh(8), cdio(1), ftp(1) and sftp(1) are not affected because they're not pledged at that point. By the way, sftp(1) ignores "bind -v" if it is set in ~/.editrc but works with other commands (e.g. "telltc"). I don't know what's going on there, someone more capable should check it out.
