From: Dan Davison <dandavison7@gmail.com>
To: Eric Schulte <schulte.eric@gmail.com>
Cc: "Sébastien Vauban" <wxhgmqzgwmuf@spammotel.com>, emacs-orgmode@gnu.org
Subject: Re: Enhancing the Org/Gnus experience
Date: Sun, 31 Oct 2010 20:57:29 +0000 [thread overview]
Message-ID: <878w1ef5c6.fsf@gmail.com> (raw)
In-Reply-To: <874oc2z2uv.fsf@gmail.com> (Eric Schulte's message of "Sun, 31 Oct 2010 11:30:29 -0600")
Hi Seb,
Wow, magic. I've totally got no idea how it works, but thanks!
Dan
"Eric Schulte" <schulte.eric@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 <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
>
> _______________________________________________
> 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
next prev parent reply other threads:[~2010-10-31 20:58 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
2010-10-31 20:57 ` Dan Davison [this message]
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=878w1ef5c6.fsf@gmail.com \
--to=dandavison7@gmail.com \
--cc=emacs-orgmode@gnu.org \
--cc=schulte.eric@gmail.com \
--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).