emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Michael Brand <michael.ch.brand@gmail.com>
To: Nicolas Goaziou <n.goaziou@gmail.com>
Cc: Emacs Org mode mailing list <emacs-orgmode@gnu.org>
Subject: Re: org-insert-heading rewritten from scratch
Date: Mon, 9 Sep 2013 22:37:08 +0200	[thread overview]
Message-ID: <CALn3zogWNE2cFz7aU26OvephdQqWcY1Ck2LAcOhXXdeFE5=g=w@mail.gmail.com> (raw)
In-Reply-To: <874n9t6car.fsf@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 303 bytes --]

Hi Nicolas

On Mon, Sep 9, 2013 at 9:10 PM, Nicolas Goaziou <n.goaziou@gmail.com> wrote:
> FWIW, I think the test belongs to test-org.el, not to test-org-list.el.

Ok, I assume, then better also with more tests than only for list items.
See the attached patches that replace the previous ones.

Michael

[-- Attachment #2: 0001-Add-ERTs-for-org-meta-return.patch.txt --]
[-- Type: text/plain, Size: 1892 bytes --]

From 66f6d15234bda97fc2e197efd2f9cb7c6439fef1 Mon Sep 17 00:00:00 2001
From: Michael Brand <michael.ch.brand@gmail.com>
Date: Mon, 9 Sep 2013 22:32:36 +0200
Subject: [PATCH 1/2] Add ERTs for org-meta-return

* testing/lisp/test-org.el (test-org/meta-return): New `ert-deftest'
to test `org-meta-return'.
---
 testing/lisp/test-org.el | 45 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/testing/lisp/test-org.el b/testing/lisp/test-org.el
index 8a1e9f1..4944c24 100644
--- a/testing/lisp/test-org.el
+++ b/testing/lisp/test-org.el
@@ -365,6 +365,51 @@
 
 
 \f
+;;; Editing
+
+;;;; Insert elements
+
+(ert-deftest test-org/meta-return ()
+  "Test M-RET (`org-meta-return')."
+  ;; In a table field insert a row above.
+  (should
+   (org-test-with-temp-text "| a |"
+     (forward-char)
+     (org-meta-return)
+     (forward-line -1)
+     (looking-at "|   |$")))
+  ;; In a paragraph change current line into a header.
+  (should
+   (org-test-with-temp-text "a"
+     (org-meta-return)
+     (beginning-of-line)
+     (looking-at "\* a$")))
+  ;; In an item insert an item, in this case above.
+  (should
+   (org-test-with-temp-text "- a"
+     (org-meta-return)
+     (beginning-of-line)
+     (looking-at "- $")))
+  ;; In a drawer and paragraph insert an empty line, in this case above.
+  (should
+   (let ((org-drawers '("MYDRAWER")))
+     (org-test-with-temp-text ":MYDRAWER:\na\n:END:"
+       (forward-line)
+       (org-meta-return)
+       (forward-line -1)
+       (looking-at "$"))))
+  ;; TODO In a drawer and item insert an item, in this case above.
+  (should
+   (let ((org-drawers '("MYDRAWER")))
+     (org-test-with-temp-text ":MYDRAWER:\n- a\n:END:"
+       (forward-line)
+       (org-meta-return)
+       (forward-line -1)
+       (looking-at "$")))))
+
+
+
+\f
 ;;; Links
 
 ;;;; Fuzzy Links
-- 
1.7.12.4 (Apple Git-37)


[-- Attachment #3: 0002-org-meta-return-Insert-an-item-also-in-a-drawer.patch.txt --]
[-- Type: text/plain, Size: 1762 bytes --]

From fddcaaed03630e7acc26ed701937b2ca17184fe5 Mon Sep 17 00:00:00 2001
From: Michael Brand <michael.ch.brand@gmail.com>
Date: Mon, 9 Sep 2013 22:33:47 +0200
Subject: [PATCH 2/2] org-meta-return: Insert an item also in a drawer

* lisp/org.el (org-meta-return): Exclude item from cond for drawer.
* testing/lisp/test-org.el (test-org/meta-return): In a drawer and
item insert an item.
---
 lisp/org.el              | 3 ++-
 testing/lisp/test-org.el | 6 +++---
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/lisp/org.el b/lisp/org.el
index 59a22a2..edc8725 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -20698,7 +20698,8 @@ See the individual commands for more information."
   (org-check-before-invisible-edit 'insert)
   (cond
    ((run-hook-with-args-until-success 'org-metareturn-hook))
-   ((or (org-at-drawer-p) (org-in-drawer-p) (org-at-property-p))
+   ((and (or (org-at-drawer-p) (org-in-drawer-p) (org-at-property-p))
+	 (not (org-in-item-p)))
     (newline-and-indent))
    ((org-at-table-p)
     (call-interactively 'org-table-wrap-region))
diff --git a/testing/lisp/test-org.el b/testing/lisp/test-org.el
index 4944c24..3538242 100644
--- a/testing/lisp/test-org.el
+++ b/testing/lisp/test-org.el
@@ -398,14 +398,14 @@
        (org-meta-return)
        (forward-line -1)
        (looking-at "$"))))
-  ;; TODO In a drawer and item insert an item, in this case above.
+  ;; In a drawer and item insert an item, in this case above.
   (should
    (let ((org-drawers '("MYDRAWER")))
      (org-test-with-temp-text ":MYDRAWER:\n- a\n:END:"
        (forward-line)
        (org-meta-return)
-       (forward-line -1)
-       (looking-at "$")))))
+       (beginning-of-line)
+       (looking-at "- $")))))
 
 
 
-- 
1.7.12.4 (Apple Git-37)


  reply	other threads:[~2013-09-09 20:37 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-08  6:43 org-insert-heading rewritten from scratch Carsten Dominik
2013-08-08  7:41 ` Eric Abrahamsen
2013-08-31 14:00   ` Carsten Dominik
2013-08-31 14:34     ` Nicolas Goaziou
2013-09-01  6:13       ` Carsten Dominik
2013-09-01  8:19         ` Nicolas Goaziou
2013-09-01 12:04           ` Carsten Dominik
2013-09-01 12:25             ` Nicolas Goaziou
2013-09-03 13:16             ` Nicolas Goaziou
2013-09-03 13:25               ` Carsten Dominik
2013-09-03 13:33                 ` Carsten Dominik
2013-09-03 13:38                 ` Nicolas Goaziou
2013-09-03 13:47                   ` Carsten Dominik
2013-09-03 13:58                     ` Nicolas Goaziou
2013-09-03 14:04                       ` Carsten Dominik
2013-09-03 14:12                         ` Nicolas Goaziou
2013-09-07 10:50                         ` Nicolas Goaziou
2013-09-07 12:01                           ` Nicolas Goaziou
2013-09-01  2:38     ` Eric Abrahamsen
2013-09-01  3:11     ` Samuel Wales
2013-09-01  3:13       ` Samuel Wales
2013-09-09 16:42 ` Michael Brand
2013-09-09 19:10   ` Nicolas Goaziou
2013-09-09 20:37     ` Michael Brand [this message]
2013-09-12 20:20       ` Carsten Dominik
2013-09-12 20:52         ` Michael Brand
2013-09-12 20:58           ` Carsten Dominik

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='CALn3zogWNE2cFz7aU26OvephdQqWcY1Ck2LAcOhXXdeFE5=g=w@mail.gmail.com' \
    --to=michael.ch.brand@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=n.goaziou@gmail.com \
    /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).