From efb07c4e8b07eb4c07287d1bd6c0297ced02e3c8 Mon Sep 17 00:00:00 2001
From: Adrian Lang <lang@cosmocode.de>
Date: Tue, 26 Jan 2010 12:37:59 +0100
Subject: [PATCH] Cancel list if the last item is empty (two enter)

---
 lib/scripts/edit.js | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/lib/scripts/edit.js b/lib/scripts/edit.js
index 4d8ead858..483fcc3cc 100644
--- a/lib/scripts/edit.js
+++ b/lib/scripts/edit.js
@@ -166,8 +166,14 @@ function keyHandler(e){
         // keep current indention for lists and code
         var match = search.match(/(\n  +([\*-] ?)?)/);
         if(match){
+            var match2 = search.match(/^\n  +[\*-]\s*$/);
+            // Cancel list if the last item is empty (i. e. two times enter)
+            if (match2 && field.value.substr(selection.start).match(/^($|\n)/)) {
+                field.value = field.value.substr(0, linestart) + "\n";
+            } else {
+                insertAtCarret(field.id,match[1]);
+            }
             var scroll = field.scrollHeight;
-            insertAtCarret(field.id,match[1]);
             field.scrollTop += (field.scrollHeight - scroll);
             e.preventDefault(); // prevent enter key
             return false;
-- 
GitLab