فهرست منبع

Tiny refactoring

* lisp/org.el (org-timestamp--to-internal-time): New function.
(org-timestamp-format): Use new function.
(org-timestamp-split-range): Fix docstring.
Nicolas Goaziou 10 سال پیش
والد
کامیت
375c831418
1فایلهای تغییر یافته به همراه16 افزوده شده و 13 حذف شده
  1. 16 13
      lisp/org.el

+ 16 - 13
lisp/org.el

@@ -23482,12 +23482,23 @@ strictly within a source block, use appropriate comment syntax."
 ;; This section contains tools to operate on timestamp objects, as
 ;; returned by, e.g. `org-element-context'.
 
+(defun org-timestamp--to-internal-time (timestamp &optional end)
+  "Encode TIMESTAMP object into Emacs internal time.
+Use end of date range or time range when END is non-nil."
+  (apply #'encode-time
+	 (cons 0
+	       (mapcar
+		(lambda (prop) (or (org-element-property prop timestamp) 0))
+		(if end '(:minute-end :hour-end :day-end :month-end :year-end)
+		  '(:minute-start :hour-start :day-start :month-start
+				  :year-start))))))
+
 (defun org-timestamp-has-time-p (timestamp)
   "Non-nil when TIMESTAMP has a time specified."
   (org-element-property :hour-start timestamp))
 
 (defun org-timestamp-format (timestamp format &optional end utc)
-  "Format a TIMESTAMP element into a string.
+  "Format a TIMESTAMP object into a string.
 
 FORMAT is a format specifier to be passed to
 `format-time-string'.
@@ -23498,21 +23509,13 @@ time-range, if possible.
 When optional argument UTC is non-nil, time will be expressed as
 Universal Time."
   (format-time-string
-   format
-   (apply 'encode-time
-          (cons 0
-                (mapcar
-                 (lambda (prop) (or (org-element-property prop timestamp) 0))
-                 (if end '(:minute-end :hour-end :day-end :month-end :year-end)
-                   '(:minute-start :hour-start :day-start :month-start
-                                   :year-start)))))
-   utc))
+   format (org-timestamp--to-internal-time timestamp end) utc))
 
 (defun org-timestamp-split-range (timestamp &optional end)
-  "Extract a timestamp object from a date or time range.
+  "Extract a TIMESTAMP object from a date or time range.
 
-TIMESTAMP is a timestamp object. END, when non-nil, means extract
-the end of the range.  Otherwise, extract its start.
+END, when non-nil, means extract the end of the range.
+Otherwise, extract its start.
 
 Return a new timestamp object."
   (let ((type (org-element-property :type timestamp)))