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

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