emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r109729: Remove yet more cal-tex code


From: Glenn Morris
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r109729: Remove yet more cal-tex code duplication
Date: Tue, 21 Aug 2012 14:27:14 -0400
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 109729
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Tue 2012-08-21 14:27:14 -0400
message:
  Remove yet more cal-tex code duplication
  
  * lisp/calendar/cal-tex.el (cal-tex-weekly-common): New function.
  (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-week): Use it.
modified:
  lisp/ChangeLog
  lisp/calendar/cal-tex.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2012-08-21 18:15:56 +0000
+++ b/lisp/ChangeLog    2012-08-21 18:27:14 +0000
@@ -9,6 +9,10 @@
 
 2012-08-21  Glenn Morris  <address@hidden>
 
+       * calendar/cal-tex.el (cal-tex-weekly-common): New function.
+       (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-week):
+       Use it.
+
        * calendar/cal-tex.el (cal-tex-rightday): Add optional funcname arg.
        (cal-tex-shortday): New function.
        (cal-tex-cursor-week-at-a-glance, cal-tex-cursor-filofax-week)

=== modified file 'lisp/calendar/cal-tex.el'
--- a/lisp/calendar/cal-tex.el  2012-08-21 18:15:56 +0000
+++ b/lisp/calendar/cal-tex.el  2012-08-21 18:27:14 +0000
@@ -1060,16 +1060,8 @@
      (cal-tex-e-framebox)
      (cal-tex-hspace "1cm")))
 
