diff options
| author | Juanma Barranquero | 2010-10-14 16:32:27 +0200 |
|---|---|---|
| committer | Juanma Barranquero | 2010-10-14 16:32:27 +0200 |
| commit | 220d91b834f7f7252b9953460422151b86b3520c (patch) | |
| tree | 8f3e16983e83ac0da6beef346cb05cd2591a7f83 /src | |
| parent | 31e96eecc09283b5169faf0d5dc1c8efd58539ac (diff) | |
| parent | 9d4f32e88a1b642070f0adb41df04a0846c31970 (diff) | |
| download | emacs-220d91b834f7f7252b9953460422151b86b3520c.tar.gz emacs-220d91b834f7f7252b9953460422151b86b3520c.zip | |
Merge changes from emacs-23 branch.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 16 | ||||
| -rw-r--r-- | src/ChangeLog.2 | 8 | ||||
| -rw-r--r-- | src/ChangeLog.3 | 8 | ||||
| -rw-r--r-- | src/ChangeLog.7 | 4 | ||||
| -rw-r--r-- | src/ChangeLog.8 | 2 | ||||
| -rw-r--r-- | src/ccl.c | 4 | ||||
| -rw-r--r-- | src/coding.c | 54 | ||||
| -rw-r--r-- | src/font.c | 54 | ||||
| -rw-r--r-- | src/font.h | 7 | ||||
| -rw-r--r-- | src/ftfont.c | 43 | ||||
| -rw-r--r-- | src/nsterm.m | 10 | ||||
| -rw-r--r-- | src/print.c | 2 | ||||
| -rw-r--r-- | src/regex.c | 2 | ||||
| -rw-r--r-- | src/w32.c | 7 | ||||
| -rw-r--r-- | src/w32fns.c | 5 | ||||
| -rw-r--r-- | src/w32font.c | 32 | ||||
| -rw-r--r-- | src/w32heap.c | 2 | ||||
| -rw-r--r-- | src/w32menu.c | 4 | ||||
| -rw-r--r-- | src/w32proc.c | 10 | ||||
| -rw-r--r-- | src/w32select.c | 2 | ||||
| -rw-r--r-- | src/w32term.c | 6 | ||||
| -rw-r--r-- | src/w32uniscribe.c | 2 | ||||
| -rw-r--r-- | src/w32xfns.c | 3 |
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 @@ | |||
| 1 | 2010-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 | |||
| 12 | 2010-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 | |||
| 1 | 2010-10-14 Juanma Barranquero <lekktu@gmail.com> | 17 | 2010-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 @@ | |||
| 1563 | 1987-04-27 Richard Mlynarik (mly@prep) | 1563 | 1987-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 | ||
| 2078 | 1987-02-09 Richard M. Stallman (rms@prep) | 2078 | 1987-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 | ||
| 496 | 1998-07-07 Richard Stallman <rms@psilocin.ai.mit.edu> | 496 | 1998-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 | ||
| 507 | 1998-07-06 Kenichi Handa <handa@etl.go.jp> | 507 | 1998-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. |
| @@ -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. | |||
| 2044 | If IC is nil, it is initialized to head of the CCL program. | 2044 | If IC is nil, it is initialized to head of the CCL program. |
| 2045 | 2045 | ||
| 2046 | If optional 4th arg CONTINUE is non-nil, keep IC on read operation | 2046 | If optional 4th arg CONTINUE is non-nil, keep IC on read operation |
| 2047 | when read buffer is exausted, else, IC is always set to the end of | 2047 | when read buffer is exhausted, else, IC is always set to the end of |
| 2048 | CCL-PROGRAM on exit. | 2048 | CCL-PROGRAM on exit. |
| 2049 | 2049 | ||
| 2050 | It returns the contents of write buffer as a string, | 2050 | It 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 | |||
| 686 | static Lisp_Object Vcoding_category_list; | 686 | static 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. */ |
| 690 | static Lisp_Object Vcoding_category_table; | 690 | static 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 | ||
| 3049 | static int | 3049 | static 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; | |||
| 7548 | static int reused_workbuf_in_use; | 7548 | static 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 | ||
| 7554 | static Lisp_Object | 7554 | static 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. */ | ||
| 3731 | void | ||
| 3732 | font_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. |
| 4487 | Each element of the value is a cons (VARIATION-SELECTOR . GLYPH-ID), | 4539 | Each element of the value is a cons (VARIATION-SELECTOR . GLYPH-ID), |
| 4488 | where | 4540 | where |
| 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, | |||
| 821 | extern void *font_get_frame_data (FRAME_PTR f, | 821 | extern void *font_get_frame_data (FRAME_PTR f, |
| 822 | struct font_driver *driver); | 822 | struct font_driver *driver); |
| 823 | 823 | ||
| 824 | extern 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 |
| 825 | extern struct font_driver ftfont_driver; | 830 | extern struct font_driver ftfont_driver; |
| 826 | extern void syms_of_ftfont (void); | 831 | extern 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 | ||
| 90 | static void ftfont_filter_properties (Lisp_Object font, Lisp_Object alist); | 90 | static void ftfont_filter_properties (Lisp_Object font, Lisp_Object alist); |
| 91 | 91 | ||
| 92 | Lisp_Object ftfont_font_format (FcPattern *, Lisp_Object); | 92 | Lisp_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 | ||
| 2096 | static int | 2096 | static int |
| 2097 | ftfont_try_otf (MFLTFont *font, MFLTOtfSpec *spec, | 2097 | ftfont_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 [] = { | |||
| 2645 | static void | 2645 | static void |
| 2646 | ftfont_filter_properties (Lisp_Object font, Lisp_Object alist) | 2646 | ftfont_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; | |||
| 145 | extern Lisp_Object Qcursor_color, Qcursor_type, Qns, Qleft; | 145 | extern 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. */ |
| 149 | Lisp_Object ns_alternate_modifier; | 149 | Lisp_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. */ |
| 154 | Lisp_Object ns_right_alternate_modifier; | 154 | Lisp_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. */ |
| 158 | Lisp_Object ns_command_modifier; | 158 | Lisp_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. */ |
| 162 | Lisp_Object ns_control_modifier; | 162 | Lisp_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. */ |
| 166 | Lisp_Object ns_function_modifier; | 166 | Lisp_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. */ |
| 1405 | static int print_check_string_result; | 1405 | static int print_check_string_result; |
| 1406 | 1406 | ||
| 1407 | static void | 1407 | static 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 | ||
| @@ -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 */ |
| 5937 | void | 5937 | void |
| 5938 | serial_configure (struct Lisp_Process *p, | 5938 | serial_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 |
| 249 | DECLARE_HANDLE(HMONITOR); | 249 | DECLARE_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 | |||
| 1874 | void | 1873 | void |
| 1875 | x_set_scroll_bar_default_width (struct frame *f) | 1874 | x_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 | |||
| 1822 | w32_to_fc_weight (int n) | 1822 | w32_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 | ||
| 2380 | static const char *w32font_booleans [] = { | ||
| 2381 | NULL, | ||
| 2382 | }; | ||
| 2383 | |||
| 2384 | static const char *w32font_non_booleans [] = { | ||
| 2385 | ":script", | ||
| 2386 | ":antialias", | ||
| 2387 | ":style", | ||
| 2388 | NULL, | ||
| 2389 | }; | ||
| 2390 | |||
| 2391 | static void | ||
| 2392 | w32font_filter_properties (Lisp_Object font, Lisp_Object alist) | ||
| 2393 | { | ||
| 2394 | font_filter_properties (font, alist, w32font_booleans, w32font_non_booleans); | ||
| 2395 | } | ||
| 2396 | |||
| 2381 | struct font_driver w32font_driver = | 2397 | struct 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) | |||
| 1740 | void | 1740 | void |
| 1741 | globals_of_w32menu (void) | 1741 | globals_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, | |||
| 1245 | count_children: | 1245 | count_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) | |||
| 1072 | When sending or receiving text via cut_buffer, selection, and | 1072 | When sending or receiving text via cut_buffer, selection, and |
| 1073 | clipboard, the text is encoded or decoded by this coding system. | 1073 | clipboard, the text is encoded or decoded by this coding system. |
| 1074 | The default value is the current system default encoding on 9x/Me and | 1074 | The 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 | ||
| 899 | static void | 899 | static 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. */ |
| 444 | static unsigned | 444 | static unsigned |
| 445 | uniscribe_encode_char (struct font *font, int c) | 445 | uniscribe_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); |