0
votes

I'm a light-to-middleweight emacs 25.1 user. I have been using org-mode with few difficulties until I wanted to export to HTML or latex. Then it fails with "Debugger entered--Lisp error: (wrong-type-argument stringp |)"

Backtrace gives this:

Debugger entered--Lisp error: (wrong-type-argument stringp |)
string-match("^\\(.*?\\)\\(?:(\\([^!@/]\\)?.*?)\\)?$" |)
org-set-regexps-and-options()
org-mode()
set-auto-mode-0(org-mode nil)
set-auto-mode()
normal-mode(t)
after-find-file(nil t)
find-file-noselect-1(#<buffer outlines.org> "c:/Users/***/outlines.org"  nil nil "c:/Users/****/outlines.org" (19984723346758628 3399104098))
find-file-noselect("c:/Users/****/outlines.org" nil nil nil)
find-file("c:/Users/****/outlines.org")
dired-find-file()
funcall-interactively(dired-find-file)
call-interactively(dired-find-file nil nil)
command-execute(dired-find-file)

I re-installed org mode using the package system to no avail. I have basic familiarity with lisp, but I'm a librarian by trade, not a programmer. I can edit .el files if I know what to look for. Thanks!

1
Looking at the source code for org-mode, you have probably an ill-defined list of TODO keywords. Try running emacs -q and export a simple org file with no TODO redefinitions in-file.Juancho
i have been having some weird problems when i have two different versions of org installed in two difference places. Make sure your loadpath shows the new org in the right place. Perhaps you can consider moving the org you download and see if that solves the problem.dmg
Juancho, that was it. I missed the quotes around | in my customized TODO keywords in my .emacs. I added the quotation marks, restarted and have no problems at all. Thank you! Sonce you wrote a comment I can't mark it as the answer, but if you want to answer the question, I'll mark it as the right answer. Thanks!user846

1 Answers

0
votes

Juancho had it exactly right in his comment. I had a defective line in my .emacs. I missed the quotes around the pipe symbol in my custom list of TODO keywords: '((sequence "TODO" "FOLLOWUP" | "DONE"))) should have been: '((sequence "TODO" "FOLLOWUP" "|" "DONE")))

When I fixed that all was well. Thanks!