Hey everyone,

In the manual and a few other places I noticed references to ‘printf’
formatting despite the Emacs ‘format’ being used.  While ‘format’
draws heavily from ‘printf’ it has some important differences, so I
think it’s clearer to refer to it instead.  For example, ‘format’ uses
multi-precision numeric types so you’re not limited to, e.g. 64-bit
integers:

| 0XFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF |
#+TBLFM: $1=2^128-1;%#X

#+begin_src shell
printf "%#X\n" 340282366920938463463374607431768211455
#+end_src

#+RESULTS:
: 0XFFFFFFFFFFFFFFFF

I think I’ve corrected all the relevant parts in the attached patch.

>From fd9947716404cbce324e8df2c825208d24b6d999 Mon Sep 17 00:00:00 2001
From: "Jacob S. Gordon" <[email protected]>
Date: Thu, 11 Dec 2025 15:30:19 -0500
Subject: [PATCH v1] Correct mentions of 'printf' to 'format'

The manual and documentation strings discuss 'printf' formatting and
limitations thereof, despite actually using the Emacs 'format'.

* doc/org-manual.org (Formula syntax for Calc)
(Emacs Lisp forms as formulas): Refer to 'format' instead of 'printf'.
Remove footnote about 'printf' precision and renumber remaining notes.
* doc/orgcard.tex (Spreadsheet): Remove 'printf'.
* lisp/org-agenda.el (org-agenda-prefix-format): Remove 'printf'.
* lisp/org-colview.el (org-columns--displayed-value)
(org-columns-uncompile-format, org-columns-compile-format)
(org-columns--compute-spec, org-columns--summary-sum)
(org-columns--summary-min, org-columns--summary-max)
(org-columns--summary-mean, org-agenda-colview-summarize): Rename
'printf' component of the column format and associated variables.
* lisp/org.el (org-heading-keyword-regexp-format)
(org-heading-keyword-maybe-regexp-format)
(org-complex-heading-regexp-format): Refer to 'format' in doc string.
* lisp/ox-latex.el (org-latex-active-timestamp-format)
(org-latex-inactive-timestamp-format)
(org-latex-diary-timestamp-format): Refer to 'format' in doc string.
* lisp/ox-texinfo.el (org-texinfo-active-timestamp-format)
(org-texinfo-inactive-timestamp-format)
(org-texinfo-diary-timestamp-format): Refer to 'format' in doc string.
* testing/lisp/test-org-colview.el (test-org-colview/uncompile-format)
(test-org-colview/compile-format): Update comments.
* testing/lisp/test-org-table.el (test-org-table/sub-total): Refer to
'format' in doc string.
---
 doc/org-manual.org               | 214 +++++++++++++++----------------
 doc/orgcard.tex                  |   2 +-
 lisp/org-agenda.el               |   9 +-
 lisp/org-colview.el              |  50 ++++----
 lisp/org.el                      |   6 +-
 lisp/ox-latex.el                 |   6 +-
 lisp/ox-texinfo.el               |   6 +-
 testing/lisp/test-org-colview.el |   4 +-
 testing/lisp/test-org-table.el   |   4 +-
 9 files changed, 147 insertions(+), 154 deletions(-)

diff --git a/doc/org-manual.org b/doc/org-manual.org
index 89fe6b392..f00367b92 100644
--- a/doc/org-manual.org
+++ b/doc/org-manual.org
@@ -2241,11 +2241,9 @@ *** Formula syntax for Calc
 
   Literal, for Lisp formulas only.  See the next section.
 
-Unless you use large integer numbers or high-precision calculation and
-display for floating point numbers you may alternatively provide
-a ~printf~ format specifier to reformat the Calc result after it has
-been passed back to Org instead of letting Calc already do the
-formatting[fn:9].  A few examples:
+You may also provide a ~format~ specifier to reformat the Calc result
+after it has been passed back to Org instead of letting Calc handle
+the formatting.  A few examples:
 
 | =$1+$2=            | Sum of first and second field                    |
 | =$1+$2;%.2f=       | Same, format result to two decimals              |
@@ -2254,7 +2252,7 @@ *** Formula syntax for Calc
 | =($3-32)*5/9=      | Degrees F \to C conversion                         |
 | =$c/$1/$cm=        | Hz \to cm conversion, using =constants.el=         |
 | =tan($1);Dp3s1=    | Compute in degrees, precision 3, display SCI 1   |
-| =sin($1);Dp3%.1e=  | Same, but use ~printf~ specifier for display     |
+| =sin($1);Dp3%.1e=  | Same, but use ~format~ specifier for display     |
 | =vmean($2..$7)=    | Compute column range mean, using vector function |
 | =vmean($2..$7);EN= | Same, but treat empty fields as 0                |
 | =taylor($3,x=7,2)= | Taylor series of $3, at x=7, second degree       |
@@ -2314,7 +2312,7 @@ *** Emacs Lisp forms as formulas
 single-quote followed by an opening parenthesis.  Cell table
 references are interpolated into the Lisp form before execution.  The
 evaluation should return either a string or a number.  Evaluation
-modes and a ~printf~ format used to render the returned values can be
+modes and a ~format~ string used to render the returned values can be
 specified after a semicolon.
 
 By default, references are interpolated as literal Lisp strings: the
@@ -3158,7 +3156,7 @@ ** Link Format
 #+cindex: angle bracket links
 #+cindex: plain links
 Org recognizes plain URIs, possibly wrapped within angle
-brackets[fn:10], and activate them as clickable links.
+brackets[fn:9], and activate them as clickable links.
 
 #+cindex: bracket links
 The general link format, however, looks like this:
@@ -3228,7 +3226,7 @@ ** Internal Links
 a document.  Most notably, a construct like =[[#my-custom-id]]=
 specifically targets the entry with the =CUSTOM_ID= property set to
 =my-custom-id=.  Also, an internal link looking like =[[*Some
-section]]= points to a headline with the name =Some section=[fn:11].
+section]]= points to a headline with the name =Some section=[fn:10].
 
 #+cindex: targets, for links
 When the link does not belong to any of the cases above, Org looks for
@@ -3426,7 +3424,7 @@ ** External Links
 |            | =/ssh:[email protected]:papers/last.pdf= (same as above)               |
 |            | =file:sometextfile::NNN= (jump to line number)                     |
 |            | =file:projects.org=                                                |
-|            | =file:projects.org::some words= (text search)[fn:12]               |
+|            | =file:projects.org::some words= (text search)[fn:11]               |
 |            | =file:projects.org::*task title= (headline search)                 |
 |            | =file:projects.org::#custom-id= (headline search)                  |
 | attachment | =attachment:projects.org=                                          |
@@ -3612,11 +3610,11 @@ ** Handling Links
   #+cindex: completion, of links
   #+cindex: inserting links
   #+vindex: org-link-keep-stored-after-insertion
-  Insert a link[fn:13].  This prompts for a link to be inserted into
+  Insert a link[fn:12].  This prompts for a link to be inserted into
   the buffer.  You can just type a link, using text for an internal
   link, or one of the link type prefixes mentioned in the examples
   above.  The link is inserted into the buffer, along with
