aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJuanma Barranquero2010-10-14 16:32:27 +0200
committerJuanma Barranquero2010-10-14 16:32:27 +0200
commit220d91b834f7f7252b9953460422151b86b3520c (patch)
tree8f3e16983e83ac0da6beef346cb05cd2591a7f83 /src
parent31e96eecc09283b5169faf0d5dc1c8efd58539ac (diff)
parent9d4f32e88a1b642070f0adb41df04a0846c31970 (diff)
downloademacs-220d91b834f7f7252b9953460422151b86b3520c.tar.gz
emacs-220d91b834f7f7252b9953460422151b86b3520c.zip
Merge changes from emacs-23 branch.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog16
-rw-r--r--src/ChangeLog.28
-rw-r--r--src/ChangeLog.38
-rw-r--r--src/ChangeLog.74
-rw-r--r--src/ChangeLog.82
-rw-r--r--src/ccl.c4
-rw-r--r--src/coding.c54
-rw-r--r--src/font.c54
-rw-r--r--src/font.h7
-rw-r--r--src/ftfont.c43
-rw-r--r--src/nsterm.m10
-rw-r--r--src/print.c2
-rw-r--r--src/regex.c2
-rw-r--r--src/w32.c7
-rw-r--r--src/w32fns.c5
-rw-r--r--src/w32font.c32
-rw-r--r--src/w32heap.c2
-rw-r--r--src/w32menu.c4
-rw-r--r--src/w32proc.c10
-rw-r--r--src/w32select.c2
-rw-r--r--src/w32term.c6
-rw-r--r--src/w32uniscribe.c2
-rw-r--r--src/w32xfns.c3
23 files changed, 168 insertions, 119 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 639759bf384..938cc73e7c3 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,19 @@
12010-10-14 Damyan Pepper <damyanp@gmail.com>
2
3 Fix handling of font properties on Windows (bug#6303).
4 * font.c (font_filter_properties): New function, refactored from
5 ftfont_filter_properties.
6 * font.h (font_filter_properties): Declare.
7 * ftfont.c (ftfont_filter_properties): Use font_filter_properties.
8 * w32font.c (w32font_booleans, w32font_non_booleans): New variables.
9 (w32font_filter_properties): New function.
10 (w32font_driver): Add w32font_filter_properties.
11
122010-10-14 Juanma Barranquero <lekktu@gmail.com>
13
14 * font.c (Ffont_variation_glyphs):
15 * ccl.c (Fccl_execute_on_string): Fix typo in docstring.
16
12010-10-14 Juanma Barranquero <lekktu@gmail.com> 172010-10-14 Juanma Barranquero <lekktu@gmail.com>
2 18
3 * w32fns.c (w32_wnd_proc, file_dialog_callback): 19 * w32fns.c (w32_wnd_proc, file_dialog_callback):
diff --git a/src/ChangeLog.2 b/src/ChangeLog.2
index f087802e27d..0397478f09d 100644
--- a/src/ChangeLog.2
+++ b/src/ChangeLog.2
@@ -1563,10 +1563,10 @@
15631987-04-27 Richard Mlynarik (mly@prep) 15631987-04-27 Richard Mlynarik (mly@prep)
1564 1564
1565 * fileio.c (APOLLO from lnz): 1565 * fileio.c (APOLLO from lnz):
1566 Fcopy_file, Fset_file_modes: Don't use un*x modes if 1566 (Fcopy_file, Fset_file_modes): Don't use un*x modes if
1567 env var USE_DOMAIN_ACLS is set. 1567 env var USE_DOMAIN_ACLS is set.
1568 Fset_file_modes: utimes fix. 1568 (Fset_file_modes): utimes fix.
1569 Finsert_file_contents: Must do fstat after open for Apollo. 1569 (Finsert_file_contents): Must do fstat after open for Apollo.
1570 1570
1571 * emacs.c (main): (APOLLO from lnz): 1571 * emacs.c (main): (APOLLO from lnz):
1572 Don't use un*x modes if env var USE_DOMAIN_ACLS set. 1572 Don't use un*x modes if env var USE_DOMAIN_ACLS set.
@@ -2073,7 +2073,7 @@
2073 2073
2074 * xfns.c (Fx_get_default): Add (unsigned char *) cast. 2074 * xfns.c (Fx_get_default): Add (unsigned char *) cast.
2075 2075
2076 * window.c: typo. 2076 * window.c: Typo.
2077 2077
20781987-02-09 Richard M. Stallman (rms@prep) 20781987-02-09 Richard M. Stallman (rms@prep)
2079 2079
diff --git a/src/ChangeLog.3 b/src/ChangeLog.3
index e3c5ab70f66..e3ba2b37ccd 100644
--- a/src/ChangeLog.3
+++ b/src/ChangeLog.3
@@ -5146,7 +5146,7 @@
5146 Change mouse movement events to be arranged like click events. 5146 Change mouse movement events to be arranged like click events.
5147 (format_modifiers): Note that the click modifier has no 5147 (format_modifiers): Note that the click modifier has no
5148 written representation. 5148 written representation.
5149 (modifier_names, modifer_symbols): New variables, used to 5149 (modifier_names, modifier_symbols): New variables, used to
5150 create the Qevent_symbol_elements property. 5150 create the Qevent_symbol_elements property.
5151 (modify_event_symbol): Change the format of the modified 5151 (modify_event_symbol): Change the format of the modified
5152 symbol cache; there are too many modifier bits now to use a 5152 symbol cache; there are too many modifier bits now to use a
@@ -5154,8 +5154,8 @@
5154 Document the format of the cache. 5154 Document the format of the cache.
5155 Put the Qevent_symbol_elements property on each new symbol, 5155 Put the Qevent_symbol_elements property on each new symbol,
5156 instead of a Qevent_unmodified property. 5156 instead of a Qevent_unmodified property.
5157 (symbols_of_keyboard): Put Qevent_symbol_elements properties on 5157 (symbols_of_keyboard): Put Qevent_symbol_elements properties on the
5158 the symbols specified in head_table, not Qevent_unmodifed properties. 5158 symbols specified in head_table, not Qevent_unmodified properties.
5159 Initialize and staticpro modifier_symbols, and staticpro the 5159 Initialize and staticpro modifier_symbols, and staticpro the
5160 window elements of button_down_location. 5160 window elements of button_down_location.
5161 5161
@@ -11207,7 +11207,7 @@
11207 events to send the function key number instead of a symbol. 11207 events to send the function key number instead of a symbol.
11208 * keyboard.c (modify_event_symbol): Re-arranged to work well 11208 * keyboard.c (modify_event_symbol): Re-arranged to work well
11209 with function key/mouse button numbers instead of symbols. 11209 with function key/mouse button numbers instead of symbols.
11210 And if (MODIFIERS & up_modifer), prepend "U-" to the name of the 11210 And if (MODIFIERS & up_modifier), prepend "U-" to the name of the
11211 symbol being constructed. 11211 symbol being constructed.
11212 (make_lispy_event): Use the new modify_event_symbol. 11212 (make_lispy_event): Use the new modify_event_symbol.
11213 11213
diff --git a/src/ChangeLog.7 b/src/ChangeLog.7
index 7421aba4403..b5927108808 100644
--- a/src/ChangeLog.7
+++ b/src/ChangeLog.7
@@ -491,7 +491,7 @@
491 491
492 * xselect.c (selection_data_to_lisp_data): Set 492 * xselect.c (selection_data_to_lisp_data): Set
493 Vlast_coding_system_used. 493 Vlast_coding_system_used.
494 (lisp_data_to_selection_data): Likewize. 494 (lisp_data_to_selection_data): Likesize.
495 495
4961998-07-07 Richard Stallman <rms@psilocin.ai.mit.edu> 4961998-07-07 Richard Stallman <rms@psilocin.ai.mit.edu>
497 497
@@ -502,7 +502,7 @@
502 * editfns.c (Fformat): Replace explicit numeric constants with 502 * editfns.c (Fformat): Replace explicit numeric constants with
503 proper macros. 503 proper macros.
504 504
505 * fns.c (concat): Likewize. 505 * fns.c (concat): Likewise.
506 506
5071998-07-06 Kenichi Handa <handa@etl.go.jp> 5071998-07-06 Kenichi Handa <handa@etl.go.jp>
508 508
diff --git a/src/ChangeLog.8 b/src/ChangeLog.8
index 5033a055576..9c38b29ff32 100644
--- a/src/ChangeLog.8
+++ b/src/ChangeLog.8
@@ -3686,7 +3686,7 @@
3686 * lread.c (read_escape): For Control modifier, pay attention to 3686 * lread.c (read_escape): For Control modifier, pay attention to
3687 multibyte character. 3687 multibyte character.
3688 (read1): Likewise. Signal error or a multibyte character which 3688 (read1): Likewise. Signal error or a multibyte character which
3689 has a modifer bit. Check validity of Shift modifer. 3689 has a modifier bit. Check validity of Shift modifier.
3690 3690
3691 * charset.c (non_ascii_char_to_string): Handle modifier bits as 3691 * charset.c (non_ascii_char_to_string): Handle modifier bits as
3692 the same as Lisp reader. 3692 the same as Lisp reader.
diff --git a/src/ccl.c b/src/ccl.c
index f98897b51fa..ca4a1479091 100644
--- a/src/ccl.c
+++ b/src/ccl.c
@@ -448,7 +448,7 @@ Lisp_Object Vtranslation_hash_table_vector;
448 Therefore, the instruction code range is 0..16384(0x3fff). 448 Therefore, the instruction code range is 0..16384(0x3fff).
449 */ 449 */
450 450
451/* Read a multibyte characeter. 451/* Read a multibyte character.
452 A code point is stored into reg[rrr]. A charset ID is stored into 452 A code point is stored into reg[rrr]. A charset ID is stored into
453 reg[RRR]. */ 453 reg[RRR]. */
454 454
@@ -2044,7 +2044,7 @@ If R0..R7 are nil, they are initialized to 0.
2044If IC is nil, it is initialized to head of the CCL program. 2044If IC is nil, it is initialized to head of the CCL program.
2045 2045
2046If optional 4th arg CONTINUE is non-nil, keep IC on read operation 2046If optional 4th arg CONTINUE is non-nil, keep IC on read operation
2047when read buffer is exausted, else, IC is always set to the end of 2047when read buffer is exhausted, else, IC is always set to the end of
2048CCL-PROGRAM on exit. 2048CCL-PROGRAM on exit.
2049 2049
2050It returns the contents of write buffer as a string, 2050It returns the contents of write buffer as a string,
diff --git a/src/coding.c b/src/coding.c
index 2cf32360096..7a3bc40b9c7 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -166,7 +166,7 @@ detect_coding_XXX (struct coding_system *coding,
166 166
167 while (1) 167 while (1)
168 { 168 {
169 /* Get one byte from the source. If the souce is exausted, jump 169 /* Get one byte from the source. If the source is exhausted, jump
170 to no_more_source:. */ 170 to no_more_source:. */
171 ONE_MORE_BYTE (c); 171 ONE_MORE_BYTE (c);
172 172
@@ -180,7 +180,7 @@ detect_coding_XXX (struct coding_system *coding,
180 return 0; 180 return 0;
181 181
182 no_more_source: 182 no_more_source:
183 /* The source exausted successfully. */ 183 /* The source exhausted successfully. */
184 detect_info->found |= found; 184 detect_info->found |= found;
185 return 1; 185 return 1;
186} 186}
@@ -530,7 +530,7 @@ enum iso_code_class_type
530 on output. */ 530 on output. */
531#define CODING_ISO_FLAG_DESIGNATE_AT_BOL 0x0400 531#define CODING_ISO_FLAG_DESIGNATE_AT_BOL 0x0400
532 532
533/* If set, do not encode unsafe charactes on output. */ 533/* If set, do not encode unsafe characters on output. */
534#define CODING_ISO_FLAG_SAFE 0x0800 534#define CODING_ISO_FLAG_SAFE 0x0800
535 535
536/* If set, extra latin codes (128..159) are accepted as a valid code 536/* If set, extra latin codes (128..159) are accepted as a valid code
@@ -686,7 +686,7 @@ enum coding_category
686static Lisp_Object Vcoding_category_list; 686static Lisp_Object Vcoding_category_list;
687 687
688/* Table of coding categories (Lisp symbols). This variable is for 688/* Table of coding categories (Lisp symbols). This variable is for
689 internal use oly. */ 689 internal use only. */
690static Lisp_Object Vcoding_category_table; 690static Lisp_Object Vcoding_category_table;
691 691
692/* Table of coding-categories ordered by priority. */ 692/* Table of coding-categories ordered by priority. */
@@ -818,7 +818,7 @@ static struct coding_system coding_categories[coding_category_max];
818 } while (0) 818 } while (0)
819 819
820 820
821/* Like EMIT_ONE_ASCII_BYTE byt store two bytes; C1 and C2. */ 821/* Like EMIT_ONE_ASCII_BYTE but store two bytes; C1 and C2. */
822 822
823#define EMIT_TWO_ASCII_BYTES(c1, c2) \ 823#define EMIT_TWO_ASCII_BYTES(c1, c2) \
824 do { \ 824 do { \
@@ -1227,7 +1227,7 @@ alloc_destination (struct coding_system *coding, EMACS_INT nbytes,
1227 1227
1228 METHOD is one of enum composition_method. 1228 METHOD is one of enum composition_method.
1229 1229
1230 Optionnal COMPOSITION-COMPONENTS are characters and composition 1230 Optional COMPOSITION-COMPONENTS are characters and composition
1231 rules. 1231 rules.
1232 1232
1233 In the case of CODING_ANNOTATE_CHARSET_MASK, one element CHARSET-ID 1233 In the case of CODING_ANNOTATE_CHARSET_MASK, one element CHARSET-ID
@@ -1932,7 +1932,7 @@ encode_coding_utf_16 (struct coding_system *coding)
1932 CHARS is 0xA0 plus a number of characters composed by this 1932 CHARS is 0xA0 plus a number of characters composed by this
1933 data, 1933 data,
1934 1934
1935 COMPONENTs are characters of multibye form or composition 1935 COMPONENTs are characters of multibyte form or composition
1936 rules encoded by two-byte of ASCII codes. 1936 rules encoded by two-byte of ASCII codes.
1937 1937
1938 In addition, for backward compatibility, the following formats are 1938 In addition, for backward compatibility, the following formats are
@@ -2428,8 +2428,8 @@ decode_coding_emacs_mule (struct coding_system *coding)
2428 const unsigned char *src_end = coding->source + coding->src_bytes; 2428 const unsigned char *src_end = coding->source + coding->src_bytes;
2429 const unsigned char *src_base; 2429 const unsigned char *src_base;
2430 int *charbuf = coding->charbuf + coding->charbuf_used; 2430 int *charbuf = coding->charbuf + coding->charbuf_used;
2431 /* We may produce two annocations (charset and composition) in one 2431 /* We may produce two annotations (charset and composition) in one
2432 loop and one more charset annocation at the end. */ 2432 loop and one more charset annotation at the end. */
2433 int *charbuf_end 2433 int *charbuf_end
2434 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 3); 2434 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 3);
2435 int consumed_chars = 0, consumed_chars_base; 2435 int consumed_chars = 0, consumed_chars_base;
@@ -2505,7 +2505,7 @@ decode_coding_emacs_mule (struct coding_system *coding)
2505 /* emacs_mule_char can load a charset map from a file, which 2505 /* emacs_mule_char can load a charset map from a file, which
2506 allocates a large structure and might cause buffer text 2506 allocates a large structure and might cause buffer text
2507 to be relocated as result. Thus, we need to remember the 2507 to be relocated as result. Thus, we need to remember the
2508 original pointer to buffer text, and fixup all related 2508 original pointer to buffer text, and fix up all related
2509 pointers after the call. */ 2509 pointers after the call. */
2510 const unsigned char *orig = coding->source; 2510 const unsigned char *orig = coding->source;
2511 EMACS_INT offset; 2511 EMACS_INT offset;
@@ -2532,7 +2532,7 @@ decode_coding_emacs_mule (struct coding_system *coding)
2532 cmp_status->ncomps -= nchars; 2532 cmp_status->ncomps -= nchars;
2533 } 2533 }
2534 2534
2535 /* Now if C >= 0, we found a normally encoded characer, if C < 2535 /* Now if C >= 0, we found a normally encoded character, if C <
2536 0, we found an old-style composition component character or 2536 0, we found an old-style composition component character or
2537 rule. */ 2537 rule. */
2538 2538
@@ -3043,7 +3043,7 @@ setup_iso_safe_charsets (Lisp_Object attrs)
3043 3043
3044 3044
3045/* See the above "GENERAL NOTES on `detect_coding_XXX ()' functions". 3045/* See the above "GENERAL NOTES on `detect_coding_XXX ()' functions".
3046 Check if a text is encoded in one of ISO-2022 based codig systems. 3046 Check if a text is encoded in one of ISO-2022 based coding systems.
3047 If it is, return 1, else return 0. */ 3047 If it is, return 1, else return 0. */
3048 3048
3049static int 3049static int
@@ -3452,7 +3452,7 @@ finish_composition (int *charbuf, struct composition_status *cmp_status)
3452 return new_chars; 3452 return new_chars;
3453} 3453}
3454 3454
3455/* If characers are under composition, finish the composition. */ 3455/* If characters are under composition, finish the composition. */
3456#define MAYBE_FINISH_COMPOSITION() \ 3456#define MAYBE_FINISH_COMPOSITION() \
3457 do { \ 3457 do { \
3458 if (cmp_status->state != COMPOSING_NO) \ 3458 if (cmp_status->state != COMPOSING_NO) \
@@ -3558,8 +3558,8 @@ decode_coding_iso_2022 (struct coding_system *coding)
3558 const unsigned char *src_end = coding->source + coding->src_bytes; 3558 const unsigned char *src_end = coding->source + coding->src_bytes;
3559 const unsigned char *src_base; 3559 const unsigned char *src_base;
3560 int *charbuf = coding->charbuf + coding->charbuf_used; 3560 int *charbuf = coding->charbuf + coding->charbuf_used;
3561 /* We may produce two annocations (charset and composition) in one 3561 /* We may produce two annotations (charset and composition) in one
3562 loop and one more charset annocation at the end. */ 3562 loop and one more charset annotation at the end. */
3563 int *charbuf_end 3563 int *charbuf_end
3564 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 3); 3564 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 3);
3565 int consumed_chars = 0, consumed_chars_base; 3565 int consumed_chars = 0, consumed_chars_base;
@@ -3861,7 +3861,7 @@ decode_coding_iso_2022 (struct coding_system *coding)
3861 goto invalid_code; 3861 goto invalid_code;
3862 /* For the moment, nested direction is not supported. 3862 /* For the moment, nested direction is not supported.
3863 So, `coding->mode & CODING_MODE_DIRECTION' zero means 3863 So, `coding->mode & CODING_MODE_DIRECTION' zero means
3864 left-to-right, and nozero means right-to-left. */ 3864 left-to-right, and nonzero means right-to-left. */
3865 ONE_MORE_BYTE (c1); 3865 ONE_MORE_BYTE (c1);
3866 switch (c1) 3866 switch (c1)
3867 { 3867 {
@@ -4766,7 +4766,7 @@ decode_coding_sjis (struct coding_system *coding)
4766 const unsigned char *src_end = coding->source + coding->src_bytes; 4766 const unsigned char *src_end = coding->source + coding->src_bytes;
4767 const unsigned char *src_base; 4767 const unsigned char *src_base;
4768 int *charbuf = coding->charbuf + coding->charbuf_used; 4768 int *charbuf = coding->charbuf + coding->charbuf_used;
4769 /* We may produce one charset annocation in one loop and one more at 4769 /* We may produce one charset annotation in one loop and one more at
4770 the end. */ 4770 the end. */
4771 int *charbuf_end 4771 int *charbuf_end
4772 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 2); 4772 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 2);
@@ -4884,7 +4884,7 @@ decode_coding_big5 (struct coding_system *coding)
4884 const unsigned char *src_end = coding->source + coding->src_bytes; 4884 const unsigned char *src_end = coding->source + coding->src_bytes;
4885 const unsigned char *src_base; 4885 const unsigned char *src_base;
4886 int *charbuf = coding->charbuf + coding->charbuf_used; 4886 int *charbuf = coding->charbuf + coding->charbuf_used;
4887 /* We may produce one charset annocation in one loop and one more at 4887 /* We may produce one charset annotation in one loop and one more at
4888 the end. */ 4888 the end. */
4889 int *charbuf_end 4889 int *charbuf_end
4890 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 2); 4890 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 2);
@@ -5541,7 +5541,7 @@ decode_coding_charset (struct coding_system *coding)
5541 const unsigned char *src_end = coding->source + coding->src_bytes; 5541 const unsigned char *src_end = coding->source + coding->src_bytes;
5542 const unsigned char *src_base; 5542 const unsigned char *src_base;
5543 int *charbuf = coding->charbuf + coding->charbuf_used; 5543 int *charbuf = coding->charbuf + coding->charbuf_used;
5544 /* We may produce one charset annocation in one loop and one more at 5544 /* We may produce one charset annotation in one loop and one more at
5545 the end. */ 5545 the end. */
5546 int *charbuf_end 5546 int *charbuf_end
5547 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 2); 5547 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 2);
@@ -6144,14 +6144,14 @@ complement_process_encoding_system (Lisp_Object coding_system)
6144 o coding-category-iso-7-else 6144 o coding-category-iso-7-else
6145 6145
6146 The category for a coding system which has the same code range 6146 The category for a coding system which has the same code range
6147 as ISO2022 of 7-bit environemnt but uses locking shift or 6147 as ISO2022 of 7-bit environment but uses locking shift or
6148 single shift functions. Assigned the coding-system (Lisp 6148 single shift functions. Assigned the coding-system (Lisp
6149 symbol) `iso-2022-7bit-lock' by default. 6149 symbol) `iso-2022-7bit-lock' by default.
6150 6150
6151 o coding-category-iso-8-else 6151 o coding-category-iso-8-else
6152 6152
6153 The category for a coding system which has the same code range 6153 The category for a coding system which has the same code range
6154 as ISO2022 of 8-bit environemnt but uses locking shift or 6154 as ISO2022 of 8-bit environment but uses locking shift or
6155 single shift functions. Assigned the coding-system (Lisp 6155 single shift functions. Assigned the coding-system (Lisp
6156 symbol) `iso-2022-8bit-ss2' by default. 6156 symbol) `iso-2022-8bit-ss2' by default.
6157 6157
@@ -7548,7 +7548,7 @@ static Lisp_Object Vcode_conversion_reused_workbuf;
7548static int reused_workbuf_in_use; 7548static int reused_workbuf_in_use;
7549 7549
7550 7550
7551/* Return a working buffer of code convesion. MULTIBYTE specifies the 7551/* Return a working buffer of code conversion. MULTIBYTE specifies the
7552 multibyteness of returning buffer. */ 7552 multibyteness of returning buffer. */
7553 7553
7554static Lisp_Object 7554static Lisp_Object
@@ -8200,7 +8200,7 @@ function `define-coding-system'. */)
8200 8200
8201/* Detect how the bytes at SRC of length SRC_BYTES are encoded. If 8201/* Detect how the bytes at SRC of length SRC_BYTES are encoded. If
8202 HIGHEST is nonzero, return the coding system of the highest 8202 HIGHEST is nonzero, return the coding system of the highest
8203 priority among the detected coding systems. Otherwize return a 8203 priority among the detected coding systems. Otherwise return a
8204 list of detected coding systems sorted by their priorities. If 8204 list of detected coding systems sorted by their priorities. If
8205 MULTIBYTEP is nonzero, it is assumed that the bytes are in correct 8205 MULTIBYTEP is nonzero, it is assumed that the bytes are in correct
8206 multibyte form but contains only ASCII and eight-bit chars. 8206 multibyte form but contains only ASCII and eight-bit chars.
@@ -9302,7 +9302,7 @@ DEFUN ("set-terminal-coding-system-internal", Fset_terminal_coding_system_intern
9302 setup_coding_system (Fcheck_coding_system (coding_system), terminal_coding); 9302 setup_coding_system (Fcheck_coding_system (coding_system), terminal_coding);
9303 /* We had better not send unsafe characters to terminal. */ 9303 /* We had better not send unsafe characters to terminal. */
9304 terminal_coding->mode |= CODING_MODE_SAFE_ENCODING; 9304 terminal_coding->mode |= CODING_MODE_SAFE_ENCODING;
9305 /* Characer composition should be disabled. */ 9305 /* Character composition should be disabled. */
9306 terminal_coding->common_flags &= ~CODING_ANNOTATE_COMPOSITION_MASK; 9306 terminal_coding->common_flags &= ~CODING_ANNOTATE_COMPOSITION_MASK;
9307 terminal_coding->src_multibyte = 1; 9307 terminal_coding->src_multibyte = 1;
9308 terminal_coding->dst_multibyte = 0; 9308 terminal_coding->dst_multibyte = 0;
@@ -9318,7 +9318,7 @@ DEFUN ("set-safe-terminal-coding-system-internal",
9318 CHECK_SYMBOL (coding_system); 9318 CHECK_SYMBOL (coding_system);
9319 setup_coding_system (Fcheck_coding_system (coding_system), 9319 setup_coding_system (Fcheck_coding_system (coding_system),
9320 &safe_terminal_coding); 9320 &safe_terminal_coding);
9321 /* Characer composition should be disabled. */ 9321 /* Character composition should be disabled. */
9322 safe_terminal_coding.common_flags &= ~CODING_ANNOTATE_COMPOSITION_MASK; 9322 safe_terminal_coding.common_flags &= ~CODING_ANNOTATE_COMPOSITION_MASK;
9323 safe_terminal_coding.src_multibyte = 1; 9323 safe_terminal_coding.src_multibyte = 1;
9324 safe_terminal_coding.dst_multibyte = 0; 9324 safe_terminal_coding.dst_multibyte = 0;
@@ -9352,7 +9352,7 @@ DEFUN ("set-keyboard-coding-system-internal", Fset_keyboard_coding_system_intern
9352 else 9352 else
9353 Fcheck_coding_system (coding_system); 9353 Fcheck_coding_system (coding_system);
9354 setup_coding_system (coding_system, TERMINAL_KEYBOARD_CODING (t)); 9354 setup_coding_system (coding_system, TERMINAL_KEYBOARD_CODING (t));
9355 /* Characer composition should be disabled. */ 9355 /* Character composition should be disabled. */
9356 TERMINAL_KEYBOARD_CODING (t)->common_flags 9356 TERMINAL_KEYBOARD_CODING (t)->common_flags
9357 &= ~CODING_ANNOTATE_COMPOSITION_MASK; 9357 &= ~CODING_ANNOTATE_COMPOSITION_MASK;
9358 return Qnil; 9358 return Qnil;
@@ -9720,7 +9720,7 @@ usage: (define-coding-system-internal ...) */)
9720 9720
9721 If Nth element is a list of charset IDs, N is the first byte 9721 If Nth element is a list of charset IDs, N is the first byte
9722 of one of them. The list is sorted by dimensions of the 9722 of one of them. The list is sorted by dimensions of the
9723 charsets. A charset of smaller dimension comes firtst. */ 9723 charsets. A charset of smaller dimension comes first. */
9724 val = Fmake_vector (make_number (256), Qnil); 9724 val = Fmake_vector (make_number (256), Qnil);
9725 9725
9726 for (tail = charset_list; CONSP (tail); tail = XCDR (tail)) 9726 for (tail = charset_list; CONSP (tail); tail = XCDR (tail))
diff --git a/src/font.c b/src/font.c
index 33c3cbd7385..aee6b483353 100644
--- a/src/font.c
+++ b/src/font.c
@@ -3723,6 +3723,58 @@ font_get_frame_data (FRAME_PTR f, struct font_driver *driver)
3723} 3723}
3724 3724
3725 3725
3726/* Sets attributes on a font. Any properties that appear in ALIST and
3727 BOOLEAN_PROPERTIES or NON_BOOLEAN_PROPERTIES are set on the font.
3728 BOOLEAN_PROPERTIES and NON_BOOLEAN_PROPERTIES are NULL-terminated
3729 arrays of strings. This function is intended for use by the font
3730 drivers to implement their specific font_filter_properties. */
3731void
3732font_filter_properties (Lisp_Object font,
3733 Lisp_Object alist,
3734 const char *boolean_properties[],
3735 const char *non_boolean_properties[])
3736{
3737 Lisp_Object it;
3738 int i;
3739
3740 /* Set boolean values to Qt or Qnil */
3741 for (i = 0; boolean_properties[i] != NULL; ++i)
3742 for (it = alist; ! NILP (it); it = XCDR (it))
3743 {
3744 Lisp_Object key = XCAR (XCAR (it));
3745 Lisp_Object val = XCDR (XCAR (it));
3746 char *keystr = SDATA (SYMBOL_NAME (key));
3747
3748 if (strcmp (boolean_properties[i], keystr) == 0)
3749 {
3750 const char *str = INTEGERP (val) ? (XINT (val) ? "true" : "false")
3751 : SYMBOLP (val) ? (const char *) SDATA (SYMBOL_NAME (val))
3752 : "true";
3753
3754 if (strcmp ("false", str) == 0 || strcmp ("False", str) == 0
3755 || strcmp ("FALSE", str) == 0 || strcmp ("FcFalse", str) == 0
3756 || strcmp ("off", str) == 0 || strcmp ("OFF", str) == 0
3757 || strcmp ("Off", str) == 0)
3758 val = Qnil;
3759 else
3760 val = Qt;
3761
3762 Ffont_put (font, key, val);
3763 }
3764 }
3765
3766 for (i = 0; non_boolean_properties[i] != NULL; ++i)
3767 for (it = alist; ! NILP (it); it = XCDR (it))
3768 {
3769 Lisp_Object key = XCAR (XCAR (it));
3770 Lisp_Object val = XCDR (XCAR (it));
3771 char *keystr = SDATA (SYMBOL_NAME (key));
3772 if (strcmp (non_boolean_properties[i], keystr) == 0)
3773 Ffont_put (font, key, val);
3774 }
3775}
3776
3777
3726/* Return the font used to draw character C by FACE at buffer position 3778/* Return the font used to draw character C by FACE at buffer position
3727 POS in window W. If STRING is non-nil, it is a string containing C 3779 POS in window W. If STRING is non-nil, it is a string containing C
3728 at index POS. If C is negative, get C from the current buffer or 3780 at index POS. If C is negative, get C from the current buffer or
@@ -4486,7 +4538,7 @@ DEFUN ("font-variation-glyphs", Ffont_variation_glyphs, Sfont_variation_glyphs,
4486 doc: /* Return a list of variation glyphs for CHAR in FONT-OBJECT. 4538 doc: /* Return a list of variation glyphs for CHAR in FONT-OBJECT.
4487Each element of the value is a cons (VARIATION-SELECTOR . GLYPH-ID), 4539Each element of the value is a cons (VARIATION-SELECTOR . GLYPH-ID),
4488where 4540where
4489 VARIATION-SELECTOR is a chracter code of variation selection 4541 VARIATION-SELECTOR is a character code of variation selection
4490 (#xFE00..#xFE0F or #xE0100..#xE01EF) 4542 (#xFE00..#xFE0F or #xE0100..#xE01EF)
4491 GLYPH-ID is a glyph code of the corresponding variation glyph. */) 4543 GLYPH-ID is a glyph code of the corresponding variation glyph. */)
4492 (Lisp_Object font_object, Lisp_Object character) 4544 (Lisp_Object font_object, Lisp_Object character)
diff --git a/src/font.h b/src/font.h
index c322b8e590f..b2d7e49fa29 100644
--- a/src/font.h
+++ b/src/font.h
@@ -581,7 +581,7 @@ struct font_driver
581 FONT-ENTITY and it must be opened to check it, return -1. */ 581 FONT-ENTITY and it must be opened to check it, return -1. */
582 int (*has_char) (Lisp_Object font, int c); 582 int (*has_char) (Lisp_Object font, int c);
583 583
584 /* Return a glyph code of FONT for characer C (Unicode code point). 584 /* Return a glyph code of FONT for character C (Unicode code point).
585 If FONT doesn't have such a glyph, return FONT_INVALID_CODE. */ 585 If FONT doesn't have such a glyph, return FONT_INVALID_CODE. */
586 unsigned (*encode_char) (struct font *font, int c); 586 unsigned (*encode_char) (struct font *font, int c);
587 587
@@ -821,6 +821,11 @@ extern int font_put_frame_data (FRAME_PTR f,
821extern void *font_get_frame_data (FRAME_PTR f, 821extern void *font_get_frame_data (FRAME_PTR f,
822 struct font_driver *driver); 822 struct font_driver *driver);
823 823
824extern void font_filter_properties (Lisp_Object font,
825 Lisp_Object alist,
826 const char *boolean_properties[],
827 const char *non_boolean_properties[]);
828
824#ifdef HAVE_FREETYPE 829#ifdef HAVE_FREETYPE
825extern struct font_driver ftfont_driver; 830extern struct font_driver ftfont_driver;
826extern void syms_of_ftfont (void); 831extern void syms_of_ftfont (void);
diff --git a/src/ftfont.c b/src/ftfont.c
index 97bf265a84c..b0d10791379 100644
--- a/src/ftfont.c
+++ b/src/ftfont.c
@@ -88,7 +88,7 @@ static Lisp_Object ftfont_lookup_cache (Lisp_Object,
88 enum ftfont_cache_for); 88 enum ftfont_cache_for);
89 89
90static void ftfont_filter_properties (Lisp_Object font, Lisp_Object alist); 90static void ftfont_filter_properties (Lisp_Object font, Lisp_Object alist);
91 91
92Lisp_Object ftfont_font_format (FcPattern *, Lisp_Object); 92Lisp_Object ftfont_font_format (FcPattern *, Lisp_Object);
93 93
94#define SYMBOL_FcChar8(SYM) (FcChar8 *) SDATA (SYMBOL_NAME (SYM)) 94#define SYMBOL_FcChar8(SYM) (FcChar8 *) SDATA (SYMBOL_NAME (SYM))
@@ -260,7 +260,7 @@ ftfont_pattern_entity (FcPattern *p, Lisp_Object extra)
260 else 260 else
261 { 261 {
262 /* As this font is not scalable, parhaps this is a BDF or PCF 262 /* As this font is not scalable, parhaps this is a BDF or PCF
263 font. */ 263 font. */
264 FT_Face ft_face; 264 FT_Face ft_face;
265 265
266 ASET (entity, FONT_ADSTYLE_INDEX, get_adstyle_property (p)); 266 ASET (entity, FONT_ADSTYLE_INDEX, get_adstyle_property (p));
@@ -2093,7 +2093,7 @@ ftfont_drive_otf (font, spec, in, from, to, out, adjustment)
2093 return to; 2093 return to;
2094} 2094}
2095 2095
2096static int 2096static int
2097ftfont_try_otf (MFLTFont *font, MFLTOtfSpec *spec, 2097ftfont_try_otf (MFLTFont *font, MFLTOtfSpec *spec,
2098 MFLTGlyphString *in, int from, int to) 2098 MFLTGlyphString *in, int from, int to)
2099{ 2099{
@@ -2645,42 +2645,7 @@ static const char *ftfont_non_booleans [] = {
2645static void 2645static void
2646ftfont_filter_properties (Lisp_Object font, Lisp_Object alist) 2646ftfont_filter_properties (Lisp_Object font, Lisp_Object alist)
2647{ 2647{
2648 Lisp_Object it; 2648 font_filter_properties (font, alist, ftfont_booleans, ftfont_non_booleans);
2649 int i;
2650
2651 /* Set boolean values to Qt or Qnil */
2652 for (i = 0; ftfont_booleans[i] != NULL; ++i)
2653 for (it = alist; ! NILP (it); it = XCDR (it))
2654 {
2655 Lisp_Object key = XCAR (XCAR (it));
2656 Lisp_Object val = XCDR (XCAR (it));
2657 char *keystr = SDATA (SYMBOL_NAME (key));
2658
2659 if (strcmp (ftfont_booleans[i], keystr) == 0)
2660 {
2661 const char *str = SYMBOLP (val) ? SDATA (SYMBOL_NAME (val)) : NULL;
2662 if (INTEGERP (val)) str = XINT (val) != 0 ? "true" : "false";
2663 if (str == NULL) str = "true";
2664
2665 val = Qt;
2666 if (strcmp ("false", str) == 0 || strcmp ("False", str) == 0
2667 || strcmp ("FALSE", str) == 0 || strcmp ("FcFalse", str) == 0
2668 || strcmp ("off", str) == 0 || strcmp ("OFF", str) == 0
2669 || strcmp ("Off", str) == 0)
2670 val = Qnil;
2671 Ffont_put (font, key, val);
2672 }
2673 }
2674
2675 for (i = 0; ftfont_non_booleans[i] != NULL; ++i)
2676 for (it = alist; ! NILP (it); it = XCDR (it))
2677 {
2678 Lisp_Object key = XCAR (XCAR (it));
2679 Lisp_Object val = XCDR (XCAR (it));
2680 char *keystr = SDATA (SYMBOL_NAME (key));
2681 if (strcmp (ftfont_non_booleans[i], keystr) == 0)
2682 Ffont_put (font, key, val);
2683 }
2684} 2649}
2685 2650
2686 2651
diff --git a/src/nsterm.m b/src/nsterm.m
index 3c146c5d2a6..247ef4dd40c 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -145,24 +145,24 @@ Lisp_Object Qalt, Qcontrol, Qhyper, Qmeta, Qsuper, Qnone;
145extern Lisp_Object Qcursor_color, Qcursor_type, Qns, Qleft; 145extern Lisp_Object Qcursor_color, Qcursor_type, Qns, Qleft;
146 146
147/* Specifies which emacs modifier should be generated when NS receives 147/* Specifies which emacs modifier should be generated when NS receives
148 the Alternate modifer. May be Qnone or any of the modifier lisp symbols. */ 148 the Alternate modifier. May be Qnone or any of the modifier lisp symbols. */
149Lisp_Object ns_alternate_modifier; 149Lisp_Object ns_alternate_modifier;
150 150
151/* Specifies which emacs modifier should be generated when NS receives 151/* Specifies which emacs modifier should be generated when NS receives
152 the right Alternate modifer. Has same values as ns_alternate_modifier plus 152 the right Alternate modifier. Has same values as ns_alternate_modifier plus
153 the value Qleft which means whatever value ns_alternate_modifier has. */ 153 the value Qleft which means whatever value ns_alternate_modifier has. */
154Lisp_Object ns_right_alternate_modifier; 154Lisp_Object ns_right_alternate_modifier;
155 155
156/* Specifies which emacs modifier should be generated when NS receives 156/* Specifies which emacs modifier should be generated when NS receives
157 the Command modifer. May be any of the modifier lisp symbols. */ 157 the Command modifier. May be any of the modifier lisp symbols. */
158Lisp_Object ns_command_modifier; 158Lisp_Object ns_command_modifier;
159 159
160/* Specifies which emacs modifier should be generated when NS receives 160/* Specifies which emacs modifier should be generated when NS receives
161 the Control modifer. May be any of the modifier lisp symbols. */ 161 the Control modifier. May be any of the modifier lisp symbols. */
162Lisp_Object ns_control_modifier; 162Lisp_Object ns_control_modifier;
163 163
164/* Specifies which emacs modifier should be generated when NS receives 164/* Specifies which emacs modifier should be generated when NS receives
165 the Function modifer (laptops). May be any of the modifier lisp symbols. */ 165 the Function modifier (laptops). May be any of the modifier lisp symbols. */
166Lisp_Object ns_function_modifier; 166Lisp_Object ns_function_modifier;
167 167
168/* Control via default 'GSFontAntiAlias' on OS X and GNUstep. */ 168/* Control via default 'GSFontAntiAlias' on OS X and GNUstep. */
diff --git a/src/print.c b/src/print.c
index 1c34f6e27e4..ea88ba72f65 100644
--- a/src/print.c
+++ b/src/print.c
@@ -1401,7 +1401,7 @@ static void print_check_string_charset_prop (INTERVAL interval, Lisp_Object stri
1401#define PRINT_STRING_NON_CHARSET_FOUND 1 1401#define PRINT_STRING_NON_CHARSET_FOUND 1
1402#define PRINT_STRING_UNSAFE_CHARSET_FOUND 2 1402#define PRINT_STRING_UNSAFE_CHARSET_FOUND 2
1403 1403
1404/* Bitwize or of the abobe macros. */ 1404/* Bitwise or of the above macros. */
1405static int print_check_string_result; 1405static int print_check_string_result;
1406 1406
1407static void 1407static void
diff --git a/src/regex.c b/src/regex.c
index b563d93fe29..17158552a95 100644
--- a/src/regex.c
+++ b/src/regex.c
@@ -4089,7 +4089,7 @@ analyse_first (const re_char *p, const re_char *pend, char *fastmap, const int m
4089 && match_any_multibyte_characters == false) 4089 && match_any_multibyte_characters == false)
4090 { 4090 {
4091 /* Set fastmap[I] to 1 where I is a leading code of each 4091 /* Set fastmap[I] to 1 where I is a leading code of each
4092 multibyte characer in the range table. */ 4092 multibyte character in the range table. */
4093 int c, count; 4093 int c, count;
4094 unsigned char lc1, lc2; 4094 unsigned char lc1, lc2;
4095 4095
diff --git a/src/w32.c b/src/w32.c
index 4ccda449b47..ae34ac6aadb 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -2970,7 +2970,7 @@ convert_time (FILETIME ft)
2970 2970
2971 if (!init) 2971 if (!init)
2972 { 2972 {
2973 initialize_utc_base(); 2973 initialize_utc_base ();
2974 init = 1; 2974 init = 1;
2975 } 2975 }
2976 2976
@@ -5037,7 +5037,7 @@ fcntl (int s, int cmd, int options)
5037 unsigned long nblock = 1; 5037 unsigned long nblock = 1;
5038 int rc = pfn_ioctlsocket (SOCK_HANDLE (s), FIONBIO, &nblock); 5038 int rc = pfn_ioctlsocket (SOCK_HANDLE (s), FIONBIO, &nblock);
5039 if (rc == SOCKET_ERROR) 5039 if (rc == SOCKET_ERROR)
5040 set_errno(); 5040 set_errno ();
5041 /* Keep track of the fact that we set this to non-blocking. */ 5041 /* Keep track of the fact that we set this to non-blocking. */
5042 fd_info[s].flags |= FILE_NDELAY; 5042 fd_info[s].flags |= FILE_NDELAY;
5043 return rc; 5043 return rc;
@@ -5935,8 +5935,7 @@ serial_open (char *port)
5935 5935
5936/* For serial-process-configure */ 5936/* For serial-process-configure */
5937void 5937void
5938serial_configure (struct Lisp_Process *p, 5938serial_configure (struct Lisp_Process *p, Lisp_Object contact)
5939 Lisp_Object contact)
5940{ 5939{
5941 Lisp_Object childp2 = Qnil; 5940 Lisp_Object childp2 = Qnil;
5942 Lisp_Object tem = Qnil; 5941 Lisp_Object tem = Qnil;
diff --git a/src/w32fns.c b/src/w32fns.c
index b05643821f1..808503547f1 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -245,7 +245,7 @@ struct MONITOR_INFO
245}; 245};
246 246
247/* Reportedly, VS 6 does not have this in its headers. */ 247/* Reportedly, VS 6 does not have this in its headers. */
248#if defined(_MSC_VER) && _MSC_VER < 1300 248#if defined (_MSC_VER) && _MSC_VER < 1300
249DECLARE_HANDLE(HMONITOR); 249DECLARE_HANDLE(HMONITOR);
250#endif 250#endif
251 251
@@ -1870,7 +1870,6 @@ x_set_title (struct frame *f, Lisp_Object name, Lisp_Object old_name)
1870 } 1870 }
1871} 1871}
1872 1872
1873
1874void 1873void
1875x_set_scroll_bar_default_width (struct frame *f) 1874x_set_scroll_bar_default_width (struct frame *f)
1876{ 1875{
@@ -3918,7 +3917,6 @@ w32_wnd_proc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
3918 return DefWindowProc (hwnd, msg, wParam, lParam); 3917 return DefWindowProc (hwnd, msg, wParam, lParam);
3919 } 3918 }
3920 3919
3921
3922 /* The most common default return code for handled messages is 0. */ 3920 /* The most common default return code for handled messages is 0. */
3923 return 0; 3921 return 0;
3924} 3922}
@@ -4359,7 +4357,6 @@ This function is an internal primitive--use `make-frame' instead. */)
4359 x_default_parameter (f, parameters, Qright_fringe, Qnil, 4357 x_default_parameter (f, parameters, Qright_fringe, Qnil,
4360 "rightFringe", "RightFringe", RES_TYPE_NUMBER); 4358 "rightFringe", "RightFringe", RES_TYPE_NUMBER);
4361 4359
4362
4363 /* Init faces before x_default_parameter is called for scroll-bar 4360 /* Init faces before x_default_parameter is called for scroll-bar
4364 parameters because that function calls x_set_scroll_bar_width, 4361 parameters because that function calls x_set_scroll_bar_width,
4365 which calls change_frame_size, which calls Fset_window_buffer, 4362 which calls change_frame_size, which calls Fset_window_buffer,
diff --git a/src/w32font.c b/src/w32font.c
index 8e17093b98d..f489fe2d763 100644
--- a/src/w32font.c
+++ b/src/w32font.c
@@ -333,7 +333,7 @@ w32font_has_char (Lisp_Object entity, int c)
333} 333}
334 334
335/* w32 implementation of encode_char for font backend. 335/* w32 implementation of encode_char for font backend.
336 Return a glyph code of FONT for characer C (Unicode code point). 336 Return a glyph code of FONT for character C (Unicode code point).
337 If FONT doesn't have such a glyph, return FONT_INVALID_CODE. 337 If FONT doesn't have such a glyph, return FONT_INVALID_CODE.
338 338
339 For speed, the gdi backend uses unicode (Emacs calls encode_char 339 For speed, the gdi backend uses unicode (Emacs calls encode_char
@@ -1798,7 +1798,7 @@ w32_decode_weight (int fnweight)
1798 if (fnweight >= FW_NORMAL) return 100; 1798 if (fnweight >= FW_NORMAL) return 100;
1799 if (fnweight >= FW_LIGHT) return 50; 1799 if (fnweight >= FW_LIGHT) return 50;
1800 if (fnweight >= FW_EXTRALIGHT) return 40; 1800 if (fnweight >= FW_EXTRALIGHT) return 40;
1801 if (fnweight > FW_THIN) return 20; 1801 if (fnweight > FW_THIN) return 20;
1802 return 0; 1802 return 0;
1803} 1803}
1804 1804
@@ -1812,7 +1812,7 @@ w32_encode_weight (int n)
1812 if (n >= 100) return FW_NORMAL; 1812 if (n >= 100) return FW_NORMAL;
1813 if (n >= 50) return FW_LIGHT; 1813 if (n >= 50) return FW_LIGHT;
1814 if (n >= 40) return FW_EXTRALIGHT; 1814 if (n >= 40) return FW_EXTRALIGHT;
1815 if (n >= 20) return FW_THIN; 1815 if (n >= 20) return FW_THIN;
1816 return 0; 1816 return 0;
1817} 1817}
1818 1818
@@ -1822,9 +1822,9 @@ static Lisp_Object
1822w32_to_fc_weight (int n) 1822w32_to_fc_weight (int n)
1823{ 1823{
1824 if (n >= FW_EXTRABOLD) return intern ("black"); 1824 if (n >= FW_EXTRABOLD) return intern ("black");
1825 if (n >= FW_BOLD) return intern ("bold"); 1825 if (n >= FW_BOLD) return intern ("bold");
1826 if (n >= FW_SEMIBOLD) return intern ("demibold"); 1826 if (n >= FW_SEMIBOLD) return intern ("demibold");
1827 if (n >= FW_NORMAL) return intern ("medium"); 1827 if (n >= FW_NORMAL) return intern ("medium");
1828 return intern ("light"); 1828 return intern ("light");
1829} 1829}
1830 1830
@@ -1912,7 +1912,6 @@ fill_in_logfont (FRAME_PTR f, LOGFONT *logfont, Lisp_Object font_spec)
1912 logfont->lfPitchAndFamily = family | DEFAULT_PITCH; 1912 logfont->lfPitchAndFamily = family | DEFAULT_PITCH;
1913 } 1913 }
1914 1914
1915
1916 /* Set pitch based on the spacing property. */ 1915 /* Set pitch based on the spacing property. */
1917 tmp = AREF (font_spec, FONT_SPACING_INDEX); 1916 tmp = AREF (font_spec, FONT_SPACING_INDEX);
1918 if (INTEGERP (tmp)) 1917 if (INTEGERP (tmp))
@@ -2378,6 +2377,23 @@ in the font selection dialog. */)
2378 return DECODE_SYSTEM (build_string (buf)); 2377 return DECODE_SYSTEM (build_string (buf));
2379} 2378}
2380 2379
2380static const char *w32font_booleans [] = {
2381 NULL,
2382};
2383
2384static const char *w32font_non_booleans [] = {
2385 ":script",
2386 ":antialias",
2387 ":style",
2388 NULL,
2389};
2390
2391static void
2392w32font_filter_properties (Lisp_Object font, Lisp_Object alist)
2393{
2394 font_filter_properties (font, alist, w32font_booleans, w32font_non_booleans);
2395}
2396
2381struct font_driver w32font_driver = 2397struct font_driver w32font_driver =
2382 { 2398 {
2383 0, /* Qgdi */ 2399 0, /* Qgdi */
@@ -2407,7 +2423,7 @@ struct font_driver w32font_driver =
2407 NULL, /* shape */ 2423 NULL, /* shape */
2408 NULL, /* check */ 2424 NULL, /* check */
2409 NULL, /* get_variation_glyphs */ 2425 NULL, /* get_variation_glyphs */
2410 NULL, /* filter_properties */ 2426 w32font_filter_properties,
2411 }; 2427 };
2412 2428
2413 2429
diff --git a/src/w32heap.c b/src/w32heap.c
index d785dffeab9..285325e3f8b 100644
--- a/src/w32heap.c
+++ b/src/w32heap.c
@@ -278,7 +278,7 @@ round_heap (unsigned long align)
278 sbrk (need_to_alloc); 278 sbrk (need_to_alloc);
279} 279}
280 280
281#if (_MSC_VER >= 1000 && _MSC_VER < 1300 && !defined(USE_CRT_DLL)) 281#if (_MSC_VER >= 1000 && _MSC_VER < 1300 && !defined (USE_CRT_DLL))
282 282
283/* MSVC 4.2 invokes these functions from mainCRTStartup to initialize 283/* MSVC 4.2 invokes these functions from mainCRTStartup to initialize
284 a heap via HeapCreate. They are normally defined by the runtime, 284 a heap via HeapCreate. They are normally defined by the runtime,
diff --git a/src/w32menu.c b/src/w32menu.c
index 6e7da5ad577..ff6bd977bea 100644
--- a/src/w32menu.c
+++ b/src/w32menu.c
@@ -997,7 +997,7 @@ w32_dialog_show (FRAME_PTR f, int keymaps,
997 Lisp_Object title, Lisp_Object header, 997 Lisp_Object title, Lisp_Object header,
998 char **error) 998 char **error)
999{ 999{
1000 int i, nb_buttons=0; 1000 int i, nb_buttons = 0;
1001 char dialog_name[6]; 1001 char dialog_name[6];
1002 int menu_item_selection; 1002 int menu_item_selection;
1003 1003
@@ -1740,7 +1740,7 @@ syms_of_w32menu (void)
1740void 1740void
1741globals_of_w32menu (void) 1741globals_of_w32menu (void)
1742{ 1742{
1743 /* See if Get/SetMenuItemInfo functions are available. */ 1743 /* See if Get/SetMenuItemInfo functions are available. */
1744 HMODULE user32 = GetModuleHandle ("user32.dll"); 1744 HMODULE user32 = GetModuleHandle ("user32.dll");
1745 get_menu_item_info = (GetMenuItemInfoA_Proc) GetProcAddress (user32, "GetMenuItemInfoA"); 1745 get_menu_item_info = (GetMenuItemInfoA_Proc) GetProcAddress (user32, "GetMenuItemInfoA");
1746 set_menu_item_info = (SetMenuItemInfoA_Proc) GetProcAddress (user32, "SetMenuItemInfoA"); 1746 set_menu_item_info = (SetMenuItemInfoA_Proc) GetProcAddress (user32, "SetMenuItemInfoA");
diff --git a/src/w32proc.c b/src/w32proc.c
index c0da124a472..49687574472 100644
--- a/src/w32proc.c
+++ b/src/w32proc.c
@@ -168,7 +168,7 @@ new_child (void)
168 child_process *cp; 168 child_process *cp;
169 DWORD id; 169 DWORD id;
170 170
171 for (cp = child_procs+(child_proc_count-1); cp >= child_procs; cp--) 171 for (cp = child_procs + (child_proc_count-1); cp >= child_procs; cp--)
172 if (!CHILD_ACTIVE (cp)) 172 if (!CHILD_ACTIVE (cp))
173 goto Initialise; 173 goto Initialise;
174 if (child_proc_count == MAX_CHILDREN) 174 if (child_proc_count == MAX_CHILDREN)
@@ -268,7 +268,7 @@ find_child_pid (DWORD pid)
268{ 268{
269 child_process *cp; 269 child_process *cp;
270 270
271 for (cp = child_procs+(child_proc_count-1); cp >= child_procs; cp--) 271 for (cp = child_procs + (child_proc_count-1); cp >= child_procs; cp--)
272 if (CHILD_ACTIVE (cp) && pid == cp->pid) 272 if (CHILD_ACTIVE (cp) && pid == cp->pid)
273 return cp; 273 return cp;
274 return NULL; 274 return NULL;
@@ -495,7 +495,7 @@ sys_wait (int *status)
495 } 495 }
496 else 496 else
497 { 497 {
498 for (cp = child_procs+(child_proc_count-1); cp >= child_procs; cp--) 498 for (cp = child_procs + (child_proc_count-1); cp >= child_procs; cp--)
499 /* some child_procs might be sockets; ignore them */ 499 /* some child_procs might be sockets; ignore them */
500 if (CHILD_ACTIVE (cp) && cp->procinfo.hProcess 500 if (CHILD_ACTIVE (cp) && cp->procinfo.hProcess
501 && (cp->fd < 0 || (fd_info[cp->fd].flags & FILE_AT_EOF) != 0)) 501 && (cp->fd < 0 || (fd_info[cp->fd].flags & FILE_AT_EOF) != 0))
@@ -895,7 +895,7 @@ sys_spawnve (int mode, char *cmdname, char **argv, char **envp)
895 escape_char = is_cygnus_app ? '"' : '\\'; 895 escape_char = is_cygnus_app ? '"' : '\\';
896 } 896 }
897 897
898 /* Cygwin apps needs quoting a bit more often */ 898 /* Cygwin apps needs quoting a bit more often. */
899 if (escape_char == '"') 899 if (escape_char == '"')
900 sepchars = "\r\n\t\f '"; 900 sepchars = "\r\n\t\f '";
901 901
@@ -1245,7 +1245,7 @@ sys_select (int nfds, SELECT_TYPE *rfds, SELECT_TYPE *wfds, SELECT_TYPE *efds,
1245count_children: 1245count_children:
1246 /* Add handles of child processes. */ 1246 /* Add handles of child processes. */
1247 nc = 0; 1247 nc = 0;
1248 for (cp = child_procs+(child_proc_count-1); cp >= child_procs; cp--) 1248 for (cp = child_procs + (child_proc_count-1); cp >= child_procs; cp--)
1249 /* Some child_procs might be sockets; ignore them. Also some 1249 /* Some child_procs might be sockets; ignore them. Also some
1250 children may have died already, but we haven't finished reading 1250 children may have died already, but we haven't finished reading
1251 the process output; ignore them too. */ 1251 the process output; ignore them too. */
diff --git a/src/w32select.c b/src/w32select.c
index bd013a5ece9..f9bab384062 100644
--- a/src/w32select.c
+++ b/src/w32select.c
@@ -1072,7 +1072,7 @@ syms_of_w32select (void)
1072When sending or receiving text via cut_buffer, selection, and 1072When sending or receiving text via cut_buffer, selection, and
1073clipboard, the text is encoded or decoded by this coding system. 1073clipboard, the text is encoded or decoded by this coding system.
1074The default value is the current system default encoding on 9x/Me and 1074The default value is the current system default encoding on 9x/Me and
1075`utf-16le-dos' (Unicode) on NT/W2K/XP. */); 1075`utf-16le-dos' (Unicode) on NT/W2K/XP. */);
1076 /* The actual value is set dynamically in the dumped Emacs, see 1076 /* The actual value is set dynamically in the dumped Emacs, see
1077 below. */ 1077 below. */
1078 Vselection_coding_system = Qnil; 1078 Vselection_coding_system = Qnil;
diff --git a/src/w32term.c b/src/w32term.c
index a082aa32b69..1f53860de2e 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -893,7 +893,7 @@ w32_set_terminal_modes (struct terminal *term)
893{ 893{
894} 894}
895 895
896/* This is called when exiting or suspending Emacs. Exiting will make 896/* This is called when exiting or suspending Emacs. Exiting will make
897 the W32 windows go away, and suspending requires no action. */ 897 the W32 windows go away, and suspending requires no action. */
898 898
899static void 899static void
@@ -4239,7 +4239,7 @@ w32_read_socket (struct terminal *terminal, int expected,
4239 inev.frame_or_window = window; 4239 inev.frame_or_window = window;
4240 } 4240 }
4241 4241
4242 last_window=window; 4242 last_window = window;
4243 } 4243 }
4244 if (!note_mouse_movement (f, &msg.msg)) 4244 if (!note_mouse_movement (f, &msg.msg))
4245 help_echo_string = previous_help_echo_string; 4245 help_echo_string = previous_help_echo_string;
@@ -5601,7 +5601,7 @@ x_make_frame_visible (struct frame *f)
5601 /* Adjust vertical window position in order to avoid being 5601 /* Adjust vertical window position in order to avoid being
5602 covered by a task bar placed at the bottom of the desktop. */ 5602 covered by a task bar placed at the bottom of the desktop. */
5603 SystemParametersInfo (SPI_GETWORKAREA, 0, &workarea_rect, 0); 5603 SystemParametersInfo (SPI_GETWORKAREA, 0, &workarea_rect, 0);
5604 GetWindowRect (FRAME_W32_WINDOW(f), &window_rect); 5604 GetWindowRect (FRAME_W32_WINDOW (f), &window_rect);
5605 if (window_rect.bottom > workarea_rect.bottom 5605 if (window_rect.bottom > workarea_rect.bottom
5606 && window_rect.top > workarea_rect.top) 5606 && window_rect.top > workarea_rect.top)
5607 f->top_pos = max (window_rect.top 5607 f->top_pos = max (window_rect.top
diff --git a/src/w32uniscribe.c b/src/w32uniscribe.c
index 05cc8346a50..6c29e6ee2d0 100644
--- a/src/w32uniscribe.c
+++ b/src/w32uniscribe.c
@@ -439,7 +439,7 @@ uniscribe_shape (Lisp_Object lgstring)
439} 439}
440 440
441/* Uniscribe implementation of encode_char for font backend. 441/* Uniscribe implementation of encode_char for font backend.
442 Return a glyph code of FONT for characer C (Unicode code point). 442 Return a glyph code of FONT for character C (Unicode code point).
443 If FONT doesn't have such a glyph, return FONT_INVALID_CODE. */ 443 If FONT doesn't have such a glyph, return FONT_INVALID_CODE. */
444static unsigned 444static unsigned
445uniscribe_encode_char (struct font *font, int c) 445uniscribe_encode_char (struct font *font, int c)
diff --git a/src/w32xfns.c b/src/w32xfns.c
index 8fee42dae48..4cbd812ec0f 100644
--- a/src/w32xfns.c
+++ b/src/w32xfns.c
@@ -408,7 +408,6 @@ XParseGeometry (char *string,
408 return (0); 408 return (0);
409 strind = nextCharacter; 409 strind = nextCharacter;
410 mask |= YNegative; 410 mask |= YNegative;
411
412 } 411 }
413 else 412 else
414 { 413 {
@@ -422,7 +421,7 @@ XParseGeometry (char *string,
422 } 421 }
423 } 422 }
424 423
425 /* If strind isn't at the end of the string the it's an invalid 424 /* If strind isn't at the end of the string then it's an invalid
426 geometry specification. */ 425 geometry specification. */
427 426
428 if (*strind != '\0') return (0); 427 if (*strind != '\0') return (0);