comparison src/keymap.c @ 5089:99f8ebc082d9

Make #'substring an alias of #'subseq; give the latter the byte code. src/ChangeLog addition: 2010-03-03 Aidan Kehoe <kehoea@parhasard.net> * fns.c (Fsubstring): Removed. * search.c (Freplace_match): * minibuf.c (Ftry_completion): * lisp.h: * keymap.c (ensure_meta_prefix_char_keymapp): * dired.c (user_name_completion, file_name_completion): * console-x.c (x_canonicalize_console_connection): * bytecode.c (Bsubseq): * bytecode-ops.h (subseq): Move #'substring to Lisp, as an alias for #'subseq; change all C Fsubstring() calls to Fsubseq(), change the Bsubstring bytecode to Bsubseq. Motivation; not accepting vectors in #'substring is incompatible with GNU, and Common Lisp prefers #'subseq, it has no #'substring. lisp/ChangeLog addition: 2010-03-03 Aidan Kehoe <kehoea@parhasard.net> Move byte code #o117 to #'subseq, not #'substring. Make #'substring available as an alias for #'subseq in Lisp. * bytecomp.el (79, subseq, substring): * bytecomp.el (byte-compile-subseq): New. * update-elc.el (update-elc-chop-extension): Use #'subseq, not #'substring, the latter is not yet available. * subr.el (substring): New alias, to #'subseq. man/ChangeLog addition: 2010-03-03 Aidan Kehoe <kehoea@parhasard.net> * lispref/tips.texi (Comment Tips): * lispref/text.texi (Text Properties): * lispref/strings.texi (Creating Strings): * lispref/processes.texi (Input to Processes): * lispref/functions.texi (Argument List): * lispref/extents.texi (Duplicable Extents): Move examples that used substring to using subseq; in strings.texi, do not change the examples, but document that in this XEmacs, it is an alias for subseq, and that there may be some incompatibilities if you depend on that.
author Aidan Kehoe <kehoea@parhasard.net>
date Wed, 03 Mar 2010 18:40:12 +0000
parents 6f2158fa75ed
children 7be849cb8828
comparison
equal deleted inserted replaced
5088:207dad9e74f7 5089:99f8ebc082d9
1729 return; 1729 return;
1730 1730
1731 if (indx == 0) 1731 if (indx == 0)
1732 new_keys = keys; 1732 new_keys = keys;
1733 else if (STRINGP (keys)) 1733 else if (STRINGP (keys))
1734 new_keys = Fsubstring (keys, Qzero, make_int (indx)); 1734 new_keys = Fsubseq (keys, Qzero, make_int (indx));
1735 else if (VECTORP (keys)) 1735 else if (VECTORP (keys))
1736 { 1736 {
1737 new_keys = make_vector (indx, Qnil); 1737 new_keys = make_vector (indx, Qnil);
1738 for (i = 0; i < indx; i++) 1738 for (i = 0; i < indx; i++)
1739 XVECTOR_DATA (new_keys) [i] = XVECTOR_DATA (keys) [i]; 1739 XVECTOR_DATA (new_keys) [i] = XVECTOR_DATA (keys) [i];