1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-30 20:32:00 -08:00
emacs/src
Michal Nazarewicz 0e7eb64076 Remove dead loop iterations in regex.c
RE_CHAR_TO_MULTIBYTE(c) yields c for ASCII characters and a byte8
character for c ≥ 0x80.  Furthermore, CHAR_BYTE8_P(c) is true only
for byte8 characters.  This means that

	c = RE_CHAR_TO_MULTIBYTE (ch);
	if (! CHAR_BYTE8_P (c) && re_iswctype (c, cc))

is equivalent to:

	c = c;
	if (! false && re_iswctype (c, cc))

for 0 ⪬ c < 0x80, and

	c = BYTE8_TO_CHAR (c);
	if (! true && re_iswctype (c, cc))

for 0x80 ⪬ c < 0x100.  In other words, the loop never executes for
c ≥ 0x80 and RE_CHAR_TO_MULTIBYTE call is unnecessary for c < 0x80.

* src/regex.c (regex_compile): Simplyfy a for loop by eliminating
dead iterations and unnecessary macro calls.
2016-09-09 03:07:15 +02:00
..
bitmaps
.dbxinit
.gdbinit Remove interpreter’s byte stack 2016-08-09 01:31:22 -07:00
alloc.c Port flexible array members to GCC + valgrind 2016-09-07 18:10:11 -07:00
atimer.c Fix the MSDOS build 2016-04-30 13:45:33 +03:00
atimer.h
bidi.c Merge from origin/emacs-25 2016-08-05 14:09:09 -07:00
blockinput.h
buffer.c Merge from origin/emacs-25 2016-08-05 14:09:08 -07:00
buffer.h STRING_CHAR does not unify characters; update documentation 2016-09-09 03:07:15 +02:00
bytecode.c Simplify exec_byte_code via moving decls etc. 2016-08-09 01:31:23 -07:00
callint.c Doc fixes for quoting 2016-05-03 08:03:04 -07:00
callproc.c Merge from origin/emacs-25 2016-08-22 14:40:35 -07:00
casefiddle.c * src/casefiddle.c (Fupcase_region): Add arg ‘region-noncontiguous-p’. 2016-06-06 00:23:21 +03:00
casetab.c
category.c Document CATEGORY arg to modify-category-entry 2016-08-13 22:56:11 -04:00
category.h
ccl.c
ccl.h
ChangeLog.1
ChangeLog.2
ChangeLog.3
ChangeLog.4
ChangeLog.5
ChangeLog.6
ChangeLog.7
ChangeLog.8
ChangeLog.9
ChangeLog.10
ChangeLog.11
ChangeLog.12 ; ChangeLog spelling fixes 2016-08-21 04:15:44 -07:00
ChangeLog.13
character.c Replace decimalnump with alphanumericp 2016-09-09 03:07:15 +02:00
character.h Replace decimalnump with alphanumericp 2016-09-09 03:07:15 +02:00
charset.c Minor text-quoting-style fixes 2016-08-21 04:02:38 -07:00
charset.h
chartab.c Fix setting a range of char-table slots in a singular case 2016-06-19 18:25:17 +03:00
cm.c Replace IF_LINT by NONVOLATILE and UNINIT 2016-06-08 11:50:42 -07:00
cm.h
cmds.c Adjust match data before calling after-change-funs 2016-07-22 23:55:23 -04:00
coding.c Avoid warnings about undo list while decoding 2016-07-30 11:23:10 +03:00
coding.h emacs_strerror cleanups 2016-06-11 23:49:00 -07:00
commands.h
composite.c Improve --without-x GCC pacification 2016-06-22 03:05:22 +02:00
composite.h
conf_post.h Use DEV_TTY more consistently 2016-09-06 17:29:07 -07:00
COPYING
cygw32.c Avoid compiler warnings 2016-05-28 13:56:54 -04:00
cygw32.h
data.c Merge from origin/emacs-25 2016-08-05 14:10:30 -07:00
dbusbind.c Merge from origin/emacs-25 2016-06-19 00:53:51 +02:00
decompress.c
deps.mk Fix the MSDOS build 2016-04-30 13:45:33 +03:00
dired.c Merge from origin/emacs-25 2016-05-31 08:07:41 -07:00
dispextern.h Merge from origin/emacs-25 2016-08-05 14:06:59 -07:00
dispnew.c Fix compiler warnings in the MinGW build 2016-05-21 20:06:33 +03:00
disptab.h
doc.c Minor doc quoting fixes 2016-08-30 19:45:05 -07:00
doprnt.c Doc fixes for quoting 2016-05-03 08:03:04 -07:00
dosfns.c
dosfns.h Fix the MSDOS build 2016-04-30 13:45:33 +03:00
dynlib.c Fix compiler warnings in the MinGW build 2016-05-21 20:06:33 +03:00
dynlib.h
editfns.c * src/editfns.c (Fformat_message): Fix doc to match current behavior. 2016-08-30 19:55:07 -07:00
emacs-icon.h
emacs-module.c
emacs-module.h
emacs.c Spelling and minor grammar fixes 2016-08-05 13:35:13 -07:00
emacsgtkfixed.c New macro GNUC_PREREQ for GCC version 2016-06-12 10:33:52 -07:00
emacsgtkfixed.h
epaths.in
eval.c Remove interpreter’s byte stack 2016-08-09 01:31:22 -07:00
fileio.c Merge from origin/emacs-25 2016-08-22 14:40:35 -07:00
filelock.c Check actual contents before promting about changed file 2016-09-02 11:44:13 -04:00
firstfile.c
floatfns.c Doc fixes for grammar and typos (bug#23746) 2016-06-13 18:08:22 +02:00
fns.c Merge from origin/emacs-25 2016-08-05 14:09:08 -07:00
font.c Fix compiler warnings in no-window-system-build 2016-06-20 21:53:49 -04:00
font.h
fontset.c Rename FACE_OPT_FROM_ID to FACE_FROM_ID_OR_NULL 2016-07-02 12:39:47 +03:00
fontset.h
frame.c Some fixes around delete-other-frames' and next-frame' 2016-08-25 10:53:27 +02:00
frame.h Revert "Cleanup tooltips" 2016-07-12 15:27:25 -07:00
fringe.c Rename FACE_OPT_FROM_ID to FACE_FROM_ID_OR_NULL 2016-07-02 12:39:47 +03:00
ftcrfont.c
ftfont.c
ftfont.h
ftxfont.c
getpagesize.h
gfilenotify.c
gmalloc.c New macro GNUC_PREREQ for GCC version 2016-06-12 10:33:52 -07:00
gnutls.c Fix GnuTLS includes 2016-08-03 14:21:21 -07:00
gnutls.h Improve --without-x GCC pacification 2016-06-22 03:05:22 +02:00
gtkutil.c Revert "Cleanup tooltips" 2016-07-12 15:27:25 -07:00
gtkutil.h Revert "Cleanup tooltips" 2016-07-12 15:27:25 -07:00
image.c Port flexible array members to GCC + valgrind 2016-09-07 18:10:11 -07:00
indent.c Merge from origin/emacs-25 2016-08-05 14:09:08 -07:00
indent.h
inotify.c
insdel.c Merge from origin/emacs-25 2016-08-05 14:10:30 -07:00
intervals.c Avoid assertion violations when using marker positions 2016-09-06 19:46:06 +03:00
intervals.h Yet another fix for copying properties by 'format' 2016-07-08 22:34:34 +03:00
keyboard.c Use DEV_TTY more consistently 2016-09-06 17:29:07 -07:00
keyboard.h Use DEV_TTY more consistently 2016-09-06 17:29:07 -07:00
keymap.c Advertize set-keymap-parent as replacement for copy-keymap 2016-06-15 11:36:51 -04:00
keymap.h
kqueue.c
lastfile.c
lisp.h Port flexible array members to GCC + valgrind 2016-09-07 18:10:11 -07:00
lread.c Minor tweaks to openp 2016-06-30 09:30:41 +03:00
macfont.h
macfont.m Fix synthetic bold on macOS retina displays 2016-09-04 23:06:14 +01:00
macros.c
macros.h
macuvs.h
Makefile.in Remove unused SHEAP_OBJ 2016-07-14 09:29:38 +02:00
marker.c Avoid assertion violations when using marker positions 2016-09-06 19:46:06 +03:00
menu.c Revert "Cleanup tooltips" 2016-07-12 15:27:25 -07:00
menu.h
minibuf.c Fix test-completion with completion-regexp-list 2016-06-26 21:12:33 -04:00
msdos.c Rename FACE_OPT_FROM_ID to FACE_FROM_ID_OR_NULL 2016-07-02 12:39:47 +03:00
msdos.h Fix the MSDOS build 2016-04-30 13:45:33 +03:00
nsfns.m Fix macOS 12 deprecation notices 2016-08-24 19:21:56 +01:00
nsfont.m Rename FACE_OPT_FROM_ID to FACE_FROM_ID_OR_NULL 2016-07-02 12:39:47 +03:00
nsgui.h
nsimage.m
nsmenu.m Fix macOS 12 deprecation notices 2016-08-24 19:21:56 +01:00
nsselect.m
nsterm.h Fix macOS 12 deprecation notices 2016-08-24 19:21:56 +01:00
nsterm.m Clarify docstrings 2016-08-29 19:32:40 +01:00
print.c Fix over-substitution of quotes on error 2016-08-31 23:06:16 -07:00
process.c Port flexible array members to GCC + valgrind 2016-09-07 18:10:11 -07:00
process.h Fix process leak with make-network-process 2016-08-11 11:26:34 -07:00
profiler.c Fix compiler warnings in the MinGW build 2016-05-21 20:06:33 +03:00
puresize.h * src/puresize.h (BASE_PURESIZE): Increase it some more. 2016-05-27 18:12:08 -07:00
ralloc.c
README
regex.c Remove dead loop iterations in regex.c 2016-09-09 03:07:15 +02:00
regex.h Hardcode regex syntax to remove dead code handling different syntax 2016-08-02 15:39:10 +02:00
region-cache.c
region-cache.h
scroll.c
search.c Fix debugging of string-match-p errors 2016-08-07 10:24:40 -04:00
sheap.c
sheap.h
sound.c emacs_strerror cleanups 2016-06-11 23:49:00 -07:00
syntax.c Refactor regex character class parsing in [:name:] 2016-08-02 15:39:10 +02:00
syntax.h
sysdep.c Fix GnuTLS includes 2016-08-03 14:21:21 -07:00
sysselect.h
syssignal.h
sysstdio.h
systime.h
systty.h
syswait.h
term.c Use DEV_TTY more consistently 2016-09-06 17:29:07 -07:00
termcap.c
termchar.h
termhooks.h Autosave buffers on logout if HAVE_NTGUI 2016-05-12 15:52:26 -04:00
terminal.c
terminfo.c
termopts.h
textprop.c Yet another fix for copying properties by 'format' 2016-07-08 22:34:34 +03:00
tparam.c
tparam.h
undo.c Fix missing point information in undo 2016-07-05 09:27:59 +01:00
unexaix.c
unexcoff.c
unexcw.c Avoid compiler warnings 2016-05-28 13:56:54 -04:00
unexec.h
unexelf.c
unexhp9k800.c
unexmacosx.c
unexsol.c
unexw32.c Fix compiler warnings in the MinGW build 2016-05-21 20:06:33 +03:00
vm-limit.c Improve --without-x GCC pacification 2016-06-22 03:05:22 +02:00
w16select.c Fix the MSDOS build 2016-04-30 13:45:33 +03:00
w32.c Merge from origin/emacs-25 2016-08-05 14:06:59 -07:00
w32.h Fix compiler warnings in the MinGW build 2016-05-21 20:06:33 +03:00
w32common.h
w32console.c Rename FACE_OPT_FROM_ID to FACE_FROM_ID_OR_NULL 2016-07-02 12:39:47 +03:00
w32fns.c Fix calculation of tool bar width reported by `frame-geometry' (Bug#24107) 2016-07-30 14:11:12 +02:00
w32font.c Fix compiler warnings in Cygwin-w32 build 2016-06-20 23:05:12 -04:00
w32font.h Fix compiler warnings in the MinGW build 2016-05-21 20:06:33 +03:00
w32gui.h
w32heap.c Fix compiler warnings in the MinGW build 2016-05-21 20:06:33 +03:00
w32heap.h Fix compiler warnings in the MinGW build 2016-05-21 20:06:33 +03:00
w32inevt.c
w32inevt.h
w32menu.c ‘signal’ no longer returns 2016-07-25 00:38:34 +02:00
w32notify.c Fix compiler warnings in the MinGW build 2016-05-21 20:06:33 +03:00
w32proc.c Treat SIGINT correctly in GUI sessions on MS-Windows 2016-09-05 19:50:59 +03:00
w32reg.c Fix compiler warnings in the MinGW build 2016-05-21 20:06:33 +03:00
w32select.c Fix compiler warnings in the MinGW build 2016-05-21 20:06:33 +03:00
w32select.h
w32term.c Revert "Cleanup tooltips" 2016-07-12 15:27:25 -07:00
w32term.h Revert "Cleanup tooltips" 2016-07-12 15:27:25 -07:00
w32uniscribe.c Fix compiler warnings in the MinGW build 2016-05-21 20:06:33 +03:00
w32xfns.c
widget.c
widget.h
widgetprv.h
window.c Avoid assertion violations when scrolling narrowed buffer 2016-09-05 19:57:22 +03:00
window.h * src/window.c (sanitize_window_sizes): Remove unused arg `frame' 2016-08-02 22:43:11 -04:00
xdisp.c Avoid assertion violations when scrolling narrowed buffer 2016-09-05 19:57:22 +03:00
xfaces.c Rename FACE_OPT_FROM_ID to FACE_FROM_ID_OR_NULL 2016-07-02 12:39:47 +03:00
xfns.c * src/xfns.c (Fx_change_window_property): Modify previous change. 2016-08-23 17:13:31 -07:00
xfont.c Replace IF_LINT by NONVOLATILE and UNINIT 2016-06-08 11:50:42 -07:00
xftfont.c Provide workaround for xftfont rendering problem 2016-05-22 19:20:28 +03:00
xgselect.c
xgselect.h
xmenu.c ‘signal’ no longer returns 2016-07-25 00:38:34 +02:00
xml.c
xrdb.c
xselect.c Fix interpretation of signed vs unsigned values when retrieving X 2016-08-21 14:04:37 -07:00
xsettings.c
xsettings.h
xsmfns.c
xterm.c Revert "Cleanup tooltips" 2016-07-12 15:27:25 -07:00
xterm.h Revert "Cleanup tooltips" 2016-07-12 15:27:25 -07:00
xwidget.c Omit unnecessary #includes from xwidget.c 2016-07-13 10:17:35 +02:00
xwidget.h

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-2016 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/>.