Merge branch 'maint'
authorBastien Guerry <bzg@altern.org>
Sat, 26 Jan 2013 14:11:21 +0000 (15:11 +0100)
committerBastien Guerry <bzg@altern.org>
Sat, 26 Jan 2013 14:11:21 +0000 (15:11 +0100)
Conflicts:
lisp/org.el

1  2 
lisp/org.el

diff --cc lisp/org.el
@@@ -16945,149 -16660,11 +16943,144 @@@ effort string \"2hours\" is equivalent 
    :type '(alist :key-type (string :tag "Modifier")
                :value-type (number :tag "Minutes")))
  
 +(defun org-minutes-to-clocksum-string (m)
 +  "Format number of minutes as a clocksum string.
 +The format is determined by `org-time-clocksum-format',
 +`org-time-clocksum-use-fractional' and
 +`org-time-clocksum-fractional-format' and
 +`org-time-clocksum-use-effort-durations'."
 +  (let ((clocksum "") h d w mo y fmt n)
 +    (setq h (if org-time-clocksum-use-effort-durations
 +              (cdr (assoc "h" org-effort-durations)) 60)
 +        d (if org-time-clocksum-use-effort-durations
 +              (/ (cdr (assoc "d" org-effort-durations)) h) 24)
 +        w (if org-time-clocksum-use-effort-durations
 +              (/ (cdr (assoc "w" org-effort-durations)) (* d h)) 7)
 +        mo (if org-time-clocksum-use-effort-durations
 +               (/ (cdr (assoc "m" org-effort-durations)) (* d h)) 30)
 +        y (if org-time-clocksum-use-effort-durations
 +              (/ (cdr (assoc "y" org-effort-durations)) (* d h)) 365))
 +    ;; fractional format
 +    (if org-time-clocksum-use-fractional
 +      (cond
 +       ;; single format string
 +       ((stringp org-time-clocksum-fractional-format)
 +        (format org-time-clocksum-fractional-format (/ m (float h))))
 +       ;; choice of fractional formats for different time units
 +       ((and (setq fmt (plist-get org-time-clocksum-fractional-format :years))
 +             (> (/ (truncate m) (* y d h)) 0))
 +        (format fmt (/ m (* y d (float h)))))
 +       ((and (setq fmt (plist-get org-time-clocksum-fractional-format :months))
 +             (> (/ (truncate m) (* mo d h)) 0))
 +        (format fmt (/ m (* mo d (float h)))))
 +       ((and (setq fmt (plist-get org-time-clocksum-fractional-format :weeks))
 +             (> (/ (truncate m) (* w d h)) 0))
 +        (format fmt (/ m (* w d (float h)))))
 +       ((and (setq fmt (plist-get org-time-clocksum-fractional-format :days))
 +             (> (/ (truncate m) (* d h)) 0))
 +        (format fmt (/ m (* d (float h)))))
 +       ((and (setq fmt (plist-get org-time-clocksum-fractional-format :hours))
 +             (> (/ (truncate m) h) 0))
 +        (format fmt (/ m (float h))))
 +       ((setq fmt (plist-get org-time-clocksum-fractional-format :minutes))
 +        (format fmt m))
 +       ;; fall back to smallest time unit with a format
 +       ((setq fmt (plist-get org-time-clocksum-fractional-format :hours))
 +        (format fmt (/ m (float h))))
 +       ((setq fmt (plist-get org-time-clocksum-fractional-format :days))
 +        (format fmt (/ m (* d (float h)))))
 +       ((setq fmt (plist-get org-time-clocksum-fractional-format :weeks))
 +        (format fmt (/ m (* w d (float h)))))
 +       ((setq fmt (plist-get org-time-clocksum-fractional-format :months))
 +        (format fmt (/ m (* mo d (float h)))))
 +       ((setq fmt (plist-get org-time-clocksum-fractional-format :years))
 +        (format fmt (/ m (* y d (float h))))))
 +      ;; standard (non-fractional) format, with single format string
 +      (if (stringp org-time-clocksum-format)
 +        (format org-time-clocksum-format (setq n (/ m h)) (- m (* h n)))
 +      ;; separate formats components
 +      (and (setq fmt (plist-get org-time-clocksum-format :years))
 +           (or (> (setq n (/ (truncate m) (* y d h))) 0)
 +               (plist-get org-time-clocksum-format :require-years))
 +           (setq clocksum (concat clocksum (format fmt n))
 +                 m (- m (* n y d h))))
 +      (and (setq fmt (plist-get org-time-clocksum-format :months))
 +           (or (> (setq n (/ (truncate m) (* mo d h))) 0)
 +               (plist-get org-time-clocksum-format :require-months))
 +           (setq clocksum (concat clocksum (format fmt n))
 +                 m (- m (* n mo d h))))
 +      (and (setq fmt (plist-get org-time-clocksum-format :weeks))
 +           (or (> (setq n (/ (truncate m) (* w d h))) 0)
 +               (plist-get org-time-clocksum-format :require-weeks))
 +           (setq clocksum (concat clocksum (format fmt n))
 +                 m (- m (* n w d h))))
 +      (and (setq fmt (plist-get org-time-clocksum-format :days))
 +           (or (> (setq n (/ (truncate m) (* d h))) 0)
 +               (plist-get org-time-clocksum-format :require-days))
 +           (setq clocksum (concat clocksum (format fmt n))
 +                 m (- m (* n d h))))
 +      (and (setq fmt (plist-get org-time-clocksum-format :hours))
 +           (or (> (setq n (/ (truncate m) h)) 0)
 +               (plist-get org-time-clocksum-format :require-hours))
 +           (setq clocksum (concat clocksum (format fmt n))
 +                 m (- m (* n h))))
 +      (and (setq fmt (plist-get org-time-clocksum-format :minutes))
 +           (or (> m 0) (plist-get org-time-clocksum-format :require-minutes))
 +           (setq clocksum (concat clocksum (format fmt m))))
 +      ;; return formatted time duration
 +      clocksum))))
 +
 +(defalias 'org-minutes-to-hh:mm-string 'org-minutes-to-clocksum-string)
 +(make-obsolete 'org-minutes-to-hh:mm-string 'org-minutes-to-clocksum-string
 +             "Org mode version 8.0")
 +
 +(defun org-hours-to-clocksum-string (n)
 +  (org-minutes-to-clocksum-string (* n 60)))
 +
 +(defun org-hh:mm-string-to-minutes (s)
 +  "Convert a string H:MM to a number of minutes.
 +If the string is just a number, interpret it as minutes.
 +In fact, the first hh:mm or number in the string will be taken,
 +there can be extra stuff in the string.
 +If no number is found, the return value is 0."
 +  (cond
 +   ((integerp s) s)
 +   ((string-match "\\([0-9]+\\):\\([0-9]+\\)" s)
 +    (+ (* (string-to-number (match-string 1 s)) 60)
 +       (string-to-number (match-string 2 s))))
 +   ((string-match "\\([0-9]+\\)" s)
 +    (string-to-number (match-string 1 s)))
 +   (t 0)))
 +
 +(defcustom org-image-actual-width t
 +  "Should we use the actual width of images when inlining them?
 +
 +When set to `t', always use the image width.
 +
 +When set to a number, use imagemagick (when available) to set
 +the image's width to this value.
 +
 +When set to a number in a list, try to get the width from the
 +#+ATTR.* keyword if it matches a width specification like
 +width=\"[0-9]+\", and fall back on that number if none is found.
 +
 +When set to nil, try to get the width from an #+ATTR.* keyword
 +and fall back on the original width if none is found.
 +
 +This requires Emacs >= 24.1, build with imagemagick support."
 +  :group 'org-appearance
 +  :version "24.3"
 +  :type '(choice
 +        (const :tag "Use the image width" t)
 +        (integer :tag "Use a number of pixels")
 +        (list :tag "Use #+ATTR* or a number of pixels" (integer))
 +        (const :tag "Use #+ATTR* or don't resize" nil)))
 +
- (defcustom org-agenda-inhibit-startup-visibility-cycling t
-   "Turn off visibility cycling when preparing agenda buffers.
- When preparing agenda buffers, Org visits agenda files.  When
- this variable is `t' (the default), the visited buffers for
- agenda files will not honor `org-startup-folded' or any
- #+STARTUP: fold option.  Turning this option off may slow down
- the generation of agenda, both because folding takes time and
- because finding entries in folded buffers takes longer than
- finding entries in unfolded ones."
+ (defcustom org-agenda-inhibit-startup t
+   "Inhibit startup when preparing agenda buffers.
+ When this variable is `t' (the default), the initialization of
+ the Org agenda buffers is inhibited: e.g. the visibility state
+ is not set, the tables are not re-aligned, etc."
    :type 'boolean
    :version "24.3"
    :group 'org-agenda)