emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
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

  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).