mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-02-08 20:58:58 +00:00
(Qcoding_system_define_form): New variable.
(syms_of_coding): Intern and staticpro it. (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
This commit is contained in:
parent
a7803391c2
commit
a362520d43
16
src/coding.c
16
src/coding.c
@ -366,6 +366,10 @@ Lisp_Object Qcall_process, Qcall_process_region, Qprocess_argument;
|
||||
Lisp_Object Qstart_process, Qopen_network_stream;
|
||||
Lisp_Object Qtarget_idx;
|
||||
|
||||
/* If a symbol has this property, evaluate the value to define the
|
||||
symbol as a coding system. */
|
||||
Lisp_Object Qcoding_system_define_form;
|
||||
|
||||
Lisp_Object Vselect_safe_coding_system_function;
|
||||
|
||||
int coding_system_require_warning;
|
||||
@ -6375,7 +6379,14 @@ The value of property should be a vector of length 5. */)
|
||||
(coding_system)
|
||||
Lisp_Object coding_system;
|
||||
{
|
||||
CHECK_SYMBOL (coding_system);
|
||||
Lisp_Object define_form;
|
||||
|
||||
define_form = Fget (coding_system, Qcoding_system_define_form);
|
||||
if (! NILP (define_form))
|
||||
{
|
||||
Fput (coding_system, Qcoding_system_define_form, Qnil);
|
||||
safe_eval (define_form);
|
||||
}
|
||||
if (!NILP (Fcoding_system_p (coding_system)))
|
||||
return coding_system;
|
||||
while (1)
|
||||
@ -7595,6 +7606,9 @@ syms_of_coding ()
|
||||
Qutf_8 = intern ("utf-8");
|
||||
staticpro (&Qutf_8);
|
||||
|
||||
Qcoding_system_define_form = intern ("coding-system-define-form");
|
||||
staticpro (&Qcoding_system_define_form);
|
||||
|
||||
defsubr (&Scoding_system_p);
|
||||
defsubr (&Sread_coding_system);
|
||||
defsubr (&Sread_non_nil_coding_system);
|
||||
|
Loading…
x
Reference in New Issue
Block a user