From mboxrd@z Thu Jan 1 00:00:00 1970 From: Allen Li Subject: Re: [PATCH] Use the same TODO keyword as the current heading Date: Tue, 17 Oct 2017 11:40:45 -0700 Message-ID: References: <87bml6z04h.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:52427) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e4WnH-0000wI-Er for emacs-orgmode@gnu.org; Tue, 17 Oct 2017 14:40:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e4WnG-0001X3-Ku for emacs-orgmode@gnu.org; Tue, 17 Oct 2017 14:40:47 -0400 Received: from mail-qt0-x243.google.com ([2607:f8b0:400d:c0d::243]:50018) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1e4WnG-0001Wf-Fx for emacs-orgmode@gnu.org; Tue, 17 Oct 2017 14:40:46 -0400 Received: by mail-qt0-x243.google.com with SMTP id k31so5688515qta.6 for ; Tue, 17 Oct 2017 11:40:46 -0700 (PDT) In-Reply-To: <87bml6z04h.fsf@nicolasgoaziou.fr> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Nicolas Goaziou Cc: emacs-orgmode@gnu.org On Tue, Oct 17, 2017 at 12:47 AM, Nicolas Goaziou wrote: > Hello, > > Allen Li writes: > >> This makes org-insert-todo-heading-respect-content use the previous >> heading of the same level instead of the previous heading regardless >> of level. >> >> Given: >> >> * TODO some task >> ** WAITING other task >> >> The original code yields: >> >> * TODO some task >> ** WAITING other task >> * WAITING >> >> This commit yields: >> >> * TODO some task >> ** WAITING other task >> * TODO >> >> * lisp/org.el (org-insert-todo-heading): Use keyword of previous same >> level heading > > Thank you. > > Would you mind adding a test in "test-org.el", to > `insert-todo-heading-respect-content' test? > > Regards, > > -- > Nicolas Goaziou Here's the new patch with tests --- lisp/org.el | 3 +-- testing/lisp/test-org.el | 7 +++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lisp/org.el b/lisp/org.el index d6cd77bf9..100fe9a58 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -7947,8 +7947,7 @@ unchecked check box." (org-insert-heading (or (and (equal arg '(16)) '(16)) force-heading)) (save-excursion - (org-back-to-heading) - (outline-previous-heading) + (org-forward-heading-same-level -1) (let ((case-fold-search nil)) (looking-at org-todo-line-regexp))) (let* ((new-mark-x (if (or (equal arg '(4)) diff --git a/testing/lisp/test-org.el b/testing/lisp/test-org.el index 3bc8c7b23..1b9178426 100644 --- a/testing/lisp/test-org.el +++ b/testing/lisp/test-org.el @@ -1415,6 +1415,13 @@ "* TODO \n" (org-test-with-temp-text "* H\n- an item\n- another one" (search-forward "an ") + (org-insert-todo-heading-respect-content) + (buffer-substring-no-properties (line-beginning-position) (point-max))))) + ;; Use the same TODO keyword as current heading. + (should + (equal + "* TODO\n" + (org-test-with-temp-text "* TODO\n** WAITING\n" (org-insert-todo-heading-respect-content) (buffer-substring-no-properties (line-beginning-position) (point-max)))))) -- 2.15.0.rc0.271.g36b669edcc-goog