mirror of
https://git.savannah.gnu.org/git/gnulib.git
synced 2026-10-24 00:48:56 +03:00
In documentation and comments, be more like POSIX in terminology involving multithreading. Explain the distinction between multithreaded process vs multithreaded program. Change “program” to “process” when the latter wording is more accurate or informative. Simplify the wording for the constraints on processes that use unlocked I/O. Change “multithread-safe” to “thread-safe”. Change “thread-safety” to “thread safety”. However, do not change “multithreaded” to “multi-threaded” even though there are some uses of both spellinga, as there are a whole bunch of uses of “multithreaded”, also in identifier names; perhaps Gnulib should even standardize on “multithreaded” (not “multi-threaded”), contra POSIX.
46 lines
1.4 KiB
Plaintext
46 lines
1.4 KiB
Plaintext
@node Quoting
|
|
@section Quoting
|
|
|
|
@c Copyright (C) 2005, 2009--2026 Free Software Foundation, Inc.
|
|
|
|
@c Permission is granted to copy, distribute and/or modify this document
|
|
@c under the terms of the GNU Free Documentation License, Version 1.3 or
|
|
@c any later version published by the Free Software Foundation; with no
|
|
@c Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
|
|
@c copy of the license is at <https://www.gnu.org/licenses/fdl-1.3.en.html>.
|
|
|
|
@cindex Quoting
|
|
@findex quote
|
|
@findex quotearg
|
|
@mindex quote
|
|
@mindex quotearg
|
|
|
|
Gnulib provides @samp{quote} and @samp{quotearg} modules to help with
|
|
quoting text, such as file names, in messages to the user. Here's an
|
|
example of using @samp{quote}:
|
|
|
|
@example
|
|
#include <quote.h>
|
|
...
|
|
error (0, errno, _("cannot change owner of %s"), quote (fname));
|
|
@end example
|
|
|
|
This differs from
|
|
|
|
@example
|
|
error (0, errno, _("cannot change owner of '%s'"), fname);
|
|
@end example
|
|
|
|
@noindent in that @code{quote} escapes unusual characters in
|
|
@code{fname}, e.g., @samp{'} and control characters like @samp{\n}.
|
|
|
|
@findex quote_n
|
|
However, a caveat: @code{quote} reuses the storage that it returns.
|
|
Hence if you need more than one thing quoted at the same time, you
|
|
need to use @code{quote_n}.
|
|
|
|
@findex quotearg_alloc
|
|
Also, the @code{quote} module is not suited for multithreaded processes.
|
|
In that case, you have to use @code{quotearg_alloc}, defined in the
|
|
@samp{quotearg} module, which is decidedly less convenient.
|