1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-02 10:11:05 -08:00
emacs/src
Michal Nazarewicz 6220faeb4e casing: don’t assume letters are *either* upper- or lower-case (bug#24603)
A compatibility digraph characters, such as Dž, are neither upper- nor
lower-case.  At the moment however, those are reported as upper-case¹
despite the fact that they change when upper-cased.

Stop checking if a character is upper-case before trying to up-case it
so that title-case characters are handled correctly.  This fixes one of
the issues mentioned in bug#24603.

¹ Because they change when converted to lower-case.  Notice an asymmetry
  in that for a character to be considered lower-case it must not be
  upper-case (plus the usual condition of changing when upper-cased).

* src/buffer.h (upcase1): Delete.
(upcase): Change to upcase character unconditionally just like downcase
does it.  This is what upcase1 was.

* src/casefiddle.c (casify_object, casify_region): Use upcase instead
of upcase1 and don’t check !uppercasep(x) before calling upcase.

* src/keyboard.c (read_key_sequence): Don’t check if uppercase(x), just
downcase(x) and see if it changed.

* test/src/casefiddle-tests.el (casefiddle-tests--characters,
casefiddle-tests-casing): Update test cases which are now passing.
2017-02-15 16:54:07 +01:00
..
bitmaps
.dbxinit
.gdbinit Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
alloc.c Re-port alloc.c to Solaris sparc and simplify 2017-02-02 22:58:20 -08:00
atimer.c A quicker check for quit 2017-01-25 21:25:37 -08:00
atimer.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
bidi.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
blockinput.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
buffer.c Replace QUIT with maybe_quit 2017-01-25 21:25:37 -08:00
buffer.h casing: don’t assume letters are *either* upper- or lower-case (bug#24603) 2017-02-15 16:54:07 +01:00
bytecode.c src/bytecode.c (exec_byte_code): Make hash_code a Lisp_Object. 2017-02-11 23:41:56 +05:30
callint.c Replace QUIT with maybe_quit 2017-01-25 21:25:37 -08:00
callproc.c Fix quitting bug when buffers are frozen 2017-02-01 15:23:19 -08:00
casefiddle.c casing: don’t assume letters are *either* upper- or lower-case (bug#24603) 2017-02-15 16:54:07 +01:00
casetab.c Update copyright year to 2017 2016-12-31 19:42:26 -08:00
category.c Fix hash tables not being purified correctly. 2017-01-30 12:03:23 +05:30
category.h Rework C source files to avoid ^( 2016-03-10 07:59:19 -08:00
ccl.c Replace QUIT with maybe_quit 2017-01-25 21:25:37 -08:00
ccl.h Rework C source files to avoid ^( 2016-03-10 07:59:19 -08:00
ChangeLog.1 Update copyright year to 2017 2016-12-31 19:42:26 -08:00
ChangeLog.2 Update copyright year to 2017 2016-12-31 19:42:26 -08:00
ChangeLog.3 Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
ChangeLog.4 Update copyright year to 2017 2016-12-31 19:42:26 -08:00
ChangeLog.5 Update copyright year to 2017 2016-12-31 19:42:26 -08:00
ChangeLog.6 Update copyright year to 2017 2016-12-31 19:42:26 -08:00
ChangeLog.7 Update copyright year to 2017 2016-12-31 19:42:26 -08:00
ChangeLog.8 Update copyright year to 2017 2016-12-31 19:42:26 -08:00
ChangeLog.9 Update copyright year to 2017 2016-12-31 19:42:26 -08:00
ChangeLog.10 Update copyright year to 2017 2016-12-31 19:42:26 -08:00
ChangeLog.11 Update copyright year to 2017 2016-12-31 19:42:26 -08:00
ChangeLog.12 Update copyright year to 2017 2016-12-31 19:42:26 -08:00
ChangeLog.13 Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
character.c Remove unnecessary blankp code 2017-01-08 10:07:00 -08:00
character.h Add support for Unicode whitespace in [:blank:] 2017-01-06 20:12:48 +01:00
charset.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
charset.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
chartab.c Fix setting a range of char-table slots in a singular case 2016-06-19 18:25:17 +03:00
cm.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
cm.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
cmds.c Update copyright year to 2017 2016-12-31 19:42:26 -08:00
coding.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
coding.h Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
commands.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
composite.c Fix a few integer-overflow glitches 2017-02-10 08:36:42 -08:00
composite.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
conf_post.h Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
COPYING
cygw32.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
cygw32.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
data.c Simplify use of FOR_EACH_TAIL 2017-02-05 13:30:28 -08:00
dbusbind.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
decompress.c Replace QUIT with maybe_quit 2017-01-25 21:25:37 -08:00
deps.mk Update copyright year to 2017 2016-12-31 19:42:26 -08:00
dired.c Remove immediate_quit. 2017-02-01 15:23:19 -08:00
dispextern.h Fix a few integer-overflow glitches 2017-02-10 08:36:42 -08:00
dispnew.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
disptab.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
doc.c Revamp quitting and fix infloops 2017-02-01 15:23:19 -08:00
doprnt.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
dosfns.c Update copyright year to 2017 2016-12-31 19:42:26 -08:00
dosfns.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
dynlib.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
dynlib.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
editfns.c Revamp quitting and fix infloops 2017-02-01 15:23:19 -08:00
emacs-icon.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
emacs-module.c Fix hash tables not being purified correctly. 2017-01-30 12:03:23 +05:30
emacs-module.h Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
emacs.c Pacify Oracle Studio 12.5 2017-02-02 15:53:19 -08:00
emacsgtkfixed.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
emacsgtkfixed.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
epaths.in Update copyright year to 2017 2016-12-31 19:42:26 -08:00
eval.c Revamp quitting and fix infloops 2017-02-01 15:23:19 -08:00
fileio.c Revamp quitting and fix infloops 2017-02-01 15:23:19 -08:00
filelock.c Revamp quitting and fix infloops 2017-02-01 15:23:19 -08:00
firstfile.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
floatfns.c Update copyright year to 2017 2016-12-31 19:42:26 -08:00
fns.c Make FOR_EACH_TAIL more like other FOR_EACH macros 2017-02-06 17:34:41 -08:00
font.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
font.h Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
fontset.c Improve uses of CHECK_LIST etc. 2017-01-22 00:25:35 -08:00
fontset.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
frame.c Improve uses of CHECK_LIST etc. 2017-01-22 00:25:35 -08:00
frame.h Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
fringe.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
ftcrfont.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
ftfont.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
ftfont.h Rework C source files to avoid ^( 2016-03-10 07:59:19 -08:00
ftxfont.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
getpagesize.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
gfilenotify.c Improve uses of CHECK_LIST etc. 2017-01-22 00:25:35 -08:00
gmalloc.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
gnutls.c Replace QUIT with maybe_quit 2017-01-25 21:25:37 -08:00
gnutls.h Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
gtkutil.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
gtkutil.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
image.c Fix handling of XBM images on MS-Windows 2017-02-11 11:55:11 +02:00
indent.c Fix quitting bug when buffers are frozen 2017-02-01 15:23:19 -08:00
indent.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
inotify.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
insdel.c Replace QUIT with maybe_quit 2017-01-25 21:25:37 -08:00
intervals.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
intervals.h Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
keyboard.c casing: don’t assume letters are *either* upper- or lower-case (bug#24603) 2017-02-15 16:54:07 +01:00
keyboard.h A quicker check for quit 2017-01-25 21:25:37 -08:00
keymap.c Replace QUIT with maybe_quit 2017-01-25 21:25:37 -08:00
keymap.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
kqueue.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
lastfile.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
lisp.h Make FOR_EACH_TAIL more like other FOR_EACH macros 2017-02-06 17:34:41 -08:00
lread.c Revamp quitting and fix infloops 2017-02-01 15:23:19 -08:00
macfont.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
macfont.m Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
macros.c Replace QUIT with maybe_quit 2017-01-25 21:25:37 -08:00
macros.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
macuvs.h
Makefile.in Remove @SET_MAKE@ from manually-maintained files 2017-01-07 18:15:37 -08:00
marker.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
menu.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
menu.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
minibuf.c Replace QUIT with maybe_quit 2017-01-25 21:25:37 -08:00
msdos.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
msdos.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
nsfns.m Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
nsfont.m Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
nsgui.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
nsimage.m Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
nsmenu.m Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
nsselect.m Update copyright year to 2017 2016-12-31 19:42:26 -08:00
nsterm.h Revert "Rework NS event handling (bug#25265)" 2017-01-04 21:00:52 +00:00
nsterm.m Fix NS main thread check (bug#25265) 2017-01-14 17:00:03 +00:00
print.c Fix hash tables not being purified correctly. 2017-01-30 12:03:23 +05:30
process.c Remove immediate_quit. 2017-02-01 15:23:19 -08:00
process.h Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
profiler.c Fix hash tables not being purified correctly. 2017-01-30 12:03:23 +05:30
puresize.h Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
ralloc.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
README Update copyright year to 2017 2016-12-31 19:42:26 -08:00
regex.c Remove immediate_quit. 2017-02-01 15:23:19 -08:00
regex.h Use expanded stack during regex matches 2017-01-08 18:45:52 -05:00
region-cache.c Update copyright year to 2017 2016-12-31 19:42:26 -08:00
region-cache.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
scroll.c Update copyright year to 2017 2016-12-31 19:42:26 -08:00
search.c Fix quitting bug when buffers are frozen 2017-02-01 15:23:19 -08:00
sheap.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
sheap.h Update copyright year to 2017 in master 2017-01-01 01:48:59 -08:00
sound.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
syntax.c Fix quitting bug when buffers are frozen 2017-02-01 15:23:19 -08:00
syntax.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
sysdep.c Fix quitting bug when buffers are frozen 2017-02-01 15:23:19 -08:00
sysselect.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
syssignal.h Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
sysstdio.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
systhread.c Update copyright year to 2017 in master 2017-01-01 01:48:59 -08:00
systhread.h Update copyright year to 2017 in master 2017-01-01 01:48:59 -08:00
systime.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
systty.h Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
syswait.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
term.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
termcap.c Update copyright year to 2017 2016-12-31 19:42:26 -08:00
termchar.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
termhooks.h Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
terminal.c Update copyright year to 2017 2016-12-31 19:42:26 -08:00
terminfo.c Update copyright year to 2017 2016-12-31 19:42:26 -08:00
termopts.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
textprop.c Replace QUIT with maybe_quit 2017-01-25 21:25:37 -08:00
thread.c Fix a bug with signaling a thread that waits for condvar 2017-01-18 18:06:42 +02:00
thread.h Update copyright year to 2017 in master 2017-01-01 01:48:59 -08:00
tparam.c Update copyright year to 2017 2016-12-31 19:42:26 -08:00
tparam.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
undo.c Update copyright year to 2017 2016-12-31 19:42:26 -08:00
unexaix.c Update copyright year to 2017 2016-12-31 19:42:26 -08:00
unexcoff.c Update copyright year to 2017 2016-12-31 19:42:26 -08:00
unexcw.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
unexec.h
unexelf.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
unexhp9k800.c
unexmacosx.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
unexsol.c
unexw32.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
vm-limit.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
w16select.c Update copyright year to 2017 2016-12-31 19:42:26 -08:00
w32.c Generate nt/gnulib.mk from lib/gnulib.mk 2017-01-03 17:46:40 +02:00
w32.h Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
w32common.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
w32console.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
w32fns.c Remove immediate_quit. 2017-02-01 15:23:19 -08:00
w32font.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
w32font.h Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
w32gui.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
w32heap.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
w32heap.h Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
w32inevt.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
w32inevt.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
w32menu.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
w32notify.c Replace QUIT with maybe_quit 2017-01-25 21:25:37 -08:00
w32proc.c Replace QUIT with maybe_quit 2017-01-25 21:25:37 -08:00
w32reg.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
w32select.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
w32select.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
w32term.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
w32term.h Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
w32uniscribe.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
w32xfns.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
widget.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
widget.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
widgetprv.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
window.c Fix scrolling with partial lines 2017-02-02 21:21:18 -05:00
window.h Refactor uses of scroll_margin to a function 2017-02-02 21:19:52 -05:00
xdisp.c Fix warnings in debug tracing code 2017-02-10 15:33:05 -05:00
xfaces.c Fix warnings in debug tracing code 2017-02-10 15:33:05 -05:00
xfns.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
xfont.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
xftfont.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
xgselect.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
xgselect.h Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
xmenu.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
xml.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
xrdb.c Update copyright year to 2017 2016-12-31 19:42:26 -08:00
xselect.c Replace QUIT with maybe_quit 2017-01-25 21:25:37 -08:00
xsettings.c Update copyright year to 2017 2016-12-31 19:42:26 -08:00
xsettings.h Update copyright year to 2017 2016-12-31 19:42:26 -08:00
xsmfns.c Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
xterm.c Fix hash tables not being purified correctly. 2017-01-30 12:03:23 +05:30
xterm.h Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00
xwidget.c Fix a few integer-overflow glitches 2017-02-10 08:36:42 -08:00
xwidget.h Merge from origin/emacs-25 2017-01-01 01:10:47 -08:00

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Copyright (C) 2001-2017 Free Software Foundation, Inc.
See the end of the file for license conditions.


This directory contains the source files for the C component of GNU Emacs.
Nothing in this directory is needed for using Emacs once it is built
and installed, if the dumped Emacs is copied elsewhere.

See the files ../README and then ../INSTALL for installation instructions.

The file 'Makefile.in' is used as a template by the script
'../configure' to produce 'Makefile'.  This is the file which actually
controls the compilation of Emacs C source files.  All of this should
work transparently; you should only need to change to the parent
directory, run './configure', and then run 'make'.

This file is part of GNU Emacs.

GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

GNU Emacs 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 General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.