diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/doc.c | 41 | ||||
| -rw-r--r-- | src/editfns.c | 22 | ||||
| -rw-r--r-- | src/lisp.h | 3 |
3 files changed, 11 insertions, 55 deletions
| @@ -704,8 +704,6 @@ text_quoting_style (void) | |||
| 704 | ? default_to_grave_quoting_style () | 704 | ? default_to_grave_quoting_style () |
| 705 | : EQ (Vtext_quoting_style, Qgrave)) | 705 | : EQ (Vtext_quoting_style, Qgrave)) |
| 706 | return GRAVE_QUOTING_STYLE; | 706 | return GRAVE_QUOTING_STYLE; |
| 707 | else if (EQ (Vtext_quoting_style, Qleave)) | ||
| 708 | return LEAVE_QUOTING_STYLE; | ||
| 709 | else if (EQ (Vtext_quoting_style, Qstraight)) | 707 | else if (EQ (Vtext_quoting_style, Qstraight)) |
| 710 | return STRAIGHT_QUOTING_STYLE; | 708 | return STRAIGHT_QUOTING_STYLE; |
| 711 | else | 709 | else |
| @@ -982,29 +980,12 @@ Otherwise, return a new string. */) | |||
| 982 | nchars++; | 980 | nchars++; |
| 983 | changed = true; | 981 | changed = true; |
| 984 | } | 982 | } |
| 985 | else if (! multibyte) | ||
| 986 | *bufp++ = *strp++, nchars++; | ||
| 987 | else | 983 | else |
| 988 | { | 984 | { |
| 989 | int len; | 985 | *bufp++ = *strp++; |
| 990 | int ch = STRING_CHAR_AND_LENGTH (strp, len); | 986 | if (multibyte) |
| 991 | if ((ch == LEFT_SINGLE_QUOTATION_MARK | 987 | while (! CHAR_HEAD_P (*strp)) |
| 992 | || ch == RIGHT_SINGLE_QUOTATION_MARK) | 988 | *bufp++ = *strp++; |
| 993 | && quoting_style != CURVE_QUOTING_STYLE | ||
| 994 | && quoting_style != LEAVE_QUOTING_STYLE) | ||
| 995 | { | ||
| 996 | *bufp++ = ((ch == LEFT_SINGLE_QUOTATION_MARK | ||
| 997 | && quoting_style == GRAVE_QUOTING_STYLE) | ||
| 998 | ? '`' : '\''); | ||
| 999 | strp += len; | ||
| 1000 | changed = true; | ||
| 1001 | } | ||
| 1002 | else | ||
| 1003 | { | ||
| 1004 | do | ||
| 1005 | *bufp++ = *strp++; | ||
| 1006 | while (--len != 0); | ||
| 1007 | } | ||
| 1008 | nchars++; | 989 | nchars++; |
| 1009 | } | 990 | } |
| 1010 | } | 991 | } |
| @@ -1036,7 +1017,6 @@ void | |||
| 1036 | syms_of_doc (void) | 1017 | syms_of_doc (void) |
| 1037 | { | 1018 | { |
| 1038 | DEFSYM (Qfunction_documentation, "function-documentation"); | 1019 | DEFSYM (Qfunction_documentation, "function-documentation"); |
| 1039 | DEFSYM (Qleave, "leave"); | ||
| 1040 | DEFSYM (Qgrave, "grave"); | 1020 | DEFSYM (Qgrave, "grave"); |
| 1041 | DEFSYM (Qstraight, "straight"); | 1021 | DEFSYM (Qstraight, "straight"); |
| 1042 | 1022 | ||
| @@ -1051,15 +1031,16 @@ syms_of_doc (void) | |||
| 1051 | DEFVAR_LISP ("text-quoting-style", Vtext_quoting_style, | 1031 | DEFVAR_LISP ("text-quoting-style", Vtext_quoting_style, |
| 1052 | doc: /* Style to use for single quotes in help and messages. | 1032 | doc: /* Style to use for single quotes in help and messages. |
| 1053 | Its value should be a symbol. It works by substituting certain single | 1033 | Its value should be a symbol. It works by substituting certain single |
| 1054 | quotes for certain other single quotes. This is done in help output and | 1034 | quotes for grave accent and apostrophe. This is done in help output |
| 1055 | `message' output. It is not done in `format'. | 1035 | and in functions like `message' and `format-message'. It is not done |
| 1036 | in `format'. | ||
| 1056 | 1037 | ||
| 1057 | `leave' means do not do any substitutions. | ||
| 1058 | `curve' means quote with curved single quotes \\=‘like this\\=’. | 1038 | `curve' means quote with curved single quotes \\=‘like this\\=’. |
| 1059 | `straight' means quote with straight apostrophes \\='like this\\='. | 1039 | `straight' means quote with straight apostrophes \\='like this\\='. |
| 1060 | `grave' means quote with grave accent and apostrophe \\=`like this\\='. | 1040 | `grave' means quote with grave accent and apostrophe \\=`like this\\='; |
| 1061 | The default value nil acts like `curve' if curved single quotes are | 1041 | i.e., do not alter quote marks. The default value nil acts like |
| 1062 | displayable, and like `grave' otherwise. */); | 1042 | `curve' if curved single quotes are displayable, and like `grave' |
| 1043 | otherwise. */); | ||
| 1063 | Vtext_quoting_style = Qnil; | 1044 | Vtext_quoting_style = Qnil; |
| 1064 | 1045 | ||
| 1065 | DEFVAR_BOOL ("internal--text-quoting-flag", text_quoting_flag, | 1046 | DEFVAR_BOOL ("internal--text-quoting-flag", text_quoting_flag, |
diff --git a/src/editfns.c b/src/editfns.c index afcf1cab72b..6b0996d65eb 100644 --- a/src/editfns.c +++ b/src/editfns.c | |||
| @@ -3977,8 +3977,6 @@ styled_format (ptrdiff_t nargs, Lisp_Object *args, bool message) | |||
| 3977 | multibyte = true; | 3977 | multibyte = true; |
| 3978 | 3978 | ||
| 3979 | int quoting_style = message ? text_quoting_style () : -1; | 3979 | int quoting_style = message ? text_quoting_style () : -1; |
| 3980 | if (quoting_style == LEAVE_QUOTING_STYLE) | ||
| 3981 | quoting_style = -1; | ||
| 3982 | 3980 | ||
| 3983 | /* If we start out planning a unibyte result, | 3981 | /* If we start out planning a unibyte result, |
| 3984 | then discover it has to be multibyte, we jump back to retry. */ | 3982 | then discover it has to be multibyte, we jump back to retry. */ |
| @@ -4457,14 +4455,6 @@ styled_format (ptrdiff_t nargs, Lisp_Object *args, bool message) | |||
| 4457 | } | 4455 | } |
| 4458 | else | 4456 | else |
| 4459 | { | 4457 | { |
| 4460 | /* Named constants for the UTF-8 encodings of U+2018 LEFT SINGLE | ||
| 4461 | QUOTATION MARK and U+2019 RIGHT SINGLE QUOTATION MARK. */ | ||
| 4462 | enum | ||
| 4463 | { | ||
| 4464 | uLSQM0 = 0xE2, uLSQM1 = 0x80, uLSQM2 = 0x98, | ||
| 4465 | /* uRSQM0 = 0xE2, uRSQM1 = 0x80, */ uRSQM2 = 0x99 | ||
| 4466 | }; | ||
| 4467 | |||
| 4468 | unsigned char str[MAX_MULTIBYTE_LENGTH]; | 4458 | unsigned char str[MAX_MULTIBYTE_LENGTH]; |
| 4469 | 4459 | ||
| 4470 | if ((format_char == '`' || format_char == '\'') | 4460 | if ((format_char == '`' || format_char == '\'') |
| @@ -4480,18 +4470,6 @@ styled_format (ptrdiff_t nargs, Lisp_Object *args, bool message) | |||
| 4480 | } | 4470 | } |
| 4481 | else if (format_char == '`' && quoting_style == STRAIGHT_QUOTING_STYLE) | 4471 | else if (format_char == '`' && quoting_style == STRAIGHT_QUOTING_STYLE) |
| 4482 | convsrc = "'"; | 4472 | convsrc = "'"; |
| 4483 | else if (format_char == uLSQM0 && CURVE_QUOTING_STYLE < quoting_style | ||
| 4484 | && multibyte_format | ||
| 4485 | && (unsigned char) format[0] == uLSQM1 | ||
| 4486 | && ((unsigned char) format[1] == uLSQM2 | ||
| 4487 | || (unsigned char) format[1] == uRSQM2)) | ||
| 4488 | { | ||
| 4489 | convsrc = (((unsigned char) format[1] == uLSQM2 | ||
| 4490 | && quoting_style == GRAVE_QUOTING_STYLE) | ||
| 4491 | ? "`" : "'"); | ||
| 4492 | format += 2; | ||
| 4493 | memset (&discarded[format0 + 1 - format_start], 2, 2); | ||
| 4494 | } | ||
| 4495 | else | 4473 | else |
| 4496 | { | 4474 | { |
| 4497 | /* Copy a single character from format to buf. */ | 4475 | /* Copy a single character from format to buf. */ |
diff --git a/src/lisp.h b/src/lisp.h index de74a47e3d3..1fc6130be0b 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -4198,9 +4198,6 @@ extern void syms_of_callproc (void); | |||
| 4198 | /* Defined in doc.c. */ | 4198 | /* Defined in doc.c. */ |
| 4199 | enum text_quoting_style | 4199 | enum text_quoting_style |
| 4200 | { | 4200 | { |
| 4201 | /* Leave quotes unchanged. */ | ||
| 4202 | LEAVE_QUOTING_STYLE, | ||
| 4203 | |||
| 4204 | /* Use curved single quotes ‘like this’. */ | 4201 | /* Use curved single quotes ‘like this’. */ |
| 4205 | CURVE_QUOTING_STYLE, | 4202 | CURVE_QUOTING_STYLE, |
| 4206 | 4203 | ||