? _darcs cvs diff: Diffing . Index: user.lisp =================================================================== RCS file: /cvsroot/stumpwm/stumpwm/user.lisp,v retrieving revision 1.113 diff -u -r1.113 user.lisp --- user.lisp 1 Aug 2007 03:15:05 -0000 1.113 +++ user.lisp 2 Aug 2007 15:43:49 -0000 @@ -352,21 +352,26 @@ (#\h . ,(time-lambda (mon) (subseq (aref *month-names* (- mon 1)) 0 3))) (#\H . ,(time-lambda (hour) (format nil "~2,'0D" hour))) (#\I . ,(time-lambda (hour) - (format nil "~2,'0D" (if (> hour 0) (- hour 12) hour)))) + (format nil "~2,'0D" (if (> hour 12) (- hour 12) hour)))) ;; %j day of year (001..366) (#\k . ,(time-lambda (hour) (format nil "~2,D" hour))) (#\l . ,(time-lambda (hour) - (format nil "~2,D" (if (> hour 0) (- hour 12) hour)))) + (format nil "~2,D" (if (> hour 12) (- hour 12) hour)))) (#\m . ,(time-lambda (mon) (format nil "~2,'0D" mon))) (#\M . ,(time-lambda (min) (format nil "~2,'0D" min))) (#\n . ,(time-lambda () "~%%")) ;; two % to avoid parsing errors ;; %N nanoseconds (000000000..999999999) - (#\p . ,(time-lambda (hour) (if (> hour 0) "PM" "AM"))) - (#\P . ,(time-lambda (hour) (if (> hour 0) "pm" "am"))) + (#\p . ,(time-lambda (hour) (if (>= hour 12) "PM" "AM"))) + (#\P . ,(time-lambda (hour) (if (>= hour 12) "pm" "am"))) (#\r . ,(time-lambda (hour min sec) (let (hour-local am-pm) - (if (> hour 0) (setf hour-local (- hour 12) am-pm "PM") - (setf hour-local hour am-pm "AM")) + (cond + ((> hour 12) + (setf hour-local (- hour 12) am-pm "PM")) + ((= hour 12) + (setf hour-local hour am-pm "PM")) + (t + (setf hour-local hour am-pm "AM"))) (format nil "~2,'0D:~2,'0D:~2,'0D ~A" hour-local min sec am-pm)))) (#\R . ,(time-lambda (hour min) (format nil "~2,'0D:~2,'0D" hour min)))