From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id ABRmJlrI4F+hcQAA0tVLHw (envelope-from ) for ; Mon, 21 Dec 2020 16:07:54 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id cCMsIlrI4F8vBQAAB5/wlQ (envelope-from ) for ; Mon, 21 Dec 2020 16:07:54 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 7757F9404C8 for ; Mon, 21 Dec 2020 16:07:53 +0000 (UTC) Received: from localhost ([::1]:34462 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1krNix-0001iI-At for larch@yhetil.org; Mon, 21 Dec 2020 11:07:51 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33822) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1krNhw-0001hH-UC for emacs-orgmode@gnu.org; Mon, 21 Dec 2020 11:06:49 -0500 Received: from mail-ed1-x52a.google.com ([2a00:1450:4864:20::52a]:39605) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1krNhp-0002Lc-D4 for emacs-orgmode@gnu.org; Mon, 21 Dec 2020 11:06:47 -0500 Received: by mail-ed1-x52a.google.com with SMTP id c7so10069297edv.6 for ; Mon, 21 Dec 2020 08:06:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=KkoLZhHidaqihAx+HJWscDLqj54fR92qg182vxSR3fI=; b=DtMYWFhYi1xHjWjpbRNxnnBPd7xj6zPimRN00UmBV8vMy8xGb3oXXEZ14WXThmL1v/ 6DMKpt1SYsIHbxks9AxbQcuMcAWdX7ozXwpSPe/37q8Vcs0l1BuuYkR5zjY/lwenCKr7 Ly4DKXsKV95Awe33xjlDsRkOao7S7WyODY1sXf4TD0J+FeATcqxC67z0qKZ1mL1rNgpB XUm4TJ46Qq8aMe7tA8FLjglQ0Hzt7B5/mjgde0BbMPv0km7JL8oFbf8iP3RsWLKwS6Wa SzteeNT19WTimweNt5EZ6tDJ+nwebzRjAP9u67fKWnONGpxQum8Fzk5/kYdjmAU+LFiz WLpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=KkoLZhHidaqihAx+HJWscDLqj54fR92qg182vxSR3fI=; b=M/gSe2tYsgEKOpJpID/EmmyUk8IrJ8oUoMeZh7o5FQugqonaFu4fqb+2NToDgA+Mgs /Aob7uhuarRgxbg/35ytXaiDmk2eEnum9OCIdJs5nK0buOUvz8ARpU0Nxz5a5ZHCCDYX LSa2sKRQkUYyViY7v7p9/FwvxdIWoMfs3uB8KA6ylizJ7mN++0UunKBwxL3Uw2dqqpuT kVS4kowAjABz9K0cTOA27Aqg9+CnyHl6r4420CSWsD9UfjMstgNQEVMtIUV2/bP6zRMU 2c/J1qrmBh0NYvyhNLU2/K4n7DwYSrt9gL5nVW6TFVcl7gDU//2NA0SrWVlNhNIcCMs4 LB1Q== X-Gm-Message-State: AOAM531ZT7J9dJUO/m1zpvWTryuMWf9XbIqsGRf/mEK9GxJ3sL7vTodG FVmLzjfBdcYv9Th7ZWj6a2TCq9kLwyoKL3gfuFpa5JdjReJXXA== X-Google-Smtp-Source: ABdhPJw3+SUGqDHhJ5JtWU93JPqCl0BeEgnsNwtwKWViKvORle9+DdlNBp2XX9Gq608c0IeoctUpvV+eHh/nAqeHFss= X-Received: by 2002:a05:6402:17a3:: with SMTP id j3mr16498025edy.333.1608566795318; Mon, 21 Dec 2020 08:06:35 -0800 (PST) MIME-Version: 1.0 From: Mario Bourgoin Date: Mon, 21 Dec 2020 11:06:23 -0500 Message-ID: Subject: recursive load org-duration Error To: emacs-orgmode@gnu.org Content-Type: multipart/alternative; boundary="0000000000006ebaed05b6fba43f" Received-SPF: pass client-ip=2a00:1450:4864:20::52a; envelope-from=m.bourgoin@gmail.com; helo=mail-ed1-x52a.google.com X-Spam_score_int: 0 X-Spam_score: -0.1 X-Spam_bar: / X-Spam_report: (-0.1 / 5.0 requ) BAYES_00=-1.9, DEAR_SOMETHING=1.973, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -3.02 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=DtMYWFhY; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Migadu-Queue-Id: 7757F9404C8 X-Spam-Score: -3.02 X-Migadu-Scanner: scn1.migadu.com X-TUID: T3iPMGlDtNhe --0000000000006ebaed05b6fba43f Content-Type: text/plain; charset="UTF-8" Dear Sir or Madam, I recently started to use org mode efforts encoded as durations. I began getting the error "recursive load org-duration" after I customized "org-duration-units" by using "m" for the minutes units and "mon" for the months units, restarted Emacs, and asked for the agenda with "C-c a a". I found that a workaround to this problem is to put "(require 'org-duration)" in my .emacs before the customizations are loaded: ;; -*- emacs-lisp -*- (package-initialize) (require 'org-duration) (setq custom-file "~/.emacs-custom.el") (load custom-file) I have appended the text generated by "org-submit-bug-report" followed by the error stack trace. Would you please let me know when this bug is fixed? I would also appreciate finding out how the bug was fixed. Best Regards, Mario Emacs : GNU Emacs 26.2 (build 1, x86_64-w64-mingw32) of 2019-04-13 Package: Org mode version 9.4.3 (9.4.3-elpa @ c:/Users/Mario/.emacs.d/elpa/org-20201216/) current state: ============== (setq org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer) org-agenda-skip-scheduled-if-deadline-is-shown t org-link-shell-confirm-function 'yes-or-no-p org-metadown-hook '(org-babel-pop-to-session-maybe) org-clock-out-hook '(org-clock-remove-empty-clock-drawer) org-log-note-clock-out t org-latex-default-packages-alist '(("AUTO" "inputenc" t) ("" "fontenc" t) ("" "fixltx2e" nil) ("" "graphicx" t) ("" "longtable" nil) ("" "float" nil) ("" "wrapfig" nil) ("" "rotating" nil) ("normalem" "ulem" t) ("" "amsmath" t) ("" "textcomp" t) ("" "marvosym" t) ("" "wasysym" t) ("" "amssymb" t) ("" "hyperref" nil) "\\tolerance=1000") org-agenda-files '("~/OneDrive/Documents/usr/org/Diary.org") org-blocker-hook '(org-edna-blocker-function org-block-todo-from-checkboxes) org-mode-hook '(#[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-show-all append local] 5] #[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-babel-show-result-all append local] 5] org-babel-result-hide-spec org-babel-hide-all-hashes) org-clock-persist 'history org-archive-hook '(org-attach-archive-delete-maybe) org-confirm-elisp-link-function 'yes-or-no-p org-startup-with-inline-images t org-agenda-before-write-hook '(org-agenda-add-entry-text) org-metaup-hook '(org-babel-load-in-session-maybe) org-bibtex-headline-format-function #[257 "\300 \236A\207" [:title] 3 "\n\n(fn ENTRY)"] org-babel-pre-tangle-hook '(save-buffer) org-file-apps '((auto-mode . emacs) ("\\.mm\\'" . default) ("\\.x?html?\\'" . default) ("\\.pdf\\'" . "SumatraPDF %s")) org-tab-first-hook '(org-babel-hide-result-toggle-maybe org-babel-header-arg-expand) org-log-done 'note org-agenda-skip-deadline-prewarning-if-scheduled t org-trigger-hook '(org-edna-trigger-function) org-agenda-loop-over-headlines-in-active-region nil org-occur-hook '(org-first-headline-recenter) org-enforce-todo-checkbox-dependencies t org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers org-cycle-show-empty-lines org-optimize-window-after-visibility-change) org-todo-keywords '((sequence "TODO(t)" "NEXT(n)" "WAITING(w)" "|" "DONE(d)" "CANCELED(c)")) org-speed-command-hook '(org-speed-command-activate org-babel-speed-command-activate) org-export-before-parsing-hook '(org-attach-expand-links) org-confirm-shell-link-function 'yes-or-no-p org-duration-units '(("m" . 1) ("h" . 60) ("d" . 1440) ("w" . 10080) ("mon" . 43200) ("y" . 525960.0)) org-link-parameters '(("attachment" :follow org-attach-follow :complete org-attach-complete-link) ("id" :follow org-id-open) ("eww" :follow org-eww-open :store org-eww-store-link) ("rmail" :follow org-rmail-open :store org-rmail-store-link) ("mhe" :follow org-mhe-open :store org-mhe-store-link) ("irc" :follow org-irc-visit :store org-irc-store-link :export org-irc-export) ("info" :follow org-info-open :export org-info-export :store org-info-store-link) ("gnus" :follow org-gnus-open :store org-gnus-store-link) ("docview" :follow org-docview-open :export org-docview-export :store org-docview-store-link) ("bibtex" :follow org-bibtex-open :store org-bibtex-store-link) ("bbdb" :follow org-bbdb-open :export org-bbdb-export :complete org-bbdb-complete-link :store org-bbdb-store-link) ("w3m" :store org-w3m-store-link) ("file+sys") ("file+emacs") ("shell" :follow org-link--open-shell) ("news" :follow #[514 "\301\300\302 Q \"\207" ["news" browse-url ":"] 6 "\n\n(fn URL ARG)"]) ("mailto" :follow #[514 "\301\300\302 Q \"\207" ["mailto" browse-url ":"] 6 "\n\n(fn URL ARG)"]) ("https" :follow #[514 "\301\300\302 Q \"\207" ["https" browse-url ":"] 6 "\n\n(fn URL ARG)"]) ("http" :follow #[514 "\301\300\302 Q \"\207" ["http" browse-url ":"] 6 "\n\n(fn URL ARG)"]) ("ftp" :follow #[514 "\301\300\302 Q \"\207" ["ftp" browse-url ":"] 6 "\n\n(fn URL ARG)"]) ("help" :follow org-link--open-help) ("file" :complete org-link-complete-file) ("elisp" :follow org-link--open-elisp) ("doi" :follow org-link--open-doi)) org-agenda-skip-scheduled-if-done t org-link-elisp-confirm-function 'yes-or-no-p org-edna-mode t org-directory "~/OneDrive/Documents/usr/org/" org-agenda-skip-deadline-if-done t org-agenda-start-on-weekday 7 org-default-notes-file "notes.org" ) backtrace: ============== Debugger entered--Lisp error: (error "Recursive load" "c:/Users/Mario/.emacs.d/elpa/org-20201216/org-duration.elc" "c:/Users/Mario/.emacs.d/elpa/org-20201216/org-duration.elc" "c:/Users/Mario/.emacs.d/elpa/org-20201216/org-duration.elc" "c:/Users/Mario/.emacs.d/elpa/org-20201216/org-duration.elc" "c:/Users/Mario/.emacs.d/elpa/org-20201216/org-duration.elc") org-duration-set-regexps() #f(compiled-function (var val) #)(org-duration-units (("m" . 1) ("h" . 60) ("d" . 1440) ("w" . 10080) ("mon" . 43200) ("y" . 525960.0))) custom-initialize-changed(org-duration-units (funcall (function #f(compiled-function () #)))) custom-declare-variable(org-duration-units (funcall (function #f(compiled-function () #))) "Conversion factor to minutes for a duration.\n\nEach entry has the form (UNIT . MODIFIER).\n\nIn a duration string, a number followed by UNIT is multiplied by\nthe specified number of MODIFIER to obtain a duration in minutes.\n\nFor example, the following value\n\n \\=`((\"min\" . 1)\n (\"h\" . 60)\n (\"d\" . ,(* 60 8))\n (\"w\" . ,(* 60 8 5))\n (\"m\" . ,(* 60 8 5 4))\n (\"y\" . ,(* 60 8 5 4 10)))\n\nis meaningful if you work an average of 8 hours per day, 5 days\na week, 4 weeks a month and 10 months a year.\n\nWhen setting this variable outside the Customize interface, make\nsure to call the following command:\n\n \\[org-duration-set-regexps]" :group org-agenda :version "26.1" :package-version (Org . "9.1") :set #f(compiled-function (var val) #) :initialize custom-initialize-changed :type (choice (const :tag "H:MM" h:mm) (const :tag "H:MM:SS" h:mm:ss) (alist :key-type (string :tag "Unit") :value-type (number :tag "Modifier")))) byte-code("\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315\316\317\320\321&\017\210\300\322\302\303\323DD\324\306\325\306\326\312\327\320\330&\013\207" [custom-declare-variable org-duration-units funcall function #f(compiled-function () #) "Conversion factor to minutes for a duration.\n\nEach entry has the form (UNIT . MODIFIER).\n\nIn a duration string, a number followed by UNIT is multiplied by\nthe specified number of MODIFIER to obtain a duration in minutes.\n\nFor example, the following value\n\n \\=`((\"min\" . 1)\n (\"h\" . 60)\n (\"d\" . ,(* 60 8))\n (\"w\" . ,(* 60 8 5))\n (\"m\" . ,(* 60 8 5 4))\n (\"y\" . ,(* 60 8 5 4 10)))\n\nis meaningful if you work an average of 8 hours per day, 5 days\na week, 4 weeks a month and 10 months a year.\n\nWhen setting this variable outside the Customize interface, make\nsure to call the following command:\n\n \\[org-duration-set-regexps]" :group org-agenda :version "26.1" :package-version (Org . "9.1") :set #f(compiled-function (var val) #) :initialize custom-initialize-changed :type (choice (const :tag "H:MM" h:mm) (const :tag "H:MM:SS" h:mm:ss) (alist :key-type (string :tag "Unit") :value-type (number :tag "Modifier"))) org-duration-format #f(compiled-function () #) "Format definition for a duration.\n\nThe value can be set to, respectively, the symbols `h:mm:ss' or\n`h:mm', which means a duration is expressed as, respectively,\na \"H:MM:SS\" or \"H:MM\" string.\n\nAlternatively, the value can be a list of entries following the\npattern:\n\n (UNIT . REQUIRED?)\n\nUNIT is a unit string, as defined in `org-duration-units'. The\ntime duration is formatted using only the time components that\nare specified here.\n\nUnits with a zero value are skipped, unless REQUIRED? is non-nil.\nIn that case, the unit is always used.\n\nThe list can also contain one of the following special entries:\n\n (special . h:mm)\n (special . h:mm:ss)\n\n Units shorter than an hour are ignored. The hours and\n minutes part of the duration is expressed unconditionally\n with H:MM, or H:MM:SS, pattern.\n\n (special . PRECISION)\n\n A duration is expressed with a single unit, PRECISION being\n the number of decimal places to show. The unit chosen is the\n first one required or with a non-zero integer part. If there\n is no such unit, the smallest one is used.\n\nEventually, if the list contains the symbol `compact', the\nduration is expressed in a compact form, without any white space\nbetween units.\n\nFor example,\n\n ((\"d\" . nil) (\"h\" . t) (\"min\" . t))\n\nmeans a duration longer than a day is expressed in days, hours\nand minutes, whereas a duration shorter than a day is always\nexpressed in hours and minutes, even when shorter than an hour.\n\nOn the other hand, the value\n\n ((\"d\" . nil) (\"min\" . nil))\n\nmeans a duration longer than a day is expressed in days and\nminutes, whereas a duration shorter than a day is expressed\nentirely in minutes, even when longer than an hour.\n\nThe following format\n\n ((\"d\" . nil) (special . h:mm))\n\nmeans that any duration longer than a day is expressed with both\na \"d\" unit and a \"H:MM\" part, whereas a duration shorter than\na day is expressed only as a \"H:MM\" string.\n\nEventually,\n\n ((\"d\" . nil) (\"h\" . nil) (special . 2))\n\nexpresses a duration longer than a day as a decimal number, with\na 2-digits fractional part, of \"d\" unit. A duration shorter\nthan a day uses \"h\" unit instead." org-time org-clock (Org . "9.1") (choice (const :tag "Use H:MM" h:mm) (const :tag "Use H:MM:SS" h:mm:ss) (repeat :tag "Use units" (choice (cons :tag "Use units" (string :tag "Unit") (choice (const :tag "Skip when zero" nil) (const :tag "Always used" t))) (cons :tag "Use a single decimal unit" (const special) (integer :tag "Number of decimals")) (cons :tag "Use both units and H:MM" (const special) (const h:mm)) (cons :tag "Use both units and H:MM:SS" (const special) (const h:mm:ss)) (const :tag "Use compact form" compact))))] 16) org-duration-set-regexps() #f(compiled-function (var val) #)(org-duration-units (("m" . 1) ("h" . 60) ("d" . 1440) ("w" . 10080) ("mon" . 43200) ("y" . 525960.0))) custom-initialize-changed(org-duration-units (funcall (function #f(compiled-function () #)))) custom-declare-variable(org-duration-units (funcall (function #f(compiled-function () #))) "Conversion factor to minutes for a duration.\n\nEach entry has the form (UNIT . MODIFIER).\n\nIn a duration string, a number followed by UNIT is multiplied by\nthe specified number of MODIFIER to obtain a duration in minutes.\n\nFor example, the following value\n\n \\=`((\"min\" . 1)\n (\"h\" . 60)\n (\"d\" . ,(* 60 8))\n (\"w\" . ,(* 60 8 5))\n (\"m\" . ,(* 60 8 5 4))\n (\"y\" . ,(* 60 8 5 4 10)))\n\nis meaningful if you work an average of 8 hours per day, 5 days\na week, 4 weeks a month and 10 months a year.\n\nWhen setting this variable outside the Customize interface, make\nsure to call the following command:\n\n \\[org-duration-set-regexps]" :group org-agenda :version "26.1" :package-version (Org . "9.1") :set #f(compiled-function (var val) #) :initialize custom-initialize-changed :type (choice (const :tag "H:MM" h:mm) (const :tag "H:MM:SS" h:mm:ss) (alist :key-type (string :tag "Unit") :value-type (number :tag "Modifier")))) byte-code("\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315\316\317\320\321&\017\210\300\322\302\303\323DD\324\306\325\306\326\312\327\320\330&\013\207" [custom-declare-variable org-duration-units funcall function #f(compiled-function () #) "Conversion factor to minutes for a duration.\n\nEach entry has the form (UNIT . MODIFIER).\n\nIn a duration string, a number followed by UNIT is multiplied by\nthe specified number of MODIFIER to obtain a duration in minutes.\n\nFor example, the following value\n\n \\=`((\"min\" . 1)\n (\"h\" . 60)\n (\"d\" . ,(* 60 8))\n (\"w\" . ,(* 60 8 5))\n (\"m\" . ,(* 60 8 5 4))\n (\"y\" . ,(* 60 8 5 4 10)))\n\nis meaningful if you work an average of 8 hours per day, 5 days\na week, 4 weeks a month and 10 months a year.\n\nWhen setting this variable outside the Customize interface, make\nsure to call the following command:\n\n \\[org-duration-set-regexps]" :group org-agenda :version "26.1" :package-version (Org . "9.1") :set #f(compiled-function (var val) #) :initialize custom-initialize-changed :type (choice (const :tag "H:MM" h:mm) (const :tag "H:MM:SS" h:mm:ss) (alist :key-type (string :tag "Unit") :value-type (number :tag "Modifier"))) org-duration-format #f(compiled-function () #) "Format definition for a duration.\n\nThe value can be set to, respectively, the symbols `h:mm:ss' or\n`h:mm', which means a duration is expressed as, respectively,\na \"H:MM:SS\" or \"H:MM\" string.\n\nAlternatively, the value can be a list of entries following the\npattern:\n\n (UNIT . REQUIRED?)\n\nUNIT is a unit string, as defined in `org-duration-units'. The\ntime duration is formatted using only the time components that\nare specified here.\n\nUnits with a zero value are skipped, unless REQUIRED? is non-nil.\nIn that case, the unit is always used.\n\nThe list can also contain one of the following special entries:\n\n (special . h:mm)\n (special . h:mm:ss)\n\n Units shorter than an hour are ignored. The hours and\n minutes part of the duration is expressed unconditionally\n with H:MM, or H:MM:SS, pattern.\n\n (special . PRECISION)\n\n A duration is expressed with a single unit, PRECISION being\n the number of decimal places to show. The unit chosen is the\n first one required or with a non-zero integer part. If there\n is no such unit, the smallest one is used.\n\nEventually, if the list contains the symbol `compact', the\nduration is expressed in a compact form, without any white space\nbetween units.\n\nFor example,\n\n ((\"d\" . nil) (\"h\" . t) (\"min\" . t))\n\nmeans a duration longer than a day is expressed in days, hours\nand minutes, whereas a duration shorter than a day is always\nexpressed in hours and minutes, even when shorter than an hour.\n\nOn the other hand, the value\n\n ((\"d\" . nil) (\"min\" . nil))\n\nmeans a duration longer than a day is expressed in days and\nminutes, whereas a duration shorter than a day is expressed\nentirely in minutes, even when longer than an hour.\n\nThe following format\n\n ((\"d\" . nil) (special . h:mm))\n\nmeans that any duration longer than a day is expressed with both\na \"d\" unit and a \"H:MM\" part, whereas a duration shorter than\na day is expressed only as a \"H:MM\" string.\n\nEventually,\n\n ((\"d\" . nil) (\"h\" . nil) (special . 2))\n\nexpresses a duration longer than a day as a decimal number, with\na 2-digits fractional part, of \"d\" unit. A duration shorter\nthan a day uses \"h\" unit instead." org-time org-clock (Org . "9.1") (choice (const :tag "Use H:MM" h:mm) (const :tag "Use H:MM:SS" h:mm:ss) (repeat :tag "Use units" (choice (cons :tag "Use units" (string :tag "Unit") (choice (const :tag "Skip when zero" nil) (const :tag "Always used" t))) (cons :tag "Use a single decimal unit" (const special) (integer :tag "Number of decimals")) (cons :tag "Use both units and H:MM" (const special) (const h:mm)) (cons :tag "Use both units and H:MM:SS" (const special) (const h:mm:ss)) (const :tag "Use compact form" compact))))] 16) org-duration-set-regexps() #f(compiled-function (var val) #)(org-duration-units (("m" . 1) ("h" . 60) ("d" . 1440) ("w" . 10080) ("mon" . 43200) ("y" . 525960.0))) custom-initialize-changed(org-duration-units (funcall (function #f(compiled-function () #)))) custom-declare-variable(org-duration-units (funcall (function #f(compiled-function () #))) "Conversion factor to minutes for a duration.\n\nEach entry has the form (UNIT . MODIFIER).\n\nIn a duration string, a number followed by UNIT is multiplied by\nthe specified number of MODIFIER to obtain a duration in minutes.\n\nFor example, the following value\n\n \\=`((\"min\" . 1)\n (\"h\" . 60)\n (\"d\" . ,(* 60 8))\n (\"w\" . ,(* 60 8 5))\n (\"m\" . ,(* 60 8 5 4))\n (\"y\" . ,(* 60 8 5 4 10)))\n\nis meaningful if you work an average of 8 hours per day, 5 days\na week, 4 weeks a month and 10 months a year.\n\nWhen setting this variable outside the Customize interface, make\nsure to call the following command:\n\n \\[org-duration-set-regexps]" :group org-agenda :version "26.1" :package-version (Org . "9.1") :set #f(compiled-function (var val) #) :initialize custom-initialize-changed :type (choice (const :tag "H:MM" h:mm) (const :tag "H:MM:SS" h:mm:ss) (alist :key-type (string :tag "Unit") :value-type (number :tag "Modifier")))) byte-code("\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315\316\317\320\321&\017\210\300\322\302\303\323DD\324\306\325\306\326\312\327\320\330&\013\207" [custom-declare-variable org-duration-units funcall function #f(compiled-function () #) "Conversion factor to minutes for a duration.\n\nEach entry has the form (UNIT . MODIFIER).\n\nIn a duration string, a number followed by UNIT is multiplied by\nthe specified number of MODIFIER to obtain a duration in minutes.\n\nFor example, the following value\n\n \\=`((\"min\" . 1)\n (\"h\" . 60)\n (\"d\" . ,(* 60 8))\n (\"w\" . ,(* 60 8 5))\n (\"m\" . ,(* 60 8 5 4))\n (\"y\" . ,(* 60 8 5 4 10)))\n\nis meaningful if you work an average of 8 hours per day, 5 days\na week, 4 weeks a month and 10 months a year.\n\nWhen setting this variable outside the Customize interface, make\nsure to call the following command:\n\n \\[org-duration-set-regexps]" :group org-agenda :version "26.1" :package-version (Org . "9.1") :set #f(compiled-function (var val) #) :initialize custom-initialize-changed :type (choice (const :tag "H:MM" h:mm) (const :tag "H:MM:SS" h:mm:ss) (alist :key-type (string :tag "Unit") :value-type (number :tag "Modifier"))) org-duration-format #f(compiled-function () #) "Format definition for a duration.\n\nThe value can be set to, respectively, the symbols `h:mm:ss' or\n`h:mm', which means a duration is expressed as, respectively,\na \"H:MM:SS\" or \"H:MM\" string.\n\nAlternatively, the value can be a list of entries following the\npattern:\n\n (UNIT . REQUIRED?)\n\nUNIT is a unit string, as defined in `org-duration-units'. The\ntime duration is formatted using only the time components that\nare specified here.\n\nUnits with a zero value are skipped, unless REQUIRED? is non-nil.\nIn that case, the unit is always used.\n\nThe list can also contain one of the following special entries:\n\n (special . h:mm)\n (special . h:mm:ss)\n\n Units shorter than an hour are ignored. The hours and\n minutes part of the duration is expressed unconditionally\n with H:MM, or H:MM:SS, pattern.\n\n (special . PRECISION)\n\n A duration is expressed with a single unit, PRECISION being\n the number of decimal places to show. The unit chosen is the\n first one required or with a non-zero integer part. If there\n is no such unit, the smallest one is used.\n\nEventually, if the list contains the symbol `compact', the\nduration is expressed in a compact form, without any white space\nbetween units.\n\nFor example,\n\n ((\"d\" . nil) (\"h\" . t) (\"min\" . t))\n\nmeans a duration longer than a day is expressed in days, hours\nand minutes, whereas a duration shorter than a day is always\nexpressed in hours and minutes, even when shorter than an hour.\n\nOn the other hand, the value\n\n ((\"d\" . nil) (\"min\" . nil))\n\nmeans a duration longer than a day is expressed in days and\nminutes, whereas a duration shorter than a day is expressed\nentirely in minutes, even when longer than an hour.\n\nThe following format\n\n ((\"d\" . nil) (special . h:mm))\n\nmeans that any duration longer than a day is expressed with both\na \"d\" unit and a \"H:MM\" part, whereas a duration shorter than\na day is expressed only as a \"H:MM\" string.\n\nEventually,\n\n ((\"d\" . nil) (\"h\" . nil) (special . 2))\n\nexpresses a duration longer than a day as a decimal number, with\na 2-digits fractional part, of \"d\" unit. A duration shorter\nthan a day uses \"h\" unit instead." org-time org-clock (Org . "9.1") (choice (const :tag "Use H:MM" h:mm) (const :tag "Use H:MM:SS" h:mm:ss) (repeat :tag "Use units" (choice (cons :tag "Use units" (string :tag "Unit") (choice (const :tag "Skip when zero" nil) (const :tag "Always used" t))) (cons :tag "Use a single decimal unit" (const special) (integer :tag "Number of decimals")) (cons :tag "Use both units and H:MM" (const special) (const h:mm)) (cons :tag "Use both units and H:MM:SS" (const special) (const h:mm:ss)) (const :tag "Use compact form" compact))))] 16) org-duration-set-regexps() #f(compiled-function (var val) #)(org-duration-units (("m" . 1) ("h" . 60) ("d" . 1440) ("w" . 10080) ("mon" . 43200) ("y" . 525960.0))) custom-initialize-changed(org-duration-units (funcall (function #f(compiled-function () #)))) custom-declare-variable(org-duration-units (funcall (function #f(compiled-function () #))) "Conversion factor to minutes for a duration.\n\nEach entry has the form (UNIT . MODIFIER).\n\nIn a duration string, a number followed by UNIT is multiplied by\nthe specified number of MODIFIER to obtain a duration in minutes.\n\nFor example, the following value\n\n \\=`((\"min\" . 1)\n (\"h\" . 60)\n (\"d\" . ,(* 60 8))\n (\"w\" . ,(* 60 8 5))\n (\"m\" . ,(* 60 8 5 4))\n (\"y\" . ,(* 60 8 5 4 10)))\n\nis meaningful if you work an average of 8 hours per day, 5 days\na week, 4 weeks a month and 10 months a year.\n\nWhen setting this variable outside the Customize interface, make\nsure to call the following command:\n\n \\[org-duration-set-regexps]" :group org-agenda :version "26.1" :package-version (Org . "9.1") :set #f(compiled-function (var val) #) :initialize custom-initialize-changed :type (choice (const :tag "H:MM" h:mm) (const :tag "H:MM:SS" h:mm:ss) (alist :key-type (string :tag "Unit") :value-type (number :tag "Modifier")))) byte-code("\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315\316\317\320\321&\017\210\300\322\302\303\323DD\324\306\325\306\326\312\327\320\330&\013\207" [custom-declare-variable org-duration-units funcall function #f(compiled-function () #) "Conversion factor to minutes for a duration.\n\nEach entry has the form (UNIT . MODIFIER).\n\nIn a duration string, a number followed by UNIT is multiplied by\nthe specified number of MODIFIER to obtain a duration in minutes.\n\nFor example, the following value\n\n \\=`((\"min\" . 1)\n (\"h\" . 60)\n (\"d\" . ,(* 60 8))\n (\"w\" . ,(* 60 8 5))\n (\"m\" . ,(* 60 8 5 4))\n (\"y\" . ,(* 60 8 5 4 10)))\n\nis meaningful if you work an average of 8 hours per day, 5 days\na week, 4 weeks a month and 10 months a year.\n\nWhen setting this variable outside the Customize interface, make\nsure to call the following command:\n\n \\[org-duration-set-regexps]" :group org-agenda :version "26.1" :package-version (Org . "9.1") :set #f(compiled-function (var val) #) :initialize custom-initialize-changed :type (choice (const :tag "H:MM" h:mm) (const :tag "H:MM:SS" h:mm:ss) (alist :key-type (string :tag "Unit") :value-type (number :tag "Modifier"))) org-duration-format #f(compiled-function () #) "Format definition for a duration.\n\nThe value can be set to, respectively, the symbols `h:mm:ss' or\n`h:mm', which means a duration is expressed as, respectively,\na \"H:MM:SS\" or \"H:MM\" string.\n\nAlternatively, the value can be a list of entries following the\npattern:\n\n (UNIT . REQUIRED?)\n\nUNIT is a unit string, as defined in `org-duration-units'. The\ntime duration is formatted using only the time components that\nare specified here.\n\nUnits with a zero value are skipped, unless REQUIRED? is non-nil.\nIn that case, the unit is always used.\n\nThe list can also contain one of the following special entries:\n\n (special . h:mm)\n (special . h:mm:ss)\n\n Units shorter than an hour are ignored. The hours and\n minutes part of the duration is expressed unconditionally\n with H:MM, or H:MM:SS, pattern.\n\n (special . PRECISION)\n\n A duration is expressed with a single unit, PRECISION being\n the number of decimal places to show. The unit chosen is the\n first one required or with a non-zero integer part. If there\n is no such unit, the smallest one is used.\n\nEventually, if the list contains the symbol `compact', the\nduration is expressed in a compact form, without any white space\nbetween units.\n\nFor example,\n\n ((\"d\" . nil) (\"h\" . t) (\"min\" . t))\n\nmeans a duration longer than a day is expressed in days, hours\nand minutes, whereas a duration shorter than a day is always\nexpressed in hours and minutes, even when shorter than an hour.\n\nOn the other hand, the value\n\n ((\"d\" . nil) (\"min\" . nil))\n\nmeans a duration longer than a day is expressed in days and\nminutes, whereas a duration shorter than a day is expressed\nentirely in minutes, even when longer than an hour.\n\nThe following format\n\n ((\"d\" . nil) (special . h:mm))\n\nmeans that any duration longer than a day is expressed with both\na \"d\" unit and a \"H:MM\" part, whereas a duration shorter than\na day is expressed only as a \"H:MM\" string.\n\nEventually,\n\n ((\"d\" . nil) (\"h\" . nil) (special . 2))\n\nexpresses a duration longer than a day as a decimal number, with\na 2-digits fractional part, of \"d\" unit. A duration shorter\nthan a day uses \"h\" unit instead." org-time org-clock (Org . "9.1") (choice (const :tag "Use H:MM" h:mm) (const :tag "Use H:MM:SS" h:mm:ss) (repeat :tag "Use units" (choice (cons :tag "Use units" (string :tag "Unit") (choice (const :tag "Skip when zero" nil) (const :tag "Always used" t))) (cons :tag "Use a single decimal unit" (const special) (integer :tag "Number of decimals")) (cons :tag "Use both units and H:MM" (const special) (const h:mm)) (cons :tag "Use both units and H:MM:SS" (const special) (const h:mm:ss)) (const :tag "Use compact form" compact))))] 16) org-duration-to-minutes("5h") org-refresh-property(((effort . identity) (effort-minutes . org-duration-to-minutes)) "5h" nil) org-refresh-properties("Effort" ((effort . identity) (effort-minutes . org-duration-to-minutes))) org-refresh-effort-properties() org-agenda-prepare-buffers(("~/OneDrive/Documents/usr/org/Diary.org")) org-agenda-prepare("Day/Week") org-agenda-list(nil) funcall-interactively(org-agenda-list nil) call-interactively(org-agenda-list) org-agenda(nil) funcall-interactively(org-agenda nil) call-interactively(org-agenda nil nil) command-execute(org-agenda) --0000000000006ebaed05b6fba43f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Dear Sir or Madam,