-  a descriptive text[fn:14].  If some text was selected at this time,
+  a descriptive text[fn:13].  If some text was selected at this time,
   it becomes the default description.
 
   - /Inserting stored links/ ::
@@ -4444,7 +4442,7 @@ *** Tracking TODO state changes
 You not only define global TODO keywords and fast access keys, but
 also request that a time is recorded when the entry is set to =DONE=,
 and that a note is recorded when switching to =WAIT= or
-=CANCELED=[fn:15].  The setting for =WAIT= is even more special: the
+=CANCELED=[fn:14].  The setting for =WAIT= is even more special: the
 =!= after the slash means that in addition to the note taken when
 entering the state, a timestamp should be recorded when /leaving/ the
 =WAIT= state, if and only if the /target/ state does not configure
@@ -4744,7 +4742,7 @@ ** Checkboxes
 #+cindex: checkboxes
 
 #+vindex: org-list-automatic-rules
-Every item in a plain list[fn:16] (see [[*Plain Lists]]) can be made into
+Every item in a plain list[fn:15] (see [[*Plain Lists]]) can be made into
 a checkbox by starting it with the string =[ ]=.  This feature is
 similar to TODO items (see [[*TODO Items]]), but is more lightweight.
 Checkboxes are not included into the global TODO list, so they are
@@ -5548,7 +5546,7 @@ ** Special Properties
 | =PRIORITY=     | The priority of the entry, a string with a single letter.      |
 | =SCHEDULED=    | The scheduling timestamp.                                      |
 | =TAGS=         | The tags defined directly in the headline.                     |
-| =TIMESTAMP=    | The first active keyword-less timestamp in the entry.[fn:17]   |
+| =TIMESTAMP=    | The first active keyword-less timestamp in the entry.[fn:16]   |
 | =TIMESTAMP_IA= | The first inactive keyword-less timestamp in the entry.        |
 | =TODO=         | The TODO keyword of the entry.                                 |
 
@@ -5775,7 +5773,7 @@ **** Column attributes
   | =:min=   | Smallest time value in column.                        |
   | =:max=   | Largest time value.                                   |
   | =:mean=  | Arithmetic mean of time values.                       |
-  | =@min=   | Minimum age[fn:18] (in days/hours/mins/seconds).      |
+  | =@min=   | Minimum age[fn:17] (in days/hours/mins/seconds).      |
   | =@max=   | Maximum age (in days/hours/mins/seconds).             |
   | =@mean=  | Arithmetic mean of ages (in days/hours/mins/seconds). |
   | =est+=   | Add low-high estimates.                               |
@@ -6200,7 +6198,7 @@ ** Timestamps
 
 A timestamp is a specification of a date---possibly with a time or
 time range---in a special format, either =<2003-09-16 Tue>= or
-=<2003-09-16 Tue 09:39>= or =<2003-09-16 Tue 12:00-12:30>=[fn:19].
+=<2003-09-16 Tue 09:39>= or =<2003-09-16 Tue 12:00-12:30>=[fn:18].
 A timestamp can appear anywhere in the headline or body of an Org tree
 entry.  Its presence causes entries to be shown on specific dates in
 the agenda (see [[*Weekly/daily agenda]]).  We distinguish:
@@ -6250,7 +6248,7 @@ ** Timestamps
 
   For more complex date specifications, Org mode supports using the
   special expression diary entries implemented in the
