From 2e229c5af999af5eedafa0d48bc20790eadf700f Mon Sep 17 00:00:00 2001 From: Daniel Borchmann Date: Sat, 27 Jun 2020 10:38:13 +0200 Subject: [PATCH] Explicitly define setter functions for timeline tooling This is more explicitly and allows for more flexiblity. Let's hope the performance impact is not prohibitive, though. --- site-lisp/timeline-tools.el | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/site-lisp/timeline-tools.el b/site-lisp/timeline-tools.el index 6b217a6..8dcbdc7 100644 --- a/site-lisp/timeline-tools.el +++ b/site-lisp/timeline-tools.el @@ -119,14 +119,22 @@ end date of the timeline." ;; Model -(defalias 'timeline-tools-entry-start-time 'car - "Start time of ENTRY.") +(defun timeline-tools-entry-start-time (entry) + "Start time of ENTRY." + (car entry)) -(defalias 'timeline-tools-entry-end-time 'cadr - "End time of ENTRY.") +(defun timeline-tools-entry-end-time (entry) + "End time of ENTRY." + (cadr entry)) -(defalias 'timeline-tools-entry-marker 'caddr - "Marker to org task of ENTRY.") +(defun timeline-tools-entry-marker (entry) + "Marker to org task of ENTRY." + (caddr entry)) + +(gv-define-setter timeline-tools-entry-start-time + (time entry) `(setcar ,entry ,time)) +(gv-define-setter timeline-tools-entry-end-time + (time entry) `(setcar (cdr ,entry) ,time)) (defun timeline-tools-make-entry (start-time end-time marker) "Return a timeline entry made up of START-TIME, END-TIME, and MARKER.