phillip.l...@russet.org.uk (Phillip Lord) writes: > Rasmus <ras...@gmx.us> writes: > >> Hi Phillip, >> >> Thanks for your report. >> >> phillip.l...@russet.org.uk (Phillip Lord) writes: >> >>> On emacs-25 ox-html, line 1847, org-html-fontify-code does this... >>> >>> (setq code (with-temp-buffer >>> ;; Switch to language-specific mode. >>> (funcall lang-mode) >>> (insert code) >>> ;; Fontify buffer. >>> (org-font-lock-ensure) >>> >>> >>> But `org-font-lock-ensure' is defined like so.... >>> >>> (defalias 'org-font-lock-ensure >>> (if (fboundp 'org-font-lock-ensure) >>> #'font-lock-ensure >>> (lambda (_beg _end) (font-lock-fontify-buffer)))) >>> >>> >>> which takes two args, causing crashes when exporting to code to HTML. >> >> This is fixed in the most recent stable version of Org, i.e. 8.3.3¹ , >> which, I guess, will be part of if Emacs 25.2 or 26.1 (whichever comes >> first and allow new features). It’s also fixed in 8.2.10². I guess >> Emacs-25 should switch v8.2.10. [Honestly, when v8.3 couldn’t be merged I >> did not cross my mind to upgrade to v8.2.10]. In case v8.2.10 it too >> radical, a "local fix" must be applied to the version of Org in emacs.git. > > > Well, the fix on emacs-25 appears to be trivial i.e. > > (org-font-lock-ensure (point-min) (point-max)) > > But I don't know what the protocol is for org-mode as it's upstream. > AFAICT, this is a regression from emacs-24.5, so it would be a shame if > the bug gets into 25.1.
Sorry, I managed to confuse myself before. Emacs-25 has Org 8.2.10, but this bug only lives in the core version. Isn’t a better fix to change the signature of the alias to mirror that of font-lock-ensure? I.e. (defalias 'org-font-lock-ensure (if (fboundp 'org-font-lock-ensure) #'font-lock-ensure (lambda (&optional _beg _end) (font-lock-fontify-buffer)))) Since (org-font-lock-ensure) is called from many places. Note, this change only lives it the Emacs version of Org. It was added in this commit: 6711a21f1125c0047c56eb266eb374c1ec90a967 Author: Stefan Monnier <monn...@iro.umontreal.ca> AuthorDate: Wed May 28 23:45:29 2014 -0400 * lisp/font-lock.el (font-lock-flush, font-lock-ensure): New functions. * lisp/org/org-compat.el (org-font-lock-ensure): New function. * lisp/org/ox-odt.el (org-odt-do-format-code): * lisp/org/ox-html.el (org-html-fontify-code): * lisp/org/org.el (org-fontify-like-in-org-mode): * lisp/org/org-src.el (org-src-font-lock-fontify-block): * lisp/org/org-clock.el (org-clock-get-clocktable): Use it. * lisp/org/ox-org.el (org-org-publish-to-org): Use it. Avoid using find-file from Elisp. * test/automated/ruby-mode-tests.el (ruby-assert-face): Use font-lock-ensure. (ruby-interpolation-keeps-non-quote-syntax): Use syntax-propertize. I’ll check on font-lock-ensure business and whether we can use that in Org-9. Thanks, Rasmus -- The right to be left alone is a human right