| Server IP : 217.160.0.212 / Your IP : 216.73.216.15 Web Server : Apache System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/share/emacs/28.2/lisp/org/ |
Upload File : |
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.
(byte-code "\300\301!\210\300\302!\210\300\303!\207" [require cl-lib org org-refile] 2)
#@49 Internal flag, noting if the clock was started.
(defvar org-capture-clock-was-started nil (#$ . 172))
#@71 Marker pointing to the entry most recently stored with `org-capture'.
(defvar org-capture-last-stored-marker (make-marker) (#$ . 280))
(defvar org-capture-link-is-already-stored nil)
#@52 Non-nil when capture process is refiling an entry.
(defvar org-capture-is-refiling nil (#$ . 469))
#@46 Hash table for all history lists per prompt.
(defvar org-capture--prompt-history-table (make-hash-table :test 'equal) (#$ . 574))
#@39 History list for prompt placeholders.
(defvar org-capture--prompt-history nil (#$ . 710))
(custom-declare-group 'org-capture nil "Options concerning capturing new entries." :tag "Org Capture" :group 'org)
#@253 Update the template list to the new format.
TEMPLATES is a template list, as in `org-capture-templates'. The
new format unifies all the date/week tree targets into one that
also allows for an optional outline path to specify a target.
(fn TEMPLATES)
(defalias 'org-capture-upgrade-templates #[257 "\300\301\"\211\232\204 \302\303!\210\207" [mapcar #[257 "\211:\203\327 \211\242\243\211:\203\325 \211\242\243\211:\203\323 \211\242\243\211:\203\320 \211\242\211:\203\315 \211\242\211\300\267\202\312 \243\243\211:\203N \211\242\243\n \301BBBBBB\207\n\207\243\243\211:\203u \211\242\243\n \301B\302\303BBBBBBB\207\n\207\243\243\211:\203\234 \211\242\243\n \301B\304\305BBBBBBB\207\n\207\243\243\211:\203\307 \211\242\243\n \301B\304\305\302\303 BBBBBBBBB\207\n\207\207\207\207\207\207\207" [#s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (file+datetree 47 file+datetree+prompt 81 file+weektree 120 file+weektree+prompt 159)) file+olp+datetree :time-prompt t :tree-type week] 23 "\n\n(fn ENTRY)"] message "Deprecated date/weektree capture templates changed to `file+olp+datetree'."] 4 (#$ . 922)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\317\324\331\323\324\332\333\257\334\323\324\335\336\337BBBBB\323\324\340\341\342BBBBB\323\324\343\344\345BBBBB\323\324\346\347\350BBBBB\323\324\351\352\353BBBBB\354BBBBBBBBBB\355BBBBBBB\257D\262&\210\300\356\302\303\357DD\360\306\307\361\362\314\363& \210\300\364\302\303\365DD\366\306\307\361\362\314\363& \210\300\367\302\303\370DD\371\306\307\361\362\314\363& \210\300\372\302\303\373DD\374\306\307\361\375\314\376& \207" [custom-declare-variable org-capture-templates funcall function #[0 "\300\207" [nil] 1 #1=""] "Templates for the creation of new entries.\n\nEach entry is a list with the following items:\n\nkeys The keys that will select the template, as a string, characters\n only, for example \"a\" for a template to be selected with a\n single key, or \"bt\" for selection with two keys. When using\n several keys, keys using the same prefix key must be together\n in the list and preceded by a 2-element entry explaining the\n prefix key, for example\n\n (\"b\" \"Templates for marking stuff to buy\")\n\n The \"C\" key is used by default for quick access to the\n customization of the template variable. But if you want to use\n that key for a template, you can.\n\ndescription A short string describing the template, will be shown during\n selection.\n\ntype The type of entry. Valid types are:\n entry an Org node, with a headline. Will be filed\n as the child of the target entry or as a\n top-level entry. Its default template is:\n \"* %?\n %a\"\n item a plain list item, will be placed in the\n first plain list at the target location.\n Its default template is:\n \"- %?\"\n checkitem a checkbox item. This differs from the\n plain list item only in so far as it uses a\n different default template. Its default\n template is:\n \"- [ ] %?\"\n table-line a new line in the first table at target location.\n Its default template is:\n \"| %? |\"\n plain text to be inserted as it is.\n\ntarget Specification of where the captured item should be placed.\n In Org files, targets usually define a node. Entries will\n become children of this node, other types will be added to the\n table or list in the body of this node.\n\n Most target specifications contain a file name. If that file\n name is the empty string, it defaults to `org-default-notes-file'.\n A file can also be given as a variable or as a function called\n with no argument. When an absolute path is not specified for a\n target, it is taken as relative to `org-directory'.\n\n Valid values are:\n\n (file \"path/to/file\")\n Text will be placed at the beginning or end of that file\n\n (id \"id of existing Org entry\")\n File as child of this entry, or in the body of the entry\n\n (file+headline \"path/to/file\" \"node headline\")\n Fast configuration if the target heading is unique in the file\n\n (file+olp \"path/to/file\" \"Level 1 heading\" \"Level 2\" ...)\n For non-unique headings, the full outline path is safer\n\n (file+regexp \"path/to/file\" \"regexp to find location\")\n File to the entry matching regexp\n\n (file+olp+datetree \"path/to/file\" \"Level 1 heading\" ...)\n Will create a heading in a date tree for today's date.\n If no heading is given, the tree will be on top level.\n To prompt for date instead of using TODAY, use the\n :time-prompt property. To create a week-tree, use the\n :tree-type property.\n\n (file+function \"path/to/file\" function-finding-location)\n A function to find the right location in the file\n\n (clock)\n File to the entry that is currently being clocked\n\n (function function-finding-location)\n Most general way: write your own function which both visits\n the file and moves point to the right location\n\ntemplate The template for creating the capture item.\n If it is an empty string or nil, a default template based on\n the entry type will be used (see the \"type\" section above).\n Instead of a string, this may also be one of:\n\n (file \"/path/to/template-file\")\n (function function-returning-the-template)\n\n in order to get a template from a file, or dynamically\n from a function.\n\nThe rest of the entry is a property list of additional options. Recognized\nproperties are:\n\n :prepend Normally newly captured information will be appended at\n the target location (last child, last table line,\n last list item...). Setting this property will\n change that.\n\n :immediate-finish When set, do not offer to edit the information, just\n file it away immediately. This makes sense if the\n template only needs information that can be added\n automatically.\n\n :jump-to-captured When set, jump to the captured entry when finished.\n\n :refile-targets When exiting capture mode via `org-capture-refile', the\n variable `org-refile-targets' will be temporarily bound\n to the value of this property.\n\n :empty-lines Set this to the number of lines that should be inserted\n before and after the new item. Default 0, only common\n other value is 1.\n\n :empty-lines-before Set this to the number of lines that should be inserted\n before the new item. Overrides :empty-lines for the\n number lines inserted before.\n\n :empty-lines-after Set this to the number of lines that should be inserted\n after the new item. Overrides :empty-lines for the\n number of lines inserted after.\n\n :clock-in Start the clock in this item.\n\n :clock-keep Keep the clock running when filing the captured entry.\n\n :clock-resume Start the interrupted clock when finishing the capture.\n Note that :clock-keep has precedence over :clock-resume.\n When setting both to t, the current clock will run and\n the previous one will not be resumed.\n\n :time-prompt Prompt for a date/time to be used for date/week trees\n and when filling the template.\n\n :tree-type When `week', make a week tree instead of the month-day\n tree. When `month', make a month tree instead of the\n month-day tree.\n\n :unnarrowed Do not narrow the target buffer, simply show the\n full buffer. Default is to narrow it so that you\n only see the new stuff.\n\n :table-line-pos Specification of the location in the table where the\n new line should be inserted. It should be a string like\n \"II-3\", meaning that the new line should become the\n third line before the second horizontal separator line.\n\n :kill-buffer If the target file was not yet visited by a buffer when\n capture was invoked, kill the buffer again after capture\n is finalized.\n\n :no-save Do not save the target file after finishing the capture.\n\nThe template defines the text to be inserted. Often this is an\nOrg mode entry (so the first line should start with a star) that\nwill be filed as a child of the target headline. It can also be\nfreely formatted text. Furthermore, the following %-escapes will\nbe replaced with content and expanded:\n\n %[pathname] Insert the contents of the file given by\n `pathname'. These placeholders are expanded at the very\n beginning of the process so they can be used to extend the\n current template.\n %(sexp) Evaluate elisp `(sexp)' and replace it with the results.\n Only placeholders pre-existing within the template, or\n introduced with %[pathname] are expanded this way.\n Since this happens after expanding non-interactive\n %-escapes, those can be used to fill the expression.\n %<...> The result of `format-time-string' on the ... format\n specification.\n %t Time stamp, date only. The time stamp is the current\n time, except when called from agendas with\n `\\[org-agenda-capture]' or with\n `org-capture-use-agenda-date' set.\n %T Time stamp as above, with date and time.\n %u, %U Like the above, but inactive time stamps.\n %i Initial content, copied from the active region. If\n there is text before %i on the same line, such as\n indentation, and %i is not inside a %(sexp), that prefix\n will be added before every line in the inserted text.\n %a Annotation, normally the link created with `org-store-link'.\n %A Like %a, but prompt for the description part.\n %l Like %a, but only insert the literal link.\n %L Like %l, but without brackets (the link content itself).\n %c Current kill ring head.\n %x Content of the X clipboard.\n %k Title of currently clocked task.\n %K Link to currently clocked task.\n %n User name (taken from the variable `user-full-name').\n %f File visited by current buffer when `org-capture' was called.\n %F Full path of the file or directory visited by current buffer.\n %:keyword Specific information for certain link types, see below.\n %^g Prompt for tags, with completion on tags in target file.\n %^G Prompt for tags, with completion on all tags in all agenda files.\n %^t Like %t, but prompt for date. Similarly %^T, %^u, %^U.\n You may define a prompt like: %^{Please specify birthday}t.\n The default date is that of %t, see above.\n %^C Interactive selection of which kill or clip to use.\n %^L Like %^C, but insert as link.\n %^{prop}p Prompt the user for a value for property `prop'.\n A default value can be specified like this:\n %^{prop|default}p.\n %^{prompt} Prompt the user for a string and replace this sequence with it.\n A default value and a completion table can be specified like this:\n %^{prompt|default|completion2|completion3|...}.\n %? After completing the template, position cursor here.\n %\\1 ... %\\N Insert the text entered at the nth %^{prompt}, where N\n is a number, starting from 1.\n\nApart from these general escapes, you can access information specific to\nthe link type that is created. For example, calling `org-capture' in emails\nor in Gnus will record the author and the subject of the message, which you\ncan access with \"%:from\" and \"%:subject\", respectively. Here is a\ncomplete list of what is recorded for each link type.\n\nLink type | Available information\n------------------------+------------------------------------------------------\nbbdb | %:type %:name %:company\nvm, wl, mh, mew, rmail, | %:type %:subject %:message-id\ngnus | %:from %:fromname %:fromaddress\n | %:to %:toname %:toaddress\n | %:fromto (either \"to NAME\" or \"from NAME\")\n | %:date %:date-timestamp (as active timestamp)\n | %:date-timestamp-inactive (as inactive timestamp)\ngnus | %:group, for messages also all email fields\neww, w3, w3m | %:type %:url\ninfo | %:type %:file %:node\ncalendar | %:type %:date\n\nWhen you need to insert a literal percent sign in the template,\nyou can escape ambiguous cases with a backward slash, e.g., \\%i." :group org-capture :package-version (Org . "9.5") :set #[514 "\300!L\207" [org-capture-upgrade-templates] 5 "\n\n(fn S V)"] :type (choice :tag "Filename " (file :tag "Literal") (function :tag "Function") (variable :tag "Variable") (sexp :tag "Form")) repeat choice :value (#1# #1# entry (file "~/org/notes.org") #1#) (list :tag "Multikey description" (string :tag "Keys ") (string :tag "Description")) list :tag "Template entry" (string :tag "Keys ") (string :tag "Description ") (choice :tag "Capture Type " :value entry (const :tag "Org entry" entry) (const :tag "Plain list item" item) (const :tag "Checkbox item" checkitem) (const :tag "Plain text" plain) (const :tag "Table line" table-line)) "Target location" "File" (const :format #1# file) (list :tag "ID" (const :format #1# id) (string :tag " ID")) "File & Headline" (const :format #1# file+headline) ((string :tag " Headline")) "File & Outline path" (const :format #1# file+olp) ((repeat :tag "Outline path" :inline t (string :tag "Headline"))) "File & Regexp" (const :format #1# file+regexp) ((regexp :tag " Regexp")) "File [ & Outline path ] & Date tree" (const :format #1# file+olp+datetree) ((option (repeat :tag "Outline path" :inline t (string :tag "Headline")))) "File & function" (const :format #1# file+function) ((sexp :tag " Function")) ((list :tag "Current clocking task" (const :format #1# clock)) (list :tag "Function" (const :format #1# function) (sexp :tag " Function"))) ((choice :tag "Template " (string) (list :tag "File" (const :format #1# file) (file :tag "Template file")) (list :tag "Function" (const :format #1# function) (function :tag "Template function"))) (plist :inline t :options (((const :format "%v " :prepend) (const t)) ((const :format "%v " :immediate-finish) (const t)) ((const :format "%v " :jump-to-captured) (const t)) ((const :format "%v " :empty-lines) (const 1)) ((const :format "%v " :empty-lines-before) (const 1)) ((const :format "%v " :empty-lines-after) (const 1)) ((const :format "%v " :clock-in) (const t)) ((const :format "%v " :clock-keep) (const t)) ((const :format "%v " :clock-resume) (const t)) ((const :format "%v " :time-prompt) (const t)) ((const :format "%v " :tree-type) (const week)) ((const :format "%v " :unnarrowed) (const t)) ((const :format "%v " :table-line-pos) (string)) ((const :format "%v " :kill-buffer) (const t))))) org-capture-before-finalize-hook #[0 "\300\207" [nil] 1 #1#] "Hook that is run right before a capture process is finalized.\nThe capture buffer is still current when this hook runs and it is\nwidened to the entire buffer." :version "24.1" hook org-capture-after-finalize-hook #[0 "\300\207" [nil] 1 #1#] "Hook that is run right after a capture process is finalized.\nSuitable for window cleanup." org-capture-prepare-finalize-hook #[0 "\300\207" [nil] 1 #1#] "Hook that is run before the finalization starts.\nThe capture buffer is current and still narrowed." org-capture-bookmark #[0 "\300\207" [t] 1 #1#] "When non-nil, add bookmark pointing at the last stored position when capturing." "24.3" boolean] 38)
#@76 Plist for the current capture process, global, to avoid having to pass it.
(defvar org-capture-plist nil (#$ . 18202))
#@352 Local variable holding the plist in a capture buffer.
This is used to store the plist for use when finishing a capture process
because another such process might have changed the global variable by then.
Each time a new capture buffer has been set up, the global `org-capture-plist'
is copied to this variable, which is local in the indirect buffer.
(defvar org-capture-current-plist nil (#$ . 18328))
#@136 Local variable to store the value of the :clock-keep parameter.
This is needed in case `org-capture-finalize' is called interactively.
(defvar org-capture-clock-keep nil (#$ . 18738))
#@85 Add ELEMENTS to the capture property list `org-capture-plist'.
(fn &rest ELEMENTS)
(defalias 'org-capture-put #[128 "\211\205 \301\211A\262\242\211A\262\242#\202 \207" [org-capture-plist plist-put] 6 (#$ . 18928)])
#@287 Get PROPERTY from the capture property list `org-capture-plist'.
When LOCAL is set, use the local variable `org-capture-current-plist',
this is necessary after initialization of the capture process,
to avoid conflicts with other active capture processes.
(fn PROPERTY &optional LOCAL)
(defalias 'org-capture-get #[513 "\302\203 \202\n \"\207" [org-capture-current-plist org-capture-plist plist-get] 5 (#$ . 19159)])
#@137 Keymap for `org-capture-mode', a minor mode.
Use this map to set additional keybindings for when Org mode is used
for a capture buffer.
(defvar org-capture-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\207" [make-sparse-keymap define-key "" org-capture-finalize "" org-capture-kill "" org-capture-refile] 5) (#$ . 19588))
#@45 Hook for the `org-capture-mode' minor mode.
(defvar org-capture-mode-hook nil (#$ . 19957))
#@101 Non-nil if Org-Capture mode is enabled.
Use the command `org-capture-mode' to change this variable.
(defvar org-capture-mode nil (#$ . 20056))
(make-variable-buffer-local 'org-capture-mode)
#@683 Minor mode for special key bindings in a capture buffer.
This is a minor mode. If called interactively, toggle the
`Org-Capture mode' mode. If the prefix argument is positive, enable
the mode, and if it is zero or negative, disable the mode.
If called from Lisp, toggle the mode if ARG is `toggle'. Enable the
mode if ARG is nil, omitted, or is a positive number. Disable the
mode if ARG is a negative number.
To check whether the minor mode is enabled in the current buffer,
evaluate `org-capture-mode'.
The mode's hook is called both when the mode is enabled and when it is
disabled.
Turning on this mode runs the normal hook `org-capture-mode-hook'.
(fn &optional ARG)
(defalias 'org-capture-mode #[256 "\303 \304=\203
?\202 \247\203 \305W\203 \306\202 \307\310\301!\2031 \311\300 \"\2031 \300 B\312\302!\210\313\314!\315\316\203C \317\202D \320\"\210\321\322!\203f \303 \203X \211\303 \232\203f \323\324\203b \325\202c \326\327#\210\210\330 \210\207" [org-capture-mode local-minor-modes header-line-format current-message toggle 1 nil t boundp delq make-local-variable substitute-command-keys "\\<org-capture-mode-map>Capture buffer. Finish `\\[org-capture-finalize]', refile `\\[org-capture-refile]', abort `\\[org-capture-kill]'." run-hooks org-capture-mode-hook org-capture-mode-on-hook org-capture-mode-off-hook called-interactively-p any message "Org-Capture mode %sabled%s" "en" "dis" " in current buffer" force-mode-line-update] 6 (#$ . 20253) (byte-code "\203\n \301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar org-capture-mode-hook nil)
(byte-code "\301\302N\204\f \303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\313\314\300!\205# \310\211%\207" [org-capture-mode-map org-capture-mode-hook variable-documentation put "Hook run after entering or leaving `org-capture-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode org-capture-mode " Cap" boundp] 6)
(defvar org-capture-initial nil)
(defvar org-capture-entry nil)
#@80 Capture STRING with the template selected by KEYS.
(fn STRING &optional KEYS)
(defalias 'org-capture-string #[513 "\302!\303 *\207" [org-capture-entry org-capture-initial org-capture-select-template org-capture] 5 (#$ . 22414) "sInitial text: \n"])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313& \210\300\314\302\303\315DD\316\310\311\306\307\312\317& \207" [custom-declare-variable org-capture-templates-contexts funcall function #[0 "\300\207" [nil] 1 #1=""] "Alist of capture templates and valid contexts.\n\nFor example, if you have a capture template \"c\" and you want\nthis template to be accessible only from `message-mode' buffers,\nuse this:\n\n \\='((\"c\" ((in-mode . \"message-mode\"))))\n\nHere are the available contexts definitions:\n\n in-file: command displayed only in matching files\n in-mode: command displayed only in matching modes\n not-in-file: command not displayed in matching files\n not-in-mode: command not displayed in matching modes\n in-buffer: command displayed only in matching buffers\nnot-in-buffer: command not displayed in matching buffers\n [function]: a custom function taking no argument\n\nIf you define several checks, the agenda command will be\naccessible if there is at least one valid check.\n\nYou can also bind a key to another capture template depending on\ncontextual rules.\n\n \\='((\"c\" \"d\" ((in-mode . \"message-mode\"))))\n\nHere it means: in `message-mode buffers', use \"c\" as the\nkey for the capture template otherwise associated with \"d\".\n(The template originally associated with \"d\" is not displayed\nto avoid duplicates.)" :version "24.3" :group org-capture :type (repeat (list :tag "Rule" (string :tag " Capture key") (string :tag "Replace by template") (repeat :tag "Available when" (choice (cons :tag "Condition" (choice (const :tag "In file" in-file) (const :tag "Not in file" not-in-file) (const :tag "In buffer" in-buffer) (const :tag "Not in buffer" not-in-buffer) (const :tag "In mode" in-mode) (const :tag "Not in mode" not-in-mode)) (regexp)) (function :tag "Custom function"))))) org-capture-use-agenda-date #[0 "\300\207" [nil] 1 #1#] "Non-nil means use the date at point when capturing from agendas.\nWhen nil, you can still capture using the date at point with\n`\\[org-agenda-capture]'." boolean] 10)
#@1261 Capture something.
\<org-capture-mode-map>
This will let you select a template from `org-capture-templates', and
then file the newly captured information. The text is immediately
inserted at the target location, and an indirect buffer is shown where
you can edit it. Pressing `\[org-capture-finalize]' brings you back to the previous
state of Emacs, so that you can continue your work.
When called interactively with a `\[universal-argument]' prefix argument GOTO, don't
capture anything, just go to the file/headline where the selected
template stores its notes.
With a `\[universal-argument] \[universal-argument]' prefix argument, go to the last note stored.
When called with a `C-0' (zero) prefix, insert a template at point.
When called with a `C-1' (one) prefix, force prompting for a date when
a datetree entry is made.
ELisp programs can set KEYS to a string associated with a template
in `org-capture-templates'. In this case, interactive selection
will be bypassed.
If `org-capture-use-agenda-date' is non-nil, capturing from the
agenda will use the date at point as the default date. Then, a
`C-1' prefix will tell the capture process to use the HH:MM time
of the day at point (if any) or the current HH:MM time.
(fn &optional GOTO KEYS)
(defalias 'org-capture #[512 "\203 \306=\203 \307\310=!\311\267\202 \312!\207\313 \207p\314\303!\203/ \203/ \315\f\316\"\202<