diff options
-rw-r--r-- | doc/emacs/misc.texi | 19 | ||||
-rw-r--r-- | doc/lispref/os.texi | 16 | ||||
-rw-r--r-- | doc/lispref/streams.texi | 18 | ||||
-rw-r--r-- | lisp/language/korean.el | 1 | ||||
-rw-r--r-- | lisp/simple.el | 6 | ||||
-rw-r--r-- | lwlib/lwlib-utils.c | 15 | ||||
-rw-r--r-- | src/charset.c | 4 | ||||
-rw-r--r-- | src/chartab.c | 6 | ||||
-rw-r--r-- | src/lisp.h | 33 |
9 files changed, 71 insertions, 47 deletions
diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index e0341a49913..c2c382ead0b 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi @@ -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. - - Alternatively, you can set @code{ps-print-color-p} to @code{black-white} to -print colors on black/white printers. +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. + +@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 diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index f897cfa4eab..bc602205f5d 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi @@ -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}) diff --git a/doc/lispref/streams.texi b/doc/lispref/streams.texi index 0534afb67fa..5b4be832507 100644 --- a/doc/lispref/streams.texi +++ b/doc/lispref/streams.texi @@ -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 diff --git a/lisp/language/korean.el b/lisp/language/korean.el index 7e758159a48..9bd11b9b9ea 100644 --- a/lisp/language/korean.el +++ b/lisp/language/korean.el @@ -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)." diff --git a/lisp/simple.el b/lisp/simple.el index dd271b0b5dd..6059c23a14e 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -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 diff --git a/lwlib/lwlib-utils.c b/lwlib/lwlib-utils.c index f15cb603a80..2b3aa55c3e6 100644 --- a/lwlib/lwlib-utils.c +++ b/lwlib/lwlib-utils.c @@ -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) { diff --git a/src/charset.c b/src/charset.c index 520dd3a9605..f6b5173fad4 100644 --- a/src/charset.c +++ b/src/charset.c @@ -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; diff --git a/src/chartab.c b/src/chartab.c index cb2ced568d9..331e8595ebe 100644 --- a/src/chartab.c +++ b/src/chartab.c @@ -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: diff --git a/src/lisp.h b/src/lisp.h index 416c9b0cac1..e83304462fa 100644 --- a/src/lisp.h +++ b/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) { |