Hi Seb, Wow, magic. I've totally got no idea how it works, but thanks!
Dan "Eric Schulte" <schulte.e...@gmail.com> writes: > Hi Seb, > > This is really great. I finally folded it into my gnus setup, and while > it looks great when it works, I was getting frequent errors throw by the > org-mode fontification engine recursing too deeply. I've changed it to > the following which augments what you sent with some simple error > handling. > > ** Org-mode code block fontification > Correctly fontify Org-mode attachments > #+begin_src emacs-lisp > (add-to-list 'mailcap-mime-extensions '(".org" . "text/org")) > (add-to-list 'mm-automatic-display "text/org") > > (add-to-list 'mm-inline-media-tests > '("text/org" my-display-org-inline > (lambda (el) t))) > > (defun my-display-org-inline (handle) > (condition-case nil > (mm-display-inline-fontify handle 'org-mode) > (error > (insert (with-temp-buffer (mm-insert-part handle) (buffer-string)) > "\n")))) > #+end_src > > Update =org-src-lang-modes= to provide some leeway for posters > #+begin_src emacs-lisp > (add-to-list 'org-src-lang-modes > '("elisp" . emacs-lisp)) > (add-to-list 'org-src-lang-modes > '("emacs_lisp" . emacs-lisp)) > #+end_src > > Fontify code blocks in the text of messages > #+begin_src emacs-lisp > (defun my-mm-org-babel-src-extract () > (mm-make-handle (mm-uu-copy-to-buffer start-point end-point) > '("text/org"))) > > (add-to-list 'mm-uu-type-alist > '(org-src-block > "^[ \t]*#\\+begin_" > "^[ \t]*#\\+end_" > my-mm-org-babel-src-extract > nil)) > > (mm-uu-configure) > #+end_src > > Best -- Eric > > Sébastien Vauban <wxhgmqzgw...@spammotel.com> writes: > >> Hi, >> >>> "Eric Schulte" wrote: >>>> Sébastien Vauban <wxhgmqzgwmuf-genee64ty+gs+fvcfc7...@public.gmane.org> >>>> writes: >>>>> I don't have in mind full fontification like we now have in Org. No: *just >>>>> the basic yellow background*, so that code blocks are outstanding in any >>>>> mail, exactly *like it is now* but for the "cut here" markers (or >>>>> "v+/v-"). >>>> >>>> While we're at it, why not go all the way to full fontification code block >>>> fontification? Is the current code in org-src portable enough to be applied >>>> to this (or maybe be applied whenever org-struct mode is enabled)? >>> >>> Yes, we can!? >>> >>> No idea... Maybe David could answer on such a topic? >>> >>> >>>>> Though, I don't know where to begin... Can some Org/Gnus expert give a >>>>> hint? >>>> >>>> This strays out of my narrow areas of expertise, but I hereby throw my +1 >>>> onto the request. >>> >>> Playing a bit around, I've succeeded to make it work for the blocks, and >>> almost for the results. >> >> Put this in your .emacs file: >> >> ;; regexp matching TeX groups >> (setq mm-uu-tex-groups-regexp ".*") >> >> (eval-after-load "mm-uu" >> '(progn >> (add-to-list 'mailcap-mime-extensions '(".org" . "text/org")) >> (add-to-list 'mm-automatic-display "text/org") >> ;; (add-to-list 'mm-inlined-types "text/org") >> (add-to-list 'mm-inline-media-tests >> '("text/org" >> my-display-org-inline >> identity)) >> >> (defun my-display-org-inline (handle) >> (mm-display-inline-fontify handle 'org-mode)) >> >> (defun my-mm-org-babel-src-extract () >> (mm-make-handle (mm-uu-copy-to-buffer start-point end-point) >> '("text/org") >> nil nil >> (list mm-dissect-disposition >> (cons 'filename "Org Babel source >> file")))) >> >> (add-to-list 'mm-uu-type-alist >> '(org-babel-block >> "^#\\+begin_" >> "^#\\+end_" >> ;; (lambda nil >> ;; (mm-uu-verbatim-marks-extract 0 0)) >> my-mm-org-babel-src-extract >> nil)) >> (mm-uu-configure))) >> >> This is an enhanced version of what I sent previously: here, the identified >> block is highlighted as an Org-mode buffer. In other words, it's not in >> yellow >> background anymore, but really using the faces you've customized for such an >> Org-Babel block in a standard Org buffer. >> >> >>> What'd be an good extra is the colorization of such =org-verbatim= >>> strings... >> >> Still true; no clue for that one... >> >> Best regards, >> Seb > > _______________________________________________ > Emacs-orgmode mailing list > Please use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode