[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Emacs-orgmode] Re: Suggestions on list create/edit commands:
From: |
Philip Rooke |
Subject: |
Re: [Emacs-orgmode] Re: Suggestions on list create/edit commands: |
Date: |
Sun, 14 May 2006 13:35:48 +0100 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) |
Carsten Dominik <address@hidden> writes:
> On May 12, 2006, at 4:39, T. V. Raman wrote:
>>
>>
>> 1) orgtbl is nice as a minor mode. Why not go once step
>> further and enable org as a minor mode; it would be nice
>> to be able to create structured lists in email.
>
> I don't know how this would be possible. The org-mode keymap would
> take over, no key from the current major mode would keep working.
> Orgtbl used a rather complicated trick to function in tables while
> leaving things to the major mode outside tables. I don't see how a
> similar trick could work for the whole file.
>
> One could construct a restricted minor mode with some functionality -
> what stuff should be in there?
I know this is not what you are asking for, but I find the following
very helpful when I want to use org-mode facilities to quickly create a
piece of text whilst in an email message or, indeed, anywhere else:
(defun popup-input-buffer ()
"Provide an input buffer in a specified mode."
(interactive)
(let ((buffer-name (generate-new-buffer-name "*input*"))
(mode (intern
(completing-read
"Mode: "
(mapcar (lambda (e)
(list (symbol-name e)))
(apropos-internal "-mode$" 'commandp))
nil t))))
(pop-to-buffer (make-indirect-buffer (current-buffer) buffer-name))
(narrow-to-region (point) (point))
(funcall mode)
(let ((map (copy-keymap (current-local-map))))
(define-key map (kbd "C-c C-c")
(lambda ()
(interactive)
(kill-buffer nil)
(delete-window)))
(use-local-map map))
(shrink-window-if-larger-than-buffer)))
Whilst in some mode other than org-mode simply:
M-x popup-input-buffer
org-mode <ret>
[...use org-mode...]
C-c C-c
I can claim no credit for this idea, I found the function in a GPL'd file
of elisp snippets written by someone called Mark Triggs.
Phil