On 2014-08-31 17:44, Thorsten Jolitz writes: > Alan Schmitt writes: > >> (Thorsten asked me to repost this from github.) >> >> When calling navi-search-and-switch interactively, I get the following >> backtrace: > > But when 'navi-search-and-switch' would have a bug, one could not use > navi-mode at all ... and I use it all the time. Yes, I imagine the problem comes from an interaction with something else, but the code below does not seem to deal with the case where there is no occur buffer. >> Debugger entered--Lisp error: (wrong-type-argument stringp nil) >> navi-rename-buffer() >> navi-search-and-switch() >> call-interactively(navi-search-and-switch record nil) >> command-execute(navi-search-and-switch record) >> >> The problem seems to be with this code in navi-rename-buffer >> >> #+begin_src emacs-lisp >> (with-current-buffer >> (if (eq major-mode 'occur-mode) (current-buffer) (get-buffer "*Occur*")) >> #+end_src >> >> >> As there is no "*Occur*" buffer, and the current buffer is in >> emacs-lisp-mode, =(if (eq major-mode 'occur-mode) (current-buffer) >> (get-buffer "*Occur*"))= returns nil and with-current-buffer fails. > 1. Can you try 'navi-search-and-switch' on an org-mode buffer, with -> > (eq major-mode 'org-mode), e.g. > > ,---- > | * ORG SCRATCH > | ** 2nd Level > | #+BEGIN_SRC emacs-lisp :cache no > | (+ 2 2) > | #+END_SRC > `---- > > *Navi* buffer should pop-up, typing 2 should show both headlines. Yes, it works with an org file. > 2. Is there anything special about the outshine file you used? It's an emacs-lisp file. > Is it structured with outshine headers? is it emacs-lisp-mode? > old-school or org-style headers? Here is a simple example that fails for me: ;; * ORG SCRATCH ;; ** 2nd Level (+ 2 2) Alan -- OpenPGP Key ID : 040D0A3B4ED2E5C7