The man-page sources use single quotes to quote text. However, this can be
problematic in man-pages because if a single quote appears at the beginning of a
line the following word is interpreted by troff as a macro. For example, this
paragraph in mu-easy.7:
What if we want to see some of the body of the message? You can get a 'summary'
of the first lines of the message using the \fI\-\-summary\-len\fP option, which will
'summarize' the first \fIn\fP lines of the message:
elicits this warning:
$ man --warnings obj-x86_64-linux-gnu/man/mu-easy.7 >/dev/null
troff:<standard input>:166: warning: macro 'summarize'' not defined
and gets truncated:
What if we want to see some of the body of the message? You can get a
'summary' of the first lines of the message using the --summary-len op‐
tion, which will
One could adjust the line-wrapping to move the quoted text away from the
beginning of the line, but that is fragile. Another possibility would be to use
the troff escape-sequences for open and close quotes (`\(oq` and `\(cq`
respectively), but ox-man is being used precisely to avoid having to handle
troff directly. Instead use back-ticks for left quotes. Thus:
What if we want to see some of the body of the message? You can get a `summary'
of the first lines of the message using the \fI\-\-summary\-len\fP option, which will
`summarize' the first \fIn\fP lines of the message:
which is rendered correctly:
What if we want to see some of the body of the message? You can get a
`summary' of the first lines of the message using the --summary-len op-
tion, which will `summarize' the first n lines of the message:
Signed-off-by: Jeremy Sowden <azazel@debian.org>
The command names are formatted inconsistently, e.g.:
* NAME
~mu add~ - add one or more messages to the database
versus:
* NAME
*mu cfind* is the *mu* command to find contacts in the *mu* database and export them
versus:
* NAME
mu server - the mu backend for the mu4e e-mail client
and the format, with a space between "mu" and the subcommand, is not compatible
with mandb(8). Use formatting which is consistent and replace the spaces with
hyphens.
Signed-off-by: Jeremy Sowden <azazel@debian.org>
In org-mode, underscores are used to represent subscripts. Thus, `a_b`
will be transcoded to `a\d\s-2b\s+2\u`. Configure org-mode only to do
this for `a_{b}`.
Signed-off-by: Jeremy Sowden <azazel@debian.org>
1.12.0 includes a new mu-move.1 man-page but the list of man-pages in
man/meson.build was not updated, so it is not built.
Signed-off-by: Jeremy Sowden <azazel@debian.org>
967b724e75 ("build: avoid dynamic dates for reproducibility")
introduced the `mu_date` variable to hard-code a build-date. This is
used for the dates embedded in the texinfo documentation, but `date` is
still called to set the copyright years in the man-pages. Use `mu_date`
there too.
Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
We were using dates (in documentation, (c) notices etc) based on the
build-date; that makes it hard to do reproducible builds, so specify a
specific date in the top-level meson file, and use that throughout.
Xapian supports an "ngrams" option to help with languages/scripts
without explicit wordbreaks, such as Chinese / Japanese / Korean.
Add some plumbing for supporting this in mu as well. Experimental for
now.
Implement a new query parser; the results should be very similar to the
old one, but it adds an Sexp middle-representation, so users can see how
a query is interpreted.
ox-man exports the string:
\\f (=form-feed=)
as:
$\(\fIform\-feed\fP)
Troff then complains:
troff:tmp/usr/share/man/man1/mu-view.1:28: warning: special character '\f' not defined
and renders it as:
$Iform-feed)
Insert a zero-width space character (U+200B) between the \\ and the f.
This causes the string to be exported as:
\\f (\fIform\-feed\fP)
which troff renders correctly.
Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
It can be faster to feed big mu -> mu4e data, such as contacts are
message headers through a temp-file instead directly though stdout;
implement this, and add the server parameter --allow-temp-file.
Implement this the "contacts" and "find" commands.
Generate the manpages from org-documents which makes it a bit easier to
keep them update to date since I find org-syntax easier than troff, and
we can use include files.