I recently started t= o use org mode efforts encoded as durations. I began getting the error &quo= t;recursive load org-duration" after I customized "org-duration-u= nits" by using "m" for the minutes units and "mon"= for the months units, restarted Emacs, and asked for the agenda with "= ;C-c a a".

I found that a workaround to this = problem is to put "(require 'org-duration)" in my .emacs befo= re the customizations are loaded:

;; -*- emacs-lisp -*-
=
(package-initialize)
(require 'org-duration)
(= setq custom-file "~/.emacs-custom.el")
(load custom-fil= e)

I have appended the text generated= by "org-submit-bug-report" foll= owed by the error stack trace.

Would you plea= se let me know when this bug is fixed? I would also appreciate finding out = how the bug was fixed.

=
Best Regards,
Mari= o

Emacs =C2=A0: GNU Emacs 26.2 (build 1, x86_64-w64-mingw32)<= br>=C2=A0of 2019-04-13
Package: Org mode version 9.4.3 (9.4.3-elpa @ c:/= Users/Mario/.emacs.d/elpa/org-20201216/)

current state:
=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
(setq
=C2=A0org-src-mode-hook '= (org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer)=C2=A0org-agenda-skip-scheduled-if-deadline-is-shown t
=C2=A0org-link-s= hell-confirm-function 'yes-or-no-p
=C2=A0org-metadown-hook '(org= -babel-pop-to-session-maybe)
=C2=A0org-clock-out-hook '(org-clock-re= move-empty-clock-drawer)
=C2=A0org-log-note-clock-out t
=C2=A0org-lat= ex-default-packages-alist '(("AUTO" "inputenc" t) (= "" "fontenc" t) ("" "fixltx2e" nil)= ("" "graphicx" t)
=C2=A0 =C2=A0("" &= quot;longtable" nil) ("" "float" nil) (""= ; "wrapfig" nil) ("" "rotating" nil)
= =C2=A0 =C2=A0("normalem" "ulem" t) ("" "= amsmath" t) ("" "textcomp" t) ("" "= marvosym" t)
=C2=A0 =C2=A0("" "wasysym" t)= ("" "amssymb" t) ("" "hyperref" ni= l) "\\tolerance=3D1000")
=C2=A0org-agenda-files '("~/= OneDrive/Documents/usr/org/Diary.org")
=C2=A0org-blocker-hook '= (org-edna-blocker-function org-block-todo-from-checkboxes)
=C2=A0org-mod= e-hook '(#[0 "\300\301\302\303\304$\207" [add-hook change-maj= or-mode-hook org-show-all append local] 5]
#[0 "\300\301\302\303= \304$\207"
=C2=A0 [add-hook change-major-mode-hook org-babel-sho= w-result-all append local] 5]
org-babel-result-hide-spec org-babel-hi= de-all-hashes)
=C2=A0org-clock-persist 'history
=C2=A0org-archive= -hook '(org-attach-archive-delete-maybe)
=C2=A0org-confirm-elisp-lin= k-function 'yes-or-no-p
=C2=A0org-startup-with-inline-images t
= =C2=A0org-agenda-before-write-hook '(org-agenda-add-entry-text)
=C2= =A0org-metaup-hook '(org-babel-load-in-session-maybe)
=C2=A0org-bibt= ex-headline-format-function #[257 "\300 \236A\207" [:title] 3 &qu= ot;\n\n(fn ENTRY)"]
=C2=A0org-babel-pre-tangle-hook '(save-buff= er)
=C2=A0org-file-apps '((auto-mode . emacs) ("\\.mm\\'&qu= ot; . default) ("\\.x?html?\\'" . default)
("\\.pd= f\\'" . "SumatraPDF %s"))
=C2=A0org-tab-first-hook &#= 39;(org-babel-hide-result-toggle-maybe org-babel-header-arg-expand)
=C2= =A0org-log-done 'note
=C2=A0org-agenda-skip-deadline-prewarning-if-s= cheduled t
=C2=A0org-trigger-hook '(org-edna-trigger-function)
= =C2=A0org-agenda-loop-over-headlines-in-active-region nil
=C2=A0org-occu= r-hook '(org-first-headline-recenter)
=C2=A0org-enforce-todo-checkbo= x-dependencies t
=C2=A0org-cycle-hook '(org-cycle-hide-archived-subt= rees org-cycle-hide-drawers org-cycle-show-empty-lines
=C2=A0org-opti= mize-window-after-visibility-change)
=C2=A0org-todo-keywords '((sequ= ence "TODO(t)" "NEXT(n)" "WAITING(w)" "|= " "DONE(d)" "CANCELED(c)"))
=C2=A0org-speed-com= mand-hook '(org-speed-command-activate org-babel-speed-command-activate= )
=C2=A0org-export-before-parsing-hook '(org-attach-expand-links)=C2=A0org-confirm-shell-link-function 'yes-or-no-p
=C2=A0org-durati= on-units '(("m" . 1) ("h" . 60) ("d" . 14= 40) ("w" . 10080) ("mon" . 43200) ("y" . 5259= 60.0))
=C2=A0org-link-parameters '(("attachment" :follow o= rg-attach-follow :complete org-attach-complete-link)
=C2=A0 =C2=A0 = =C2=A0 ("id" :follow org-id-open) ("eww" :follow org-ew= w-open :store org-eww-store-link)
=C2=A0 =C2=A0 =C2=A0 ("rmail&q= uot; :follow org-rmail-open :store org-rmail-store-link)
=C2=A0 =C2= =A0 =C2=A0 ("mhe" :follow org-mhe-open :store org-mhe-store-link)=
=C2=A0 =C2=A0 =C2=A0 ("irc" :follow org-irc-visit :store o= rg-irc-store-link :export org-irc-export)
=C2=A0 =C2=A0 =C2=A0 ("= ;info" :follow org-info-open :export org-info-export :store org-info-s= tore-link)
=C2=A0 =C2=A0 =C2=A0 ("gnus" :follow org-gnus-op= en :store org-gnus-store-link)
=C2=A0 =C2=A0 =C2=A0 ("docview&qu= ot; :follow org-docview-open :export org-docview-export :store
org-do= cview-store-link)
=C2=A0 =C2=A0 =C2=A0 ("bibtex" :follow or= g-bibtex-open :store org-bibtex-store-link)
=C2=A0 =C2=A0 =C2=A0 (&qu= ot;bbdb" :follow org-bbdb-open :export org-bbdb-export :complete org-b= bdb-complete-link
:store org-bbdb-store-link)
=C2=A0 =C2=A0 =C2= =A0 ("w3m" :store org-w3m-store-link) ("file+sys") (&qu= ot;file+emacs")
=C2=A0 =C2=A0 =C2=A0 ("shell" :follow = org-link--open-shell)
=C2=A0 =C2=A0 =C2=A0 ("news" :follow<= br> #[514 "\301\300\302 Q \"\207" ["news" browse= -url ":"] 6 "\n\n(fn URL ARG)"])
=C2=A0 =C2=A0 = =C2=A0 ("mailto" :follow
#[514 "\301\300\302 Q \"= \207" ["mailto" browse-url ":"] 6 "\n\n(fn UR= L ARG)"])
=C2=A0 =C2=A0 =C2=A0 ("https" :follow
= #[514 "\301\300\302 Q \"\207" ["https" browse-url = ":"] 6 "\n\n(fn URL ARG)"])
=C2=A0 =C2=A0 =C2=A0 = ("http" :follow
#[514 "\301\300\302 Q \"\207"= ; ["http" browse-url ":"] 6 "\n\n(fn URL ARG)"= ;])
=C2=A0 =C2=A0 =C2=A0 ("ftp" :follow
#[514 "\= 301\300\302 Q \"\207" ["ftp" browse-url ":"] = 6 "\n\n(fn URL ARG)"])
=C2=A0 =C2=A0 =C2=A0 ("help&quo= t; :follow org-link--open-help) ("file" :complete org-link-comple= te-file)
=C2=A0 =C2=A0 =C2=A0 ("elisp" :follow org-link--op= en-elisp) ("doi" :follow org-link--open-doi))
=C2=A0org-agenda= -skip-scheduled-if-done t
=C2=A0org-link-elisp-confirm-function 'yes= -or-no-p
=C2=A0org-edna-mode t
=C2=A0org-directory "~/OneDrive/D= ocuments/usr/org/"
=C2=A0org-agenda-skip-deadline-if-done t
=C2= =A0org-agenda-start-on-weekday 7
=C2=A0org-default-notes-file "notes.org"
=C2=A0)

<= /div>
backtrace:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

Debugger entered--Lisp error: (error "Recursive load&= quot; "c:/Users/Mario/.emacs.d/elpa/org-20201216/org-duration.elc"= ; "c:/Users/Mario/.emacs.d/elpa/org-20201216/org-duration.elc" &q= uot;c:/Users/Mario/.emacs.d/elpa/org-20201216/org-duration.elc" "= c:/Users/Mario/.emacs.d/elpa/org-20201216/org-duration.elc" "c:/U= sers/Mario/.emacs.d/elpa/org-20201216/org-duration.elc")
=C2=A0 org-duration-set-regexps()
=C2=A0 #f(compiled-function (var val)= #<bytecode 0x21a37a9>)(org-duration-units (("m" . 1) (&quo= t;h" . 60) ("d" . 1440) ("w" . 10080) ("mon&q= uot; . 43200) ("y" . 525960.0)))
=C2=A0 custom-initialize-chan= ged(org-duration-units (funcall (function #f(compiled-function () #<byte= code 0x21a3795>))))
=C2=A0 custom-declare-variable(org-duration-units= (funcall (function #f(compiled-function () #<bytecode 0x21a3795>))) = "Conversion factor to minutes for a duration.\n\nEach entry has the fo= rm (UNIT . MODIFIER).\n\nIn a duration string, a number followed by UNIT is= multiplied by\nthe specified number of MODIFIER to obtain a duration in mi= nutes.\n\nFor example, the following value\n\n =C2=A0\\=3D`((\"min\&qu= ot; . 1)\n =C2=A0 =C2=A0(\"h\" . 60)\n =C2=A0 =C2=A0(\"d\&qu= ot; . ,(* 60 8))\n =C2=A0 =C2=A0(\"w\" . ,(* 60 8 5))\n =C2=A0 = =C2=A0(\"m\" . ,(* 60 8 5 4))\n =C2=A0 =C2=A0(\"y\" . ,= (* 60 8 5 4 10)))\n\nis meaningful if you work an average of 8 hours per da= y, 5 days\na week, 4 weeks a month and 10 months a year.\n\nWhen setting th= is variable outside the Customize interface, make\nsure to call the followi= ng command:\n\n =C2=A0\\[org-duration-set-regexps]" :group org-agenda = :version "26.1" :package-version (Org . "9.1") :set #f(= compiled-function (var val) #<bytecode 0x21a37a9>) :initialize custom= -initialize-changed :type (choice (const :tag "H:MM" h:mm) (const= :tag "H:MM:SS" h:mm:ss) (alist :key-type (string :tag "Unit= ") :value-type (number :tag "Modifier"))))
=C2=A0 byte-co= de("\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315\316\317= \320\321&\017\210\300\322\302\303\323DD\324\306\325\306\326\312\327\320= \330&\013\207" [custom-declare-variable org-duration-units funcall= function #f(compiled-function () #<bytecode 0x21a3795>) "Conver= sion factor to minutes for a duration.\n\nEach entry has the form (UNIT . M= ODIFIER).\n\nIn a duration string, a number followed by UNIT is multiplied = by\nthe specified number of MODIFIER to obtain a duration in minutes.\n\nFo= r example, the following value\n\n =C2=A0\\=3D`((\"min\" . 1)\n = =C2=A0 =C2=A0(\"h\" . 60)\n =C2=A0 =C2=A0(\"d\" . ,(* 6= 0 8))\n =C2=A0 =C2=A0(\"w\" . ,(* 60 8 5))\n =C2=A0 =C2=A0(\"= ;m\" . ,(* 60 8 5 4))\n =C2=A0 =C2=A0(\"y\" . ,(* 60 8 5 4 1= 0)))\n\nis meaningful if you work an average of 8 hours per day, 5 days\na = week, 4 weeks a month and 10 months a year.\n\nWhen setting this variable o= utside the Customize interface, make\nsure to call the following command:\n= \n =C2=A0\\[org-duration-set-regexps]" :group org-agenda :version &quo= t;26.1" :package-version (Org . "9.1") :set #f(compiled-func= tion (var val) #<bytecode 0x21a37a9>) :initialize custom-initialize-c= hanged :type (choice (const :tag "H:MM" h:mm) (const :tag "H= :MM:SS" h:mm:ss) (alist :key-type (string :tag "Unit") :valu= e-type (number :tag "Modifier"))) org-duration-format #f(compiled= -function () #<bytecode 0x21a37b5>) "Format definition for a dur= ation.\n\nThe value can be set to, respectively, the symbols `h:mm:ss' = or\n`h:mm', which means a duration is expressed as, respectively,\na \&= quot;H:MM:SS\" or \"H:MM\" string.\n\nAlternatively, the val= ue can be a list of entries following the\npattern:\n\n =C2=A0(UNIT . REQUI= RED?)\n\nUNIT is a unit string, as defined in `org-duration-units'.=C2= =A0 The\ntime duration is formatted using only the time components that\nar= e specified here.\n\nUnits with a zero value are skipped, unless REQUIRED? = is non-nil.\nIn that case, the unit is always used.\n\nThe list can also co= ntain one of the following special entries:\n\n =C2=A0(special . h:mm)\n = =C2=A0(special . h:mm:ss)\n\n =C2=A0 =C2=A0Units shorter than an hour are i= gnored.=C2=A0 The hours and\n =C2=A0 =C2=A0minutes part of the duration is = expressed unconditionally\n =C2=A0 =C2=A0with H:MM, or H:MM:SS, pattern.\n\= n =C2=A0(special . PRECISION)\n\n =C2=A0 =C2=A0A duration is expressed with= a single unit, PRECISION being\n =C2=A0 =C2=A0the number of decimal places= to show.=C2=A0 The unit chosen is the\n =C2=A0 =C2=A0first one required or= with a non-zero integer part.=C2=A0 If there\n =C2=A0 =C2=A0is no such uni= t, the smallest one is used.\n\nEventually, if the list contains the symbol= `compact', the\nduration is expressed in a compact form, without any w= hite space\nbetween units.\n\nFor example,\n\n =C2=A0 ((\"d\" . n= il) (\"h\" . t) (\"min\" . t))\n\nmeans a duration long= er than a day is expressed in days, hours\nand minutes, whereas a duration = shorter than a day is always\nexpressed in hours and minutes, even when sho= rter than an hour.\n\nOn the other hand, the value\n\n =C2=A0((\"d\&qu= ot; . nil) (\"min\" . nil))\n\nmeans a duration longer than a day= is expressed in days and\nminutes, whereas a duration shorter than a day i= s expressed\nentirely in minutes, even when longer than an hour.\n\nThe fol= lowing format\n\n =C2=A0((\"d\" . nil) (special . h:mm))\n\nmeans= that any duration longer than a day is expressed with both\na \"d\&qu= ot; unit and a \"H:MM\" part, whereas a duration shorter than\na = day is expressed only as a \"H:MM\" string.\n\nEventually,\n\n = =C2=A0((\"d\" . nil) (\"h\" . nil) (special . 2))\n\nex= presses a duration longer than a day as a decimal number, with\na 2-digits = fractional part, of \"d\" unit.=C2=A0 A duration shorter\nthan a = day uses \"h\" unit instead." org-time org-clock (Org . &quo= t;9.1") (choice (const :tag "Use H:MM" h:mm) (const :tag &qu= ot;Use H:MM:SS" h:mm:ss) (repeat :tag "Use units" (choice (c= ons :tag "Use units" (string :tag "Unit") (choice (cons= t :tag "Skip when zero" nil) (const :tag "Always used" = t))) (cons :tag "Use a single decimal unit" (const special) (inte= ger :tag "Number of decimals")) (cons :tag "Use both units a= nd H:MM" (const special) (const h:mm)) (cons :tag "Use both units= and H:MM:SS" (const special) (const h:mm:ss)) (const :tag "Use c= ompact form" compact))))] 16)
=C2=A0 org-duration-set-regexps()
= =C2=A0 #f(compiled-function (var val) #<bytecode 0x21a371d>)(org-dura= tion-units (("m" . 1) ("h" . 60) ("d" . 1440)= ("w" . 10080) ("mon" . 43200) ("y" . 525960.= 0)))
=C2=A0 custom-initialize-changed(org-duration-units (funcall (funct= ion #f(compiled-function () #<bytecode 0x2103d5d>))))
=C2=A0 custo= m-declare-variable(org-duration-units (funcall (function #f(compiled-functi= on () #<bytecode 0x2103d5d>))) "Conversion factor to minutes for= a duration.\n\nEach entry has the form (UNIT . MODIFIER).\n\nIn a duration= string, a number followed by UNIT is multiplied by\nthe specified number o= f MODIFIER to obtain a duration in minutes.\n\nFor example, the following v= alue\n\n =C2=A0\\=3D`((\"min\" . 1)\n =C2=A0 =C2=A0(\"h\&quo= t; . 60)\n =C2=A0 =C2=A0(\"d\" . ,(* 60 8))\n =C2=A0 =C2=A0(\&quo= t;w\" . ,(* 60 8 5))\n =C2=A0 =C2=A0(\"m\" . ,(* 60 8 5 4))\= n =C2=A0 =C2=A0(\"y\" . ,(* 60 8 5 4 10)))\n\nis meaningful if yo= u work an average of 8 hours per day, 5 days\na week, 4 weeks a month and 1= 0 months a year.\n\nWhen setting this variable outside the Customize interf= ace, make\nsure to call the following command:\n\n =C2=A0\\[org-duration-se= t-regexps]" :group org-agenda :version "26.1" :package-versi= on (Org . "9.1") :set #f(compiled-function (var val) #<bytecod= e 0x2103d71>) :initialize custom-initialize-changed :type (choice (const= :tag "H:MM" h:mm) (const :tag "H:MM:SS" h:mm:ss) (alis= t :key-type (string :tag "Unit") :value-type (number :tag "M= odifier"))))
=C2=A0 byte-code("\300\301\302\303\304DD\305\306\= 307\310\311\312\313\314\315\316\317\320\321&\017\210\300\322\302\303\32= 3DD\324\306\325\306\326\312\327\320\330&\013\207" [custom-declare-= variable org-duration-units funcall function #f(compiled-function () #<b= ytecode 0x2103d5d>) "Conversion factor to minutes for a duration.\n= \nEach entry has the form (UNIT . MODIFIER).\n\nIn a duration string, a num= ber followed by UNIT is multiplied by\nthe specified number of MODIFIER to = obtain a duration in minutes.\n\nFor example, the following value\n\n =C2= =A0\\=3D`((\"min\" . 1)\n =C2=A0 =C2=A0(\"h\" . 60)\n = =C2=A0 =C2=A0(\"d\" . ,(* 60 8))\n =C2=A0 =C2=A0(\"w\" = . ,(* 60 8 5))\n =C2=A0 =C2=A0(\"m\" . ,(* 60 8 5 4))\n =C2=A0 = =C2=A0(\"y\" . ,(* 60 8 5 4 10)))\n\nis meaningful if you work an= average of 8 hours per day, 5 days\na week, 4 weeks a month and 10 months = a year.\n\nWhen setting this variable outside the Customize interface, make= \nsure to call the following command:\n\n =C2=A0\\[org-duration-set-regexps= ]" :group org-agenda :version "26.1" :package-version (Org .= "9.1") :set #f(compiled-function (var val) #<bytecode 0x2103d= 71>) :initialize custom-initialize-changed :type (choice (const :tag &qu= ot;H:MM" h:mm) (const :tag "H:MM:SS" h:mm:ss) (alist :key-ty= pe (string :tag "Unit") :value-type (number :tag "Modifier&q= uot;))) org-duration-format #f(compiled-function () #<bytecode 0x2103d7d= >) "Format definition for a duration.\n\nThe value can be set to, r= espectively, the symbols `h:mm:ss' or\n`h:mm', which means a durati= on is expressed as, respectively,\na \"H:MM:SS\" or \"H:MM\&= quot; string.\n\nAlternatively, the value can be a list of entries followin= g the\npattern:\n\n =C2=A0(UNIT . REQUIRED?)\n\nUNIT is a unit string, as d= efined in `org-duration-units'.=C2=A0 The\ntime duration is formatted u= sing only the time components that\nare specified here.\n\nUnits with a zer= o value are skipped, unless REQUIRED? is non-nil.\nIn that case, the unit i= s always used.\n\nThe list can also contain one of the following special en= tries:\n\n =C2=A0(special . h:mm)\n =C2=A0(special . h:mm:ss)\n\n =C2=A0 = =C2=A0Units shorter than an hour are ignored.=C2=A0 The hours and\n =C2=A0 = =C2=A0minutes part of the duration is expressed unconditionally\n =C2=A0 = =C2=A0with H:MM, or H:MM:SS, pattern.\n\n =C2=A0(special . PRECISION)\n\n = =C2=A0 =C2=A0A duration is expressed with a single unit, PRECISION being\n = =C2=A0 =C2=A0the number of decimal places to show.=C2=A0 The unit chosen is= the\n =C2=A0 =C2=A0first one required or with a non-zero integer part.=C2= =A0 If there\n =C2=A0 =C2=A0is no such unit, the smallest one is used.\n\nE= ventually, if the list contains the symbol `compact', the\nduration is = expressed in a compact form, without any white space\nbetween units.\n\nFor= example,\n\n =C2=A0 ((\"d\" . nil) (\"h\" . t) (\"= ;min\" . t))\n\nmeans a duration longer than a day is expressed in day= s, hours\nand minutes, whereas a duration shorter than a day is always\nexp= ressed in hours and minutes, even when shorter than an hour.\n\nOn the othe= r hand, the value\n\n =C2=A0((\"d\" . nil) (\"min\" . n= il))\n\nmeans a duration longer than a day is expressed in days and\nminute= s, whereas a duration shorter than a day is expressed\nentirely in minutes,= even when longer than an hour.\n\nThe following format\n\n =C2=A0((\"= d\" . nil) (special . h:mm))\n\nmeans that any duration longer than a = day is expressed with both\na \"d\" unit and a \"H:MM\"= part, whereas a duration shorter than\na day is expressed only as a \"= ;H:MM\" string.\n\nEventually,\n\n =C2=A0((\"d\" . nil) (\&q= uot;h\" . nil) (special . 2))\n\nexpresses a duration longer than a da= y as a decimal number, with\na 2-digits fractional part, of \"d\"= unit.=C2=A0 A duration shorter\nthan a day uses \"h\" unit inste= ad." org-time org-clock (Org . "9.1") (choice (const :tag &q= uot;Use H:MM" h:mm) (const :tag "Use H:MM:SS" h:mm:ss) (repe= at :tag "Use units" (choice (cons :tag "Use units" (str= ing :tag "Unit") (choice (const :tag "Skip when zero" n= il) (const :tag "Always used" t))) (cons :tag "Use a single = decimal unit" (const special) (integer :tag "Number of decimals&q= uot;)) (cons :tag "Use both units and H:MM" (const special) (cons= t h:mm)) (cons :tag "Use both units and H:MM:SS" (const special) = (const h:mm:ss)) (const :tag "Use compact form" compact))))] 16)<= br>=C2=A0 org-duration-set-regexps()
=C2=A0 #f(compiled-function (var va= l) #<bytecode 0x2103ce5>)(org-duration-units (("m" . 1) (&q= uot;h" . 60) ("d" . 1440) ("w" . 10080) ("mon= " . 43200) ("y" . 525960.0)))
=C2=A0 custom-initialize-ch= anged(org-duration-units (funcall (function #f(compiled-function () #<by= tecode 0x2097659>))))
=C2=A0 custom-declare-variable(org-duration-uni= ts (funcall (function #f(compiled-function () #<bytecode 0x2097659>))= ) "Conversion factor to minutes for a duration.\n\nEach entry has the = form (UNIT . MODIFIER).\n\nIn a duration string, a number followed by UNIT = is multiplied by\nthe specified number of MODIFIER to obtain a duration in = minutes.\n\nFor example, the following value\n\n =C2=A0\\=3D`((\"min\&= quot; . 1)\n =C2=A0 =C2=A0(\"h\" . 60)\n =C2=A0 =C2=A0(\"d\&= quot; . ,(* 60 8))\n =C2=A0 =C2=A0(\"w\" . ,(* 60 8 5))\n =C2=A0 = =C2=A0(\"m\" . ,(* 60 8 5 4))\n =C2=A0 =C2=A0(\"y\" . ,= (* 60 8 5 4 10)))\n\nis meaningful if you work an average of 8 hours per da= y, 5 days\na week, 4 weeks a month and 10 months a year.\n\nWhen setting th= is variable outside the Customize interface, make\nsure to call the followi= ng command:\n\n =C2=A0\\[org-duration-set-regexps]" :group org-agenda = :version "26.1" :package-version (Org . "9.1") :set #f(= compiled-function (var val) #<bytecode 0x209766d>) :initialize custom= -initialize-changed :type (choice (const :tag "H:MM" h:mm) (const= :tag "H:MM:SS" h:mm:ss) (alist :key-type (string :tag "Unit= ") :value-type (number :tag "Modifier"))))
=C2=A0 byte-co= de("\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315\316\317= \320\321&\017\210\300\322\302\303\323DD\324\306\325\306\326\312\327\320= \330&\013\207" [custom-declare-variable org-duration-units funcall= function #f(compiled-function () #<bytecode 0x2097659>) "Conver= sion factor to minutes for a duration.\n\nEach entry has the form (UNIT . M= ODIFIER).\n\nIn a duration string, a number followed by UNIT is multiplied = by\nthe specified number of MODIFIER to obtain a duration in minutes.\n\nFo= r example, the following value\n\n =C2=A0\\=3D`((\"min\" . 1)\n = =C2=A0 =C2=A0(\"h\" . 60)\n =C2=A0 =C2=A0(\"d\" . ,(* 6= 0 8))\n =C2=A0 =C2=A0(\"w\" . ,(* 60 8 5))\n =C2=A0 =C2=A0(\"= ;m\" . ,(* 60 8 5 4))\n =C2=A0 =C2=A0(\"y\" . ,(* 60 8 5 4 1= 0)))\n\nis meaningful if you work an average of 8 hours per day, 5 days\na = week, 4 weeks a month and 10 months a year.\n\nWhen setting this variable o= utside the Customize interface, make\nsure to call the following command:\n= \n =C2=A0\\[org-duration-set-regexps]" :group org-agenda :version &quo= t;26.1" :package-version (Org . "9.1") :set #f(compiled-func= tion (var val) #<bytecode 0x209766d>) :initialize custom-initialize-c= hanged :type (choice (const :tag "H:MM" h:mm) (const :tag "H= :MM:SS" h:mm:ss) (alist :key-type (string :tag "Unit") :valu= e-type (number :tag "Modifier"))) org-duration-format #f(compiled= -function () #<bytecode 0x2097679>) "Format definition for a dur= ation.\n\nThe value can be set to, respectively, the symbols `h:mm:ss' = or\n`h:mm', which means a duration is expressed as, respectively,\na \&= quot;H:MM:SS\" or \"H:MM\" string.\n\nAlternatively, the val= ue can be a list of entries following the\npattern:\n\n =C2=A0(UNIT . REQUI= RED?)\n\nUNIT is a unit string, as defined in `org-duration-units'.=C2= =A0 The\ntime duration is formatted using only the time components that\nar= e specified here.\n\nUnits with a zero value are skipped, unless REQUIRED? = is non-nil.\nIn that case, the unit is always used.\n\nThe list can also co= ntain one of the following special entries:\n\n =C2=A0(special . h:mm)\n = =C2=A0(special . h:mm:ss)\n\n =C2=A0 =C2=A0Units shorter than an hour are i= gnored.=C2=A0 The hours and\n =C2=A0 =C2=A0minutes part of the duration is = expressed unconditionally\n =C2=A0 =C2=A0with H:MM, or H:MM:SS, pattern.\n\= n =C2=A0(special . PRECISION)\n\n =C2=A0 =C2=A0A duration is expressed with= a single unit, PRECISION being\n =C2=A0 =C2=A0the number of decimal places= to show.=C2=A0 The unit chosen is the\n =C2=A0 =C2=A0first one required or= with a non-zero integer part.=C2=A0 If there\n =C2=A0 =C2=A0is no such uni= t, the smallest one is used.\n\nEventually, if the list contains the symbol= `compact', the\nduration is expressed in a compact form, without any w= hite space\nbetween units.\n\nFor example,\n\n =C2=A0 ((\"d\" . n= il) (\"h\" . t) (\"min\" . t))\n\nmeans a duration long= er than a day is expressed in days, hours\nand minutes, whereas a duration = shorter than a day is always\nexpressed in hours and minutes, even when sho= rter than an hour.\n\nOn the other hand, the value\n\n =C2=A0((\"d\&qu= ot; . nil) (\"min\" . nil))\n\nmeans a duration longer than a day= is expressed in days and\nminutes, whereas a duration shorter than a day i= s expressed\nentirely in minutes, even when longer than an hour.\n\nThe fol= lowing format\n\n =C2=A0((\"d\" . nil) (special . h:mm))\n\nmeans= that any duration longer than a day is expressed with both\na \"d\&qu= ot; unit and a \"H:MM\" part, whereas a duration shorter than\na = day is expressed only as a \"H:MM\" string.\n\nEventually,\n\n = =C2=A0((\"d\" . nil) (\"h\" . nil) (special . 2))\n\nex= presses a duration longer than a day as a decimal number, with\na 2-digits = fractional part, of \"d\" unit.=C2=A0 A duration shorter\nthan a = day uses \"h\" unit instead." org-time org-clock (Org . &quo= t;9.1") (choice (const :tag "Use H:MM" h:mm) (const :tag &qu= ot;Use H:MM:SS" h:mm:ss) (repeat :tag "Use units" (choice (c= ons :tag "Use units" (string :tag "Unit") (choice (cons= t :tag "Skip when zero" nil) (const :tag "Always used" = t))) (cons :tag "Use a single decimal unit" (const special) (inte= ger :tag "Number of decimals")) (cons :tag "Use both units a= nd H:MM" (const special) (const h:mm)) (cons :tag "Use both units= and H:MM:SS" (const special) (const h:mm:ss)) (const :tag "Use c= ompact form" compact))))] 16)
=C2=A0 org-duration-set-regexps()
= =C2=A0 #f(compiled-function (var val) #<bytecode 0x2243219>)(org-dura= tion-units (("m" . 1) ("h" . 60) ("d" . 1440)= ("w" . 10080) ("mon" . 43200) ("y" . 525960.= 0)))
=C2=A0 custom-initialize-changed(org-duration-units (funcall (funct= ion #f(compiled-function () #<bytecode 0x2243205>))))
=C2=A0 custo= m-declare-variable(org-duration-units (funcall (function #f(compiled-functi= on () #<bytecode 0x2243205>))) "Conversion factor to minutes for= a duration.\n\nEach entry has the form (UNIT . MODIFIER).\n\nIn a duration= string, a number followed by UNIT is multiplied by\nthe specified number o= f MODIFIER to obtain a duration in minutes.\n\nFor example, the following v= alue\n\n =C2=A0\\=3D`((\"min\" . 1)\n =C2=A0 =C2=A0(\"h\&quo= t; . 60)\n =C2=A0 =C2=A0(\"d\" . ,(* 60 8))\n =C2=A0 =C2=A0(\&quo= t;w\" . ,(* 60 8 5))\n =C2=A0 =C2=A0(\"m\" . ,(* 60 8 5 4))\= n =C2=A0 =C2=A0(\"y\" . ,(* 60 8 5 4 10)))\n\nis meaningful if yo= u work an average of 8 hours per day, 5 days\na week, 4 weeks a month and 1= 0 months a year.\n\nWhen setting this variable outside the Customize interf= ace, make\nsure to call the following command:\n\n =C2=A0\\[org-duration-se= t-regexps]" :group org-agenda :version "26.1" :package-versi= on (Org . "9.1") :set #f(compiled-function (var val) #<bytecod= e 0x2243219>) :initialize custom-initialize-changed :type (choice (const= :tag "H:MM" h:mm) (const :tag "H:MM:SS" h:mm:ss) (alis= t :key-type (string :tag "Unit") :value-type (number :tag "M= odifier"))))
=C2=A0 byte-code("\300\301\302\303\304DD\305\306\= 307\310\311\312\313\314\315\316\317\320\321&\017\210\300\322\302\303\32= 3DD\324\306\325\306\326\312\327\320\330&\013\207" [custom-declare-= variable org-duration-units funcall function #f(compiled-function () #<b= ytecode 0x2243205>) "Conversion factor to minutes for a duration.\n= \nEach entry has the form (UNIT . MODIFIER).\n\nIn a duration string, a num= ber followed by UNIT is multiplied by\nthe specified number of MODIFIER to = obtain a duration in minutes.\n\nFor example, the following value\n\n =C2= =A0\\=3D`((\"min\" . 1)\n =C2=A0 =C2=A0(\"h\" . 60)\n = =C2=A0 =C2=A0(\"d\" . ,(* 60 8))\n =C2=A0 =C2=A0(\"w\" = . ,(* 60 8 5))\n =C2=A0 =C2=A0(\"m\" . ,(* 60 8 5 4))\n =C2=A0 = =C2=A0(\"y\" . ,(* 60 8 5 4 10)))\n\nis meaningful if you work an= average of 8 hours per day, 5 days\na week, 4 weeks a month and 10 months = a year.\n\nWhen setting this variable outside the Customize interface, make= \nsure to call the following command:\n\n =C2=A0\\[org-duration-set-regexps= ]" :group org-agenda :version "26.1" :package-version (Org .= "9.1") :set #f(compiled-function (var val) #<bytecode 0x22432= 19>) :initialize custom-initialize-changed :type (choice (const :tag &qu= ot;H:MM" h:mm) (const :tag "H:MM:SS" h:mm:ss) (alist :key-ty= pe (string :tag "Unit") :value-type (number :tag "Modifier&q= uot;))) org-duration-format #f(compiled-function () #<bytecode 0x20975ed= >) "Format definition for a duration.\n\nThe value can be set to, r= espectively, the symbols `h:mm:ss' or\n`h:mm', which means a durati= on is expressed as, respectively,\na \"H:MM:SS\" or \"H:MM\&= quot; string.\n\nAlternatively, the value can be a list of entries followin= g the\npattern:\n\n =C2=A0(UNIT . REQUIRED?)\n\nUNIT is a unit string, as d= efined in `org-duration-units'.=C2=A0 The\ntime duration is formatted u= sing only the time components that\nare specified here.\n\nUnits with a zer= o value are skipped, unless REQUIRED? is non-nil.\nIn that case, the unit i= s always used.\n\nThe list can also contain one of the following special en= tries:\n\n =C2=A0(special . h:mm)\n =C2=A0(special . h:mm:ss)\n\n =C2=A0 = =C2=A0Units shorter than an hour are ignored.=C2=A0 The hours and\n =C2=A0 = =C2=A0minutes part of the duration is expressed unconditionally\n =C2=A0 = =C2=A0with H:MM, or H:MM:SS, pattern.\n\n =C2=A0(special . PRECISION)\n\n = =C2=A0 =C2=A0A duration is expressed with a single unit, PRECISION being\n = =C2=A0 =C2=A0the number of decimal places to show.=C2=A0 The unit chosen is= the\n =C2=A0 =C2=A0first one required or with a non-zero integer part.=C2= =A0 If there\n =C2=A0 =C2=A0is no such unit, the smallest one is used.\n\nE= ventually, if the list contains the symbol `compact', the\nduration is = expressed in a compact form, without any white space\nbetween units.\n\nFor= example,\n\n =C2=A0 ((\"d\" . nil) (\"h\" . t) (\"= ;min\" . t))\n\nmeans a duration longer than a day is expressed in day= s, hours\nand minutes, whereas a duration shorter than a day is always\nexp= ressed in hours and minutes, even when shorter than an hour.\n\nOn the othe= r hand, the value\n\n =C2=A0((\"d\" . nil) (\"min\" . n= il))\n\nmeans a duration longer than a day is expressed in days and\nminute= s, whereas a duration shorter than a day is expressed\nentirely in minutes,= even when longer than an hour.\n\nThe following format\n\n =C2=A0((\"= d\" . nil) (special . h:mm))\n\nmeans that any duration longer than a = day is expressed with both\na \"d\" unit and a \"H:MM\"= part, whereas a duration shorter than\na day is expressed only as a \"= ;H:MM\" string.\n\nEventually,\n\n =C2=A0((\"d\" . nil) (\&q= uot;h\" . nil) (special . 2))\n\nexpresses a duration longer than a da= y as a decimal number, with\na 2-digits fractional part, of \"d\"= unit.=C2=A0 A duration shorter\nthan a day uses \"h\" unit inste= ad." org-time org-clock (Org . "9.1") (choice (const :tag &q= uot;Use H:MM" h:mm) (const :tag "Use H:MM:SS" h:mm:ss) (repe= at :tag "Use units" (choice (cons :tag "Use units" (str= ing :tag "Unit") (choice (const :tag "Skip when zero" n= il) (const :tag "Always used" t))) (cons :tag "Use a single = decimal unit" (const special) (integer :tag "Number of decimals&q= uot;)) (cons :tag "Use both units and H:MM" (const special) (cons= t h:mm)) (cons :tag "Use both units and H:MM:SS" (const special) = (const h:mm:ss)) (const :tag "Use compact form" compact))))] 16)<= br>=C2=A0 org-duration-to-minutes("5h")
=C2=A0 org-refresh-pro= perty(((effort . identity) (effort-minutes . org-duration-to-minutes)) &quo= t;5h" nil)
=C2=A0 org-refresh-properties("Effort" ((effor= t . identity) (effort-minutes . org-duration-to-minutes)))
=C2=A0 org-re= fresh-effort-properties()
=C2=A0 org-agenda-prepare-buffers(("~/One= Drive/Documents/usr/org/Diary.org"))
=C2=A0 org-agenda-prepare(&quo= t;Day/Week")
=C2=A0 org-agenda-list(nil)
=C2=A0 funcall-interact= ively(org-agenda-list nil)
=C2=A0 call-interactively(org-agenda-list)=C2=A0 org-agenda(nil)
=C2=A0 funcall-interactively(org-agenda nil)
= =C2=A0 call-interactively(org-agenda nil nil)
=C2=A0 command-execute(org= -agenda)
--0000000000006ebaed05b6fba43f--