summaryrefslogtreecommitdiff
path: root/org-fc-algo-sm2.el
diff options
context:
space:
mode:
Diffstat (limited to 'org-fc-algo-sm2.el')
-rw-r--r--org-fc-algo-sm2.el57
1 files changed, 28 insertions, 29 deletions
diff --git a/org-fc-algo-sm2.el b/org-fc-algo-sm2.el
index 1283bd8..3ed01dd 100644
--- a/org-fc-algo-sm2.el
+++ b/org-fc-algo-sm2.el
@@ -31,7 +31,7 @@
(require 'org-fc-core)
(defmacro org-fc-property (symbol standard doc &rest args)
- (let (defcustom-args property reader)
+ (let (defcustom-args property)
(while args
(let ((keyword (pop args)))
(unless (symbolp keyword)
@@ -41,38 +41,37 @@
(let ((value (pop args)))
(cl-case keyword
(:property (setq property value))
- (:reader (setq reader value))
(t
(push value defcustom-args)
(push keyword defcustom-args))))))
(unless property
(error "Missing keyword :property"))
(let ((property-symbol (intern (concat (symbol-name symbol) "-property"))))
- `(progn
- (defcustom
- ,symbol
- ,standard
- ,doc
- ,@defcustom-args)
- (defcustom
- ,property-symbol
- ,property
- ,(format "Headline property for `%s'" symbol)
- :type 'string
- :group ,(plist-get defcustom-args :group))
- (defun ,symbol ()
- ,(format "Getter for `%s'" symbol)
- (if-let ((value (org-entry-get (point) ,property-symbol t)))
- ;; TODO: Switch on possible types
- (read value)
- ;; ,(case (plist-get defcustom-args :type)
- ;; ('string 'value)
- ;; ('float '(string-to-number value))
- ;; ('list '(read value))
- ;; (t (error "Unsupported property type %s"
- ;; (plist-get defcustom-args :type)
-
- ,symbol))))))
+ `(progn
+ (defcustom
+ ,symbol
+ ,standard
+ ,doc
+ ,@defcustom-args)
+ (defcustom
+ ,property-symbol
+ ,property
+ ,(format "Headline property for `%s'" symbol)
+ :type 'string
+ :group ,(plist-get defcustom-args :group))
+ (defun ,symbol ()
+ ,(format "Getter for `%s'" symbol)
+ (if-let ((value (org-entry-get (point) ,property-symbol t)))
+ ;; TODO: Switch on possible types
+ (read value)
+ ;; ,(case (plist-get defcustom-args :type)
+ ;; ('string 'value)
+ ;; ('float '(string-to-number value))
+ ;; ('list '(read value))
+ ;; (t (error "Unsupported property type %s"
+ ;; (plist-get defcustom-args :type)
+
+ ,symbol))))))
;;;; Properties
@@ -132,7 +131,7 @@ INTERVAL is by a random factor between `org-fc-algo-sm2-fuzz-min' and
`org-fc-algo-sm2-fuzz-max'"
(let ((min (org-fc-algo-sm2-fuzz-min))
(max (org-fc-algo-sm2-fuzz-max)))
- (* interval (+ min (cl-random (- max min))))))
+ (* interval (+ min (cl-random (- max min))))))
;;;; Main Algorithm
@@ -167,7 +166,7 @@ EASE, BOX and INTERVAL are the current parameters of the card."
(defun org-fc-algo-sm2-initial-review-data (position)
"Initial SM2 review data for POSITION."
(list position (org-fc-algo-sm2-ease-initial) 0 0
- (org-fc-timestamp-now)))
+ (org-fc-timestamp-in 0)))
;;; Footer