# HG changeset patch # User Glenn Morris # Date 1192584598 0 # Node ID bb808ca35bd91ce9f6aef6f9fbce643e8ba79eb5 # Parent a89507976418dc588b47810547106db8fadd3578 (Qcompletion_ignore_case): New external Lisp_Object. (Fread_coding_system): Ignore case of user input. diff -r a89507976418 -r bb808ca35bd9 src/coding.c --- a/src/coding.c Tue Oct 16 22:39:24 2007 +0000 +++ b/src/coding.c Wed Oct 17 01:29:58 2007 +0000 @@ -374,6 +374,8 @@ Lisp_Object Qstart_process, Qopen_network_stream; Lisp_Object Qtarget_idx; +extern Lisp_Object Qcompletion_ignore_case; + /* If a symbol has this property, evaluate the value to define the symbol as a coding system. */ Lisp_Object Qcoding_system_define_form; @@ -6554,16 +6556,22 @@ DEFUN ("read-coding-system", Fread_coding_system, Sread_coding_system, 1, 2, 0, doc: /* Read a coding system from the minibuffer, prompting with string PROMPT. -If the user enters null input, return second argument DEFAULT-CODING-SYSTEM. */) +If the user enters null input, return second argument DEFAULT-CODING-SYSTEM. +Ignores case when completing coding systems (all Emacs coding systems +are lower-case). */) (prompt, default_coding_system) Lisp_Object prompt, default_coding_system; { Lisp_Object val; + int count = SPECPDL_INDEX (); + if (SYMBOLP (default_coding_system)) default_coding_system = SYMBOL_NAME (default_coding_system); + specbind (Qcompletion_ignore_case, Qt); val = Fcompleting_read (prompt, Vcoding_system_alist, Qnil, Qt, Qnil, Qcoding_system_history, default_coding_system, Qnil); + unbind_to (count, Qnil); return (SCHARS (val) == 0 ? Qnil : Fintern (val, Qnil)); }