summaryrefslogtreecommitdiff
path: root/m4/memrchr.m4
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2013-02-11 15:37:18 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2013-02-11 15:37:18 -0800
commita84b7c5334e232913111b840f2283d0138a6f5fb (patch)
tree8ee4e55f7059d1eb918fb5966cd81ee3f84153bc /m4/memrchr.m4
parent71d4202f204ea5fad93eb34406f0ef671630f271 (diff)
downloademacs-a84b7c5334e232913111b840f2283d0138a6f5fb.tar.gz
emacs-a84b7c5334e232913111b840f2283d0138a6f5fb.tar.bz2
emacs-a84b7c5334e232913111b840f2283d0138a6f5fb.zip
Tune by using memchr and memrchr.
* .bzrignore: Add string.h. * admin/merge-gnulib (GNULIB_MODULES): Add memrchr. * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. * lib/memrchr.c, lib/string.in.h, m4/memrchr.m4, m4/string_h.m4: New files, from gnulib. * src/doc.c (Fsnarf_documentation): * src/fileio.c (Fsubstitute_in_file_name): * src/search.c (find_newline, scan_newline): * src/xdisp.c (pos_visible_p, display_count_lines): Use memchr and memrchr rather than scanning byte-by-byte. * src/search.c (find_newline): Rename from scan_buffer. Omit first arg TARGET, as it's always '\n'. All callers changed.
Diffstat (limited to 'm4/memrchr.m4')
-rw-r--r--m4/memrchr.m423
1 files changed, 23 insertions, 0 deletions
diff --git a/m4/memrchr.m4 b/m4/memrchr.m4
new file mode 100644
index 00000000000..5920f5747b7
--- /dev/null
+++ b/m4/memrchr.m4
@@ -0,0 +1,23 @@
+# memrchr.m4 serial 10
+dnl Copyright (C) 2002-2003, 2005-2007, 2009-2013 Free Software Foundation,
+dnl Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_MEMRCHR],
+[
+ dnl Persuade glibc <string.h> to declare memrchr().
+ AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+
+ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
+ AC_CHECK_DECLS_ONCE([memrchr])
+ if test $ac_cv_have_decl_memrchr = no; then
+ HAVE_DECL_MEMRCHR=0
+ fi
+
+ AC_CHECK_FUNCS([memrchr])
+])
+
+# Prerequisites of lib/memrchr.c.
+AC_DEFUN([gl_PREREQ_MEMRCHR], [:])