Hi Austin,

try starting the second regular expression (the one denoting the end line) with \n. In this way, the \n remains outside the narrowed region. See for example how the +#begin_html line does it, just above you own code.

Maybe you only looked at the #+begin_example, where I made the same mistake, sorry about hat.

I am pushing a fix to the git repo where you can now add your own stuff cleanly using a variable:

(setq org-edit-src-region-extra
'(("^[ ]*\\\\begin{scode}\\({.*}\\)?\\s-+" "\n[ \\t]*\\\\end{scode}\\ ({.*}\\)?\\s-+" "r") ("^#\\+latex:[ ]*\\\\begin{scode}\\({.*}\\)?\\s-+" "\n#\\+latex: [ ]*\\\\end{scode}\\({.*}\\)?\\s-+" "r")))


HTH

- Carsten


On Sep 23, 2008, at 12:18 AM, Austin Frank wrote:

On Thu, Sep 18 2008, Carsten Dominik wrote:

These regular expressions are incorrect. \\s- is the way to denote
whitespace.  However, since that also includes newlines, I prefer to
write "[ \t]" in such cases.

Carsten--

Thanks for the tip.  I now to get dumped into r-mode correctly when I
hit C-c ' inside the regions defined in the attached patch. There's one
annoying quirk left, though.

When coming out of r-mode by hitting C-c ' in the Org Edit Src Example
buffer, the line that ends the example (#+latex:  \end{Scode}) is
concatenated to the last line of the source code, regardless of how many
new lines are included at the end of the source code in the temporary
buffer.

  #+latex: \begin{Scode}
  a <- 3
  #+latex: \end{Scode}

goes to

  #+latex: \begin{Scode}
  a <- 3#+latex: \end{Scode}

Any suggestions on how to preserve the formatting of the end marker?

Thanks,
/au

diff --git a/lisp/org.el b/lisp/org.el
index 3143e13..75f25f8 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -5562,6 +5562,8 @@ the language, a switch telling of the content should be in a single line."
           ("^#\\+begin_example.*\n" "^#\\+end_example" "fundamental")
           ("^#\\+html:" "\n" "html" single-line)
           ("^#\\+begin_html.*\n" "\n#\\+end_html" "html")
+ ("^[ \t]*\\\\begin{scode}\\({.*}\\)?\\s-+" "^[ \t]*\\\ \end{scode}\\({.*}\\)?\\s-+" "r") + ("^#\\+latex:[ \t]*\\\\begin{scode}\\({.*}\\)?\\s-+" "^#\\ +latex:[ \t]*\\\\end{scode}\\({.*}\\)?\\s-+" "r")
           ("^#\\+begin_latex.*\n" "\n#\\+end_latex" "latex")
           ("^#\\+latex:" "\n" "latex" single-line)
           ("^#\\+begin_ascii.*\n" "\n#\\+end_ascii" "fundamental")


--
Austin Frank
http://aufrank.net
GPG Public Key (D7398C2F): http://aufrank.net/personal.asc



_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

Reply via email to