Applied, Thanks Dan Davison <davi...@stats.ox.ac.uk> writes:
> Christian -- thanks, I think your suggestion is better than mine. > > Eric -- here's a small change that allows it to work before the first > headline. (protected from patchwork I hope) > > Dan > > X diff --git a/lisp/ob.el b/lisp/ob.el > X index e3f9fc7..655a79d 100644 > X --- a/lisp/ob.el > X +++ b/lisp/ob.el > X @@ -1146,7 +1146,8 @@ region is not active then the point is demarcated." > X (goto-char place) > X (let ((lang (nth 0 info)) > X (indent (make-string (nth 6 info) ? )) > X - (stars (concat (make-string (org-current-level) ?*) " > "))) > X + (stars > X + (concat (make-string (or (org-current-level) 0) ?*) " "))) > X (when (string-match "^[[:space:]]*$" > X (buffer-substring (point-at-bol) > X (point-at-eol))) > X @@ -1161,7 +1162,7 @@ region is not active then the point is demarcated." > X (let ((start (point)) > X (body (delete-and-extract-region > X (if (region-active-p) (mark) (point)) (point))) > X - (stars (concat (make-string (org-current-level) ?*) " "))) > X + (stars (concat (make-string (or (org-current-level) 0) ?*) " "))) > X (insert (concat (if (looking-at "^") "" "\n") > X (if arg (concat stars "\n") "") > X "#+begin_src " (read-from-minibuffer "Lang: ") "\n" > X > > > Christian Moe <m...@christianmoe.com> writes: > >> Hi Eric, >> >> Great, thanks. >> >> Christian >> >> On 9/21/10 3:04 PM, Eric Schulte wrote: >>> Hi Christian, >>> >>> I agree generalizing this function over all block types would be very >>> useful. When I find the time I will make this change. >>> >>> Thanks -- Eric >>> >>> Christian Moe<m...@christianmoe.com> writes: >>> >>>> Hi, >>>> >>>> I'm late to this discussion, but just a lateral thought: >>>> >>>> Would you consider rewriting this as `org-demarcate-block' or similar, >>>> to operate on all #+begin_...end blocks, not just src? >>>> >>>> If generalized this function could be equally useful for non-src >>>> blocks as well. Example blocks come immediately to mind, but there are >>>> non-coding applications too. >>>> >>>> For instance, I store many notes with quotes from various texts, >>>> sometimes in fairly long =#+begin_quote= blocks, which I then need to >>>> split up when I want to write an extended discussion of a passage, >>>> quoting a few lines at a time. >>>> >>>> For those who use verse blocks (I all too seldom have the need...), it >>>> may be even more useful. >>>> >>>> For personal use, I already have a little org-insert-block utility >>>> function to insert/wrap [q]uote, [s]rc, e[x]ample, [v]erse or [o]ther >>>> blocks at a keystroke. This works for me since I use at least the >>>> first two more or less equally often. A generalized demarcate-block >>>> function would be a nice complement. >>>> >>>> Yours, >>>> CM >>>> >>>> >>>> >>>> >>>>>> I've just added this to the org-mode repo. >>>>>> >>>>>>> Not in the babel key map - in the org key map (I use it most in normal >>>>>>> non src org entries to mark a block of elisp as src for >>>>>>> samples/examples). >>>>>> >>>>>> For now it still lives in the babel keymap behind (C-c C-v d) since it >>>>>> is fundamentally code-block related, >>>>> >>>>> For me, "fundamentally code-block related", in the absence of >>>>> execution-related functionality, points to org-src.el rather than >>>>> org-babel, so I suggest naming this function >>>>> org-src-demarcate-block. The babel keymap is still a good place for a >>>>> binding -- I think it's reasonable for the babel keymap to accomodate >>>>> pure code block stuff in addition to execution/tangling stuff. >>>>> >>>>> Dan >>>>> >>>>> _______________________________________________ >>>>> 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 >>>>> >>> _______________________________________________ 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