Browse Source

Merge branch 'maint'

Kyle Meyer 4 years ago
parent
commit
c3d67b3556
2 changed files with 13 additions and 5 deletions
  1. 4 4
      lisp/org.el
  2. 9 1
      testing/lisp/test-org.el

+ 4 - 4
lisp/org.el

@@ -8903,10 +8903,10 @@ with the original repeater."
 		   "Date shift per clone (e.g. +1w, empty to copy unchanged): ")
 		"")))			;No time shift
 	 (doshift
-	  (or (not (org-string-nw-p shift))
-	      (string-match "\\`[ \t]*\\+?\\([0-9]+\\)\\([dwmy]\\)[ \t]*\\'"
-			    shift)
-	      (user-error "Invalid shift specification %s" shift))))
+	  (and (org-string-nw-p shift)
+	       (or (string-match "\\`[ \t]*\\+?\\([0-9]+\\)\\([dwmy]\\)[ \t]*\\'"
+				 shift)
+		   (user-error "Invalid shift specification %s" shift)))))
     (goto-char end-of-tree)
     (unless (bolp) (insert "\n"))
     (let* ((end (point))

+ 9 - 1
testing/lisp/test-org.el

@@ -1376,6 +1376,14 @@
 	    (replace-regexp-in-string
 	     "\\( [.A-Za-z]+\\)\\( \\+[0-9][hdmwy]\\)?>" "" (buffer-string)
 	     nil nil 1))))
+  ;; Clone with blank SHIFT argument.
+  (should
+   (string-prefix-p
+    "* H <2012-03-29"
+    (org-test-with-temp-text "* H <2012-03-29 Thu><point>"
+      (org-clone-subtree-with-time-shift 1 "")
+      (buffer-substring-no-properties (line-beginning-position 2)
+				      (line-end-position 2)))))
   ;; Find time stamps before point.  If SHIFT is not specified, ask
   ;; for a time shift.
   (should
@@ -1391,7 +1399,7 @@
     (org-test-with-temp-text "* H <2014-03-04 Tue><point>"
       (cl-letf (((symbol-function 'read-from-minibuffer)
 		 (lambda (&rest args) "+1d")))
-	(org-clone-subtree-with-time-shift 1 "+1d"))
+	(org-clone-subtree-with-time-shift 1))
       (buffer-substring-no-properties (line-beginning-position 2)
 				      (line-end-position 2))))))