Hi Sebastian, Thanks for the patch. In addition to Kyle’s comments:
2015ko urriak 9an, Sebastian Christ-ek idatzi zuen: > > Hi group, > > I'd like to provide a patch to > ox-extra.el. `org-latex-header-blocks-filter' still calls > `org-edit-src-find-region-and-lang' and raises therefore an undefined > function error. > > Best wishes, > Sebastian > > From 34b76e06bda5739e433c95b451915c8b804a1733 Mon Sep 17 00:00:00 2001 > From: Sebastian Christ <rudolfo.chr...@gmail.com> > Date: Fri, 9 Oct 2015 17:37:39 +0200 > Subject: [PATCH] ox-extra.el: Fix filtering of latex header blocks > > * ox-extra.el (org-latex-header-blocks-filter): Use `org-element' API to > find begin and end of latex header blocks. > > `org-latex-header-blocks-filter' still called > `org-edit-src-find-region-and-lang' and raised an undefined function > error because the funtion was removed from org-mode. This is fixed by > determining the > begin and end of the latex block via `org-element'. > --- > contrib/lisp/ox-extra.el | 28 ++++++++++++++++------------ > 1 file changed, 16 insertions(+), 12 deletions(-) > > diff --git a/contrib/lisp/ox-extra.el b/contrib/lisp/ox-extra.el > index e6d45cc..bb838fc 100644 > --- a/contrib/lisp/ox-extra.el > +++ b/contrib/lisp/ox-extra.el > @@ -71,18 +71,22 @@ > (org-element-property :end block) > (org-element-property :post-affiliated block))))))) > (mapc (lambda (pos) > - (goto-char (nth 2 pos)) > - (destructuring-bind > - (beg end &rest ignore) > - (org-edit-src-find-region-and-lang) > - (let ((contents-lines (split-string > - (buffer-substring-no-properties beg end) > - "\n"))) > - (delete-region (nth 0 pos) (nth 1 pos)) > - (dolist (line contents-lines) > - (insert (concat "#+latex_header: " > - (replace-regexp-in-string "\\` *" "" line) > - "\n")))))) > + (let* ((beg (third pos)) > + (end (second pos)) > + (post-affiliated (first pos)) > + (contents-lines > + (cdr (butlast > + (split-string > + (buffer-substring-no-properties post-affiliated > + end) > + "\n") > + 2)))) Here I think you should use (org-element-property :value X) to get the contents-lines. This means that it should be added to the list that’s constructed from :begin, :end, and :post-affiliated higher up. (And then I think :post-affiliated can be dropped from that list.) I’m not sure why I didn’t do it that way in the first place, actually. -- Aaron Ecay