In a buffer with text before the first heading, I get an error using org-map-entries in this function: (defun org-export-all (backend) "Export all subtrees that are *not* tagged with :noexport: to separate files. Note that subtrees must have the :EXPORT_FILE_NAME: property set to a unique value for this to work properly." (interactive "sEnter backend: ") (let ((fn (cond ((equal backend "html") 'org-html-export-to-html) ((equal backend "latex") 'org-latex-export-to-latex) ((equal backend "pdf") 'org-latex-export-to-pdf)))) (save-excursion (set-mark (point-min)) (goto-char (point-max)) (org-map-entries (lambda () (funcall fn nil t)) "-noexport" 'region-start-level)))) The error is : Debugger entered--Lisp error: (error "Before first headline at position 1 in buffer test.org<2>") Is there a better way to map over first-level heading, or alternatively, a better way to set the mark? I tried setting mark to : (goto-char (point-min)) (re-search-forward " \\\*")) but that gave strange results, with the wrong trees being sent to individual files. Thank you! matt