-;;;###cal-autoload
-(defun cal-tex-cursor-week-at-a-glance (&optional n event)
-  "One-week-at-a-glance full page calendar for week indicated by cursor.
-Optional prefix argument N specifies number of weeks (default 1),
-starting on Mondays.  The calendar shows holiday and diary entries
-if `cal-tex-holidays' and `cal-tex-diary', respectively, are non-nil.
-It does not show hours of the day.  Optional EVENT indicates a buffer
-position to use instead of point."
-  (interactive (list (prefix-numeric-value current-prefix-arg)
-                     last-nonmenu-event))
+(defun cal-tex-weekly-common (n event &optional filofax)
+  "Common code for weekly calendars."
   (or n (setq n 1))
   (let* ((date (calendar-gregorian-from-absolute
                 (calendar-dayname-on-or-before
@@ -1085,6 +1077,15 @@
                        (holiday-in-range d1 d2)))
          (diary-list (if cal-tex-diary
                          (cal-tex-list-diary-entries d1 d2))))
+    (if filofax
+        (progn
+          (cal-tex-preamble "twoside")
+          (cal-tex-filofax-paper)
+          (insert cal-tex-righthead)
+          (cal-tex-rightday "1.85in")
+          (cal-tex-rightday "0.8in" "weekend")
+          (insert cal-tex-lefthead)
+          (cal-tex-leftday "1.85in"))
     (cal-tex-preamble "twoside,12pt")
     (insert "\\textwidth 7in
 \\textheight 10.5in
@@ -1099,7 +1100,7 @@
     (cal-tex-rightday "2.75in")
     (cal-tex-rightday "1.8in" "weekend")
     (insert cal-tex-lefthead)
-    (cal-tex-leftday "2.75in")
+    (cal-tex-leftday "2.75in"))
     (cal-tex-b-document)
     (cal-tex-cmd "\\pagestyle" "empty")
     (dotimes (i n)
@@ -1133,34 +1134,35 @@
         (insert "%\n")
         (setq date (cal-tex-incr-date date)))
       (insert "\\noindent\\rule{\\textwidth}{0.3pt}\\\\%\n")
-      (cal-tex-nl)
-      (insert (cal-tex-mini-calendar
-               (calendar-extract-month (cal-tex-previous-month date))
-               (calendar-extract-year (cal-tex-previous-month date))
-               "lastmonth" "1.1in" "1in"))
-      (insert (cal-tex-mini-calendar
-               (calendar-extract-month date)
-               (calendar-extract-year date)
-               "thismonth" "1.1in" "1in"))
-      (insert (cal-tex-mini-calendar
-               (calendar-extract-month (cal-tex-next-month date))
-               (calendar-extract-year (cal-tex-next-month date))
-               "nextmonth" "1.1in" "1in"))
-      (insert "\\hbox to \\textwidth{")
-      (cal-tex-hfill)
-      (insert "\\lastmonth")
-      (cal-tex-hfill)
-      (insert "\\thismonth")
-      (cal-tex-hfill)
-      (insert "\\nextmonth")
-      (cal-tex-hfill)
-      (insert "}")
+      (unless filofax
+        (cal-tex-nl)
+        (insert (cal-tex-mini-calendar
+                 (calendar-extract-month (cal-tex-previous-month date))
+                 (calendar-extract-year (cal-tex-previous-month date))
+                 "lastmonth" "1.1in" "1in"))
+        (insert (cal-tex-mini-calendar
+                 (calendar-extract-month date)
+                 (calendar-extract-year date)
+                 "thismonth" "1.1in" "1in"))
+        (insert (cal-tex-mini-calendar
+                 (calendar-extract-month (cal-tex-next-month date))
+                 (calendar-extract-year (cal-tex-next-month date))
+                 "nextmonth" "1.1in" "1in"))
+        (insert "\\hbox to \\textwidth{")
+        (cal-tex-hfill)
+        (insert "\\lastmonth")
+        (cal-tex-hfill)
+        (insert "\\thismonth")
+        (cal-tex-hfill)
+        (insert "\\nextmonth")
+        (cal-tex-hfill)
+        (insert "}"))
       (cal-tex-newpage)
       (insert "\\righthead")
       (cal-tex-arg
        (let ((d (cal-tex-incr-date date 3)))
          (if (= (calendar-extract-month date)
-                 (calendar-extract-month d))
+                (calendar-extract-month d))
              (format "%s %s"
                      (cal-tex-month-name (calendar-extract-month date))
                      (calendar-extract-year date))
@@ -1201,76 +1203,16 @@
     (run-hooks 'cal-tex-hook)))
 
 ;;;###cal-autoload
-(defun cal-tex-cursor-filofax-2week (&optional n event)
-  "Two-weeks-at-a-glance Filofax style calendar for week cursor is in.
-Optional prefix argument N specifies number of weeks (default 1).
-The calendar shows holiday and diary entries if
-`cal-tex-holidays' and `cal-tex-diary', respectively, are non-nil.
-Optional EVENT indicates a buffer position to use instead of point."
+(defun cal-tex-cursor-week-at-a-glance (&optional n event)
+  "One-week-at-a-glance full page calendar for week indicated by cursor.
+Optional prefix argument N specifies number of weeks (default 1),
+starting on Mondays.  The calendar shows holiday and diary entries
+if `cal-tex-holidays' and `cal-tex-diary', respectively, are non-nil.
+It does not show hours of the day.  Optional EVENT indicates a buffer
+position to use instead of point."
   (interactive (list (prefix-numeric-value current-prefix-arg)
                      last-nonmenu-event))
-  (or n (setq n 1))
-  (let* ((date (calendar-gregorian-from-absolute
-                (calendar-dayname-on-or-before
-                 calendar-week-start-day
-                 (calendar-absolute-from-gregorian
-                  (calendar-cursor-to-date t event)))))
-         (month (calendar-extract-month date))
-         (year (calendar-extract-year date))
-         (day (calendar-extract-day date))
-         (d1 (calendar-absolute-from-gregorian date))
-         (d2 (+ (* 7 n) d1))
-         (holidays (if cal-tex-holidays
-                       (holiday-in-range d1 d2)))
-         (diary-list (if cal-tex-diary
-                         (cal-tex-list-diary-entries d1 d2))))
-    (cal-tex-preamble "twoside")
-    (cal-tex-filofax-paper)
-    (insert cal-tex-righthead)
-    (cal-tex-rightday "0.7in")
-    (insert cal-tex-lefthead)
-    (cal-tex-leftday "0.7in")
-    (cal-tex-b-document)
-    (cal-tex-cmd "\\pagestyle" "empty")
-    (dotimes (i n)
-      (if (zerop (mod i 2))
-          (insert "\\righthead")
-        (insert "\\lefthead"))
-      (cal-tex-arg
-       (let ((d (cal-tex-incr-date date 6)))
-         (if (= (calendar-extract-month date)
-                (calendar-extract-month d))
-             (format "%s %s"
-                     (cal-tex-month-name (calendar-extract-month date))
-                     (calendar-extract-year date))
-           (if (= (calendar-extract-year date)
-                  (calendar-extract-year d))
-               (format "%s---%s %s"
-                       (cal-tex-month-name (calendar-extract-month date))
-                       (cal-tex-month-name (calendar-extract-month d))
-                       (calendar-extract-year date))
-              (format "%s %s---%s %s"
-                      (cal-tex-month-name (calendar-extract-month date))
-                      (calendar-extract-year date)
-                      (cal-tex-month-name (calendar-extract-month d))
-                      (calendar-extract-year d))))))
-      (insert "%\n")
-      (dotimes (_jdummy 7)
-        (if (zerop (mod i 2))
-            (insert "\\rightday")
-          (insert "\\leftday"))
-        (cal-tex-arg (cal-tex-LaTeXify-string (calendar-day-name date)))
-        (cal-tex-arg (number-to-string (calendar-extract-day date)))
-        (cal-tex-arg (cal-tex-latexify-list diary-list date))
-        (cal-tex-arg (cal-tex-latexify-list holidays date))
-        (cal-tex-arg (eval cal-tex-daily-string))
-        (insert "%\n")
-        (setq date (cal-tex-incr-date date)))
-      (unless (= i (1- n))
-        (run-hooks 'cal-tex-week-hook)
-        (cal-tex-newpage)))
-    (cal-tex-end-document)
-    (run-hooks 'cal-tex-hook)))
+  (cal-tex-weekly-common n event))
 
 ;;;###cal-autoload
 (defun cal-tex-cursor-filofax-week (&optional n event)
@@ -1281,186 +1223,7 @@
 Optional EVENT indicates a buffer position to use instead of point."
   (interactive (list (prefix-numeric-value current-prefix-arg)
                      last-nonmenu-event))
-  (or n (setq n 1))
-  (let* ((date (calendar-gregorian-from-absolute
-                (calendar-dayname-on-or-before
-                 1
-                 (calendar-absolute-from-gregorian
-                  (calendar-cursor-to-date t event)))))
-         (month (calendar-extract-month date))
-         (year (calendar-extract-year date))
-         (day (calendar-extract-day date))
-         (d1 (calendar-absolute-from-gregorian date))
-         (d2 (+ (* 7 n) d1))
-         (holidays (if cal-tex-holidays
-                       (holiday-in-range d1 d2)))
-         (diary-list (if cal-tex-diary
-                         (cal-tex-list-diary-entries d1 d2))))
-    (cal-tex-preamble "twoside")
-    (cal-tex-filofax-paper)
-    (insert cal-tex-righthead)
-    (cal-tex-rightday "1.85in")
-    (cal-tex-rightday "0.8in" "weekend")
-    (insert cal-tex-lefthead)
-    (cal-tex-leftday "1.85in")
-    (cal-tex-b-document)
-    (cal-tex-cmd "\\pagestyle" "empty")
-    (dotimes (i n)
-      (insert "\\lefthead")
-      (cal-tex-arg
-       (let ((d (cal-tex-incr-date date 2)))
-         (if (= (calendar-extract-month date)
-                (calendar-extract-month d))
-             (format "%s %s"
-                     (cal-tex-month-name (calendar-extract-month date))
-                     (calendar-extract-year date))
-           (if (= (calendar-extract-year date)
-                  (calendar-extract-year d))
-               (format "%s---%s %s"
-                       (cal-tex-month-name (calendar-extract-month date))
-                       (cal-tex-month-name (calendar-extract-month d))
-                       (calendar-extract-year date))
-             (format "%s %s---%s %s"
-                     (cal-tex-month-name (calendar-extract-month date))
-                     (calendar-extract-year date)
-                     (cal-tex-month-name (calendar-extract-month d))
-                     (calendar-extract-year d))))))
-      (insert "%\n")
-      (dotimes (_jdummy 3)
-        (insert "\\leftday")
-        (cal-tex-arg (cal-tex-LaTeXify-string (calendar-day-name date)))
-        (cal-tex-arg (number-to-string (calendar-extract-day date)))
-        (cal-tex-arg (cal-tex-latexify-list diary-list date))
-        (cal-tex-arg (cal-tex-latexify-list holidays date))
-        (cal-tex-arg (eval cal-tex-daily-string))
-        (insert "%\n")
-        (setq date (cal-tex-incr-date date)))
-      (insert "\\noindent\\rule{\\textwidth}{0.3pt}\\\\%\n")
-      (cal-tex-newpage)
-      (insert "\\righthead")
-      (cal-tex-arg
-       (let ((d (cal-tex-incr-date date 3)))
-         (if (= (calendar-extract-month date)
-                 (calendar-extract-month d))
-             (format "%s %s"
-                     (cal-tex-month-name (calendar-extract-month date))
-                     (calendar-extract-year date))
-           (if (= (calendar-extract-year date)
-                  (calendar-extract-year d))
-               (format "%s---%s %s"
-                       (cal-tex-month-name (calendar-extract-month date))
-                       (cal-tex-month-name (calendar-extract-month d))
-                       (calendar-extract-year date))
-             (format "%s %s---%s %s"
-                     (cal-tex-month-name (calendar-extract-month date))
-                     (calendar-extract-year date)
-                     (cal-tex-month-name (calendar-extract-month d))
-                     (calendar-extract-year d))))))
-      (insert "%\n")
-      (dotimes (_jdummy 2)
-        (insert "\\rightday")
-        (cal-tex-arg (cal-tex-LaTeXify-string (calendar-day-name date)))
-        (cal-tex-arg (number-to-string (calendar-extract-day date)))
-        (cal-tex-arg (cal-tex-latexify-list diary-list date))
-        (cal-tex-arg (cal-tex-latexify-list holidays date))
-        (cal-tex-arg (eval cal-tex-daily-string))
-        (insert "%\n")
-        (setq date (cal-tex-incr-date date)))
-      (dotimes (_jdummy 2)
-        (insert "\\weekend")
-        (cal-tex-arg (cal-tex-LaTeXify-string (calendar-day-name date)))
-        (cal-tex-arg (number-to-string (calendar-extract-day date)))
-        (cal-tex-arg (cal-tex-latexify-list diary-list date))
-        (cal-tex-arg (cal-tex-latexify-list holidays date))
-        (cal-tex-arg (eval cal-tex-daily-string))
-        (insert "%\n")
-        (setq date (cal-tex-incr-date date)))
-      (unless (= i (1- n))
-        (run-hooks 'cal-tex-week-hook)
-        (cal-tex-newpage)))
-    (cal-tex-end-document)
-    (run-hooks 'cal-tex-hook)))
-
-;;;###cal-autoload
-(defun cal-tex-cursor-filofax-daily (&optional n event)
-  "Day-per-page Filofax style calendar for week indicated by cursor.
-Optional prefix argument N specifies number of weeks (default 1),
-starting on Mondays.  The calendar shows holiday and diary
-entries if `cal-tex-holidays' and `cal-tex-diary', respectively,
-are non-nil.  Pages are ruled if `cal-tex-rules' is non-nil.
-Optional EVENT indicates a buffer position to use instead of point."
-  (interactive (list (prefix-numeric-value current-prefix-arg)
-                     last-nonmenu-event))
-  (or n (setq n 1))
-  (let* ((date (calendar-gregorian-from-absolute
-                (calendar-dayname-on-or-before
-                 1
-                 (calendar-absolute-from-gregorian
-                  (calendar-cursor-to-date t event)))))
-         (month (calendar-extract-month date))
-         (year (calendar-extract-year date))
-         (day (calendar-extract-day date))
-         (d1 (calendar-absolute-from-gregorian date))
-         (d2 (+ (* 7 n) d1))
-         (holidays (if cal-tex-holidays
-                       (holiday-in-range d1 d2)))
-         (diary-list (if cal-tex-diary
-                         (cal-tex-list-diary-entries d1 d2))))
-    (cal-tex-preamble "twoside")
-    (cal-tex-filofax-paper)
-    (insert cal-tex-righthead)
-    (cal-tex-shortday "rightday")
-    (cal-tex-shortday "weekend")
-    (insert cal-tex-lefthead)
-    (cal-tex-shortday "leftday")
-    (insert "\\newbox\\LineBox
-\\setbox\\LineBox=\\hbox to\\textwidth{%
-\\vrule height.2in width0pt\\leaders\\hrule\\hfill}
-\\def\\linesfill{\\par\\leaders\\copy\\LineBox\\vfill}
-")
-    (cal-tex-b-document)
-    (cal-tex-cmd "\\pagestyle" "empty")
-    (dotimes (i n)
-      (dotimes (j 4)
-        (let ((even (zerop (% j 2))))
-          (insert (if even
-                      "\\righthead"
-                    "\\lefthead"))
-          (cal-tex-arg (calendar-date-string date))
-          (insert "%\n")
-          (insert (if even
-                      "\\rightday"
-                    "\\leftday")))
-        (cal-tex-arg (cal-tex-latexify-list diary-list date))
-        (cal-tex-arg (cal-tex-latexify-list holidays date "\\\\" t))
-        (cal-tex-arg (eval cal-tex-daily-string))
-        (insert "%\n")
-        (if cal-tex-rules
-            (insert "\\linesfill\n")
-          (insert "\\vfill\\noindent\\rule{\\textwidth}{0.3pt}\\\\%\n"))
-        (cal-tex-newpage)
-        (setq date (cal-tex-incr-date date)))
-      (insert "%\n")
-      (dotimes (_jdummy 2)
-        (insert "\\lefthead")
-        (cal-tex-arg (calendar-date-string date))
-        (insert "\\weekend")
-        (cal-tex-arg (cal-tex-latexify-list diary-list date))
-        (cal-tex-arg (cal-tex-latexify-list holidays date "\\\\" t))
-        (cal-tex-arg (eval cal-tex-daily-string))
-        (insert "%\n")
-        (if cal-tex-rules
-            (insert "\\linesfill\n")
-          (insert "\\vfill"))
-        (setq date (cal-tex-incr-date date)))
-      (or cal-tex-rules
-          (insert "\\noindent\\rule{\\textwidth}{0.3pt}\\\\%\n"))
-      (unless (= i (1- n))
-        (run-hooks 'cal-tex-week-hook)
-        (cal-tex-newpage)))
-    (cal-tex-end-document)
-    (run-hooks 'cal-tex-hook)))
-
+  (cal-tex-weekly-common n event t))
 
 ;;;
 ;;;  Daily calendars


reply via email to

[Prev in Thread] Current Thread [Next in Thread]