emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] Re: Enhancing the Org/Gnus experience


From: Eric Schulte
Subject: Re: [Orgmode] Re: Enhancing the Org/Gnus experience
Date: Sun, 31 Oct 2010 11:30:29 -0600
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

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 <address@hidden> writes:

> Hi,
>
>> "Eric Schulte" wrote:
>>> Sébastien Vauban <address@hidden> 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 via email to

[Prev in Thread] Current Thread [Next in Thread]