From: "Eric Schulte" <schulte.eric@gmail.com>
To: "Sébastien Vauban" <wxhgmqzgwmuf@spammotel.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: Re: Enhancing the Org/Gnus experience
Date: Sun, 31 Oct 2010 11:30:29 -0600 [thread overview]
Message-ID: <874oc2z2uv.fsf@gmail.com> (raw)
In-Reply-To: 80vd4z9q2f.fsf@mundaneum.com
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 <wxhgmqzgwmuf@spammotel.com> writes:
> Hi,
>
>> "Eric Schulte" wrote:
>>> Sébastien Vauban <wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw@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
next prev parent reply other threads:[~2010-10-31 17:31 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-15 15:51 Enhancing the Org/Gnus experience Sébastien Vauban
2010-10-15 16:59 ` Eric Schulte
2010-10-18 15:55 ` Sébastien Vauban
2010-10-18 20:57 ` Sébastien Vauban
2010-10-31 17:30 ` Eric Schulte [this message]
2010-10-31 20:57 ` Dan Davison
2010-11-04 11:18 ` Sébastien Vauban
2010-11-04 11:40 ` Eric S Fraga
2010-11-04 12:22 ` Eric Schulte
2010-11-04 13:53 ` Eric S Fraga
2010-11-04 15:06 ` Sébastien Vauban
2010-11-04 16:21 ` Tassilo Horn
2010-11-05 12:48 ` Eric S Fraga
2010-11-05 12:58 ` Sébastien Vauban
2010-11-05 21:36 ` Eric S Fraga
2010-11-04 13:11 ` Sébastien Vauban
2010-11-04 14:24 ` Eric S Fraga
2010-11-04 15:11 ` Eric S Fraga
2010-11-04 13:29 ` Eric Schulte
2010-11-04 14:16 ` Sébastien Vauban
2010-11-04 15:24 ` Eric Schulte
2010-11-04 18:18 ` Jambunathan K
2010-11-29 13:40 ` Julien Danjou
2010-11-29 14:11 ` Sébastien Vauban
2011-01-17 16:09 ` Julien Danjou
2011-01-19 13:28 ` Sébastien Vauban
2011-01-20 10:16 ` Julien Danjou
2011-01-20 18:00 ` Julien Danjou
2011-01-20 22:09 ` Sébastien Vauban
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=874oc2z2uv.fsf@gmail.com \
--to=schulte.eric@gmail.com \
--cc=emacs-orgmode@gnu.org \
--cc=wxhgmqzgwmuf@spammotel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).