-  [[info:emacs#Special Diary Entries][Emacs Calendar package]][fn:20].
+  [[info:emacs#Special Diary Entries][Emacs Calendar package]][fn:19].
   For example, with optional time:
 
   #+begin_example
@@ -6420,7 +6418,7 @@ *** The date/time prompt
 information, Org mode assumes that most of the time you want to enter
 a date in the future: if you omit the month/year and the given
 day/month is /before/ today, it assumes that you mean a future
-date[fn:21].  If the date has been automatically shifted into the
+date[fn:20].  If the date has been automatically shifted into the
 future, the time prompt shows this with =(=>F)=.
 
 For example, let's assume that today is *June 13, 2006*.  Here is how
@@ -6520,7 +6518,7 @@ *bold*.
 | {{{kbd(<)}}}         | Scroll calendar backward by one month. |
 | {{{kbd(M-v)}}}       | Scroll calendar forward by 3 months.   |
 | {{{kbd(C-v)}}}       | Scroll calendar backward by 3 months.  |
-| {{{kbd(C-.)}}}       | Select today's date[fn:22]             |
+| {{{kbd(C-.)}}}       | Select today's date[fn:21]             |
 
 #+vindex: org-read-date-display-live
 The actions of the date/time prompt may seem complex, but I assure you
@@ -6622,7 +6620,7 @@ ** Deadlines and Scheduling
   date.
 
   #+vindex: org-agenda-skip-scheduled-if-done
-  The headline is listed under the given date[fn:23].  In addition,
+  The headline is listed under the given date[fn:22].  In addition,
   a reminder that the scheduled date has passed is present in the
   compilation for /today/, until the entry is marked as done, i.e.,
   the task is automatically forwarded until completed.
@@ -6674,7 +6672,7 @@ *** Inserting deadlines or schedules
 :END:
 
 The following commands allow you to quickly insert a deadline or to
-schedule an item:[fn:24]
+schedule an item:[fn:23]
 
 - {{{kbd(C-c C-d)}}} (~org-deadline~) ::
 
@@ -6740,7 +6738,7 @@ *** Repeated tasks
 
 Some tasks need to be repeated again and again.  Org mode helps to
 organize such tasks using a so-called repeater in a =DEADLINE=,
-=SCHEDULED=, or plain timestamps[fn:25].  In the following example:
+=SCHEDULED=, or plain timestamps[fn:24].  In the following example:
 
 #+begin_example
 ,** TODO Pay the rent
@@ -6787,7 +6785,7 @@ *** Repeated tasks
 i.e., ~org-todo~ with a numeric prefix argument of =-1=.
 
 #+vindex: org-log-repeat
-A timestamp[fn:26] is added under the deadline, to keep a record that
+A timestamp[fn:25] is added under the deadline, to keep a record that
 you actually acted on the previous instance of this deadline.
 
 As a consequence of shifting the base date, this entry is no longer
@@ -6857,7 +6855,7 @@ ** Clocking Work Time
 clock.  When you stop working on that task, or when you mark the task
 done, the clock is stopped and the corresponding time interval is
 recorded.  It also computes the total time spent on each
-subtree[fn:27] of a project.  And it remembers a history or tasks
+subtree[fn:26] of a project.  And it remembers a history or tasks
 recently clocked, so that you can jump quickly between a number of
 tasks absorbing your time.
 
@@ -7131,7 +7129,7 @@ *** The clock table
   | =thisweek=, =lastweek=, =thisweek-N=    | a relative week       |
   | =thismonth=, =lastmonth=, =thismonth-N= | a relative month      |
   | =thisyear=, =lastyear=, =thisyear-N=    | a relative year       |
-  | =untilnow=[fn:28]                       | all clocked time ever |
+  | =untilnow=[fn:27]                       | all clocked time ever |
 
   #+vindex: org-clock-display-default-range
   When this option is not set, Org falls back to the value in
@@ -7337,7 +7335,7 @@ **** Resolving idle time
 #+vindex: org-clock-x11idle-program-name
 By customizing the variable ~org-clock-idle-time~ to some integer,
 such as 10 or 15, Emacs can alert you when you get back to your
-computer after being idle for that many minutes[fn:29], and ask what
+computer after being idle for that many minutes[fn:28], and ask what
 you want to do with the idle time.  There will be a question waiting
 for you when you get back, indicating how much idle time has passed
 constantly updated with the current amount, as well as a set of
@@ -8141,7 +8139,7 @@ **** Template elements
 
   - =(file+olp+datetree <file-spec> symbol-containing-list-of-strings)= ::
 
-    This target[fn:30] creates a heading in a date tree[fn:31] for
+    This target[fn:29] creates a heading in a date tree[fn:30] for
     today's date.  If the optional outline path is given, the tree
     will be built under the node it is pointing to, instead of at top
     level.  Check out the ~:time-prompt~ and ~:tree-type~ properties
@@ -8465,7 +8463,7 @@ **** Template expansion
 |              | =%:date= (message date header field)                     |
 |              | =%:date-timestamp= (date as active timestamp)            |
 |              | =%:date-timestamp-inactive= (date as inactive timestamp) |
-|              | =%:fromto= (either "to NAME" or "from NAME")[fn:32]      |
+|              | =%:fromto= (either "to NAME" or "from NAME")[fn:31]      |
 | gnus         | =%:group=, for messages also all email fields            |
 | w3, w3m      | =%:url=                                                  |
 | info         | =%:file=, =%:node=                                       |
@@ -9132,7 +9130,7 @@ *** Weekly/daily agenda
   #+cindex: org-agenda, command
   Compile an agenda for the current week from a list of Org files.
   The agenda shows the entries for each day.  With a numeric prefix
-  argument[fn:33]---like {{{kbd(C-u 2 1 M-x org-agenda a)}}}---you may
+  argument[fn:32]---like {{{kbd(C-u 2 1 M-x org-agenda a)}}}---you may
   set the number of days to be displayed.
 
 #+vindex: org-agenda-span
@@ -9820,7 +9818,7 @@ *** Filtering/limiting agenda items
 entries.
 
 /Filters/ only change the visibility of items, are very fast and are
-mostly used interactively[fn:34].  You can switch quickly between
+mostly used interactively[fn:33].  You can switch quickly between
 different filters without having to recreate the agenda.  /Limits/ on
 the other hand take effect before the agenda buffer is populated, so
 they are mostly useful when defined as local variables within custom
@@ -10906,7 +10904,7 @@ *** Storing searches
 
 - {{{kbd(x)}}} ::
 
-  as a global search for agenda entries planned[fn:35] this week/day.
+  as a global search for agenda entries planned[fn:34] this week/day.
 
 - {{{kbd(y)}}} ::
 
@@ -11092,7 +11090,7 @@ ** Exporting Agenda Views
 to install Hrvoje Nikšić's =htmlize.el= as an Emacs package from
 [[https://elpa.nongnu.org/][NonGNU ELPA]] or from
 [[https://github.com/hniksic/emacs-htmlize][Hrvoje Nikšić's repository]].],
-Postscript, PDF[fn:36], and iCalendar files.  If you
+Postscript, PDF[fn:35], and iCalendar files.  If you
 want to do this only occasionally, use the following command:
 
 - {{{kbd(C-x C-w)}}} (~org-agenda-write~) ::
@@ -11519,7 +11517,7 @@ ** Embedded LaTeX
 
 Plain ASCII is normally sufficient for almost all note-taking.
 Exceptions include scientific notes, which often require mathematical
-symbols and the occasional formula.  LaTeX[fn:37] is widely used to
+symbols and the occasional formula.  LaTeX[fn:36] is widely used to
 typeset scientific documents.  Org mode supports embedding LaTeX code
 into its files, because many academics are used to writing and reading
 LaTeX source code, and because it can be readily processed to produce
@@ -11541,7 +11539,7 @@ *** LaTeX fragments
 LaTeX fragments do not need any special marking at all.  The following
 snippets are identified as LaTeX source code:
 
-- Environments of any kind[fn:38].  The only requirement is that the
+- Environments of any kind[fn:37].  The only requirement is that the
   =\begin= statement appears on a new line, preceded by only
   whitespace.
 
@@ -11590,7 +11588,7 @@ *** Previewing LaTeX fragments
 
 #+vindex: org-preview-latex-default-process
 If you have a working LaTeX installation and =dvipng=, =dvisvgm= or
-=convert= installed[fn:39], LaTeX fragments can be processed to
+=convert= installed[fn:38], LaTeX fragments can be processed to
 produce images of the typeset expressions to be used for inclusion
 while exporting to HTML (see [[*LaTeX fragments]]), or for inline
 previewing within Org mode.
@@ -11747,9 +11745,9 @@ ** Literal Examples
 #+vindex: org-latex-src-block-backend
 If the example is source code from a programming language, or any
 other text that can be marked up by Font Lock in Emacs, you can ask
-for the example to look like the fontified Emacs buffer[fn:40].  This
+for the example to look like the fontified Emacs buffer[fn:39].  This
 is done with the code block, where you also need to specify the name
-of the major mode that should be used to fontify the example[fn:41],
+of the major mode that should be used to fontify the example[fn:40],
 see [[*Structure Templates]] for shortcuts to easily insert code blocks.
 
 #+cindex: @samp{BEGIN_SRC}
@@ -12071,7 +12069,7 @@ ** Creating Footnotes
 #+begin_example
 The Org website[fn:1] now looks a lot better than it used to.
 ...
-[fn:50] The link is: https://orgmode.org
+[fn:49] The link is: https://orgmode.org
 #+end_example
 
 Org mode extends the number-based syntax to /named/ footnotes and
@@ -12360,7 +12358,7 @@ ** Export Settings
   Language to use for translating certain strings
   (~org-export-default-language~).  With =#+LANGUAGE: fr=, for
   example, Org translates =Table of contents= to the French =Table des
-  matières=[fn:42].
+  matières=[fn:41].
 
 - =SELECT_TAGS= ::
 
@@ -12661,7 +12659,7 @@ ** Table of Contents
 #+cindex: excluding entries from table of contents
 #+cindex: table of contents, exclude entries
 Org includes both numbered and unnumbered headlines in the table of
-contents[fn:43].  If you need to exclude an unnumbered headline,
+contents[fn:42].  If you need to exclude an unnumbered headline,
 along with all its children, set the =UNNUMBERED= property to =notoc=
 value.
 
@@ -12779,7 +12777,7 @@ ** Include Files
 | =#+INCLUDE: "~/.emacs" :lines "10-"=  | Include lines from 10 to EOF       |
 
 Inclusions may specify a file-link to extract an object matched by
-~org-link-search~[fn:44] (see [[*Search Options in File Links]]).  The
+~org-link-search~[fn:43] (see [[*Search Options in File Links]]).  The
 ranges for =:lines= keyword are relative to the requested element.
 Therefore,
 
@@ -12821,7 +12819,7 @@ ** Macro Replacement
 : #+MACRO: name   replacement text; $1, $2 are arguments
 
 #+texinfo: @noindent
-which can be referenced using ={{{name(arg1, arg2)}}}=[fn:45].  For
+which can be referenced using ={{{name(arg1, arg2)}}}=[fn:44].  For
 example
 
 #+begin_example
@@ -13218,7 +13216,7 @@ *** Frames and Blocks in Beamer
 
 - Org exports a Beamer frame's objects as block environments.  Org can
   enforce wrapping in special block types when =BEAMER_ENV= property
-  is set[fn:46].  For valid values see
+  is set[fn:45].  For valid values see
   ~org-beamer-environments-default~.  To add more values, see
   ~org-beamer-environments-extra~.
   #+vindex: org-beamer-environments-default
@@ -13850,7 +13848,7 @@ *** Math formatting in HTML export
 with Org[fn:: By default, Org loads MathJax from
 [[https://www.jsdelivr.com/][jsDelivr]], as recommended in
 [[https://docs.mathjax.org/en/latest/web/start.html][Getting Started
-with MathJax Components]].][fn:47].  Some MathJax options can be
+with MathJax Components]].][fn:46].  Some MathJax options can be
 configured via ~org-html-mathjax-options~, or in the buffer.  For
 example, with the following settings,
 
@@ -14175,7 +14173,7 @@ *** LaTeX/PDF export commands
 Org file.  See the docstring for the
 ~org-latex-default-packages-alist~ for loading packages with certain
 compilers.  Also see ~org-latex-bibtex-compiler~ to set the
-bibliography compiler[fn:48].
+bibliography compiler[fn:47].
 
 *** LaTeX specific export settings
 :PROPERTIES:
@@ -18886,7 +18884,7 @@ *** How to evaluate source code
 
 #+cindex: @samp{CALL}, keyword
 #+vindex: org-babel-inline-result-wrap
-By calling a named code block[fn:49] from an Org mode buffer or
+By calling a named code block[fn:48] from an Org mode buffer or
 a table.  Org can call the named code blocks from the current Org mode
 buffer or from the "Library of Babel" (see [[*Library of Babel]]).
 
@@ -19094,7 +19092,7 @@ *** Collection
 
 - =value= ::
 
-  Default for most Babel libraries[fn:49].  Functional mode.  Org
+  Default for most Babel libraries[fn:48].  Functional mode.  Org
   gets the value by wrapping the code in a function definition in the
   language of the source block.  That is why when using =:results
   value=, code should execute like a function and return a value.  For
@@ -19957,7 +19955,7 @@ ** Noweb Reference Syntax
 #+end_example
 
 Note that noweb expansion does not automatically carry over =:var=
-header arguments[fn:50].
+header arguments[fn:49].
 
 You may also include the contents of multiple blocks sharing a common
 =noweb-ref= header argument, which can be set at the file, subtree,
@@ -20499,7 +20497,7 @@ *** Org Indent Mode
 To display the buffer in the indented view, activate Org Indent minor
 mode, using {{{kbd(M-x org-indent-mode)}}}.  Text lines that are not
 headlines are prefixed with virtual spaces to vertically align with
-the headline text[fn:51].
+the headline text[fn:50].
 
 #+vindex: org-indent-indentation-per-level
 To make more horizontal space, the headlines are shifted by two
@@ -20527,7 +20525,7 @@ *** Hard indentation
 
 It is possible to use hard spaces to achieve the indentation instead,
 if the bare ASCII file should have the indented look also outside
-Emacs[fn:52].  With Org's support, you have to indent all lines to
+Emacs[fn:51].  With Org's support, you have to indent all lines to
 line up with the outline headers.  You would use these settings[fn::
 ~org-adapt-indentation~ can also be set to ='headline-data=, in which
 case only data lines below the headline will be indented.]:
@@ -21694,7 +21692,7 @@ *** Setting up the staging area
 
 #+vindex: org-mobile-directory
 The mobile application needs access to a file directory on
-a server[fn:53] to interact with Emacs.  Pass its location through
+a server[fn:52] to interact with Emacs.  Pass its location through
 the ~org-mobile-directory~ variable.  If you can mount that directory
 locally just set the variable to point to that directory:
 
@@ -21738,7 +21736,7 @@ *** Pushing to the mobile application
 targets.].
 
 Push creates a special Org file =agendas.org= with custom agenda views
-defined by the user[fn:54].
+defined by the user[fn:53].
 
 Finally, Org writes the file =index.org=, containing links to other
 files.  The mobile application reads this file first from the server
@@ -22213,7 +22211,7 @@ *** A LaTeX example of radio tables
 To wrap a source table in LaTeX, use the =comment= environment
 provided by =comment.sty=[fn:: https://www.ctan.org/pkg/comment].  To
 activate it, put ~\usepackage{comment}~ in the document header.
-Orgtbl mode inserts a radio table skeleton[fn:55] with the command
+Orgtbl mode inserts a radio table skeleton[fn:54] with the command
 {{{kbd(M-x orgtbl-insert-radio-table)}}}, which prompts for a table
 name.  For example, if =salesfigures= is the name, the template
 inserts:
@@ -22233,7 +22231,7 @@ *** A LaTeX example of radio tables
 ~orgtbl-to-latex~ to convert the table to LaTeX format, then insert
 the table at the target (receive) location named =salesfigures=.  Now
 the table is ready for data entry.  It can even use spreadsheet
-features[fn:56]:
+features[fn:55]:
 
 #+begin_example
 % BEGIN RECEIVE ORGTBL salesfigures
@@ -23448,65 +23446,59 @@ * Footnotes
 =STARTUP= options =constSI= and =constcgs= to set this value for the
 current buffer.
 
-[fn:9] The printf reformatting is limited in precision because the
-value passed to it is converted into an "integer" or "double".  The
-"integer" is limited in size by truncating the signed value to 32
-bits.  The "double" is limited in precision to 64 bits overall which
-leaves approximately 16 significant decimal digits.
+[fn:9] Plain URIs are recognized only for a well-defined set of
+schemes.  See [[*External Links]].  Unlike URI syntax, they cannot
+contain parenthesis or white spaces, either.  URIs within angle
+brackets have no such limitation.
 
-[fn:10] Plain URIs are recognized only for a well-defined set of
-schemes.  See [[*External Links]].  Unlike URI syntax, they cannot contain
-parenthesis or white spaces, either.  URIs within angle brackets have
-no such limitation.
-
-[fn:11] To insert a link targeting a headline, in-buffer completion
+[fn:10] To insert a link targeting a headline, in-buffer completion
 can be used.  Just type a star followed by a few optional letters into
 the buffer and press {{{kbd(M-TAB)}}}.  All headlines in the current
 buffer are offered as completions.
 
-[fn:12] The actual behavior of the search depends on the value of the
+[fn:11] The actual behavior of the search depends on the value of the
 variable ~org-link-search-must-match-exact-headline~.  If its value is
 ~nil~, then a fuzzy text search is done.  If it is ~t~, then only the
 exact headline is matched, ignoring spaces and statistic cookies.  If
 the value is ~query-to-create~, then an exact headline is searched; if
 it is not found, then the user is queried to create it.
 
-[fn:13] Note that you do not have to use this command to insert
+[fn:12] Note that you do not have to use this command to insert
 a link.  Links in Org are plain text, and you can type or paste them
 straight into the buffer.  By using this command, the links are
 automatically enclosed in double brackets, and you will be asked for
 the optional descriptive text.
 
-[fn:14] After insertion of a stored link, the link will be removed
+[fn:13] After insertion of a stored link, the link will be removed
 from the list of stored links.  To keep it in the list for later use,
 use a triple {{{kbd(C-u)}}} prefix argument to {{{kbd(C-c C-l)}}}, or
 configure the option ~org-link-keep-stored-after-insertion~.
 
-[fn:15] It is possible that Org mode records two timestamps when you
+[fn:14] It is possible that Org mode records two timestamps when you
 are using both ~org-log-done~ and state change logging.  However, it
 never prompts for two notes: if you have configured both, the state
 change recording note takes precedence and cancel the closing note.
 
-[fn:16] Except for description lists.  But you can allow it
+[fn:15] Except for description lists.  But you can allow it
 by modifying ~org-list-automatic-rules~ accordingly.
 
-[fn:17] For both =TIMESTAMP= and =TIMESTAMP_IA=: the word "first"
+[fn:16] For both =TIMESTAMP= and =TIMESTAMP_IA=: the word "first"
 refers to the first occurrence in the entry, not the earliest in time;
 the prefix =CLOCK:= at the beginning of a clock entry is considered a
 keyword in this context; and timestamps inside property drawers are
 ignored.
 
-[fn:18] An age can be defined as a duration, using units defined in
+[fn:17] An age can be defined as a duration, using units defined in
 ~org-duration-units~, e.g., =3d 1h=.  If any value in the column is as
 such, the summary is also expressed as a duration.
 
-[fn:19] The Org date format is inspired by the standard ISO 8601
+[fn:18] The Org date format is inspired by the standard ISO 8601
 date/time format.  To use an alternative format, see [[*Custom time
 format]].  The day name is optional when you type the date yourself.
 However, any date inserted or modified by Org adds that day name, for
 reading convenience.
 
-[fn:20] When working with the standard diary expression functions, you
+[fn:19] When working with the standard diary expression functions, you
 need to be very careful with the order of the arguments.  That order
 depends evilly on the variable ~calendar-date-style~.  For example, to
 specify a date December 1, 2005, the call might look like
@@ -23519,38 +23511,38 @@ * Footnotes
 wherever applicable, independent of the value of
 ~calendar-date-style~.
 
-[fn:21] See the variable ~org-read-date-prefer-future~.  You may set
+[fn:20] See the variable ~org-read-date-prefer-future~.  You may set
 that variable to the symbol ~time~ to even make a time before now
 shift the date to tomorrow.
 
-[fn:22] You can also use the calendar command {{{kbd(.)}}} to jump to
+[fn:21] You can also use the calendar command {{{kbd(.)}}} to jump to
 today's date, but if you are inserting an hour specification for your
 timestamp, {{{kbd(.)}}} will then insert a dot after the hour.  By contrast,
 {{{kbd(C-.)}}} will always jump to today's date.
 
-[fn:23] It will still be listed on that date after it has been marked
+[fn:22] It will still be listed on that date after it has been marked
 as done.  If you do not like this, set the variable
 ~org-agenda-skip-scheduled-if-done~.
 
-[fn:24] The =SCHEDULED= and =DEADLINE= dates are inserted on the line
+[fn:23] The =SCHEDULED= and =DEADLINE= dates are inserted on the line
 right below the headline.  Do not put any text between this line and
 the headline.
 
-[fn:25] Org does not repeat inactive timestamps, however.  See
+[fn:24] Org does not repeat inactive timestamps, however.  See
 [[*Timestamps]].
 
-[fn:26] You can change this using the option ~org-log-repeat~, or the
+[fn:25] You can change this using the option ~org-log-repeat~, or the
 =STARTUP= options =logrepeat=, =lognoterepeat=, and =nologrepeat=.
 With =lognoterepeat=, you will also be prompted for a note.
 
-[fn:27] Clocking only works if all headings are indented with less
+[fn:26] Clocking only works if all headings are indented with less
 than 30 stars.  This is a hard-coded limitation of ~lmax~ in
 ~org-clock-sum~.
 
-[fn:28] When using ~:step~, ~untilnow~ starts from the beginning of
+[fn:27] When using ~:step~, ~untilnow~ starts from the beginning of
 2003, not the beginning of time.
 
-[fn:29] On computers using macOS, idleness is based on actual user
+[fn:28] On computers using macOS, idleness is based on actual user
 idleness, not just Emacs's idle time.  For X11, you can install a
 utility program =x11idle.c=, available in the =org-contrib/=
 repository, or install the xprintidle package and set it to the
@@ -23558,13 +23550,13 @@ * Footnotes
 to get the same general treatment of idleness.  On other systems, idle
 time refers to Emacs idle time only.
 
-[fn:30] Org used to offer four different targets for date/week tree
+[fn:29] Org used to offer four different targets for date/week tree
 capture.  Now, Org automatically translates these to use
 ~file+olp+datetree~, applying the ~:time-prompt~ and ~:tree-type~
 properties.  Please rewrite your date/week-tree targets using
 ~file+olp+datetree~ since the older targets are now deprecated.
 
-[fn:31] A date tree is an outline structure with years on the highest
+[fn:30] A date tree is an outline structure with years on the highest
 level, months or ISO weeks as sublevels and then dates on the lowest
 level.
 
@@ -23578,15 +23570,15 @@ * Footnotes
 TODO state, priority, tags, statistics cookies, and COMMENT keywords
 are allowed in the tree structure.
 
-[fn:32] This is always the other, not the user.  See the variable
+[fn:31] This is always the other, not the user.  See the variable
 ~org-link-from-user-regexp~.
 
-[fn:33] For backward compatibility, the universal prefix argument
+[fn:32] For backward compatibility, the universal prefix argument
 {{{kbd(C-u)}}} causes all TODO entries to be listed before the agenda.
 This feature is deprecated, use the dedicated TODO list, or a block
 agenda instead (see [[*Block agenda]]).
 
-[fn:34] Custom agenda commands can preset a filter by binding one of
+[fn:33] Custom agenda commands can preset a filter by binding one of
 the variables ~org-agenda-tag-filter-preset~,
 ~org-agenda-category-filter-preset~, ~org-agenda-effort-filter-preset~
 or ~org-agenda-regexp-filter-preset~ as an option.  This filter is
@@ -23596,74 +23588,74 @@ * Footnotes
 only set this in the global options section, not in the section of an
 individual block.
 
-[fn:35] /Planned/ means here that these entries have some planning
+[fn:34] /Planned/ means here that these entries have some planning
 information attached to them, like a timestamp, a scheduled or
 a deadline string.  See ~org-agenda-entry-types~ on how to set what
 planning information is taken into account.
 
-[fn:36] To create PDF output, the Ghostscript ps2pdf utility must be
+[fn:35] To create PDF output, the Ghostscript ps2pdf utility must be
 installed on the system.  Selecting a PDF file also creates the
 postscript file.
 
-[fn:37] LaTeX is a macro system based on Donald\nbsp{}E.\nbsp{}Knuth's TeX
+[fn:36] LaTeX is a macro system based on Donald\nbsp{}E.\nbsp{}Knuth's TeX
 system.  Many of the features described here as "LaTeX" are really
 from TeX, but for simplicity I am blurring this distinction.
 
-[fn:38] When MathJax is used, only the environments recognized by
+[fn:37] When MathJax is used, only the environments recognized by
 MathJax are processed.  When dvipng, dvisvgm, or ImageMagick suite is
 used to create images, any LaTeX environment is handled.
 
-[fn:39] These are respectively available at
+[fn:38] These are respectively available at
 [[https://sourceforge.net/projects/dvipng/]], [[http://dvisvgm.bplaced.net/]]
 and from the ImageMagick suite.  Choose the converter by setting the
 variable ~org-preview-latex-default-process~ accordingly.
 
-[fn:40] This works automatically for the HTML backend (it requires
+[fn:39] This works automatically for the HTML backend (it requires
 version 1.34 of the =htmlize.el= package, which you need to install).
 Fontified code chunks in LaTeX can be achieved using either the
 [[https://www.ctan.org/pkg/listings][listings]] LaTeX package, [[https://www.ctan.org/pkg/minted][minted]] LaTeX package, or by using
 [[https://elpa.gnu.org/packages/engrave-faces.html][engrave-faces]].  Refer to ~org-latex-src-block-backend~ for details.
 
-[fn:41] Source code in code blocks may also be evaluated either
+[fn:40] Source code in code blocks may also be evaluated either
 interactively or on export.  See [[*Working with Source Code]] for more
 information on evaluating code blocks.
 
-[fn:42] For export to LaTeX format---or LaTeX-related formats such as
+[fn:41] For export to LaTeX format---or LaTeX-related formats such as
 Beamer---, the =org-latex-package-alist= variable needs further
 configuration.  See [[LaTeX specific export settings]].
 
-[fn:43] At the moment, some export backends do not obey this
+[fn:42] At the moment, some export backends do not obey this
 specification.  For example, LaTeX export excludes by default
 every unnumbered headline from the table of contents, unless you set
 the custom variable =org-latex-toc-include-unnumbered= to =t= or add
 =:UNNUMBERED: toc= to the section's properties.
 
-[fn:44] Note that ~org-link-search-must-match-exact-headline~ is
+[fn:43] Note that ~org-link-search-must-match-exact-headline~ is
 locally bound to non-~nil~.  Therefore, ~org-link-search~ only matches
 headlines and named elements.
 
-[fn:45] Since commas separate the arguments, commas within arguments
+[fn:44] Since commas separate the arguments, commas within arguments
 have to be escaped with the backslash character.  So only those
 backslash characters before a comma need escaping with another
 backslash character.
 
-[fn:46] If =BEAMER_ENV= is set, Org export adds =B_environment= tag
+[fn:45] If =BEAMER_ENV= is set, Org export adds =B_environment= tag
 to make it visible.  The tag serves as a visual aid and has no
 semantic relevance.
 
-[fn:47] Please note that exported formulas are part of an HTML
+[fn:46] Please note that exported formulas are part of an HTML
 document, and that signs such as =<=, =>=, or =&= have special
 meanings.  See [[https://docs.mathjax.org/en/latest/input/tex/html.html#tex-and-latex-in-html-documents][MathJax TeX and LaTeX in HTML documents]].
 
-[fn:48] This does not allow setting different bibliography compilers
+[fn:47] This does not allow setting different bibliography compilers
 for different files.  However, "smart" LaTeX compilation systems, such
 as latexmk, can select the correct bibliography compiler.
 
-[fn:49] Actually, the constructs =call_<name>()= and =src_<lang>{}=
+[fn:48] Actually, the constructs =call_<name>()= and =src_<lang>{}=
 are not evaluated when they appear in a keyword (see [[*Summary of
 In-Buffer Settings]]).
 
-[fn:50] In the following example, attempting to evaluate
+[fn:49] In the following example, attempting to evaluate
 the second code block will give an error, because the variables
 defined in the first code block will not be defined in the second
 block.
@@ -23691,29 +23683,29 @@ * Footnotes
 ,#+END_SRC
 #+end_example
 
-[fn:51] Org Indent mode also sets ~wrap-prefix~ correctly for
+[fn:50] Org Indent mode also sets ~wrap-prefix~ correctly for
 indenting and wrapping long lines of headlines or text.  This minor
 mode also handles Visual Line mode and directly applied settings
 through ~word-wrap~.
 
-[fn:52] This works, but requires extra effort.  Org Indent mode is
+[fn:51] This works, but requires extra effort.  Org Indent mode is
 more convenient for most applications.
 
-[fn:53] For a server to host files, consider using a WebDAV server,
+[fn:52] For a server to host files, consider using a WebDAV server,
 such as [[https://nextcloud.com][Nextcloud]].  Additional help is at this [[https://orgmode.org/worg/org-faq.html#mobileorg_webdav][FAQ entry]].
 
-[fn:54] While creating the agendas, Org mode forces =ID= properties
+[fn:53] While creating the agendas, Org mode forces =ID= properties
 on all referenced entries, so that these entries can be uniquely
 identified if Org Mobile flags them for further action.  To avoid
 setting properties configure the variable
 ~org-mobile-force-id-on-agenda-items~ to ~nil~.  Org mode then relies
 on outline paths, assuming they are unique.
 
-[fn:55] By default this works only for LaTeX, HTML, and Texinfo.
+[fn:54] By default this works only for LaTeX, HTML, and Texinfo.
 Configure the variable ~orgtbl-radio-table-templates~ to install
 templates for other modes.
 
-[fn:56] If the =TBLFM= keyword contains an odd number of dollar
+[fn:55] If the =TBLFM= keyword contains an odd number of dollar
 characters, this may cause problems with Font Lock in LaTeX mode.  As
 shown in the example you can fix this by adding an extra line inside
 the =comment= environment that is used to balance the dollar
diff --git a/doc/orgcard.tex b/doc/orgcard.tex
index f96b84d13..18c26695e 100644
--- a/doc/orgcard.tex
+++ b/doc/orgcard.tex
@@ -396,7 +396,7 @@ Formulas typed in field are executed by \kbd{TAB},
 formula, \kbd{:=} a field formula.
 
 \key{Example: Add Col1 and Col2}{|=\$1+\$2      |}
-\key{... with printf format specification}{|=\$1+\$2;\%.2f|}
+\key{... with format specification}{|=\$1+\$2;\%.2f|}
 \key{... with constants from constants.el}{|=\$1/\$c/\$cm |}
 \metax{sum from 2nd to 3rd hline}{|:=vsum(@II..@III)|}
 \key{apply current column formula}{| = |}
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index 60d1e30bd..b720d1e65 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -1748,7 +1748,8 @@ (defcustom org-agenda-prefix-format
 sublists are `agenda', `todo', `search' and `tags'.  The values
 are format strings.
 
-This format works similar to a printf format, with the following meaning:
+This format works similar to a `format' string, with the following
+meaning:
 
   %c   the category of the item, \"Diary\" for entries from the diary,
        or as given by the CATEGORY keyword or derived from the file name
@@ -1762,9 +1763,9 @@ (defcustom org-agenda-prefix-format
   %(expression) Eval EXPRESSION and replace the control string
                 by the result
 
-All specifiers work basically like the standard `%s' of printf, but may
-contain two additional characters: a question mark just after the `%'
-and a whitespace/punctuation character just before the final letter.
+All specifiers work basically like the standard `%s' of `format', but
+may contain two additional characters: a question mark just after the
+`%' and a whitespace/punctuation character just before the final letter.
 
 If the first character after `%' is a question mark, the entire field
 will only be included if the corresponding value applies to the current
diff --git a/lisp/org-colview.el b/lisp/org-colview.el
index f417b4812..fa54d629f 100644
--- a/lisp/org-colview.el
+++ b/lisp/org-colview.el
@@ -273,9 +273,9 @@ (defun org-columns--displayed-value (spec value &optional no-star)
 	(`(,(or "DEADLINE" "SCHEDULED" "TIMESTAMP") . ,_)
 	 (replace-regexp-in-string org-ts-regexp "[\\1]" value))
 	(`(,_ ,_ ,_ ,_ nil) value)
-	;; If PRINTF is set, assume we are displaying a number and
+	;; If FMT is set, assume we are displaying a number and
 	;; obey to the format string.
-	(`(,_ ,_ ,_ ,_ ,printf) (format printf (string-to-number value)))
+	(`(,_ ,_ ,_ ,_ ,fmt) (format fmt (string-to-number value)))
 	(_ (error "Invalid column specification format: %S" spec)))))
 
 (defun org-columns--collect-values (&optional compiled-fmt agenda-marker)
@@ -1189,13 +1189,13 @@ (defun org-columns-uncompile-format (compiled)
   (mapconcat
    (lambda (spec)
      (pcase spec
-       (`(,prop ,title ,width ,op ,printf)
+       (`(,prop ,title ,width ,op ,fmt)
 	(concat "%"
 		(and width (number-to-string width))
 		prop
 		(and title (not (equal prop title)) (format "(%s)" title))
 		(cond ((not op) nil)
-		      (printf (format "{%s;%s}" op printf))
+		      (fmt (format "{%s;%s}" op fmt))
 		      (t (format "{%s}" op)))))))
    compiled " "))
 
@@ -1208,7 +1208,7 @@ (defun org-columns-compile-format (fmt)
 title       the title field for the columns, as a string
 width       the column width in characters, can be nil for automatic width
 operator    the summary operator, as a string, or nil
-printf      a printf format for computed values, as a string, or nil
+format      a `format' string for computed values, or nil
 
 This function updates `org-columns-current-fmt-compiled'."
   (setq org-columns-current-fmt-compiled nil)
@@ -1227,11 +1227,11 @@ (defun org-columns-compile-format (fmt)
 	     (title (or (org-string-nw-p (match-string-no-properties 3 fmt)) prop))
 	     (operator (org-string-nw-p (match-string-no-properties 4 fmt))))
 	(push (if (not operator) (list (upcase prop) title width nil nil)
-		(let (printf)
+		(let (fmt)
 		  (when (string-match ";" operator)
-		    (setq printf (substring operator (match-end 0)))
+		    (setq fmt (substring operator (match-end 0)))
 		    (setq operator (substring operator 0 (match-beginning 0))))
-		  (list (upcase prop) title width operator printf)))
+		  (list (upcase prop) title width operator fmt)))
 	      org-columns-current-fmt-compiled)))
     (setq org-columns-current-fmt-compiled
 	  (nreverse org-columns-current-fmt-compiled))))
@@ -1278,7 +1278,7 @@ (defun org-columns--compute-spec (spec &optional update)
 	 (inminlevel lmax)
 	 (last-level lmax)
 	 (property (car spec))
-	 (printf (nth 4 spec))
+	 (fmt (nth 4 spec))
          ;; Special properties cannot be collected nor summarized, as
          ;; they have their own way to be computed.  Therefore, ignore
          ;; any operator attached to them.
@@ -1310,7 +1310,7 @@ (defun org-columns--compute-spec (spec &optional update)
 			(let ((values
                                (cl-loop for l from (1+ level) to lmax
                                         append (aref lvals l))))
-			  (and values (funcall summarize values printf))))))
+			  (and values (funcall summarize values fmt))))))
 	     ;; Leaf values are not summaries: do not mark them.
 	     (when summary
 	       (let* ((summaries-alist (get-text-property pos 'org-summaries))
@@ -1366,10 +1366,10 @@ (defun org-columns-compute-all ()
 	(org-columns--compute-spec spec (not (member property seen)))
 	(push property seen)))))
 
-(defun org-columns--summary-sum (values printf)
+(defun org-columns--summary-sum (values fmt)
   "Compute the sum of VALUES.
-When PRINTF is non-nil, use it to format the result."
-  (format (or printf "%s") (apply #'+ (mapcar #'string-to-number values))))
+When FMT is non-nil, use it to format the result."
+  (format (or fmt "%s") (apply #'+ (mapcar #'string-to-number values))))
 
 (defun org-columns--summary-currencies (values _)
   "Compute the sum of VALUES, with two decimals."
@@ -1398,22 +1398,22 @@ (defun org-columns--summary-checkbox-percent (check-boxes _)
 				       check-boxes))
 		 (length check-boxes))))
 
-(defun org-columns--summary-min (values printf)
+(defun org-columns--summary-min (values fmt)
   "Compute the minimum of VALUES.
-When PRINTF is non-nil, use it to format the result."
-  (format (or printf "%s")
+When FMT is non-nil, use it to format the result."
+  (format (or fmt "%s")
 	  (apply #'min (mapcar #'string-to-number values))))
 
-(defun org-columns--summary-max (values printf)
+(defun org-columns--summary-max (values fmt)
   "Compute the maximum of VALUES.
-When PRINTF is non-nil, use it to format the result."
-  (format (or printf "%s")
+When FMT is non-nil, use it to format the result."
+  (format (or fmt "%s")
 	  (apply #'max (mapcar #'string-to-number values))))
 
-(defun org-columns--summary-mean (values printf)
+(defun org-columns--summary-mean (values fmt)
   "Compute the mean of VALUES.
-When PRINTF is non-nil, use it to format the result."
-  (format (or printf "%s")
+When FMT is non-nil, use it to format the result."
+  (format (or fmt "%s")
 	  (/ (apply #'+ (mapcar #'string-to-number values))
 	     (float (length values)))))
 
@@ -1848,7 +1848,7 @@ (defun org-agenda-colview-summarize (cache)
 				    (line-end-position))))
 			 (list spec date date)))
 		      (`(,_ ,_ ,_ nil ,_) (list spec "" ""))
-		      (`(,_ ,_ ,_ ,operator ,printf)
+		      (`(,_ ,_ ,_ ,operator ,fmt)
 		       (let* ((summarize (org-columns--summarize operator))
 			      (values
 			       ;; Use real values for summary, not
@@ -1856,10 +1856,10 @@ (defun org-agenda-colview-summarize (cache)
 			       (delq nil
 				     (mapcar
 				      (lambda (e) (org-string-nw-p
-					           (nth 1 (assoc spec e))))
+					      (nth 1 (assoc spec e))))
 				      entries)))
 			      (final (if values
-					 (funcall summarize values printf)
+					 (funcall summarize values fmt)
 				       "")))
 			 (unless (equal final "")
 			   (put-text-property 0 (length final)
diff --git a/lisp/org.el b/lisp/org.el
index 809e9dd32..67d9679fe 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -639,14 +639,14 @@ (defconst org-clock-drawer-re
 
 (defconst org-heading-keyword-regexp-format
   "^\\(\\*+\\)\\(?: +%s\\)\\(?: +\\(.*?\\)\\)?[ \t]*$"
-  "Printf format for a regexp matching a headline with some keyword.
+  "`format' string for a regexp matching a headline with some keyword.
 This regexp will match the headline of any node which has the
 exact keyword that is put into the format.  The keyword isn't in
 any group by default, but the stars and the body are.")
 
 (defconst org-heading-keyword-maybe-regexp-format
   "^\\(\\*+\\)\\(?: +%s\\)?\\(?: +\\(.*?\\)\\)?[ \t]*$"
-  "Printf format for a regexp matching a headline, possibly with some keyword.
+  "`format' string for a regexp matching a headline, possibly with some keyword.
 This regexp can match any headline with the specified keyword, or
 without a keyword.  The keyword isn't in any group by default,
 but the stars and the body are.")
@@ -4161,7 +4161,7 @@ (defvar-local org-complex-heading-regexp nil
 expected to be bound to nil when matching against this regexp.")
 
 (defvar-local org-complex-heading-regexp-format nil
-  "Printf format to make regexp to match an exact headline.
+  "`format' string to make regexp to match an exact headline.
 This regexp will match the headline of any node which has the
 exact headline text that is put into the format, but may have any
 TODO state, priority, tags, statistics cookies (at the beginning
diff --git a/lisp/ox-latex.el b/lisp/ox-latex.el
index af4196e09..e49af206e 100644
--- a/lisp/ox-latex.el
+++ b/lisp/ox-latex.el
@@ -703,17 +703,17 @@ (defcustom org-latex-footnote-defined-format "\\textsuperscript{\\ref{%s}}"
 ;;;; Timestamps
 
 (defcustom org-latex-active-timestamp-format "\\textit{%s}"
-  "A printf format string to be applied to active timestamps."
+  "A `format' string to be applied to active timestamps."
   :group 'org-export-latex
   :type 'string)
 
 (defcustom org-latex-inactive-timestamp-format "\\textit{%s}"
-  "A printf format string to be applied to inactive timestamps."
+  "A `format' string to be applied to inactive timestamps."
   :group 'org-export-latex
   :type 'string)
 
 (defcustom org-latex-diary-timestamp-format "\\textit{%s}"
-  "A printf format string to be applied to diary timestamps."
+  "A `format' string to be applied to diary timestamps."
   :group 'org-export-latex
   :type 'string)
 
diff --git a/lisp/ox-texinfo.el b/lisp/ox-texinfo.el
index e3ecd23e6..253883b28 100644
--- a/lisp/ox-texinfo.el
+++ b/lisp/ox-texinfo.el
@@ -247,15 +247,15 @@ (defcustom org-texinfo-node-description-column 32
 ;;;; Timestamps
 
 (defcustom org-texinfo-active-timestamp-format "@emph{%s}"
-  "A printf format string to be applied to active timestamps."
+  "A `format' string to be applied to active timestamps."
   :type 'string)
 
 (defcustom org-texinfo-inactive-timestamp-format "@emph{%s}"
-  "A printf format string to be applied to inactive timestamps."
+  "A `format' string to be applied to inactive timestamps."
   :type 'string)
 
 (defcustom org-texinfo-diary-timestamp-format "@emph{%s}"
-  "A printf format string to be applied to diary timestamps."
+  "A `format' string to be applied to diary timestamps."
   :type 'string)
 
 ;;;; Links
diff --git a/testing/lisp/test-org-colview.el b/testing/lisp/test-org-colview.el
index 3ed20fa01..1595fa40d 100644
--- a/testing/lisp/test-org-colview.el
+++ b/testing/lisp/test-org-colview.el
@@ -49,7 +49,7 @@ (ert-deftest test-org-colview/uncompile-format ()
   (should
    (equal "%ITEM{+}"
           (org-columns-uncompile-format `(("ITEM" "ITEM" nil "+" nil)))))
-  ;; Read operator printf
+  ;; Read operator format
   (should
    (equal "%ITEM{+;%.1f}"
           (org-columns-uncompile-format  `(("ITEM" "ITEM" nil "+" "%.1f"))))))
@@ -86,7 +86,7 @@ (ert-deftest test-org-colview/compile-format ()
    (equal `(("ITEM" "ITEM" nil "+" nil))
           (org-columns-compile-format
            "%ITEM{+}")))
-  ;; Read operator printf
+  ;; Read operator format
   (should
    (equal `(("ITEM" "ITEM" nil "+" "%.1f"))
           (org-columns-compile-format
diff --git a/testing/lisp/test-org-table.el b/testing/lisp/test-org-table.el
index 807ab7c84..cb52c56de 100644
--- a/testing/lisp/test-org-table.el
+++ b/testing/lisp/test-org-table.el
@@ -763,8 +763,8 @@ (ert-deftest test-org-table/sub-total ()
 integer to float with \"+.0\" for sub-total of items c1 and c2.
 Sum empty fields as value zero but without ignoring them for
 \"vlen\" with format specifier \"EN\".  Format possibly empty
-results with the Calc formatter \"f-1\" instead of the printf
-formatter \"%.1f\"."
+results with the Calc formatter \"f-1\" instead of the `format'
+string \"%.1f\"."
   (org-test-table-target-expect
    "
 |-------+---------+---------|

base-commit: 4840a4ee846297cf07b00766601e82a08591031b
-- 
Jacob S. Gordon
[email protected]
Please avoid sending me HTML emails and MS Office documents.
https://useplaintext.email/#etiquette

Thanks,

-- 
Jacob S. Gordon
[email protected]
Please avoid sending me HTML emails and MS Office documents.
https://useplaintext.email/#etiquette

Reply via email to