If you call browse-url-emacs with a file:// url, Emacs does not open the correct file: (browse-url-emacs "file://~/a/b") opens /a/b (browse-url-emacs "file://a/b") opens /b Basically unless the path is an absolute path, the first level is chopped because url parses it as host and throws it away. This patch concats the host back. If the path is absolute, host is empty string so it’s ok. Yuan