diff options
author | Stefan Kangas <stefan@marxist.se> | 2020-11-05 15:32:45 +0100 |
---|---|---|
committer | Stefan Kangas <stefan@marxist.se> | 2020-11-09 21:08:28 +0100 |
commit | 95c04675abb33c9a77e561e109348954e0d67c85 (patch) | |
tree | 840c90aa973fd8c054dac22ddd31724fe7a688cc /src | |
parent | a08320f7234685cd84a18040556fd3f7eaacaf45 (diff) | |
download | emacs-95c04675abb33c9a77e561e109348954e0d67c85.tar.gz emacs-95c04675abb33c9a77e561e109348954e0d67c85.tar.bz2 emacs-95c04675abb33c9a77e561e109348954e0d67c85.zip |
Simplify getting value of text-quoting-style (Bug#44471)
* src/doc.c (text_quoting_style): Remove function by merging it...
(Ftext_quoting_style): ...here. Rename from Fget_quoting_style.
(syms_of_doc): Update defsubr for Ftext_quoting_style.
* src/lisp.h (enum text_quoting_style): Remove enum.
* src/doprnt.c (doprnt):
* src/editfns.c (styled_format):
* lisp/help.el (substitute-command-keys): Update callers to use
text-quoting-style.
Diffstat (limited to 'src')
-rw-r--r-- | src/doc.c | 40 | ||||
-rw-r--r-- | src/doprnt.c | 8 | ||||
-rw-r--r-- | src/editfns.c | 6 | ||||
-rw-r--r-- | src/lisp.h | 12 |
4 files changed, 21 insertions, 45 deletions
diff --git a/src/doc.c b/src/doc.c index f1ce266d39f..5f23e3d0bba 100644 --- a/src/doc.c +++ b/src/doc.c @@ -682,37 +682,25 @@ default_to_grave_quoting_style (void) && EQ (AREF (dv, 0), make_fixnum ('`'))); } -/* Return the current effective text quoting style. */ -enum text_quoting_style -text_quoting_style (void) +DEFUN ("text-quoting-style", Ftext_quoting_style, + Stext_quoting_style, 0, 0, 0, + doc: /* Return the current effective text quoting style. +See variable `text-quoting-style'. */) + (void) { + /* Use grave accent and apostrophe `like this'. */ if (NILP (Vtext_quoting_style) ? default_to_grave_quoting_style () : EQ (Vtext_quoting_style, Qgrave)) - return GRAVE_QUOTING_STYLE; + return Qgrave; + + /* Use apostrophes 'like this'. */ else if (EQ (Vtext_quoting_style, Qstraight)) - return STRAIGHT_QUOTING_STYLE; - else - return CURVE_QUOTING_STYLE; -} + return Qstraight; -/* This is just a Lisp wrapper for text_quoting_style above. */ -DEFUN ("get-quoting-style", Fget_quoting_style, - Sget_quoting_style, 0, 0, 0, - doc: /* Return the current effective text quoting style. -See variable `text-quoting-style'. */) - (void) -{ - switch (text_quoting_style ()) - { - case STRAIGHT_QUOTING_STYLE: - return Qstraight; - case CURVE_QUOTING_STYLE: - return Qcurve; - case GRAVE_QUOTING_STYLE: - default: - return Qgrave; - } + /* Use curved single quotes ‘like this’. */ + else + return Qcurve; } @@ -755,5 +743,5 @@ otherwise. */); defsubr (&Sdocumentation); defsubr (&Sdocumentation_property); defsubr (&Ssnarf_documentation); - defsubr (&Sget_quoting_style); + defsubr (&Stext_quoting_style); } diff --git a/src/doprnt.c b/src/doprnt.c index ce259d07cfe..93164977206 100644 --- a/src/doprnt.c +++ b/src/doprnt.c @@ -199,7 +199,7 @@ doprnt (char *buffer, ptrdiff_t bufsize, const char *format, /* Buffer we have got with malloc. */ char *big_buffer = NULL; - enum text_quoting_style quoting_style = text_quoting_style (); + Lisp_Object quoting_style = Ftext_quoting_style (); bufsize--; @@ -482,13 +482,13 @@ doprnt (char *buffer, ptrdiff_t bufsize, const char *format, char const *src; ptrdiff_t srclen; - if (quoting_style == CURVE_QUOTING_STYLE && fmtchar == '`') + if (EQ (quoting_style, Qcurve) && fmtchar == '`') src = uLSQM, srclen = sizeof uLSQM - 1; - else if (quoting_style == CURVE_QUOTING_STYLE && fmtchar == '\'') + else if (EQ (quoting_style, Qcurve) && fmtchar == '\'') src = uRSQM, srclen = sizeof uRSQM - 1; else { - if (quoting_style == STRAIGHT_QUOTING_STYLE && fmtchar == '`') + if (EQ (quoting_style, Qstraight) && fmtchar == '`') fmtchar = '\''; eassert (ASCII_CHAR_P (fmtchar)); *bufptr++ = fmtchar; diff --git a/src/editfns.c b/src/editfns.c index aedab476146..4104edd77fd 100644 --- a/src/editfns.c +++ b/src/editfns.c @@ -3154,7 +3154,7 @@ styled_format (ptrdiff_t nargs, Lisp_Object *args, bool message) if (STRINGP (args[i]) && STRING_MULTIBYTE (args[i])) multibyte = true; - int quoting_style = message ? text_quoting_style () : -1; + Lisp_Object quoting_style = message ? Ftext_quoting_style () : Qnil; ptrdiff_t ispec; ptrdiff_t nspec = 0; @@ -3774,7 +3774,7 @@ styled_format (ptrdiff_t nargs, Lisp_Object *args, bool message) unsigned char str[MAX_MULTIBYTE_LENGTH]; if ((format_char == '`' || format_char == '\'') - && quoting_style == CURVE_QUOTING_STYLE) + && EQ (quoting_style, Qcurve)) { if (! multibyte) { @@ -3785,7 +3785,7 @@ styled_format (ptrdiff_t nargs, Lisp_Object *args, bool message) convbytes = 3; new_result = true; } - else if (format_char == '`' && quoting_style == STRAIGHT_QUOTING_STYLE) + else if (format_char == '`' && EQ (quoting_style, Qstraight)) { convsrc = "'"; new_result = true; diff --git a/src/lisp.h b/src/lisp.h index cf33031342d..76d74200ac8 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -4497,18 +4497,6 @@ extern void set_initial_environment (void); extern void syms_of_callproc (void); /* Defined in doc.c. */ -enum text_quoting_style - { - /* Use curved single quotes ‘like this’. */ - CURVE_QUOTING_STYLE, - - /* Use grave accent and apostrophe `like this'. */ - GRAVE_QUOTING_STYLE, - - /* Use apostrophes 'like this'. */ - STRAIGHT_QUOTING_STYLE - }; -extern enum text_quoting_style text_quoting_style (void); extern Lisp_Object read_doc_string (Lisp_Object); extern Lisp_Object get_doc_string (Lisp_Object, bool, bool); extern void syms_of_doc (void); |