diff lisp/calendar/solar.el @ 4766:ec8c8721b7e3

(s-hemi-seasons n-hemi-seasons): New constants are hemisphere dependent list of season names. The names are "international"; i.e., `vernal' and `autumnal' are used consistently. (solar-equinoxes-solstices): Use new constants, allowing southern hemisphere reports to be meaningful. (sunrise-sunset): Use `frame-width' instead of `screen-width'.
author Brian Fox <bfox@gnu.org>
date Tue, 21 Sep 1993 07:46:03 +0000
parents 2516bc453477
children adfd03a381ca
line wrap: on
line diff
--- a/lisp/calendar/solar.el	Tue Sep 21 07:43:20 1993 +0000
+++ b/lisp/calendar/solar.el	Tue Sep 21 07:46:03 1993 +0000
@@ -105,6 +105,15 @@
   "*Expression evaluating to name of `calendar-longitude', calendar-latitude'.
 Default value is just the latitude, longitude pair.")
 
+;;; List of names of the seasons, dependent on your hemisphere.
+(defconst n-hemi-seasons
+  '("Vernal Equinox" "Summer Solstice" "Autumnal Equinox" "Winter Solstice")
+  "List of season changes for the northern hemisphere.")
+
+(defconst s-hemi-seasons
+  '("Autumnal Equinox" "Winter Solstice" "Vernal Equinox" "Summer Solstice")
+  "List of season changes for the southern hemisphere.")
+
 (defun solar-setup ()
   "Prompt user for latitude, longitude, and time zone."
   (beep)
@@ -495,18 +504,10 @@
 	   (date (list (extract-calendar-month date)
 		       (truncate day)
 		       (extract-calendar-year date))))
-      (list
-       (list date
-             (format "%s %s"
-		     (cond ((= k 0)
-			    (if s-hemi "Autumnal Equinox" "Vernal Equinox"))
-			   ((= k 1)
-			    (if s-hemi "Winter Solstice" "Summer Solstice"))
-			   ((= k 2)
-			    (if s-hemi "Vernal Equinox" "Autumnal Equinox"))
-			   ((= k 3)
-			    (if s-hemi "Summer Solstice" "Winter Solstice")))
-		     (solar-time-string time date)))))))
+      (list (list date
+		  (format "%s %s"
+			  (nth k (if s-hemi s-hemi-seasons n-hemi-seasons))
+			  (solar-time-string time date)))))))
 
 (provide 'solar)