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 mode34feded008
Support ks_c_5601-1987 encodingda00a6f317
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:
commit
3721cc5886
@ -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
|
||||
|
@ -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})
|
||||
|
@ -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
|
||||
|
@ -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)."
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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;
|
||||
|
@ -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:
|
||||
|
||||
|
33
src/lisp.h
33
src/lisp.h
@ -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)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user