1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-05 11:45:45 +00:00

Merge from origin/emacs-27

32090a3de4 Improve documentation of streams in batch mode
34feded008 Support ks_c_5601-1987 encoding
da00a6f317 Fix Xaw widget text disappearing when built with cairo (bu...
6916e7954a Improve documentation of 'ps-print-color-p'
6663b2f211 ; * lisp/simple.el (move-beginning-of-line): Doc fix.
a4dd03ebe9 ; * src/charset.c (Fmap_charset_chars): Doc fix.
d86cc3ffcb ; * src/chartab.c, src/lisp.h: Fix typos in comments.
This commit is contained in:
Glenn Morris 2020-12-09 08:50:12 -08:00
commit 3721cc5886
9 changed files with 70 additions and 46 deletions

View File

@ -2261,13 +2261,18 @@ off.
@vindex ps-print-color-p
If your printer doesn't support colors, you should turn off color
processing by setting @code{ps-print-color-p} to @code{nil}. By
default, if the display supports colors, Emacs produces hardcopy output
with color information; on black-and-white printers, colors are emulated
with shades of gray. This might produce illegible output, even if your
screen colors only use shades of gray.
default, if the display supports colors, Emacs produces hardcopy
output with color information; on black-and-white printers, colors are
emulated with shades of gray. This might produce barely-readable or
even illegible output, even if your screen colors only use shades of
gray.
Alternatively, you can set @code{ps-print-color-p} to @code{black-white} to
print colors on black/white printers.
@vindex ps-black-white-faces
Alternatively, you can set @code{ps-print-color-p} to @code{black-white}
to have colors display better on black/white printers. This works by
using information in @code{ps-black-white-faces} to express colors by
customizable list of shades of gray, augmented by bold and italic
face attributes.
@vindex ps-use-face-background
By default, PostScript printing ignores the background colors of the

View File

@ -2633,14 +2633,14 @@ calls @var{function} with no arguments, or @samp{--eval=@var{form}}.
Any Lisp program output that would normally go to the echo area,
either using @code{message}, or using @code{prin1}, etc., with
@code{t} as the stream, goes instead to Emacs's standard descriptors
when in batch mode: @code{message} writes to the standard error
descriptor, while @code{prin1} and other print functions write to the
standard output. Similarly, input that would normally come from the
minibuffer is read from the standard input descriptor. Thus, Emacs
behaves much like a noninteractive application program. (The echo
area output that Emacs itself normally generates, such as command
echoing, is suppressed entirely.)
@code{t} as the stream (@pxref{Output Streams}), goes instead to
Emacs's standard descriptors when in batch mode: @code{message} writes
to the standard error descriptor, while @code{prin1} and other print
functions write to the standard output. Similarly, input that would
normally come from the minibuffer is read from the standard input
descriptor. Thus, Emacs behaves much like a noninteractive
application program. (The echo area output that Emacs itself normally
generates, such as command echoing, is suppressed entirely.)
Non-ASCII text written to the standard output or error descriptors is
by default encoded using @code{locale-coding-system} (@pxref{Locales})

View File

@ -123,13 +123,13 @@ came from. In this case, it makes no difference what value
@code{t} used as a stream means that the input is read from the
minibuffer. In fact, the minibuffer is invoked once and the text
given by the user is made into a string that is then used as the
input stream. If Emacs is running in batch mode, standard input is used
instead of the minibuffer. For example,
input stream. If Emacs is running in batch mode (@pxref{Batch Mode}),
standard input is used instead of the minibuffer. For example,
@example
(message "%s" (read t))
@end example
will read a Lisp expression from standard input and print the result
to standard output.
will in batch mode read a Lisp expression from standard input and
print the result to standard output.
@item @code{nil}
@cindex @code{nil} input stream
@ -392,13 +392,15 @@ is responsible for storing the characters wherever you want to put them.
@item @code{t}
@cindex @code{t} output stream
The output characters are displayed in the echo area.
The output characters are displayed in the echo area. If Emacs is
running in batch mode (@pxref{Batch Mode}), the output is written to
the standard output descriptor instead.
@item @code{nil}
@cindex @code{nil} output stream
@code{nil} specified as an output stream means to use the value of
@code{standard-output} instead; that value is the @dfn{default output
stream}, and must not be @code{nil}.
@code{nil} specified as an output stream means to use the value of the
@code{standard-output} variable instead; that value is the
@dfn{default output stream}, and must not be @code{nil}.
@item @var{symbol}
A symbol as output stream is equivalent to the symbol's function

View File

@ -42,6 +42,7 @@
(define-coding-system-alias 'euc-kr 'korean-iso-8bit)
(define-coding-system-alias 'euc-korea 'korean-iso-8bit)
(define-coding-system-alias 'ks_c_5601-1987 'korean-iso-8bit)
(define-coding-system 'iso-2022-kr
"ISO 2022 based 7-bit encoding for Korean KSC5601 (MIME:ISO-2022-KR)."

View File

@ -7202,6 +7202,12 @@ rests."
"Move point to visible beginning of current logical line.
This disregards any invisible newline characters.
When moving from position that has no `field' property, this
command doesn't enter text which has non-nil `field' property.
In particular, when invoked in the minibuffer, the command will
stop short of entering the text of the minibuffer prompt.
See `inhibit-field-text-motion' for how to inhibit this.
With argument ARG not nil or 1, move forward ARG - 1 lines first.
If point reaches the beginning or end of buffer, it stops there.
\(But if the buffer doesn't end in a newline, it stops at the

View File

@ -148,6 +148,7 @@ XftFont *
crxft_font_open_name (Display *dpy, int screen, const char *name)
{
XftFont *pub = NULL;
FcPattern *match = NULL;
FcPattern *pattern = FcNameParse ((FcChar8 *) name);
if (pattern)
{
@ -162,12 +163,18 @@ crxft_font_open_name (Display *dpy, int screen, const char *name)
FcPatternAddDouble (pattern, FC_DPI, dpi);
}
FcDefaultSubstitute (pattern);
FcResult result;
match = FcFontMatch (NULL, pattern, &result);
FcPatternDestroy (pattern);
}
if (match)
{
cairo_font_face_t *font_face
= cairo_ft_font_face_create_for_pattern (pattern);
= cairo_ft_font_face_create_for_pattern (match);
if (font_face)
{
double pixel_size;
if ((FcPatternGetDouble (pattern, FC_PIXEL_SIZE, 0, &pixel_size)
if ((FcPatternGetDouble (match, FC_PIXEL_SIZE, 0, &pixel_size)
!= FcResultMatch)
|| pixel_size < 1)
pixel_size = 10;
@ -177,7 +184,7 @@ crxft_font_open_name (Display *dpy, int screen, const char *name)
cairo_matrix_init_scale (&font_matrix, pixel_size, pixel_size);
cairo_matrix_init_identity (&ctm);
cairo_font_options_t *options = cairo_font_options_create ();
cairo_ft_font_options_substitute (options, pattern);
cairo_ft_font_options_substitute (options, match);
pub->scaled_font = cairo_scaled_font_create (font_face, &font_matrix,
&ctm, options);
cairo_font_face_destroy (font_face);
@ -190,7 +197,7 @@ crxft_font_open_name (Display *dpy, int screen, const char *name)
pub->height = lround (extents.height);
pub->max_advance_width = lround (extents.max_x_advance);
}
FcPatternDestroy (pattern);
FcPatternDestroy (match);
}
if (pub && pub->height <= 0)
{

View File

@ -800,7 +800,9 @@ RANGE is a cons (FROM . TO), where FROM and TO indicate a range of
characters contained in CHARSET.
The optional 4th and 5th arguments FROM-CODE and TO-CODE specify the
range of code points (in CHARSET) of target characters. */)
range of code points (in CHARSET) of target characters. Note that
these are not character codes, but code points in CHARSET; for the
difference see `decode-char' and `list-charset-chars'. */)
(Lisp_Object function, Lisp_Object charset, Lisp_Object arg, Lisp_Object from_code, Lisp_Object to_code)
{
struct charset *cs;

View File

@ -1000,10 +1000,10 @@ map_sub_char_table_for_charset (void (*c_function) (Lisp_Object, Lisp_Object),
"mapping table" or a "deunifier table" of a certain charset.
If CHARSET is not NULL (this is the case that `map-charset-chars'
is called with non-nil FROM-CODE and TO-CODE), it is a charset who
owns TABLE, and the function is called only on a character in the
is called with non-nil FROM-CODE and TO-CODE), it is a charset that
owns TABLE, and the function is called only for characters in the
range FROM and TO. FROM and TO are not character codes, but code
points of a character in CHARSET.
points of characters in CHARSET (see 'decode-char').
This function is called in these two cases:

View File

@ -1897,16 +1897,17 @@ ASCII_CHAR_P (intmax_t c)
return 0 <= c && c < 0x80;
}
/* A char-table is a kind of vectorlike, with contents are like a
vector but with a few other slots. For some purposes, it makes
sense to handle a char-table with type struct Lisp_Vector. An
element of a char table can be any Lisp objects, but if it is a sub
char-table, we treat it a table that contains information of a
specific range of characters. A sub char-table is like a vector but
with two integer fields between the header and Lisp data, which means
/* A char-table is a kind of vectorlike, with contents like a vector,
but with a few additional slots. For some purposes, it makes sense
to handle a char-table as type 'struct Lisp_Vector'. An element of
a char-table can be any Lisp object, but if it is a sub-char-table,
we treat it as a table that contains information of a specific
range of characters. A sub-char-table is like a vector, but with
two integer fields between the header and Lisp data, which means
that it has to be marked with some precautions (see mark_char_table
in alloc.c). A sub char-table appears only in an element of a char-table,
and there's no way to access it directly from Emacs Lisp program. */
in alloc.c). A sub-char-table appears only in an element of a
char-table, and there's no way to access it directly from a Lisp
program. */
enum CHARTAB_SIZE_BITS
{
@ -1926,11 +1927,11 @@ struct Lisp_Char_Table
contents, and extras slots. */
union vectorlike_header header;
/* This holds a default value,
which is used whenever the value for a specific character is nil. */
/* This holds the default value, which is used whenever the value
for a specific character is nil. */
Lisp_Object defalt;
/* This points to another char table, which we inherit from when the
/* This points to another char table, from which we inherit when the
value for a specific character is nil. The `defalt' slot takes
precedence over this. */
Lisp_Object parent;
@ -1939,8 +1940,8 @@ struct Lisp_Char_Table
meant for. */
Lisp_Object purpose;
/* The bottom sub char-table for characters of the range 0..127. It
is nil if none of ASCII character has a specific value. */
/* The bottom sub char-table for characters in the range 0..127. It
is nil if no ASCII character has a specific value. */
Lisp_Object ascii;
Lisp_Object contents[(1 << CHARTAB_SIZE_BITS_0)];
@ -2015,7 +2016,7 @@ CHAR_TABLE_REF_ASCII (Lisp_Object ct, ptrdiff_t idx)
}
/* Almost equivalent to Faref (CT, IDX) with optimization for ASCII
characters. Do not check validity of CT. */
characters. Does not check validity of CT. */
INLINE Lisp_Object
CHAR_TABLE_REF (Lisp_Object ct, int idx)
{
@ -2025,7 +2026,7 @@ CHAR_TABLE_REF (Lisp_Object ct, int idx)
}
/* Equivalent to Faset (CT, IDX, VAL) with optimization for ASCII and
8-bit European characters. Do not check validity of CT. */
8-bit European characters. Does not check validity of CT. */
INLINE void
CHAR_TABLE_SET (Lisp_Object ct, int idx, Lisp_Object val)
{