emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Thorsten Jolitz <tjolitz@gmail.com>
To: emacs-orgmode@gnu.org
Subject: Re: [ANN] Edit emails in Org-mode
Date: Fri, 21 Jun 2013 13:44:42 +0200	[thread overview]
Message-ID: <87txkradsl.fsf@gmail.com> (raw)
In-Reply-To: 861u7w6i5i.fsf@somewhere.org

"Sebastien Vauban" <sva-news@mygooglest.com>
writes:

Hi Sebastien,

> Thorsten Jolitz wrote:
>> "Sebastien Vauban" <sva-news@mygooglest.com>
>> writes:
>>> Thorsten Jolitz wrote:
>>>> 2.3 Usage
>>>> ~~~~~~~~~
>>>>
>>>>   There are only two commands involved:
>>>>
>>>>    Command                         Keybinding         Comment
>>>>   -----------------------------------------------------------------------
>>>>    M-x outorg-edit-as-org          M-# M-#  or M-# #  outline-prefix M-#
>>>>                                    C-c '              outline-prefix C-c
>>>>    M-x outorg-copy-edits-and-exit  M-#                ---
>>>
>>> When I have "message" code blocks, and when I edit them in an
>>> indirect buffer (for refilling them, for example), then I have a
>>> draft message that stays in my Gnus/Message emails.
>>>
>>> Any idea how to get rid of that?
>>
>> its a nice idea to be able to replace the source-blocks by their
>> results when composing messages (if I understood your feature request
>> right).
>
> No, this may be a good idea, but not what I was talking about.

anyway, I really like it for myself ...

> I now have the following capture command:
>
> #+begin_src emacs-lisp
>   (add-to-list 'org-capture-templates
>                `("m" "Mail to task" entry
>                  (file+headline ,org-default-notes-file "Tasks")
>                  "* TODO %:subject%? (from %:fromname) :mail:
>   %:date-timestamp-inactive
>
> #+begin_src message
> %i
> #+end_src
>
> From %a"
>                  :immediate-finish t) t)
> #+end_src
>
> But, sometimes, I want to refill the contents of the captured email.
>
> To do so, I go onto the email message code block, edit it in an indirect
> buffer (through C-c '), refill, and quit the indirect buffer (another C-c ').
>
> Though, after having done that, I now have the above email saved as a draft in
> Gnus. Not what I was expecting.
>
> So, my question was: how to avoid the email to be saved as a draft?

Thats quite a complicated set-up, not sure if I really can say something
about that.

Maybe you noticed, that in my original post I exported my mail written in the
*outorg-edit-buffer* to ASCII with this code block:

#+begin_src emacs-lisp :results output replace
  (org-export-to-buffer 'ascii "email-transcode-buffer")
  (print
   (with-current-buffer "email-transcode-buffer"
     (let ((mail-as-ascii
            (buffer-substring-no-properties (point-min) (point-max))))
       (set-buffer-modified-p nil)
       (kill-buffer)
       mail-as-ascii)))
#+end_src

and the result looked like this (I did not fiddle with the export options,
just used the settings I have):

#+results:

,----------------------------------------------
| "                           _________________
|
|                                   134
|
|                             Thorsten Jolitz
|                            _________________
|
|
| Table of Contents
| _________________
|
| 1 --text follows this line--
| 2 Documentation
`----------------------------------------------

I think this 134 in the headline comes from Gnus too, and is a draft number or
so. I'm not really sure whats happening there, it seems to be something
between Org and Gnus. I do use C-c ' in the *outorg-edit-buffer* too for
editing source-blocks, not sure if Org-mode automatically saves the original
buffer when returning from the temporal (source-code) edit buffer and updating
the original buffer - but that would then be the *outorg-edit-buffer*, not
the message-buffer.

I checked outorg.el - there is only one explicit use of 'save-buffer' not
related to this, so I don't seem to save the original-buffer when returning
from *outorg-edit-buffer* buffer (and I remember that I decided to better
leave that to the user).

>> Opens a lot of possiblilities for (semi-)automatic email creation.
>>
>> Here is the doc-string:
>>
>> #+begin_src emacs-lisp
>> (defun outorg-replace-source-blocks-with-results
>>   (&optional arg &rest languages)
>>   "Replace source-blocks with their results.
>>
>> Only source-blocks with ':export results' in their header
>> arguments will be mapped.
>>
>> If LANGUAGES is non-nil, only those source-blocks with a
>> language found in the list are mapped.
>>
>> If LANGUAGES is nil but a prefix-argument ARG is given, only the
>> languages read from the mini-buffer (separated by blanks) are mapped.
>>
>> Otherwise, all languages found in `org-babel-load-languages' are mapped." ...)
>> #+end_src
>>
>> it basically says:
>>
>> - only blocks with ':export results' will be mapped
>>
>> - blocks for all languages found in `org-babel-load-languages' will be mapped,
>>   except the function ist called (from a program) with a list of language
>>   names (as strings) or the user calls the command with prefix arg (e.g. C-u)
>>   and enters language names (like this: R emacs-lisp sh org).
>>
>> let me know if the function does what you wanted.
>>
>> Do we need a keybinding for that, or should it rather be a bit oscure (only
>> accessible by M-x) to avoid confusing accidents?
>
> Best regards,
>   Seb

--
cheers,
Thorsten

      reply	other threads:[~2013-06-21 11:44 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-19 18:25 [ANN] Edit emails in Org-mode Thorsten Jolitz
2013-06-20  7:06 ` Sebastien Vauban
2013-06-20 12:01   ` Thorsten Jolitz
2013-06-21  7:24     ` Sebastien Vauban
2013-06-21 11:44       ` Thorsten Jolitz [this message]

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=87txkradsl.fsf@gmail.com \
    --to=tjolitz@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /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).