Mercurial > hg > xemacs-beta
view src/strcat.c @ 4627:fdc76fec36d3
Vastly expand the characters x-compose.el supports.
2009-03-01 Aidan Kehoe <kehoea@parhasard.net>
* x-compose.el:
Document an XIM bug, and how one might work around it.
(define-compose-map):
Revise this macro, call it with compose-caron-map,
compose-macron-map, compose-breve-map, compose-dot-map,
compose-doubleacute-map, compose-ogonek-map, compose-hook-map,
compose-horn-map as well as the previous existing maps.
(compose-map):
Add entries for caron, macron, doubleacute, ogonek, breve and
abovedot to this map.
Add an assert, this code assumes that a non-Mule build has no
character codes above U+00FF.
Incorporate all the precomposed Latin characters in
UnicodeData.txt that we can into the maps, deciding at runtime on
which exactly depending on whether this is a non-Mule or a Mule
build.
Remove a commented-out old X11 bug workaround.
Use #'flet instead of defun + unintern for
#'alias-colon-to-doublequote.
Correct #'electric-diacritic to work with the keyboard macro
versions of the maps.
(compose-help):
This has been turned off since 1994; no-one appears to have
noticed, since the normal help mechanism offers similar
functionality and is actually maintained. Removed entirely.
Remove a superflous setting of a default value for ctl-arrow.
* x-init.el (x-initialize-compose):
Support the new dead key maps we just added to x-compose.el with
autoloads here.
| author | Aidan Kehoe <kehoea@parhasard.net> |
|---|---|
| date | Sun, 01 Mar 2009 11:11:46 +0000 |
| parents | abe6d1db359e |
| children | 2aa9cd456ae7 |
line wrap: on
line source
/* Copyright (C) 1991 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* Synched up with: Not in FSF. */ # include <config.h> # ifndef REGISTER /* Strictly enforced in 20.3 */ # define REGISTER # endif /* In HPUX 10 the strcat function references memory past the last byte of the string! This will core dump if the memory following the last byte is not mapped. Here is a correct version from, glibc 1.09. */ char *strcat (char *dest, const char *src); /* Append SRC on the end of DEST. */ char * strcat (char *dest, const char *src) { REGISTER char *s1 = dest; REGISTER const char *s2 = src; char c; /* Find the end of the string. */ do c = *s1++; while (c != '\0'); /* Make S1 point before the next character, so we can increment it while memory is read (wins on pipelined cpus). */ s1 -= 2; do { c = *s2++; *++s1 = c; } while (c != '\0'); return dest; }
