1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-11 09:20:51 +00:00
Commit Graph

2429 Commits

Author SHA1 Message Date
Glenn Morris
90de50e270 Merge from emacs-24; up to 2014-06-03T06:51:18Z!eliz@gnu.org 2014-06-14 17:06:30 -07:00
Paul Eggert
50bee07154 Port part of the AIX fix to Solaris.
* configure.ac (_REENTRANT): Define on Solaris if HAVE_PTHREAD.
This ports part of the recent AIX fix to Solaris.  It is needed
for the same reason that _THREAD_SAFE is needed on AIX, e.g., to
make sure that each thread has its own 'errno'.

Fixes: debbugs:17598
2014-06-14 13:24:08 -07:00
Glenn Morris
f9d80c5110 With GNU make, MFLAGS is not needed
* Makefile.in (CC, CFLAGS, LDFLAGS, CPPFLAGS, abs_top_srcdir):
Remove, no longer used.
(lib, lib-src, lisp, nt, src, blessmail, install-arch-dep)
(install-nt, install-strip, uninstall, uninstall-nt)
(mostlyclean, clean, distclean, bootstrap-clean)
(maintainer-clean, extraclean, TAGS, tags, check, $(DOCS)):
($(INSTALL_DOC), $(UNINSTALL_DOC), info, bootstrap, check-declare):
GNU make automatically passes command-line arguments to sub-makes.

* admin/unidata/Makefile.in (${DSTDIR}/charprop.el):
GNU make automatically passes command-line arguments to sub-makes.

* lib-src/Makefile.in (../lib/libgnu.a):
GNU make automatically passes command-line arguments to sub-makes.

* lisp/Makefile.in ($(lisp)/cus-load.el, $(lisp)/finder-inf.el)
(autoloads, $(lisp)/subdirs.el, compile-main, leim, semantic, compile)
(compile-always): GNU make automatically passes
command-line arguments to sub-makes.

* lwlib/Makefile.in ($(globals_h)):
GNU make automatically passes command-line arguments to sub-makes.

* src/Makefile.in ($(leimdir)/leim-list.el, $(srcdir)/macuvs.h)
($(lispsource)/international/charprop.el)
($(libsrc)/make-docfile$(EXEEXT), $(lwlibdir)/liblw.a)
($(oldXMenudir)/libXMenu11.a, ns-app, .el.elc)
($(lispsource)/loaddefs.el, bootstrap-emacs$(EXEEXT)):
GNU make automatically passes command-line arguments to sub-makes.

* test/automated/Makefile.in (compile-main):
GNU make automatically passes command-line arguments to sub-makes.
2014-06-13 19:05:00 -04:00
Paul Eggert
0071d45b61 Backport fcntl.h AIX fix from the trunk.
This fixes a bug with the shell freezing.  See:
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17598#185
Merge from gnulib, incorporating:
2014-05-31 dup2, fcntl, fcntl-h: port to AIX 7.1
* lib/fcntl.in.h, m4/dup2.m4, m4/fcntl.m4:
Update from gnulib.
2014-06-11 13:03:46 -07:00
Paul Eggert
faded0b139 Use a shell function in configure.ac to cut down on code duplication.
* configure.ac (emacs_check_gnu_make): New shell function.
Use it to avoid duplication when checking for GNU Make.
It's OK for 'configure' to use shell functions these days,
as long as we follow the advice in the 'Shell Functions'
section of the Autoconf manual.
2014-06-11 10:51:27 -07:00
Glenn Morris
b12e56ab01 * configure.ac: Require at least version 3.81 of GNU make.
It's 8 years old and has some useful features not in older versions.

* etc/NEWS: Mention this.
2014-06-10 20:03:40 -07:00
Paul Eggert
ec4a33476e Rely on AC_CANONICAL_HOST to detect whether we're using mingw.
See the thread containing:
http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00206.html
* configure.ac (AC_CANONICAL_HOST): Invoke this as early as we
can, which is just after AM_INIT_AUTOMAKE.  Then check for mingw
just after that.
2014-06-10 12:43:13 -07:00
Glenn Morris
61784fd180 * Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL): New, set by configure
Use throughout where appropriate.
2014-06-09 22:15:49 -04:00
Glenn Morris
40abffe4c6 Get rid of the INFO_EXT variable
It's never been anything more than pointless complexity

* configure.ac (INFO_EXT, INFO_OPTS): Remove output variables.

* Makefile.in (INFO_EXT): Remove and replace by ".info" throughout.

* doc/emacs/Makefile.in (INFO_EXT): Remove and replace by ".info" throughout.
(INFO_OPTS): Set directly rather than with configure.

* doc/lispintro/Makefile.in (INFO_EXT): Remove and replace by ".info" throughout.
(INFO_OPTS): Set directly rather than with configure.

* doc/lispref/Makefile.in (INFO_EXT): Remove and replace by ".info" throughout.
(INFO_OPTS): Set directly rather than with configure.

* doc/misc/Makefile.in (INFO_EXT): Remove and replace by ".info" throughout.
(INFO_OPTS): Set directly rather than with configure.
2014-06-09 22:11:38 -04:00
Glenn Morris
36cf8493af Merge from emacs-24; up to 2014-06-01T23:37:59Z!eggert@cs.ucla.edu 2014-06-07 17:35:27 -07:00
Paul Eggert
a0e26ff003 Port better to AIX.
* configure.ac (with_xpm_set): New shell var.
(_THREAD_SAFE): Define on AIX if HAVE_PTHREAD.
(with_xpm): Default to 'no' on AIX.
(LIBXPM): Append -lXpm if -lXaw is also used, as the latter
requires the former on AIX.

Fixes: debbugs:17598
2014-06-06 23:10:39 -07:00
Dmitry Antipov
04ee0de0d1 * INSTALL: Mention SVG image support. 2014-06-05 21:31:41 +04:00
Paul Eggert
4545be9dcb Try harder to find GNU Make when configuring.
* configure.ac (AC_PROG_MAKE_SET): Define a dummy.
(MAKE): Set it to GNU Make, if one can be found.
Search PATH for 'make', 'gmake', 'gnumake'.
This works better on platforms like AIX, where GNU Make
might be in /opt/freeware/bin/make, and reside
behind /usr/bin/make in the PATH.
2014-06-05 01:03:22 -07:00
Dmitry Antipov
ea633fff4c * configure.ac (POLL_FOR_INPUT): Define with HAVE_WINDOW_SYSTEM.
* nt/inc/ms-w32.h (POLL_FOR_INPUT): Likewise.
* src/keyboard.c, src/process.c: Do not define POLL_FOR_INPUT here
because it will be defined in generated config.h if needed.
2014-06-05 10:24:54 +04:00
Paul Eggert
444060a55d * configure.ac: --without-all now implies --without-xft, --disable-acl.
* INSTALL: Remove apparently unmaintained documentation about what
--without-all exactly means.
2014-06-04 17:34:34 -07:00
Eli Zaretskii
89b3620292 Define the size of dumped data for MS-Windows locally on w32heap.c.
configure.ac (C_HEAP_SWITCH): Remove.

 src/w32heap.c (DUMPED_HEAP_SIZE): Move from w32heap.h.  Don't use
 HEAPSIZE; instead, define separate values for the 32- and 64-bit
 builds.
 src/Makefile.in (C_HEAP_SWITCH): Remove.
 (ALL_CFLAGS): Don't use $(C_HEAP_SWITCH).
2014-06-03 10:28:07 +03:00
Glenn Morris
953e106ac8 Merge from emacs-24; up to 2014-05-29T17:16:00Z!dmantipov@yandex.ru 2014-06-01 17:18:22 -07:00
Paul Eggert
eed652d649 Merge from gnulib.
This incorporates:
2014-06-02 acl: apply pure attribute to two functions
2014-06-01 gnulib-common.m4: add _GL_UNUSED_LABEL
2014-05-31 dup2, fcntl, fcntl-h: port to AIX 7.1
2014-05-30 ftoastr: work around compiler bug in IBM xlc 12.1
* lib/acl-internal.h, lib/fcntl.in.h, lib/ftoastr.h:
* m4/dup2.m4, m4/fcntl.m4, m4/gnulib-common.m4:
Update from gnulib.
2014-06-01 16:58:38 -07:00
Juanma Barranquero
89187af1bd * configure.ac: Raise HEAPSIZE value for 32-bit builds on Windows. 2014-06-01 23:27:53 +02:00
Paul Eggert
1915d8d63c Fix port to 32-bit AIX with xlc.
This doesn't fix Bug#17598, but it does fix a regression since Emacs
built with xlc until recently, and perhaps it'll help us fix Bug#17598.
* configure.ac (GC_SETJMP_WORKS): Define for AIX, too.
Merge from gnulib, incorporating:
2014-05-30 ftoastr: work around compiler bug in IBM xlc 12.1
* lib/ftoastr.c: Update from gnulib.
* src/alloc.c (gdb_make_enums_visible): Remove FLOAT_TO_STRING_BUFSIZE.
* src/conf_post.h (FLEXIBLE_ARRAY_MEMBER) [__IBMC__]: Don't define to empty.
* src/lisp.h (FLOAT_TO_STRING_BUFSIZE): Make it a macro, instead of an enum,
to work around a compiler bug in IBM xlc 12.1.
2014-05-30 13:19:29 -07:00
Paul Eggert
acc16b66ff * configure.ac (pthread_sigmask): Look in LIB_PTHREAD too.
Fixes configuration glitch found in <http://bugs.gnu.org/17561#59>.
2014-05-29 16:13:32 -07:00
Eli Zaretskii
7479dd3e8a Remove nt/addsection.c and don't build addsection.exe.
configure.ac (ADDSECTION, TEMACS_POST_LINK): Don't compute,
 unused.

 nt/Makefile.in (DONT_INSTALL): Now empty.
 (addsection${EXEEXT}): Remove target.
 nt/addsection.c: File removed.

 src/Makefile.in (TEMACS_POST_LINK): Remove target.
 (emacs$(EXEEXT)): Remove $(ADDSECTION) from prerequisites.
 (temacs$(EXEEXT)): Remove $(TEMACS_POST_LINK) from the recipe.
2014-05-29 22:16:32 +03:00
Paul Eggert
035159ed54 Don't substitute sigprocmask for pthread_sigmask.
sigprocmask isn't portable in a multithreaded process.
* configure.ac (gl_THREADLIB): Remove dummy.
Merge from gnulib, incorporating:
2014-05-28 pthread_sigmask, timer-time: use gl_THREADLIB only if needed
* m4/pthread_sigmask.m4, m4/timer_time.m4: Update from gnulib.
* src/Makefile.in (LIB_PTHREAD_SIGMASK): Remove; all uses removed.

Fixes: debbugs:17561
2014-05-29 08:05:06 -07:00
Glenn Morris
2662ca5cd9 * configure.ac: Explicitly drop some ancient Solaris versions. 2014-05-28 21:36:44 -04:00
Fabrice Popineau
587fd086a0 Use mmap(2) emulation for buffer text on MS-Windows.
src/Makefile.in (C_HEAP_SWITCH): Get the predefined heap size from
 configure.
 (ADDSECTION, MINGW_TEMACS_POST_LINK): Remove, no longer used.
 src/lisp.h (NONPOINTER_BITS): Modify the condition to define to zero
 for MinGW, since it no longer uses gmalloc.
 src/buffer.c: Do not define mmap allocations functions for Windows.
 Remove mmap_find which is unused. Remove mmap_set_vars which does
 nothing useful.
 [WINDOWSNT]: Include w32heap.h.
 (init_buffer): Always allocate new memory for buffers.
 src/emacs.c: Remove mmap_set_vars calls.
 src/image.c (free_image): Undef free for Windows because it is
 redirected to our private version.
 src/unexw32.c (COPY_PROC_CHUNK): Use %p format for 64bits
 compatibility.
 (copy_executable_and_dump_data): Remove dumping the heap section.
 (unexec): Restore using_dynamic_heap after dumping.
 src/w32heap.c (dumped_data_commit, malloc_after_dump)
 (malloc_before_dump, realloc_after_dump, realloc_before_dump)
 (free_after_dump, free_before_dump, mmap_alloc, mmap_realloc)
 (mmap_free): New functions.
 src/w32heap.h: Declare dumped_data and mmap_* function prototypes.

 nt/inc/ms-w32.h: Switch to the system heap allocation scheme
 instead of GNU malloc and ralloc.
 nt/inc/sys/mman.h: New file.
 nt/INSTALL: Update for the new build requirements.

 etc/NEWS: Mention build changes on MS-Windows.

 configure.ac (C_HEAP_SWITCH) define for different values of
 dumped heap size depending on 32/64bits arch on Windows.
 Don't check for pthreads.h on MinGW32/64, it gets in the way.
 Use mmap(2) for buffers and system malloc for MinGW32/64.
2014-05-27 20:31:17 +03:00
Paul Eggert
c3e7b943a0 Merge from gnulib.
This incorporates:
2014-05-21 fchdir: port 'open' and 'close' redefinitions to AIX 7.1
* doc/misc/texinfo.tex, lib/openat-proc.c: Update from gnulib.
2014-05-26 22:55:18 -07:00
Glenn Morris
015936fba1 Merge from emacs-24; up to 2014-05-26T10:21:18Z!rgm@gnu.org 2014-05-25 19:28:09 -07:00
Paul Eggert
4f4ec76fd6 Fix port to 32-bit AIX.
* configure.ac (opsys): On Power Architecture, treat release 7 of
AIX like releases 5 and 6.
* src/unexaix.c (copy_text_and_data): Don't add text_scnptr to ptr
twice.  _text already includes this offset.
(unrelocate_symbols): Don't cast 64-bit integer to pointer.

Fixes: debbugs:17540
2014-05-21 22:00:39 -07:00
Paul Eggert
60fc70a8e0 Remove dependencies on getdelim and getline.
Also, remove update-game-scores's limits on game scores and
simplify its file-locking code.
* configure.ac (getdelim, getline): Remove.
* lib-src/update-game-score.c (struct score_entry): Unify the username and
data members to a single user_data member, since they don't need to be
changed independently and getdelim and getline aren't helpful.
Make the score member char *, not intmax_t, so that scores are not
limited to intmax_t.  All uses changed.
(lose_syserr): A zero errno stands for invalid data in score file.
(normalize_integer): New function.
(main): Use it.  Check for invalid scores.  Omit redundant stat check.
(read_score): First arg is now a string, not a FILE *.  All uses
changed.  Do not use getdelim or getline; that's way simpler.
(read_scores): Read the whole file, and let read_score handle each
line.
(score_compare): Compare strings representing integers, not integers.
(write_scores) [DOS_NT]: Eliminate unnecessary chmod.
(lock_file): Simplify locking code, eliminating goto.
Check for unlink failure.
2014-05-18 21:56:03 -07:00
Glenn Morris
337ee6b38e * configure.ac: Do not bother testing for png in non-graphical builds.
This seems to have been lost in the changes from the current emacs-24
branch version.
2014-05-18 16:02:29 -07:00
Glenn Morris
3b7865ca9b * configure.ac (INSTALL_INFO): Revert to just checking for "install-info". 2014-05-18 15:41:22 -07:00
Paul Eggert
5eda3a7516 Port ctags+etags build to Sun C 5.12.
* .bzrignore: Remove lib-src/ctags.c.
* lib-src/Makefile.in (etags_args): Remove, replacing with ...
(etags_cflags, etags_libs): New macros.  All uses changed.
(ctags${EXEEXT}): Don't compile etags.c, as compiling etags.c in
parallel (once for ctags, once for etags) breaks parallel makes
with compilers that use the source file name to name temporaries,
such as Sun C 5.12.  Instead, compile ctags.c.
* lib-src/ctags.c: New file.
2014-05-18 11:57:04 -07:00
Paul Eggert
0d1b87f90e Port recent libpng changes to hosts with missing png.h.
* configure.ac (HAVE_PNG): Port to platforms where libpng-config
succeeds but png.h is absent, by testing libpng-config's output
rather than trusting it.  I ran into this problem when building
Emacs trunk on a Solaris 10 host.
2014-05-17 22:50:17 -07:00
Paul Eggert
8208d2bf95 Assume C99 or later.
* lib/stdarg.in.h, lib/stdbool.in.h, m4/stdarg.m4, m4/stdbool.m4:
Remove.
* configure.ac (_AC_PROG_CC_C89): Define a dummy, to keep 'configure'
smaller.
(gl_PROG_CC_C99): Use this to get C99 or later.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* admin/merge-gnulib (GNULIB_MODULES): Remove stdarg, stdbool.
(GNULIB_TOOL_FLAGS): Avoid stdarg, stdbool.
* doc/lispref/internals.texi (C Dialect): Document this.
* etc/NEWS: Document this.
* nt/gnulib.mk: Remove stdarg and stdbool modules.
* src/bytecode.c (B__dummy__): Remove.
* src/conf_post.h (bool_bf) [!NS_IMPL_GNUSTEP]: Use bool.
(FLEXIBLE_ARRAY_MEMBER): Now always empty.
* src/dbusbind.c (XD_DEBUG_MESSAGE) [!DBUS_DEBUG]:
* src/regex.c (DEBUG_PRINT): Assume varargs macros.
* src/lisp.h (DEFUN_FUNCTION_INIT): Remove.  All uses now assume C99.

Fixes: debbugs:17487
2014-05-17 01:11:31 -07:00
Glenn Morris
d137278ad4 * configure.ac (INSTALL_INFO): Try "ginstall-info" before "install-info".
Ref: http://lists.gnu.org/archive/html/emacs-devel/2014-05/msg00232.html
2014-05-16 21:38:33 -04:00
Paul Eggert
c56327b55d Don't require pkg-config when building from repository.
* INSTALL: Prefer './configure FOO=BAR' to 'FOO=BAR ./configure'.
* INSTALL.REPO: pkg-config is no longer required to build from
the repository.
* autogen.sh: Don't check for pkg-config.
(progs): Remove pkg-config.
(pkg_config_min, AUTORECONF_ENV, env_space, ACLOCAL_PATH):
Remove.  All uses removed.
* m4/pkg.m4: New file, built by admin/merge-pkg-config.
* configure.ac: Remove unnecessary m4_pattern_forbid of ^PKG_ and
an AC_ARG_VAR of PKG_CONFIG_PATH.  pkg.m4 does that for us.
(EMACS_CHECK_MODULES): Remove workaround for old pkg-config bug,
as we use pkg.m4 from a newer pkg-config.
* admin/merge-pkg-config: New script.
* admin/notes/copyright: Update for m4/*.m4, in particular m4/pkg.m4.
* etc/NEWS: Prefer './configure FOO=BAR' to 'FOO=BAR ./configure'.
* etc/PROBLEMS (Build-time-problems): Remove pkg-config problem
that is no longer an issue.
* nt/INSTALL: Remove no-longer-needed notes about pkg-config.
2014-05-16 08:49:13 -07:00
Jan Djärv
fc51d3e201 Fix typo 2014-05-15 18:55:18 +02:00
Jan Djärv
440cef5fc5 Fix yet another configure error on OSX.
* configure.ac (LIBONG): Do not test for libpng if NS_IMPL_COCOA.
2014-05-15 18:54:44 +02:00
Dmitry Antipov
d3e5c0ea8f If available, use Xfixes extension to do pointer blanking.
* configure.ac (HAVE_XFIXES): Define if available.
(XFIXES_CFLAGS, XFIXES_LIBS): New AC_SUBSTs.
* src/Makefile.in (XFIXES_CFLAGS, XFIXES_LIBS): New var.
* src/xfns.c (x_set_mouse_color): Do not call make_invisible_cursor here.
(make_invisible_cursor): Move to...
* src/xterm.c (make_invisible_cursor): ...here.
(x_probe_xfixes_extension, xfixes_toggle_visible_pointer)
(x_toggle_visible_pointer, x_setup_pointer_blanking): New functions.
(x_term_init): Call to x_setup_pointer_blanking.
(XTtoggle_invisible_pointer): Use blanking specific to this display.
* src/xterm.h (struct x_display_info): New member toggle_visible_pointer.
2014-05-13 18:18:54 +04:00
Dmitry Antipov
bd098f41af * configure.ac (--enable-link-time-optimization): Add clang support.
* INSTALL: Mention it.
* etc/PROBLEMS: Mention potential problems with
--enable-link-time-optimization and clang on Fedora 20.
2014-05-13 15:12:05 +04:00
Katsumi Yamaoka
ffd6d9c4d3 * configure.ac (EMACS_CHECK_MODULES): Fix typo in previous change. 2014-05-11 23:09:27 -07:00
Paul Eggert
3c95f44ce5 Work around bug in pkg-config before 0.26.
* configure.ac (EMACS_CHECK_MODULES): Check for failed exit status
of pkg-config, on older pkg-config versions that don't do it
properly.

Fixes: debbugs:17438
2014-05-11 12:14:12 -07:00
Paul Eggert
0994e45d16 Revert last two changes.
Fixes: debbugs:17438
2014-05-10 19:52:00 -07:00
Paul Eggert
68b067b393 Require pkg-config 0.26 or later in autogen.sh only.
* autogen.sh (pkg_config_min): Make this at least 0.26.
* configure.ac (PKG_PROG_PKG_CONFIG): Revert back to 0.9.0.

Fixes: debbugs:17438
2014-05-10 19:47:57 -07:00
Paul Eggert
eab25ea7c0 Require pkg-config 0.26 or later.
Earlier versions are buggy, as pkg-config --libs can output
nothing, which causes xrandr link failures.
* configure.ac (PKG_PROG_PKG_CONFIG): Bump from 0.9.0 to 0.26.

Fixes: debbugs:17438
2014-05-10 19:27:53 -07:00
Glenn Morris
98e12950ae * autogen.sh: Check for failing aclocal. 2014-05-07 12:56:34 -04:00
Glenn Morris
e8e2626f06 * autogen.sh: Check any pre-existing ACLOCAL_PATH. 2014-05-05 13:22:32 -04:00
Paul Eggert
f8c2cef5e6 Consult libpng-config more consistently.
This is mainly for simplicity, but it should also avoid
some future problems like the ones we recently had with NetBSD.
* configure.ac (LIBPNG): Configure after LIBZ.  Use libpng-config
for cflags, too.  Append -lz if we're not already doing that with
LIBZ.  Do not bother appending -lm, since we always append that.
Coalesce some duplicate code.
* src/Makefile.in (PNG_CFLAGS): New var.
(ALL_CFLAGS): Use it.
* src/image.c [HAVE_PNG]: Don't worry about <libpng/png.h>, as
CFLAGS now handles this.

Fixes: debbugs:17339
2014-05-04 14:28:08 -07:00
Paul Eggert
4a05c50a46 * autogen.sh: Use ‘"’ to quote a message that often contains ‘'’. 2014-05-04 14:18:30 -07:00
Paul Eggert
3e9fa60a5c Merge from emacs-24; up to 2014-05-04T21:18:30Z!eggert@cs.ucla.edu 2014-05-04 12:37:56 -07:00
Paul Eggert
61febcb6e3 Revert recent libpng changes.
They fix only bugs that aren't being reported, so it may be better
to do them on the trunk.
* configure.ac (PNG_CFLAGS): Remove.  All uses removed.
(LIBPNG): Don't be consistent about -lpng16 versus -lpng.
Ignore libpng-config's exit status.  Always append -lz -lm.
* src/Makefile.in (PNG_CFLAGS): Remove; all uses removed.
* src/image.c [HAVE_LIBPNG_PNG_H]: Include <libpng/png.h>, not <png.h>.

Fixes: debbugs:17339
2014-05-04 11:51:32 -07:00
Paul Eggert
ec5f5b309d * configure.ac (LIBPNG): Add -lz -lm on platforms where they're needed
but libpng-config --libs omits them.  Problem reported by Glenn
Morris.
2014-05-03 23:34:04 -07:00
Paul Eggert
7e00998fbc Require ImageMagick >= 6.3.5, due to PixelSetMagickColor.
* configure.ac (IMAGEMAGICK_MODULE): Bump prereq from 6.2.8 to 6.3.5.
A more-complicated fix would be to remove uses of PixelSetMagickColor,
introduced in ImageMagick 6.3.5 (Sept. 2007).

Fixes: debbugs:17339
2014-05-03 14:06:04 -07:00
Glenn Morris
c3a435fedd * autogen.sh: If all else fails, try using pkg-config to find pkg.m4.
This is an attempt to get hydra builds working again.
2014-05-03 11:24:10 -07:00
Paul Eggert
541df9f424 Get --enable-gcc-warnings to work after touching configure.ac.
Preserve ACLOCAL_PATH in later builds, so that by default it has
the same value as it did in the first build after initial checkout.
* Makefile.in (ACLOCAL_PATH): New macro.
($(srcdir)/aclocal.m4): Use it.
* configure.ac (ACLOCAL_PATH): AC_SUBST it.
* autogen.sh (env_space): New var.
Tell user what variables, if any, to pass to 'configure'.
2014-05-03 09:27:17 -07:00
Paul Eggert
2bafb7c4a3 Get --enable-gcc-warnings working again.
The recent changes to configure.ac removed the transliteration of
-I to -isystem in CFLAGS, which is needed for --enable-gcc-warnings.
Bring this back while keeping the spirit of the recent changes.
* configure.ac (edit_cflags): Restore this shell var, and put it
at the top level, where it'll be useful when emacs-24 is next merged.
(EMACS_CHECK_MODULES): New macro.  All uses of PKG_CHECK_MODULES
changed to use it.
2014-05-03 01:12:06 -07:00
Paul Eggert
af3e4d067a Make it easier on maintainers who use their own Automake.
* autogen.sh (ACLOCAL_PATH, AUTORECONF_ENV): New vars.
Set them to avoid problems when maintainers prepend their own
Automake installations to their PATH.  Report an error if pkg.m4
can't be found.
2014-05-03 00:09:16 -07:00
Glenn Morris
53a7da76db * configure.ac (PKG_CONFIG_PATH): Declare with AC_ARG_VAR. 2014-05-02 19:31:41 -04:00
Glenn Morris
ef9ea0a623 Remove the --with-pkg-config-prog configure option
* configure.ac (--with-pkg-config-prog): Remove.
Use the PKG_CONFIG environment variable instead if you need it.

* etc/NEWS: Mention this.
2014-05-02 19:29:57 -04:00
Glenn Morris
b05e08a465 Use pkg-config's pkg.m4
* configure.ac: Use pkg-config's pkg.m4, rather than reinventing it.
Add explicit AC_SUBST's where needed.

* autogen.sh (progs): Add pkg-config.
(pkg_config_min): New variable.

* INSTALL.REPO: Mention pkg-config.

* etc/PROBLEMS: Mention a related issue that can occur with a local automake.
2014-05-02 19:18:11 -04:00
Glenn Morris
cd626254b7 * configure.ac (AC_CONFIG_MACRO_DIR): Use it. 2014-05-02 17:57:58 -04:00
Paul Eggert
6f074205d3 Consult libpng-config more consistently.
* configure.ac (edit_cflags): Move this up and to the top level,
so that PNG_CFLAGS can use it too.
(PNG_CFLAGS): New var.
(png_longjmp): Use PNG_CFLAGS when checking.
(LIBPNG): Be consistent about -lpng16 etc; e.g., don't use -lpng16
in some places and -lpng in others.  Test libpng-config's exit
status.  If it succeeds, use its output rather than appending -lz -lm.
* src/Makefile.in (PNG_CFLAGS): New var.
(ALL_CFLAGS): Use it.
* src/image.c [HAVE_PNG]: Don't worry about <libpng/png.h>, as
CFLAGS now handles this.

Fixes: debbugs:17339
2014-05-02 12:34:03 -07:00
Glenn Morris
5253ea1dcb autogen.sh: minor tweaks
* autogen.sh (get_version): Handle no leading whitespace.
(check_version, main): Handle program names with hyphens.
2014-05-02 13:40:09 -04:00
Glenn Morris
969aabf250 * configure.ac (LIBPNG): Consult libpng-config
for the precise form of "-lpng" to use.

Fixes: debbugs:17339
2014-05-01 17:57:27 -04:00
Juanma Barranquero
09b911adf4 Merge from emacs-24; up to 2014-05-01T10:21:17Z!rgm@gnu.org 2014-04-30 21:54:52 +02:00
Glenn Morris
ca489750c2 * configure.ac: Treat MirBSD as OpenBSD.
Fixes: debbugs:17339
2014-04-29 07:49:11 -07:00
Daniel Colascione
b53a667a5a Ignore a.out 2014-04-21 02:38:44 -07:00
Paul Eggert
2123570f1b Link to glib-using libraries when checking for glib.
* configure.ac (XGSELOBJ): Include GTK_LIBS, RSVG_LIBS, etc.
when testing whether Glib is linked in.  Similarly for CFLAGS.

Fixes: debbugs:17289
2014-04-19 10:45:20 -07:00
Paul Eggert
a3f989d4c4 * GNUmakefile: Speed up 'make bootstrap' in fresh checkout.
(ORDINARY_GOALS): New macro, which excludes 'bootstrap'.
(bootstrap, .PHONY): New rules.
* INSTALL.REPO: Document current procedure better.
Move copyright notice to just before license notice.
2014-04-16 23:40:25 -07:00
Paul Eggert
8ac457d5ed * Makefile.in (force-info): Remove.
All uses removed.  This hack is no longer needed here
now that we can assume GNU Make's .PHONY feature works.
(bootstrap): No need to make 'info', since 'all' now implies 'info'.
2014-04-16 23:02:38 -07:00
Paul Eggert
2ff06dac09 * Makefile.in (FRC): Remove.
All uses removed.  This hack is no longer needed here
now that we can assume GNU Make's .PHONY feature works.
2014-04-16 19:05:48 -07:00
Paul Eggert
290d7ac277 Merge from emacs-24; up to 2014-04-16T15:28:26Z!monnier@iro.umontreal.ca 2014-04-16 12:43:46 -07:00
Paul Eggert
5403b2d3aa Remove DATA_SEG_BITS.
The DATA_SEG_BITS hack was needed for older 32 bit platforms.
As a result of this change, Emacs won't work on IRIX 6.5 with IRIX
cc, but that platform is so old that SGI itself stopped supporting
it in December 2013.  If you still need Emacs on IRIX, please
either compile with GCC and port the undumping code, or run
'./configure --with-wide-int'.
* configure.ac (DATA_SEG_BITS): Remove.  All uses removed.
* src/alloc.c (gdb_make_enums_visible): Update to match lisp.h.
* src/lisp.h (GCTYPEBITS): Move definition up, and switch to the
DEFINE_GDB_SYMBOL_START way to define it.
(NONPOINTER_BITS): New macro.
(EMACS_INT): Use it.
[!USE_LSB_TAG && !WIDE_EMACS_INT]: Fail, and suggest reporting
the problem and/or configuring --with-wide-int.
(USE_LSB_TAG): Simplify, based on above changes.
(gdb_DATA_SEG_BITS): Remove.  All uses removed.
* src/vm-limit.c (exceeds_lisp_ptr): Remove.  All uses removed.
2014-04-16 08:16:35 -07:00
Eli Zaretskii
bf6b4923f7 Fix the MSDOS build.
src/unexcoff.c [MSDOS]: Include libc/atexit.h.
 (copy_text_and_data): Zero out the atexit chain pointer before
 dumping Emacs.
 src/termhooks.h (encode_terminal_code): Update prototype.
 src/term.c (encode_terminal_code) [DOS_NT]: Make it externally
 visible for all DOS_NT ports, not just WINDOWSNT.
 (syms_of_term) [!MSDOS]: Don't define 'tty-menu-*' symbols on MSDOS.
 src/sysdep.c (emacs_sigaction_init, init_signals): Don't use SIGCHLD
 unless it is defined.
 (emacs_pipe) [MSDOS]: Redirect to 'pipe'.
 src/process.c (close_on_exec, accept4, process_socket): Move into
 the "ifdef subprocesses" part.
 (catch_child_signal): Condition by "ifdef subprocesses".
 (syms_of_process) <Qinternal_default_process_sentinel>
 <Qinternal_default_process_filter>: Condition by "ifdef subprocesses".
 src/msdos.h: Add prototypes for new functions.
 (EINPROGRESS): Define.
 (O_CLOEXEC): Define to zero.
 src/msdos.c (check_window_system): Remove unnecessary an
 incompatible duplicate function.
 (sys_opendir, readlinkat, faccessat, fstatat, unsetenv): New
 functions in support of new functionality.
 src/menu.c (single_menu_item): Add visual indication  of submenu
 also for menus on MSDOS frames.
 (Fx_popup_menu) [!MSDOS]: Do not call tty_menu_show on MSDOS.
 src/lisp.h (CHECK_PROCESS) [!subprocesses]: Do not define
 when async subprocesses aren't supported.
 src/font.h (FONT_WIDTH) [MSDOS]: MSDOS-specific definition.
 src/emacs.c (close_output_streams): Zero out errno before calling
 close_stream.
 src/dired.c [MSDOS]: Include msdos.h.
 src/conf_post.h (opendir) [MSDOS]: Redirect to sys_opendir.
 (DATA_START) [MSDOS]: Define.
 (SYSTEM_PURESIZE_EXTRA) [MSDOS]: Enlarge by 25K.
 src/callproc.c (block_child_signal, unblock_child_signal) [MSDOS]:
 Ifdef away for MSDOS.
 (record_kill_process) [MSDOS]: Ifdef away the entire body for MSDOS.
 (call_process_cleanup) [MSDOS]: Ifdef away portions not relevant
 for MSDOS.
 (call_process) [MSDOS]: Fix call sequence of dostounix_filename.
 Use temporary file template that is compatible with mkostemp.
 Move vfork-related portions under #ifndef MSDOS.
 (syms_of_callproc): Unify templates of MSDOS and WINDOWSNT.

 lisp/term/pc-win.el (x-list-fonts, x-get-selection-value): Provide
 doc strings, as required by snarf-documentation.

 msdos/sedlisp.inp:
 msdos/sedlibmk.inp:
 msdos/sedleim.inp:
 msdos/sed3v2.inp:
 msdos/sed2v2.inp:
 msdos/sed1v2.inp: Update Sed scripts for Emacs 24.4.
 msdos/inttypes.h: Add PRIdMAX.
 msdos/INSTALL: Update for Emacs 24.4.
 msdos/sedadmin.inp: New file.
2014-04-16 16:27:28 +03:00
Paul Eggert
6956b278cd * autogen.sh: Use autoreconf's -f option.
Fixes: debbugs:17258
2014-04-13 22:35:45 -07:00
Paul Eggert
93ca48872e Clean up configure-time library handling a bit.
This patch was inspired by emacs-24 2014-04-09T13:37:49Z!sdl.web@gmail.com, which fixed
a bug due to sloppy library handling in 'configure'.
* configure.ac (LIB_MATH, LIB_PTHREAD, LIBXMU):
Use AC_SEARCH_LIBS instead of AC_CHECK_LIB as per Autoconf manual.
(LIB_MATH, LIB_PTHREAD, HAVE_X11, IMAGEMAGICK_LIBS, GTK_LIBS)
(DBUS_LIBS, LIBXMU, XFT_LIBS, LIBXSM, LIBXML2_LIBS, LIBS_MAIL)
(with_kerberos):
Don't let the library choice infect $LIBS.
(dnet_ntoa, cma_open): Remove obsolete tests.
(emacs_pthread_function): Probe for pthread_kill, not pthread_self,
as that's a bit more selective on GNU/Linux.
(LIBXEXT): Remove.
(touchlock): Test for existence when $LIBS_MAIL is in use.
(AC_CHECK_FUNCS): Use only $LIB_MATH in addition to $LIBS
when testing for typical functions like accept4, lrand48.
(random, rint): Remove obsolete HP-UX 9 A.09.05 test.
2014-04-13 22:23:31 -07:00
Paul Eggert
13a5993b31 Port to IRIX 6.5.
This port requires IRIX cc, as I did not have time to get
undump working with the old GCC on the system I had access to,
but that's better than nothing.
* configure.ac (gl_GCC_VERSION_IFELSE): Remove unused macro
that wouldn't have worked anyway, with IRIX cc.
(emacs_cv_clang, emacs_cv_sanitize_address)
(ns_osx_have_104, ns_osx_have_105):
Don't assume '#error' makes the compiler fail,
as this doesn't work with IRIX cc.
(CFLAGS, LIBS): Don't let the GnuTLS results infect later 'configure'
checks.  This runs afoul of an IRIX configuration where GnuTLS is
in an optional library that also contains getdelim, and causes
a later 'configure' to incorrectly think getdelim is supported.
* src/alloc.c (TAGGABLE_NULL): New constant,
for porting to hosts with nontrivial DATA_SEG_BITS settings.
(next_vector, set_next_vector): Use it.
* src/conf_post.h (INET6) [IRIX6_5]: Define.
(HAVE_GETADDRINFO) [IRIX6_5]: Undef.
* src/data.c (BITS_PER_ULL): Don't assume ULLONG_MAX is defined.
* src/lisp.h (lisp_h_XPNTR): Don't OR in bits that aren't masked out,
for consistency with how TAGGABLE_NULL is computed.

Fixes: debbugs:9684
2014-04-13 15:51:08 -07:00
Eli Zaretskii
aa1f3497ed Fix creation of emacs.exe hardlink at "make install" time on MS-Windows.
configure.ac (LN_S_FILEONLY, LN_S): Use "/bin/ln" on MinGW, to
 ensure the MSYS ln.exe is invoked.
2014-04-13 09:44:22 +03:00
Glenn Morris
536aa46681 Merge from emacs-24; up to 2014-04-04T23:31:02Z!joaotavora@gmail.com 2014-04-10 23:43:20 -07:00
Glenn Morris
9b1ac3be88 * make-dist: Distribute lib-src/update-game-score.exe.manifest. 2014-04-10 23:39:11 -07:00
Glenn Morris
235b3c7920 * make-dist: Do not distribute generated admin/grammars/Makefile. 2014-04-10 23:25:25 -07:00
Ken Brown
0cccc183d7 Revert most of the recent change involving manifests on Cygwin. (Bug#17176)
* configure.ac (EMACS_MANIFEST): Revert last change (but leave
UPDATE_MANIFEST empty).
* nt/emacs.rc: Revert last change.
* src/Makefile.in (EMACS_MANIFEST): Revert last change.
2014-04-09 17:16:37 -04:00
Glenn Morris
6f287c898a ChangeLog fixes
Merged entries get today's date.
May as well combine consecutive separate entries by same author into one.
Backported entries should not appear twice.
2014-04-07 17:19:31 -04:00
Daniel Colascione
7e31acf6b8 Merge from emacs-24; up to 2014-04-01T20:18:12Z!eggert@cs.ucla.edu 2014-04-07 13:54:16 -07:00
Ken Brown
ebe8e0765c Don't use manifest on Cygwin. (Bug#17176)
* nt/emacs.rc: Don't use manifest on Cygwin.
* configure.ac (EMACS_MANIFEST, UPDATE_MANIFEST): Leave these
variables empty on Cygwin. 
* src/Makefile.in (EMACS_MANIFEST): Update comment.
2014-04-03 15:10:35 -04:00
Glenn Morris
3a9e7a49de * make-dist: Further update AC_INIT regexp. 2014-04-02 21:16:18 -04:00
Juanma Barranquero
09aba8153a Merge from emacs-24; up to 2014-03-28T01:39:30Z!rgm@gnu.org 2014-04-02 17:14:50 +02:00
Glenn Morris
63adc15691 * configure.ac: Make the final "Does Emacs use Gsettings" message
consistent with src/config.h.
2014-03-31 09:22:32 -07:00
Jan Djärv
dcb4c4d753 * configure.ac: Fix errors from previous checkin (GSettings check).
Backport from trunk.
2014-03-31 08:08:29 +02:00
Jan Djärv
ce486e0d8f * configure.ac: Fix errors from previous checkin (GSettings check). 2014-03-31 07:02:08 +02:00
Daniel Colascione
8e86e380dc * configure.ac: Include GFILENOTIFY objects in glib check (backport from trunk)
Fixes: debbugs:17069
2014-03-30 16:59:19 -07:00
Jan Djärv
4e6c9f7b2e * configure.ac: Add check that GSettings is in libgio. Backport from trunk.
Fixes: debbugs:17118
2014-03-30 12:44:33 +02:00
Jan Djärv
b0e04df615 * configure.ac: Add check that GSettings is in libgio.
Fixes: debbugs:17118
2014-03-29 13:08:47 +01:00
Glenn Morris
dd694335f5 * (make-dist): Update AC_INIT regexp. 2014-03-28 20:14:16 -04:00
Glenn Morris
7b207d6d4f Improve usage of AC_INIT
* configure.ac (AC_INIT): Add "GNU" in package, add bug address.
(PACKAGE_BUGREPORT): Use it.

* src/emacs.c (emacs_version): Use PACKAGE_VERSION rather than VERSION.
(emacs_bugreport): New variable.
(usage_message): Use PACKAGE_BUGREPORT.
(syms_of_emacs) <report-emacs-bug-address>: New variable.

* lisp/cus-start.el (report-emacs-bug-address): Set custom properties.

* lisp/mail/emacsbug.el (report-emacs-bug-address):
Variable is now defined in emacs.c.
2014-03-28 19:11:39 -04:00
Glenn Morris
c3153003fb Add system-configuration-features, summarising some configure results
* configure.ac (ACL_SUMMARY): Rename from acl_summary, for consistency.
(EMACS_CONFIG_FEATURES): New define.

* src/emacs.c (syms_of_emacs) <system-configuration-features>: New var.

* lisp/mail/emacsbug.el (report-emacs-bug):
Include system-configuration-features.

* etc/NEWS: Mention this.
2014-03-28 18:03:42 -04:00
Paul Eggert
ef9b8f2d53 * configure.ac: Suggest './configure MAKE=gmake' in diagnostic.
This tends to work better than 'MAKE=gmake ./configure' if later
builds run config.status etc.
2014-03-27 14:29:32 -07:00
Glenn Morris
f6dce6c1d6 Require GNU make to build Emacs
Ref: http://debbugs.gnu.org/16717#45
If no-one objects, we can then start getting rid of some of the
convoluted Makefile hacks that exist to support non-GNU makes.

* configure.ac: Require GNU make.
(HAVE_GNU_MAKE): Remove.

* INSTALL, etc/NEWS, etc/PROBLEMS: Update for this change.

* Makefile.in: Comment.
2014-03-27 15:41:57 -04:00
Juanma Barranquero
16adf2e6eb Merge from emacs-24; up to 2014-03-23T23:14:52Z!yamaoka@jpl.org 2014-03-26 16:57:13 +01:00
Paul Eggert
cefcfbcc1b Merge from gnulib.
This incorporates:
2014-03-26 strftime: wrap macros in "do {...} while(0)"
* lib/strftime.c, doc/misc/texinfo.tex: Update from gnulib.
2014-03-25 21:16:13 -07:00
Glenn Morris
11ee65afc2 Remove the build-time option CLASH_DETECTION
Every platform supports it, and the runtime option `create-lockfiles'
replaces it.

* configure.ac (CLASH_DETECTION): Remove option.

* lisp/files.el (lock-buffer, unlock-buffer, file-locked-p):
Remove fallback aliases, since they are always defined now.

* src/buffer.c (Frestore_buffer_modified_p, Fkill_buffer):
* src/emacs.c (shut_down_emacs):
* src/fileio.c (Finsert_file_contents, write_region):
* src/filelock.c (top-level, syms_of_filelock):
* src/insdel.c (prepare_to_modify_buffer_1):
CLASH_DETECTION is always defined now.

* admin/CPP-DEFINES: Remove CLASH_DETECTION.
2014-03-25 21:14:44 -04:00
Daniel Colascione
dfdce7dc1c Notice when gfilenotify depends on glib 2014-03-23 02:17:29 -07:00
Glenn Morris
7cd431112c Remove lib-src/test-distrib.c and related
The class of problems that this was designed to detect, namely .elc
files getting corrupted by being passed around by email via uuencode
or somesuch, has not been a relevant concern for many years.

* lib-src/test-distrib.c, lib-src/testfile: Remove.

* lib-src/Makefile.in (DONT_INSTALL): Remove test-distrib.
(test-distrib${EXEEXT}): Remove rule.

* make-dist: Do not distribute lib-src/testfile.

* admin/quick-install-emacs (AVOID): Remove testfile and test-distrib.

* INSTALL, etc/PROBLEMS, admin/notes/unicode:
Remove references to test-distrib and testfile.
2014-03-22 15:52:47 -07:00
Eli Zaretskii
a502d89381 Bump trunk version to 24.4.50.
modified files:
   ChangeLog
   README
   configure.ac
   doc/emacs/emacsver.texi
   doc/man/emacs.1
   msdos/sed2v2.inp
   nt/config.nt
   nt/emacs.rc
   nt/emacsclient.rc
   nt/makefile.w32-in
2014-03-21 12:12:53 +02:00
Glenn Morris
931be30d73 * Makefile.in (all): Depend on `info'.
Fixes: debbugs:16626
2014-03-20 23:49:38 -07:00
Paul Eggert
0d18109565 Merge from gnulib.
This incorporates:
2014-03-04 stdint: fix missing SIZE_MAX on Android
2013-03-02 sys_types: avoid autoconf warning about gl_SYS_TYPES_H
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/stdint.in.h, lib/sys_types.in.h, m4/sys_types_h.m4:
Update from gnulib.

Fix oversight preventing lib/sys/types.h from being generated.
* admin/merge-gnulib (GNULIB_TOOL_FLAGS): Don't avoid sys_types.
2014-03-07 10:57:11 -08:00
Glenn Morris
bdd85f3177 * configure.ac: Tweak the "unported" error message.
"Has not been ported to" usually isn't quite correct these days.
Eg it could be an old platform that we dropped support for.
2014-03-05 14:57:36 -05:00
Glenn Morris
f889ebcefa Fix ChangeLog bug# typo 2014-03-05 14:04:44 -05:00
Paul Eggert
59587ee455 Fix configuration bug on Solaris 2.5.1.
* configure.ac: Fix a bug in shell pattern matching that caused
'configure' to treat Solaris 2.5.1 as if it were Solaris 10 or later.

Fixes: debbugs:16896
2014-03-04 18:39:05 -08:00
Juanma Barranquero
35e951cd4b */ChangeLog: Trivial fixes. 2014-03-03 05:57:26 +01:00
Paul Eggert
cc58740405 Merge from gnulib.
2014-02-25 unistd: port readlink to Mac OS X 10.3.9

Fixes: debbugs:16825
2014-02-25 11:21:05 -08:00
Paul Eggert
f1037d0b8b Merge from gnulib.
2014-02-21 timer: fix uClibc detection of threading
2014-02-21 maintainer-makefiles: provide AC_PROG_SED for older autoconf
* texinfo.tex: Update from gnulib.
2014-02-23 23:12:42 -08:00
Mirek Kaim
526e126f79 * configure.ac [HAVE_W32]: Test for ImageMagick.
Fixes: debbugs:16754
2014-02-17 17:47:35 -08:00
Paul Eggert
96fbe2b900 * Makefile.in (install-arch-indep): Allow ' ' in destdir.
This fixes a bug in the previous change.  Also, use $(SHELL)
rather than sh, as that's more likely to be portable.

Fixes: debbugs:16717
2014-02-14 00:05:18 -08:00
Paul Eggert
89a9712915 * Makefile.in (install-arch-indep): Simplify.
This should make it more reliable, and hopefully more portable to
non-GNU 'make' implementations such as HP-UX 'make'.

Fixes: debbugs:16717
2014-02-13 10:59:24 -08:00
Juanma Barranquero
1a4c95f664 Copy README.W32 when installing Windows build (bug#14757).
* Makefile.in (install-nt): Also pass datadir.

* nt/Makefile.in (datarootdir, datadir, INSTALL_DATA): Declare.
(install): Copy README.W32 to $(datadir)/emacs/$(version).
(uninstall): Remove README.W32.
2014-02-13 04:19:57 +01:00
Paul Eggert
06c2ec4946 Merge from gnulib.
This incorporates:

2014-01-23 pthread: work around winpthread header pollution on mingw
* lib/time.in.h: Update from gnulib.

* doc/misc/texinfo.tex: Update from texinfo.
2014-02-05 11:41:03 -08:00
Paul Eggert
51fb39ec63 Merge from gnulib.
This incorporates:
2014-01-22 qacl: check for fchmod
* m4/acl.m4: Update from gnulib.
2014-01-22 18:48:44 -08:00
Paul Eggert
dc217d0180 Fix miscellaneous update-game-score bugs.
* configure.ac (difftime): Remove.
* lib/update-game-score.c (difftime) [!HAVE_DIFFTIME]: Remove.
(read_score) [HAVE_GETDELIM]: Don't access uninitialized storage.
(read_scores, write_scores): Check for fclose failure.
(write_scores): Use fchmod, not chmod, to avoid a race.
(lock_file): Fix test for out-of-date lock file; it was reversed.
Use ordinary subtraction rather than difftime; since we're already
assuming POSIX we don't need to worry about the possibility of
time_t being a magic cookie.
2014-01-22 11:02:41 -08:00
Glenn Morris
1bf6ecf2b3 ChangeLog fixes 2014-01-21 20:43:37 -05:00
Glenn Morris
38942b9cf5 ChangeLog fixes 2014-01-21 00:49:46 -08:00
Glenn Morris
2fb6d9c6d6 ChangeLog fixes 2014-01-20 17:39:59 -05:00
Paul Eggert
cec62009bb Merge from gnulib.
This incorporates:
2014-01-20 stdalign: port to HP-UX compilers
2014-01-16 strtoimax: port to platforms lacking 'long long'
2014-01-16 update from texinfo
* doc/misc/texinfo.tex, lib/stdalign.in.h, lib/strtoimax.c:
Update from gnulib.
2014-01-20 12:48:14 -08:00
Eli Zaretskii
b30dee657d Remove ChangeLog entry of a reverted commit in Makefile.in. 2014-01-12 20:11:49 +02:00
Eli Zaretskii
cbe02c1fe9 Revert part of 2014-01-12T14:54:50Z!esr@thyrsus.com and fix the VCSWITNESS thingy.
Makefile.in (src): Fix the computation of $vcswitness.
2014-01-12 19:27:17 +02:00
Eli Zaretskii
3cc9b1e268 Revert last commit. 2014-01-12 18:37:42 +02:00
Eric S. Raymond
ff7210fef5 Remove more references unnecessarily specific to VCS. 2014-01-12 10:37:23 -05:00
Eric S. Raymond
841a6d0cb8 Remove broken VCSWITNESS code, and explain the problem. 2014-01-12 09:54:50 -05:00
Glenn Morris
4efa3f1e0e Replace doc references to deleted etc/ files
* README: Replace reference to etc/MAILINGLISTS.

* doc/man/emacs.1: Replace reference to etc/MAILINGLISTS.

* doc/misc/efaq.texi (Guidelines for newsgroup postings)
(Informational files for Emacs):
Remove references to etc/MAILINGLISTS, etc/INTERVIEW.
2014-01-11 17:35:51 -08:00
Eric S. Raymond
5d1a288857 /etc cleanup
* COOKIES, copying.paper, INTERVIEW, MAILINGLISTS, MOTIVATION,
	publicsuffix.txt SERVICE: More deletions suggested by RMS.
2014-01-11 09:27:38 -05:00
Eric S. Raymond
9685190b46 /etc cleanup: Removal of joke man pages and associated Lisp file.
* etc/celibacy.1, etc/sex.6, etc/condom.1, etc/echo.msg:
	Deleted at RMS's suggestion. Not lost to posterity as they are
	part of the widely distributed funny-manpages collection.

	* lisp/play/meese.el: It's 2014 and Ed Meese is justly forgotten. Goes
	with removal of the joke manpages from /etc.
2014-01-11 09:15:17 -05:00
Fabrice Popineau
e05d3a05bf Fix minor build problems related to MinGW64.
configure.ac: Read $srcdir/nt/mingw-cfg.site when $MSYSTEM is
 "MINGW64" as well.

 nt/inc/ms-w32.h (pthread_sigmask): Undefine if defined, for MinGW64.

 src/unexw32.c (_start) [__MINGW64__]: Define to __start.
2014-01-11 15:36:06 +02:00
Paul Eggert
bada50fc50 Merge from gnulib.
This incorporates:
2014-01-07 update from texinfo
2014-01-06 md5, sha1, sha256, sha512: support older autoconf
2014-01-10 23:01:30 -08:00
Eric S. Raymond
314668368c Clean up unnecessary references to Bazaar. Documentation changes only. 2014-01-08 19:10:07 -05:00
Eric S. Raymond
ac4c50ad33 Rename INSTALL.BZR to UNSTALL.REPOm and carry that through in other files. 2014-01-08 18:24:54 -05:00
Paul Eggert
81da295eeb Port to GNU/Linux with recent grsecurity/PaX patches (Bug#16343).
Problem and proposed patch reported by Ulrich Mueller;
this patch uses a somewhat-different approach.
* configure.ac (SETFATTR): New variable.
* src/Makefile.in (SETFATTR): New macro.
(temacs$(EXEEXT)): Use it.
2014-01-04 16:55:29 -08:00
Paul Eggert
3d81471038 Merge from gnulib.
This incorporates:
2014-01-02 manywarnings: remove -Wmudflap
This ports better to GCC 4.9-to-be.
2014-01-02 17:59:58 -08:00
Paul Eggert
ba3189039a Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
Fabrice Popineau
bd717ca4f4 Minor fixes for MinGW64 build.
configure.ac (canonical, C_SWITCH_SYSTEM): Support a 64-bit
 MinGW64 build on MS-Windows.

 nt/inc/ms-w32.h (sys_kill): Fix prototype.

 src/w32term.c (w32_initialize): Use LCID and LOWORD.
 src/w32proc.c (create_child): Use pid_t for 5th argument.
 (IsValidLocale): Don't provide prototype for MinGW64.
 (Fw32_get_valid_keyboard_layouts, Fw32_get_keyboard_layout)
 (Fw32_set_keyboard_layout): Use HKL and HIWORD/LOWORD.
 src/w32heap.c (allocate_heap) [_WIN64]: Use "ull", not "i64", which
 MinGW64 doesn't support.
 src/lisp.h (EMACS_INT) [_WIN64]: Define for the MinGW64 build.
2013-12-31 18:01:34 +02:00
Jan Djärv
830506d93a * configure.ac (xcsdkdir): Only set if using xcrun. 2013-12-29 14:17:09 +01:00
Paul Eggert
a7f7e547d6 * configure.ac (LIBXML2_CFLAGS): Fix xcrun-related quoting problem.
Reported by YAMAMOTO Mitsuharu in:
http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00995.html
2013-12-28 23:15:01 -08:00
Jan Djärv
5f27a1b07d * configure.ac: Fix CC detection for xcrun case. 2013-12-28 11:12:43 +01:00
Paul Eggert
1d7701a4fd Fix problem with MAKE and xcrun configuration.
* configure.ac: Don't set MAKE unless 'make' doesn't work.
Set it only in the environment, not in the makefile.
Problem reported by Glenn Morris in:
http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00969.html
2013-12-27 16:40:58 -08:00
Glenn Morris
8449dd1f65 authors.el updates and ChangeLog fixes
* lisp/emacs-lisp/authors.el (authors-ignored-files)
(authors-valid-file-names, authors-renamed-files-alist): Additions.
2013-12-27 16:31:33 -08:00
Paul Eggert
5eedd0b92d Port xcrun configuration to GNU/Linux.
* configure.ac (xcsdkdir): Default to empty.
(XCRUN): Don't require Darwin for xcrun.  Move xcrun checking to
just before AM_INIT_AUTOMAKE, to make the dependency between it
and automake clearer.
(CC): Don't use AC_PROG_CC twice; only the first use expands to the
shell code that is wanted, which breaks 'configure' on non-Darwin
platforms.  Instead, fix CC by hand if it's not found.
2013-12-27 11:14:10 -08:00
Jan Djärv
7c8114cb5f * configure.ac: Detect xcrun on OSX and use it for make, gcc and libxml. 2013-12-27 17:57:52 +01:00
Paul Eggert
e76119d754 Fix core dumps with gcc -fsanitize=address and GNU/Linux.
On my Fedora 19 platform the core dumps were so big that
my desktop became nearly catatonic.
* configure.ac: Check whether addresses are sanitized.
(CANNOT_DUMP): Warn if addresses are sanitized and not CANNOT_DUMP.
(DOUG_LEA_MALLOC): Do not define if addresses are sanitized.
(SYSTEM_MALLOC): Define if addresses are sanitized.
* src/alloc.c (no_sanitize_memcpy) [MAX_SAVE_STACK > 0]: New function.
(Fgarbage_collect) [MAX_SAVE_STACK > 0]: Use it.
(USE_ALIGNED_MALLOC): Do not define if addresses are sanitized.
(mark_memory): Use ATTRIBUTE_NO_SANITIZE_ADDRESS rather than
a clang-only syntax.
* src/conf_post.h (__has_feature): New macro, if not already defined.
(ADDRESS_SANITIZER, ADDRESS_SANITIZER_WORKAROUND)
(ATTRIBUTE_NO_SANITIZE_ADDRESS): New macros.
2013-12-26 00:57:28 -08:00
Paul Eggert
9ebada6af6 Automate the procedure for updating copyright year.
* admin/merge-gnulib (GNULIB_MODULES): Add update-copyright.
* admin/notes/years: Mention admin/update-copyright.
* admin/update-copyright: New file.
* build-aux/update-copyright: New file.
* make-dist: Distribute it.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* msdos/autogen/Makefile.in: Update copyright year.
2013-12-24 10:27:53 -08:00
Andreas Schwab
4157ea7faf * configure.ac: Replace obsolete macro AC_CONFIG_HEADER by
AC_CONFIG_HEADERS.
2013-12-23 16:13:14 +01:00
Rüdiger Sonderfeld
4094a7725a Update .gitignore.
It should probably be kept better in sync with .bzrignore.

* .gitignore: Ignore refcard temporaries and info/*.info files.
2013-12-19 19:00:05 +01:00
Paul Eggert
e9ad5665ed Merge from gnulib, incorporating:
2013-12-17 gettimeofday: port recent C++ fix to Emacs
2013-12-17 gettimeofday: fix C++ crosscompilation
2013-12-17 qacl: port to Windows better
* lib/file-has-acl.c, lib/time.in.h, m4/gettimeofday.m4, m4/time_h.m4:
Update from gnulib.
* lib/gnulib.mk: Regenerate.
2013-12-17 12:43:43 -08:00
Paul Eggert
062727ce6b * INSTALL: Clarify treatment of image libraries. 2013-12-16 09:58:25 -08:00
Dani Moncayo
c07ff981a3 * configure.ac (srcdir) [MINGW32]: Tweak to 2013-12-14T09:30:15Z!dmoncayo@gmail.com. 2013-12-14 23:06:30 +01:00
Paul Eggert
96c0686368 Use bool for boolean, focusing on headers.
* configure.ac (PTY_OPEN, GC_MARK_SECONDARY_STACK):
Use bool for boolean.
* lib-src/emacsclient.c, lib-src/etags.c, lib-src/hexl.c (FALSE, TRUE):
Remove.  All uses replaced with uncapitalized version.
* lib-src/emacsclient.c (message):
* lib-src/etags.c (make_tag, pfnote, consider_token, make_C_tag, lang_names):
* lib-src/hexl.c (un_flag, iso_flag, endian):
* lib-src/pop.c (pop_debug, pop_open, pop_multi_first, pop_multi_next)
(pop_trash):
Use bool for boolean.
* lib-src/etags.c (bool): Remove.
* lib-src/etags.c (globals, members, declarations, no_line_directive)
(no_duplicates): Use 'int' for boolean values that getopt requires
to be 'int'.  Formerly, these were 'bool' and 'bool' was 'int',
but we can no longer rely on this implementation.
* lib-src/pop.h (struct _popserver): Use bool_bf for boolean bit-fields.
* lwlib/xlwmenuP.h (XlwMenu_part): Use bool_bf for boolean bit-fields.
* src/atimer.h, src/lisp.h, src/syssignal.h, src/syswait.h, src/unexelf.c:
No need to include <stdbool.h>, since conf_post.h does it now.
* src/buffer.h (BUF_COMPUTE_UNCHANGED, DECODE_POSITION)
(BUFFER_CHECK_INDIRECTION, GET_OVERLAYS_AT, PER_BUFFER_VALUE_P)
(SET_PER_BUFFER_VALUE_P):
* src/ccl.c, src/ccl.h (setup_ccl_program):
* src/ccl.h (CHECK_CCL_PROGRAM):
* src/character.h (MAKE_CHAR_UNIBYTE, CHECK_CHARACTER_CAR)
(CHECK_CHARACTER_CDR, CHAR_STRING_ADVANCE, NEXT_CHAR_BOUNDARY)
(PREV_CHAR_BOUNDARY, FETCH_STRING_CHAR_ADVANCE)
(FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
(FETCH_STRING_CHAR_ADVANCE_NO_CHECK, FETCH_CHAR_ADVANCE)
(FETCH_CHAR_ADVANCE_NO_CHECK, INC_POS, DEC_POS, INC_BOTH)
(DEC_BOTH, BUF_INC_POS, BUF_DEC_POS):
* src/charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
(CHECK_CHARSET_GET_ATTR, CHECK_CHARSET_GET_CHARSET)
(CHARSET_FAST_MAP_SET):
* src/coding.c (decode_coding_ccl, encode_coding_ccl):
* src/coding.h (CHECK_CODING_SYSTEM, CHECK_CODING_SYSTEM_GET_SPEC)
(CHECK_CODING_SYSTEM_GET_ID, SJIS_TO_JIS, SJIS_TO_JIS2)
(JIS_TO_SJIS, JIS_TO_SJIS2, ENCODE_FILE, DECODE_FILE)
(ENCODE_SYSTEM, DECODE_SYSTEM, ENCODE_UTF_8)
(decode_coding_c_string):
* src/composite.h (COMPOSITION_DECODE_REFS, COMPOSITION_DECODE_RULE):
* src/conf_post.h (has_attribute):
* src/dispextern.h (trace_redisplay_p):
(INC_TEXT_POS, DEC_TEXT_POS, SET_GLYPH_FROM_GLYPH_CODE)
(SET_CHAR_GLYPH, SET_CHAR_GLYPH_FROM_GLYPH)
(SET_GLYPH_FROM_CHAR_GLYPH):
(WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P)
(FACE_SUITABLE_FOR_ASCII_CHAR_P, FACE_SUITABLE_FOR_CHAR_P)
(PRODUCE_GLYPHS, reset_mouse_highlight, in_display_vector_p)
(cursor_in_mouse_face_p):
* src/dispnew.c (adjust_glyph_matrix, clear_glyph_matrix_rows)
(blank_row, prepare_desired_row)
(build_frame_matrix_from_leaf_window, make_current)
(mirror_make_current, mirrored_line_dance, mirror_line_dance)
(update_window, scrolling_window, update_frame_line):
* src/disptab.h (GLYPH_FOLLOW_ALIASES):
* src/editfns.c (Fformat):
* src/font.h (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC)
(FONT_WIDTH_SYMBOLIC, FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE)
(FONT_WIDTH_FOR_FACE, FONT_WEIGHT_NAME_NUMERIC)
(FONT_SLANT_NAME_NUMERIC, FONT_WIDTH_NAME_NUMERIC)
(FONT_SET_STYLE, CHECK_FONT, CHECK_FONT_SPEC, CHECK_FONT_ENTITY)
(CHECK_FONT_OBJECT, CHECK_FONT_GET_OBJECT, FONT_ADD_LOG)
(FONT_DEFERRED_LOG):
* src/frame.h (FRAME_W32_P, FRAME_MSDOS_P, FRAME_WINDOW_P):
(FRAME_EXTERNAL_TOOL_BAR, FRAME_EXTERNAL_MENU_BAR, FOR_EACH_FRAME)
(FRAME_MOUSE_UPDATE):
* src/fringe.c (Fdefine_fringe_bitmap):
* src/image.c (x_create_bitmap_from_data, x_create_bitmap_mask)
(x_create_bitmap_from_xpm_data, xpm_load_image):
* src/intervals.h (INTERVAL_HAS_PARENT, INTERVAL_PARENT)
(set_interval_parent, RESET_INTERVAL, COPY_INTERVAL_CACHE)
(MERGE_INTERVAL_CACHE):
* src/keymap.h (KEYMAPP):
* src/lisp.h (eassert, USE_LSB_TAG, CHECK_LISP_OBJECT_TYPE)
(STRING_SET_UNIBYTE, STRING_SET_MULTIBYTE, DEFSYM, PSEUDOVECTORP)
(CHECK_RANGED_INTEGER, CHECK_TYPE_RANGED_INTEGER)
(CHECK_NUMBER_COERCE_MARKER, CHECK_NUMBER_OR_FLOAT_COERCE_MARKER)
(DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL, DEFVAR_INT)
(DEFVAR_BUFFER_DEFAULTS, DEFVAR_KBOARD, QUIT)
(RETURN_UNGCPRO, USE_SAFE_ALLOCA, SAFE_NALLOCA, SAFE_FREE)
(SAFE_ALLOCA_LISP, FOR_EACH_ALIST_VALUE, functionp):
* src/syntax.h (SYNTAX_ENTRY, SYNTAX_WITH_FLAGS, SYNTAX)
(UPDATE_SYNTAX_TABLE_FORWARD, UPDATE_SYNTAX_TABLE_BACKWARD)
(SETUP_BUFFER_SYNTAX_TABLE):
* src/systime.h (timespec_valid_p):
* src/term.c (save_and_enable_current_matrix):
* src/window.h (WINDOW_MENU_BAR_P, WINDOW_TOOL_BAR_P):
* src/xdisp.c (in_display_vector_p, display_tool_bar_line)
(redisplay_internal, try_window_reusing_current_matrix)
(sync_frame_with_window_matrix_rows, try_window_id)
(display_menu_bar, display_tty_menu_item, display_mode_line)
(coords_in_mouse_face_p, cursor_in_mouse_face_p):
* src/xmenu.c (xmenu_show):
* src/xterm.c (use_xim, x_term_init):
* src/xterm.h (XSync, GTK_CHECK_VERSION, use_xim, SET_SCROLL_BAR_X_WIDGET)
(struct x_bitmap_record):
Use bool for booleans.
* src/ccl.c (struct buffer_text):
* src/ccl.h (struct ccl_program):
* src/charset.h (struct charset):
* src/cm.h (struct cm):
* src/coding.h (struct iso_2022_spec, struct coding_system):
* src/dispextern.h (struct glyph, struct glyph_matrix, struct glyph_row)
(struct glyph_string, struct face, struct face_cache)
(struct bidi_string_data, struct bidi_it)
(struct draw_fringe_bitmap_params, struct it, Mouse_HLInfo)
(struct image):
* src/editfns.c (Fformat):
* src/frame.h (struct frame):
* src/fringe.c (struct fringe_bitmap):
* src/intervals.h (struct interval):
* src/keyboard.h (struct kboard):
* src/lisp.h (struct Lisp_Symbol, struct Lisp_Misc_Any, struct Lisp_Marker)
(struct Lisp_Overlay, struct Lisp_Save_Value, struct Lisp_Free)
(struct Lisp_Buffer_Local_Value, union specbinding):
* src/macfont.m (struct macfont_info):
* src/process.h (struct Lisp_Process):
* src/termchar.h (struct tty_display_info):
* src/window.h (struct window):
* src/xterm.h (struct x_output):
Use bool_bf for boolean bit-fields.
* src/ccl.c (setup_ccl_program): Now returns bool instead of -1 or 0.
All callers changed.
* src/ccl.h (struct ccl_program): Remove unused members private_state,
src_multibyte, dst_multibyte, cr_consumed, suppress_error,
eight_bit_control.
(struct ccl_spec): Remove unused members cr_carryover,
eight_bit_carryover.
* src/conf_post.h: Include <stdbool.h>.
(bool_bf): New type.
* src/dispextern.h (TRACE, PREPARE_FACE_FOR_DISPLAY):
* src/interval.h (RESET_INTERVAL, COPY_INTERVAL_CACHE, MERGE_INTERVAL_CACHE)
Surround statement macro with proper 'do { ... } while (false)' brackets.
(SET_MATRIX_ROW_ENABLED_P): Assume 2nd arg is bool.
(PRODUCE_GLYPHS): Simplify use of boolean.
* src/fileio.c (Fcopy_file):
If I is an integer, prefer 'if (I != 0)' to 'if (I)'.
* src/lisp.h (UNGCPRO): Return void, not int.
(FOR_EACH_TAIL): Use void expression, not int expression.
* src/region-cache.c: Reindent.
* src/region-cache.h: Copy comments from region-cache.c, to fix
incorrect remarks about booleans.
2013-12-14 13:36:44 -08:00
Dani Moncayo
6084a28b66 * configure.ac (srcdir) [MINGW32]: Convert to an absolute MSYS
path of the form "/c/foo/bar" to simplify conversion of formats.
2013-12-14 10:30:15 +01:00
Glenn Morris
06a4f1102f Unconditionally reset load-path after dumping
* src/lread.c: (dump_path): Remove.
(load-path-default): Remove `changed' argument.
Do not set dump_path permanently.  Simplify.
(init_lread): Simplify.
(syms_of_lread): Remove dump_path.

* lisp/loadup.el (load-path): Warn if site-load or site-init changes it.
No more need to reset it when bootstrapping.

* doc/lispref/internals.texi (Building Emacs):
* doc/lispref/loading.texi (Library Search): Mention that site-load,
site-init cannot change load-path.

* INSTALL: No longer mention load-path and site-init/site-load.

* etc/NEWS: Mention this.

Fixes: debbugs:16107
2013-12-13 13:25:30 -05:00
Glenn Morris
b55e11bf85 Generate info/dir from .texi files rather than .info files
* Makefile.in (install-info): Handle missing info/dir.
(info_dir_deps): New variable.
(${srcdir}/info/dir): Depend on .texi files rather than .info files.
(check-info): Update topics.

* build-aux/make-info-dir: Use .texi files rather than .info files.
Update topics.

* doc/lispintro/emacs-lisp-intro.texi:
* doc/lispref/elisp.texi:
Tweak dircategory (all the others use "Emacs" + lower-case).
2013-12-12 17:41:31 -05:00
Glenn Morris
89f01d7dbe * make-dist: Distribute new build-aux files. 2013-12-12 01:39:13 -08:00
Glenn Morris
e035a207b7 * Makefile.in (install-info): Remove some useless subshells. 2013-12-12 01:02:27 -08:00
Glenn Morris
62bd73fa7a Stop keeping info/dir in the repository.
* build-aux/dir_top: Move here from admin/.

* build-aux/make-info-dir: New script.

* Makefile.in (bootstrap-clean): Delete info/.
(info-dir, ${srcdir}/info/dir): New rules.
(info): Also make info-dir.
(check-info): Rename from check-info-dir.
Instead of info/dir entries, check @dircategory in info/*.info.

* make-dist: Use `info' rule rather than `info-real'.
No more info/COPYING (not even the right license for info/ files).

* info/: Remove from repository.

* admin/update_autogen (info_dir):
Use dir_top from build-aux/ rather than admin/.

* .bzrignore: Ignore info/ altogether.

* doc/emacs/Makefile.in: Comment.
2013-12-12 00:54:21 -08:00
Paul Eggert
139f528442 Revert my most-recent change re Solaris. 2013-12-11 20:53:59 -08:00
Paul Eggert
7204a2e666 Make 'configure' work out-of-the-box on Solaris.
* configure.ac: Work even if libgif etc. are missing.  Emacs works
without these libraries even if its default GUI is harmed, so they
are not strictly necessary.  Another possibility would be to
disable X11 if these libraries are missing.  The point is that a
plain 'configure' should not fail on platforms like Solaris 11
where one or more image libraries are not installed by default.
2013-12-11 14:31:02 -08:00
Glenn Morris
89793882a7 * info/dir: Add octave-mode. 2013-12-11 09:00:07 -08:00
Glenn Morris
b94b96b2b8 ChangeLog fixes 2013-12-11 08:57:40 -08:00
Rüdiger Sonderfeld
ed4bc201f5 Import `octave-mode' manual from GNU Octave.
The manual was written by Kurt Hornik.  He agreed to assign the
copyright for it to the FSF.  I have updated and modified the manual.

* doc/misc/octave-mode.texi: Imported from GNU Octave
  (doc/interpreter/emacs.txi).
* doc/misc/Makefile.in: Add octave-mode.texi.
* lisp/progmodes/octave.el (octave-mode, inferior-octave-mode): Link
  to info manual and show keybindings and set `:group' keyword.
2013-12-11 14:50:46 +01:00
Paul Eggert
a8f9bc05c3 Remove the option of using libcrypto.
This scorches the earth and waits for spring;
see Ted Zlatanov and Stefan Monnier in
<http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00323.html>.
* configure.ac (with_openssl_default, HAVE_LIB_CRYPTO): Remove.
Do not say whether Emacs is configured to use a crypto library,
since it's no longer an option.
(gl_CRYPTO_CHECK): Define a dummy.
* lib/gl_openssl.h, m4/gl-openssl.m4: Remove.
* admin/merge-gnulib: Remove lib/gl_openssh.h and m4/gl-openssl.m4.
* src/Makefile.in (LIB_CRYPTO): Remove.
(LIBES): Don't use it.
2013-12-10 21:37:30 -08:00
Paul Eggert
7d01e13ced * configure.ac: Disable libcrypto by default.
Merge from gnulib, incorporating:
2013-12-07 md5, sha1, sha256, sha512: fix link error with partial lib
* m4/gl-openssl.m4: Update from gnulib.
2013-12-09 18:44:28 -08:00
Eli Zaretskii
83a5a2c877 Fix librsvg build on MS-Windows.
configure.ac (HAVE_RSVG) [mingw32]: Don't link against librsvg statically.
2013-12-08 21:28:29 +02:00
Paul Eggert
3bc9da3286 * configure.ac: Simplify supression of GTK deprecation warning.
Move -DGDK_DISABLE_DEPRECATION_WARNINGS out of the command line
and into config.h, to shorten the command line when doing 'make'.
Don't AC_SUBST GTK_CFLAGS, as this is not needed.
2013-12-08 00:53:49 -08:00
Paul Eggert
e9551b12f8 Use libcrypto's checksum implementations if available, for speed.
On commonly used platform libcrypto uses architecture-specific
assembly code, which is significantly faster than the C code we
were using.  See Pádraig Brady's note in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-12/msg00000.html>.
Merge from gnulib, incorporating:
2013-12-07 md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
2013-12-07 md5, sha1, sha256, sha512: add 'auto', and set-default method
2013-12-04 include_next: minimize code duplication
2013-12-03 md5, sha1, sha256, sha512: support mandating use of openssl
2013-12-02 md5, sha1, sha256, sha512: use openssl routines if available
* configure.ac (--without-all): Set with_openssl_default too.
Use gl_SET_CRYPTO_CHECK_DEFAULT to default to 'auto'.
(HAVE_LIB_CRYPTO): New var.
Say whether Emacs is configured to use a crypto library.
* lib/gl_openssl.h, m4/absolute-header.m4, m4/gl-openssl.m4:
New files, copied from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/md5.c, lib/md5.h, lib/sha1.c, lib/sha1.h:
* lib/sha256.c, lib/sha256.h, lib/sha512.c, lib/sha512.h:
* m4/include_next.m4, m4/md5.m4, m4/sha1.m4, m4/sha256.m4, m4/sha512.m4:
Update from gnulib.
* src/Makefile.in (LIB_CRYPTO): New macro.
(LIBES): Use it.
2013-12-08 00:05:36 -08:00
Juanma Barranquero
0449d6cdab Fix Changelog typos. 2013-12-01 14:40:19 +01:00
Dmitry Gutov
52789f7fb3 Apply the initial log-edit tweaks discussed at emacs-devel
* .dir-locals.el: (log-edit-move): Add the "Author: " header.

* lisp/vc/log-edit.el (log-edit-mode-map): Add binding for
`log-edit-beginning-of-line'.
(log-edit-setup-add-author): New user option.
(log-edit-beginning-of-line): New command.
(log-edit): Move major mode call above the contents setup so that
the local variable values are already applied.
(log-edit): Only insert "Author: " when
`log-edit-setup-add-author' is non-nil.
(log-edit): When SETUP is non-nil, position point after ": "
instead of point-min.
2013-12-01 06:13:50 +02:00
Dani Moncayo
a1209bc38d msys-to-w32: Do not translate paths starting with %emacs_dir%.
* build-aux/msys-to-w32 (w32pathlist): Do not translate paths
  starting with %emacs_dir%.
2013-11-30 16:42:13 +01:00
Glenn Morris
f9b697ddaa Stop keeping (all but one) generated cedet grammar files in the repository
* configure.ac (SUBDIR_MAKEFILES, AC_CONFIG_FILES):
Add admin/grammars Makefile.

* Makefile.in (distclean, bootstrap-clean, maintainer-clean):
Also clean admin/grammars, if present.

* admin/grammars/README: Remove.

* admin/grammars/Makefile.in: New file.

* admin/grammars/c.by, admin/grammars/java-tags.wy, admin/grammars/js.wy:
* admin/grammars/python.wy: Update declarations to match generated outputs.

* lisp/Makefile.in (semantic): New.
(compile-main): Depend on semantic.

* lisp/cedet/semantic/bovine/grammar.el (bovine--make-parser-1):
New function, split from bovine-make-parsers.
(bovine-make-parsers): Use bovine--make-parser-1.
(bovine-batch-make-parser): New function.

* lisp/cedet/semantic/wisent/grammar.el (wisent--make-parser-1):
New function, split from wisent-make-parsers.
(wisent-make-parsers): Use wisent--make-parser-1.
(wisent-batch-make-parser): New function.

* lisp/cedet/semantic/db.el (semanticdb-save-all-db):
Avoid prompting in batch mode.

* lisp/cedet/semantic/grammar.el (semantic-grammar-footer-template):
Disable version-control and autoloads in the output.
(semantic-grammar-create-package):
Add option to return nil if output is up-to-date.

* lisp/cedet/semantic/bovine/c-by.el, lisp/cedet/semantic/bovine/make-by.el:
* lisp/cedet/semantic/bovine/scm-by.el, lisp/cedet/semantic/wisent/javat-wy.el:
* lisp/cedet/semantic/wisent/js-wy.el, lisp/cedet/semantic/wisent/python-wy.el:
* lisp/cedet/srecode/srt-wy.el: Remove generated files from repository.

* .bzrignore: Update for this.
2013-11-29 18:06:34 -08:00
Dani Moncayo
04445382cf * Makefile.in (epaths-force-w32): Fix 2013-11-20 typo. 2013-11-29 12:03:24 -08:00
Stefan Monnier
7cdf484be3 * configure.ac (HAVE_MENUS): Remove.
* src/xmenu.c (Fmenu_or_popup_active_p):
* src/window.c (Fset_window_configuration):
* src/menu.c (Fx_popup_menu, Fx_popup_dialog):
* src/keyboard.c (record_menu_key, read_char_x_menu_prompt):
* src/fns.c (Fyes_or_no_p):
* src/editfns.c (Fmessage_box, Fmessage_or_box):
* src/alloc.c (make_save_ptr_ptr):
* src/xdisp.c, src/w32menu.c, src/term.c, src/xterm.h, src/xterm.c:
Remove HAVE_MENUS.
2013-11-28 20:22:40 -05:00
Glenn Morris
0845be757d Replace PATH_SEP with pre-existing SEPCHAR.
* configure.ac:
* test/automated/Makefile.in: Use SEPCHAR in place of PATH_SEP.
2013-11-28 15:50:09 -08:00
Eli Zaretskii
16555151e0 Remove left-overs from using nt/mingw-cfg.site as a CONFIG_SITE file.
GNUmakefile (Makefile): Don't use $(CFG).
 (CFG): Don't compute.
2013-11-28 19:45:26 +02:00
Eli Zaretskii
f7ec0d94d0 Fix the test suite on Windows.
configure.ac (PATH_SEP): Set and AC_SUBST.

 test/automated/Makefile.in (PATH_SEP): Set this instead of
 PATH_SEPARATOR.
 (EMACSOPT): Use $(PATH_SEP).
2013-11-28 19:35:13 +02:00
Paul Eggert
de27f8abfd Merge from gnulib, incorporating:
2013-11-13 getgroups: work around _DARWIN_C_SOURCE problem
* lib/getgroups.c: Update from gnulib.
2013-11-27 15:58:03 -08:00
Glenn Morris
52d6635f81 ChangeLog fixes 2013-11-26 22:28:18 -08:00
Glenn Morris
cb6c95a394 Move runtime leim lisp files to lisp/leim directory
This allows us to reuse much of the lisp build and installation machinery,
rather than duplicating it.

* Makefile.in (abs_builddir, leimdir): Remove.
(buildlisppath, SUBDIR, COPYDIR, COPYDESTS): No more leim directory.
(epaths-force-w32): No longer set BLD.
(leim): Remove.
(install-arch-indep): No longer run or install leim.
(mostlyclean, clean): No longer run leim rule.
(bootstrap-clean): Change leim target.
(maintainer-clean): Add leim.
(check-declare): Remove leim.

* README: Update for leim changes.

* configure.ac (leimdir): Remove.
(standardlisppath): No more leimdir.

* make-dist: Update for files from leim/ now being in lisp/leim/.

* doc/lispref/loading.texi (Library Search):
* doc/lispref/os.texi (Startup Summary): No more leim directory.

* leim/Makefile.in (leimdir): New variable.
(TIT_GB, TIT_BIG5, MISC, changed.tit, changed.misc)
(${leimdir}/leim-list.el, ${leimdir}/ja-dic/ja-dic.el):
Generate in $leimdir.
(all): Remove compilation, add ja-dic.
(leim-list.el): Now PHONY.
(setwins, compile-targets, compile-main, clean, mostlyclean)
(extraclean): Remove.
(bootstrap-clean): Delete all generated files.

* leim/README: Update for moved leim/ directory.

* leim/leim-ext.el (ucs-input-activate, hangul-input-method-activate):
Remove manual autoloads; now in loaddefs.el.
Disable byte-compile, version-control, autoloads in the output.

* lisp/Makefile.in (setwins_for_subdirs): Skip leim/ directory.
(compile-main): Depend on lisp/leim rule.
(leim): New rule.

* lisp/loadup.el: Move leim-list.el to leim/ subdirectory.

* lisp/startup.el (normal-top-level): No more leim directory.

* lisp/international/ja-dic-cnv.el (skkdic-convert):
Disable version-control and autoloads in output files.
* lisp/international/titdic-cnv.el (titdic-convert, miscdic-convert):
Disable version-control and autoloads in output files.

* lisp/leim/quail: Move here from ../leim.

* lisp/leim/quail/hangul.el (hangul-input-method-activate):
Add autoload cookie.
(generated-autoload-load-name): Set file-local value.

* lisp/leim/quail/uni-input.el (ucs-input-activate): Add autoload cookie.
(generated-autoload-load-name): Set file-local value.

* nt/README.W32:
* nt/addpm.c (env_vars):
* nt/epaths.nt (PATH_LOADSEARCH, PATH_DUMPLOADSEARCH):
* nt/paths.h (PATH_LOADSEARCH): No more leim directory.

* src/Makefile.in (leimdir): Now in lisp source directory.
($(leimdir)/leim-list.el): Just use ../leim .

* src/epaths.in (PATH_DUMPLOADSEARCH):

* src/lread.c (load_path_default):

* src/nsterm.m (ns_load_path): No more leim directory.

* .bzrignore: Update for relocated leim files.
2013-11-26 22:15:06 -08:00
Glenn Morris
624780f09d Preload leim-list.el
* Makefile.in (abs_builddir): New, set by configure.
(buildlisppath): Add leim/.
(epaths-force-w32): Set BLD.

* lisp/loadup.el: Load leim-list.el when found.

* lisp/startup.el (normal-top-level): Skip re-loading leim/leim-list.el.

* nt/epaths.nt (PATH_DUMPLOADSEARCH): Add leim/.

* src/callproc.c (init_callproc): Don't assume PATH_DUMPLOADSEARCH
is a single directory.

* src/epaths.in (PATH_DUMPLOADSEARCH): Add leim/.

Fixes: debbugs:4789
2013-11-25 20:06:23 -05:00
Paul Eggert
4e8b693819 Use just LIBXMENU, not LIBXMENU_DIR and LIBXMENU_BASE.
This simplifies the previous change to configure.ac and src/Makefile.in.
2013-11-21 09:26:55 -08:00
Paul Eggert
7e8ed4f7f9 Fix some dependency problems that cause unnecessary recompiles.
Problem reported by RMS in
<http://lists.gnu.org/archive/html/emacs-devel/2013-11/msg00421.html>.
* configure.ac (OLDXMENU_TARGET, OLDXMENU, LIBXMENU, OLDXMENU_DEPS):
Remove.
(LIBXMENU_DIR, LIBXMENU_BASE): New vars.
* src/Makefile.in (OLDXMENU_TARGET, OLDXMENU, OLDXMENU_DEPS)
(really-lwlib, really-oldXMenu, stamp-oldxmenu)
(../src/$(OLDXMENU), $(OLDXMENU)): Remove.
(LIBXMENU_DIR, LIBXMENU_BASE): New macros.
(LIBXMENU): Use them.
(temacs$(EXEEXT)): Depend on $(LIBXMENU), not stamp-oldxmenu.
($(lwlibdir)/liblw.a, $(oldXMenudir)/libXMenu11.a, FORCE): New targets.
(boostrap-clean): No need to remove stamp-oldxmenu.
2013-11-20 23:50:57 -08:00
Glenn Morris
eca4ecbaae * make-dist: Distribute build-aux/msys-to-w32. 2013-11-19 20:50:37 -05:00
Dani Moncayo
e976486e7f * Makefile.in (msys_to_w32, msys_lisppath_to_w32): Remove.
(msys_w32prefix_subst): Rename from msys_prefix_subst.
Operate on w32prefixpattern.
(epaths-force-w32): Use build-aux/msys-to-w32.

* build-aux/msys-to-w32: New file.
2013-11-19 20:48:50 -05:00
Paul Eggert
0f679e866c * configure.ac (DEBUGGER_SEES_C_MACROS): Remove.
* src/lisp.h (DEBUGGER_SEES_C_MACROS): Likewise.
It apparently doesn't work for GCC 3, and I suppose it's more
trouble than it's worth to worry about this.
2013-11-16 19:58:30 -08:00
Paul Eggert
1a191e5c73 * configure.ac (DEBUGGER_SEES_C_MACROS): New macro.
* src/lisp.h (DEFINE_GDB_SYMBOL_BEGIN, DEFINE_GDB_SYMBOL_END):
Define to empty if DEBUGGER_SEES_C_MACROS is defined.
This avoids placing unnecessary constants into the Emacs code.
2013-11-14 17:59:57 -08:00
Paul Eggert
2cf00efc1b Simplify, port and tune bool vector implementation.
* configure.ac (BITSIZEOF_SIZE_T, SIZEOF_SIZE_T): Remove.
* src/alloc.c (bool_vector_exact_payload_bytes)
(bool_vector_payload_bytes): Remove.
(bool_vector_fill): Return its argument.
* src/alloc.c (bool_vector_fill):
* src/lread.c (read1):
* src/print.c (print_object):
Simplify by using bool_vector_bytes.
* src/alloc.c (make_uninit_bool_vector):
New function, broken out from Fmake_bool_vector.
(Fmake_bool_vector): Use it.  Use tail call.
(make_uninit_bool_vector, vector_nbytes): Simplify size calculations.
* src/data.c (BITS_PER_ULL): New constant.
(ULLONG_MAX, count_one_bits_ll): Fall back on long counterparts
if long long versions don't exist.
(shift_right_ull): New function.
(count_one_bits_word): New function, replacing popcount_bits_word
macro.  Don't assume that bits_word is no wider than long long.
(count_one_bits_word, count_trailing_zero_bits):
Don't assume that bits_word is no wider than long long.
* src/data.c (bool_vector_binop_driver, bool_vector_not):
* src/fns.c (Fcopy_sequence):
* src/lread.c (read1):
Create an uninitialized destination, to avoid needless work.
(internal_equal): Simplify.
(Ffillarray): Prefer tail call.
* src/data.c (bool_vector_binop_driver): Don't assume bit vectors always
contain at least one word.
(bits_word_to_host_endian): Prefer if to #if.  Don't assume
chars are narrower than ints.
* src/data.c (Fbool_vector_count_matches, Fbool_vector_count_matches_at):
* src/fns.c (Fcopy_sequence):
Simplify and tune.
* src/lisp.h (bits_word, BITS_WORD_MAX, BITS_PER_BITS_WORD):
Don't try to port to hosts where bits_word values have holes; the
code wouldn't work there anyway.  Verify this assumption, though.
(bool_vector_bytes): New function.
(make_uninit_bool_vector): New decl.
(bool_vector_fill): Now returns Lisp_Object.
2013-11-13 18:39:28 -08:00
Paul Eggert
946ec22440 * Makefile.in (ACLOCAL_INPUTS): Add configure.ac. 2013-11-13 00:04:57 -08:00
Dani Moncayo
f4f38fad9a Remove nt/msysconfig.sh
* configure.ac [MINGW32]: Source nt/mingw-cfg.site.

* make-dist: Don't distribute nt/msysconfig.sh.

* nt/msysconfig.sh: Remove.

* nt/INSTALL: Update for this.

* nt/mingw-cfg.site: Comment.
2013-11-11 18:50:28 -08:00
Dani Moncayo
632e833fee * Makefile.in (epaths-force-w32): Simplify w32srcdir computation. 2013-11-11 18:40:14 -08:00
Paul Eggert
220a304ac3 Merge from gnulib.
This incorporates:
2013-11-08 extern-inline: port better to OS X 10.9
2013-11-08 fpending: fix regression on DragonFly BSD
* lib/fpending.h, m4/extern-inline.m4, m4/fpending.m4:
Update from gnulib.
2013-11-08 08:24:40 -08:00
Paul Eggert
aea07e2c6e Port to C11 aligned_alloc, and fix some integer overflows.
* configure.ac (GMALLOC_OBJ): Initialize to empty if !system_malloc
and doug_lea_malloc.
(aligned_alloc): Test for existence if !GMALLOC_OBJ and not darwin.
(posix_memalign): Test for existence only if !GMALLOC_OBJ and
not darwin and !aligned_alloc.
* src/alloc.c (USE_ALIGNED_ALLOC): New symbol.
(USE_POSIX_MEMALIGN): Remove.  All uses replaced with USE_ALIGNED_ALLOC,
and use of posix_memalign replaced with aligned_alloc.
(aligned_alloc): New function, defined or declared as needed.
* src/conf_post.h (HAVE_POSIX_MEMALIGN) [DARWIN_OS]:
Don't undef; configure.ac now does this.
* src/gmalloc.c (aligned_alloc) [MSDOS]: New decl.
(calloc, aligned_alloc): Check for integer overflow.
(aligned_alloc): Rename from memalign.  All uses changed.
(memalign): New function, an alias for aligned_alloc.
2013-11-06 21:31:04 -08:00
Glenn Morris
c923b188f4 * Makefile.in (epaths-force-w32): Move srcdir tweak here
* configure.ac (abs_srcdir) [MINGW32]: No point setting it here,
config.status computes it.
2013-11-05 16:51:09 -05:00
Eli Zaretskii
80ff092b47 Correct the top-level ChangeLog. 2013-11-05 18:15:24 +02:00
Glenn Morris
da6a8debb2 * make-dist: Don't distribute old, unsupported w32 build method. 2013-11-05 00:13:09 -08:00
Glenn Morris
4dde498bce Remove the autogen/ directory
Ref: http://lists.gnu.org/archive/html/emacs-devel/2013-10/msg00806.html

* autogen: Remove directory.  Move update_autogen to admin/.
* autogen.sh: Remove reference to copy_autogen.
* GNUmakefile (configure):
* Makefile.in (bootstrap): Do not try to run copy_autogen.
* config.bat: Use msdos/autogen rather than autogen.

* admin/update_autogen: Move here from ../autogen.
(usage): Update.  Remove -l, add -A.
(autogendir): New variable.
(ldefs_flag): Default to set.
(genfiles): Reduce to only ms-dos relevant files.
(main): Make checking autogen sources optional.
Make copying of autogen files optional.

* msdos/autogen/config.in:
* msdos/autogen/Makefile.in: Move here from ../autogen.

* nt/INSTALL: Remove reference to copy_autogen.

* nt/config.nt: Comment.
2013-11-04 23:54:03 -08:00
Paul Eggert
df5b49306e Simplify and port recent bool vector changes.
* configure.ac (BITSIZEOF_SIZE_T, SIZEOF_SIZE_T):
New symbols to configure.
* src/alloc.c (ROUNDUP): Move here from lisp.h, since it's now used
only in this file.  Use a more-efficient implementation if the
second argument is a power of 2.
(ALIGN): Rewrite in terms of ROUNDUP.  Make it a function.
Remove no-longer-necessary compile-time checks.
(bool_vector_exact_payload_bytes): New function.
(bool_vector_payload_bytes): Remove 2nd arg; callers that need
exact payload changed to call the new function.  Do not assume
that the arg or result fits in ptrdiff_t.
(bool_vector_fill): New function.
(Fmake_bool_vector): Use it.  Don't assume bit counts fit
in ptrdiff_t.
(vroundup_ct): Don't assume arg fits in size_t.
* src/category.c (SET_CATEGORY_SET): Remove.  All callers now just
invoke set_category_set.
(set_category_set): 2nd arg is now EMACS_INT and 3rd is now bool.
All callers changed.  Use bool_vector_set.
* src/category.h (XCATEGORY_SET): Remove; no longer needed.
(CATEGORY_MEMBER): Now a function.  Rewrite in terms of
bool_vector_bitref.
* src/data.c (Faref): Use bool_vector_ref.
(Faset): Use bool_vector_set.
(bits_word_to_host_endian): Don't assume you can shift by CHAR_BIT.
(Fbool_vector_not, Fbool_vector_count_matches)
(Fbool_vector_count_matches_at): Don't assume CHAR_BIT == 8.
* src/fns.c (concat): Use bool_vector_ref.
(Ffillarray): Use bool_vector_fill.
(mapcar1): Use bool_vector_ref.
(sxhash_bool_vector): Hash words, not bytes.
* src/lisp.h (BOOL_VECTOR_BITS_PER_CHAR): Now a macro as well as
a constant, since it's now used in #if.
(bits_word, BITS_WORD_MAX, BITS_PER_BITS_WORD): Fall back on
unsigned char on unusual architectures, so that we no longer
assume that the number of bits per bits_word is a power of two or
is a multiple of 8 or of CHAR_BIT.
(Qt): Add forward decl.
(struct Lisp_Bool_Vector): Don't assume EMACS_INT is aligned
at least as strictly as bits_word.
(bool_vector_data, bool_vector_uchar_data): New accessors.
All data structure accesses changed to use them.
(bool_vector_words, bool_vector_bitref, bool_vector_ref)
(bool_vector_set): New functions.
(bool_vector_fill): New decl.
(ROUNDUP): Move to alloc.c as described above.
2013-11-04 23:11:24 -08:00
Eli Zaretskii
d0065ff124 Fix bug #15260 with building and installing Emacs in non-ASCII directories.
src/xdisp.c (message3_nolog, message_with_string): Encode the string
 before writing it to the terminal in a non-interactive session.
 src/lread.c (openp): If both FILENAME and SUFFIX are unibyte, make
 sure we concatenate them into a unibyte string.
 src/fileio.c (make_temp_name): Encode PREFIX, and decode the
 resulting temporary name before returning it to the caller.
 (Fexpand_file_name): If NAME is pure-ASCII and DEFAULT_DIRECTORY
 is a unibyte string, convert NAME to a unibyte string to ensure
 that the result is also a unibyte string.
 src/emacs.c (init_cmdargs): Use build_unibyte_string to make sure we
 create unibyte strings from default paths and directory/file
 names.
 src/coding.h (ENCODE_FILE): Do not attempt to encode a unibyte
 string.
 src/callproc.c (init_callproc): Use build_unibyte_string to make
 sure we create unibyte strings from default paths and
 directory/file names.
 src/buffer.c (init_buffer): Don't store default-directory of
 *scratch* in multibyte form.  The original problem which led to
 that is described in
 http://lists.gnu.org/archive/html/emacs-pretest-bug/2004-11/msg00532.html,
 but it was solved long ago.

 lisp/startup.el (normal-top-level): Move setting eol-mnemonic-unix,
 eol-mnemonic-mac, eol-mnemonic-dos, and also setup of the locale
 environment and decoding all of the default-directory's to here
 from command-line.
 (command-line): Decode also argv[0].
 lisp/loadup.el: Error out if default-directory is a multibyte string
 when we are dumping.
 lisp/Makefile.in (emacs): Don't set LC_ALL=C.

 leim/Makefile.in (RUN_EMACS): Don't set LC_ALL=C.

 configure.ac: Don't disallow builds in non-ASCII directories.
2013-11-04 19:30:33 +02:00
Paul Eggert
91f2d27289 Port to stricter C99 platforms.
Especially, C99 prohibits nesting a struct X inside struct Y if
struct X has a flexible array member.
Also, merge from gnulib, incorporating:
2013-11-03 intprops: port to Oracle Studio c99
* lib/intprops.h: Update from gnulib.
* src/alloc.c (struct sdata): New type.
(sdata): Implement in terms of struct sdata.
Remove u member; all uses replaced by next_vector, set_next_vector.
(SDATA_SELECTOR, SDATA_DATA, SDATA_DATA_OFFSET): Adjust to sdata change.
(SDATA_DATA_OFFSET): Now a constant, not a macro.
(struct sblock): Rename first_data member to data, which is now
a flexible array member.  All uses changed.
(next_vector, set_next_vector, large_vector_vec): New functions.
(vector_alignment): New constant.
(roundup_size): Make it a multiple of ALIGNOF_STRUCT_LISP_VECTOR, too.
(struct large-vector): Now merely a NEXT member, since the old approach
ran afoul of stricter C99.  All uses changed to use
large_vector_vec or large_vector_offset.
(large_vector_offset): New constant.
* src/dispnew.c: Include tparam.h, for tgetent.
Do not include term.h; no longer needed.
* src/gnutls.c (Fgnutls_boot): Don't continue after calling a _Noreturn.
* src/lisp.h (ENUM_BF) [__SUNPRO_C && __STDC__]: Use unsigned int.
(struct Lisp_Vector): Use a flexible array member for contents,
instead of a union with a member that is an array of size 1.
All uses changed.
(ALIGNOF_STRUCT_LISP_VECTOR): New constant, to make up for the
fact that the struct no longer contains a union.
(struct Lisp_Misc_Any, struct Lisp_Marker, struct Lisp_Overlay)
(struct Lisp_Save_Value, struct Lisp_Free):
Use unsigned, not int, for spacers, to avoid c99 warning.
(union specbinding): Use unsigned, not bool, for bitfield, as
bool is not portable to pre-C99 hosts.
2013-11-03 22:09:03 -08:00
Glenn Morris
67fb4e6a86 test/automated: Use relative filename for emacs executable
* Makefile.in (check): Depend on all.

* test/automated/Makefile.in (abs_top_builddir): Remove variable.
(EMACS): Use a relative file name.
(lisp-compile): Remove (assume it's up-to-date).
(compile-main): Do not run lisp-compile.
(check): Use --chdir.
2013-11-02 13:54:08 -07:00
Glenn Morris
cb16270e14 * configure.ac: Use [!...] rather than [^...], for ksh. (Bug#15769) 2013-10-31 17:39:10 -04:00
Glenn Morris
55498a0fe4 * Makefile.in (distclean, bootstrap-clean, maintainer-clean):
Also clean admin/unidata, if present.

* admin/unidata/Makefile.in (bootstrap-clean): New rule.
2013-10-29 23:40:15 -07:00
Glenn Morris
a94fc965f4 * configure.ac: It seems installing in non-ASCII is not, in fact, ok. 2013-10-27 11:57:20 -07:00
Glenn Morris
da504eec70 * configure.ac: It seems _installing_ in non-ASCII is ok, not building. 2013-10-24 19:22:13 -07:00
Glenn Morris
357a508109 Avoid non-portable " ... \"...\" ... " nesting
* configure.ac:
* Makefile.in (install-arch-indep, install-etcdoc, install-info):
* lib-src/Makefile.in ($(DESTDIR)${archlibdir}):
* nt/Makefile.in ($(DESTDIR)${archlibdir}):
Avoid non-portable "`\" nesting.
2013-10-24 19:04:33 -04:00
Glenn Morris
eb9a36619e Attempt at a fix for mingw CPPFLAGS
* configure.ac (CPPFLAGS) [mingw32]: Use abs_top_srcdir.

* Makefile.in (abs_top_srcdir):
* lib-src/Makefile.in (abs_top_srcdir):
* lwlib/Makefile.in (abs_top_srcdir):
* nt/Makefile.in (abs_top_srcdir):
* oldXMenu/Makefile.in (abs_top_srcdir):
* src/Makefile.in (abs_top_srcdir):
New, set by configure.
2013-10-23 19:15:16 -07:00
Glenn Morris
9843415589 * configure.ac (src/.gdbinit): Use ac_abs_top_srcdir. 2013-10-23 19:27:19 -04:00
Glenn Morris
4b56b9d703 * Makefile.in (epaths-force-w32): Use abs_srcdir 2013-10-23 18:33:08 -04:00
Glenn Morris
7b65c8d0b9 * configure.ac: Explicit error for non-ASCII directories
Fixes: debbugs:15260
2013-10-23 16:46:46 -04:00
Glenn Morris
a318e28f0d More Makefile quoting
* Makefile.in (install-arch-dep, install-nt, uninstall, uninstall-nt):
Quote entities that might contain whitespace.
2013-10-23 00:28:30 -07:00
Glenn Morris
48f73cfbf3 Progress towards allowing installation in directories with whitespace
* Makefile.in (COPYDESTS, write_subdir, install-arch-dep)
(install-arch-indep, install-etcdoc, install-info, install-man)
(install-etc, uninstall): Quote entities that might contain whitespace.

* build-aux/update-subdirs: Handle whitespace in argument.
Check cd return value.

* doc/emacs/Makefile.in (install-dvi, install-html, install-pdf)
(install-ps, uninstall-dvi, uninstall-html, uninstall-ps)
(uninstall-pdf): Quote entities that might contain whitespace.

* doc/lispintro/Makefile.in (install-dvi, install-html, install-pdf)
(install-ps, uninstall-dvi, uninstall-html, uninstall-ps)
(uninstall-pdf): Quote entities that might contain whitespace.

* doc/lispref/Makefile.in (install-dvi, install-html, install-pdf)
(install-ps, uninstall-dvi, uninstall-html, uninstall-ps)
(uninstall-pdf): Quote entities that might contain whitespace.

* doc/misc/Makefile.in (install-dvi, install-html, install-pdf)
(install-ps, uninstall-dvi, uninstall-html, uninstall-ps)
(uninstall-pdf): Quote entities that might contain whitespace.

* lib-src/Makefile.in ($(DESTDIR)${archlibdir}, need-blessmail, install)
(uninstall): Quote entities that might contain whitespace.

* nt/Makefile.in ($(DESTDIR)${archlibdir}, install, uninstall):
Quote entities that might contain whitespace.
2013-10-23 00:20:57 -07:00
Glenn Morris
b8e3b0a9ec Make building in directories with whitespace possible
Make has trouble with targets containing whitespace, 
http://savannah.gnu.org/bugs/?712, so the general approach is
to use relative paths where possible.  It's generally only Emacs
itself that needs absolute paths, eg in src/epaths.h.

* configure.ac (srcdir): Don't make it absolute - abs_srcdir exists.

* Makefile.in (abs_srcdir): New, set by configure.
(buildlisppath): Use abs_srcdir.
(install-arch-indep, install-etcdoc, install-info, install-man)
(install-etc): Quote entities that might contain whitespace.

* admin/unidata/Makefile.in (emacs, ${DSTDIR}/charprop.el):
Quote entities that might contain whitespace.

* leim/Makefile.in (abs_srcdir): New, set by configure.
(buildlisppath): Use abs_srcdir.
(RUN_EMACS, .el.elc, changed.tit, changed.misc, leim-list.el)
($(srcdir)/ja-dic/ja-dic.el, setwins, distclean, check-declare):
Quote entities that might contain whitespace.

* lib-src/Makefile.in ($(DESTDIR)${archlibdir}):
Quote entities that might contain whitespace.

* lisp/Makefile.in (abs_srcdir, abs_lisp): New, set by configure.
(emacs, compile, compile-always):
Quote entities that might contain whitespace.
(custom-deps, finder-data, autoloads): Use abs_lisp.
($(MH_E_DIR)/mh-loaddefs.el, $(TRAMP_DIR)/tramp-loaddefs.el)
($(CAL_DIR)/cal-loaddefs.el, $(CAL_DIR)/diary-loaddefs.el)
($(CAL_DIR)/hol-loaddefs.el): Manually expand target file name.

* nextstep/Makefile.in (${ns_check_file} ${ns_appdir}):
Quote entities that might contain whitespace.

* nt/Makefile.in ($(DESTDIR)${archlibdir}):
Quote entities that might contain whitespace.

* src/Makefile.in (RUN_TEMACS): Make relative (again).
($(leimdir)/leim-list.el, .el.elc, $(lispsource)/loaddefs.el)
(bootstrap-emacs$(EXEEXT)):
Quote entities that might contain whitespace.

* test/automated/Makefile.in (abs_top_srcdir, top_builddir):
New, set by configure.
(top_srcdir): Remove.
(abs_test, abs_lispsrc): New.
(lisp): No longer absolute.
(emacs, lisp-compile, compile, compile-always):
Quote entities that might contain whitespace.

Fixes: debbugs:15675
2013-10-22 23:22:54 -07:00
Paul Eggert
758bed52af Merge from gnulib.
This incorporates:
2013-10-14 acl: allow cross-compilation to Gentoo
2013-10-18 extern-inline: make safe for -Wundef usage
2013-09-30 fpending: use pure+const function attrs
* lib/fpending.h, m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
2013-10-22 21:01:46 -07:00
Glenn Morris
9148ee920e * configure.ac [alpha]: Explicit error in non-ELF case.
* doc/emacs/ack.texi (Acknowledgments): Comment out old alpha stuff.

* lisp/emacs-lisp/authors.el (authors-fixed-entries):
Comment out old alpha stuff.

Fixes: debbugs:15601
2013-10-13 16:01:20 -07:00
Paul Eggert
46e5e833d9 Merge from gnulib.
This incorporates:
2013-10-10 strtoumax: port to Solaris 8
2013-10-09 strtoimax, strtoumax: port to HP-UX 11.11
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/inttypes.in.h, lib/strtoimax.c, m4/inttypes.m4, m4/strtoimax.m4:
* m4/strtoumax.m4:
Update from gnulib.
2013-10-12 13:00:38 -07:00
Stefan Monnier
c5fc017811 * configure.ac (LIBGNUTLS): Don't set LIBGNUTLS_* back to the empty
string when gnutls2 is installed but gnutls3 is not.
2013-10-11 14:29:18 -04:00
Ted Zlatanov
e1f9f9e3d8 Support GnuTLS v3 and set up its audit logging properly.
* configure.ac: Define HAVE_GNUTLS3 if GnuTLS v3 is found.

* src/gnutls.c (gnutls_audit_log_function): Add function for GnuTLS
audit logging (only used with GnuTLS 3.x) and enable it.
2013-10-11 09:47:35 -04:00
Barry Fishman
f3606ef766 Handle giflib 5 changes (tiny change)
* configure.ac: Update for giflib 5. 

* src/image.c (GIFLIB_MAJOR): Ensure it's defined.
(DGifOpen, DGifOpenFileName): Handle giflib 5 syntax.  (Bug#15531)
2013-10-09 20:37:44 -04:00
Eli Zaretskii
4ed774157d Support menus on text-mode terminals.
src/xterm.h (xw_popup_dialog): Add prototype.
 src/xmenu.c (Fx_popup_dialog): Function moved to menu.c.
 (xmenu_show): Block input here, instead in Fx_popup_menu.
 (xw_popup_dialog): New function, with X-specific bits of popup
 dialogs.
 src/xdisp.c (deep_copy_glyph_row, display_tty_menu_item): New
 functions.
 src/window.c (Fset_window_configuration): Use run-time tests of the
 frame type instead of compile-time conditionals, when menu-bar
 lines are considered.
 src/w32term.h (w32con_hide_cursor, w32con_show_cursor)
 (w32_popup_dialog): New prototypes.
 src/w32menu.c (Fx_popup_dialog): Function deleted.
 (w32_popup_dialog): New function, with w32 specific bits of popup
 dialogs.  Block input here.
 src/w32inevt.c (w32_console_read_socket): Minor change to add
 debugging TTY events.
 src/w32fns.c (show_hourglass): If returning early because the frame
 is not a GUI frame, unblock input.
 src/w32console.c (w32con_hide_cursor, w32con_show_cursor, cursorX)
 (cursorY): New functions.
 src/termhooks.h (cursorX, cursorY): Prototypes of functions on
 WINDOWSNT, macros that call curX and curY elsewhere.
 src/termchar.h (struct tty_display_info) <showing_menu>: New flag.
 src/term.c (tty_hide_cursor, tty_show_cursor) [WINDOWSNT]: Call w32
 specific function to hide and show cursor on a text-mode terminal.
 (tty_menu_struct, struct tty_menu_state): New structures.
 (tty_menu_create, tty_menu_make_room, tty_menu_search_pane)
 (tty_menu_calc_size, mouse_get_xy, tty_menu_display)
 (have_menus_p, tty_menu_add_pane, tty_menu_add_selection)
 (tty_menu_locate, save_and_enable_current_matrix)
 (restore_desired_matrix, screen_update, read_menu_input)
 (tty_menu_activate, tty_menu_destroy, tty_menu_help_callback)
 (tty_pop_down_menu, tty_menu_last_menubar_item)
 (tty_menu_new_item_coords, tty_menu_show): New functions.
 (syms_of_term): New DEFSYMs for tty-menu-* symbols.
 src/nsterm.h (ns_popup_dialog): Adjust prototype.
 src/nsmenu.m (ns_menu_show): Block and unblock input here, instead
 of in x-popup-menu.
 (ns_popup_dialog): Adapt order of arguments to the other
 *_menu_show implementations.
 (Fx_popup_dialog): Function deleted.
 src/msdos.c (x_set_menu_bar_lines): Delete unused function.
 src/menu.h (tty_menu_show, menu_item_width): provide prototypes.
 src/menu.c (have_boxes): New function.
 (single_keymap_panes): Use it instead of a compile-time
 conditional.
 (single_menu_item): Use run-time tests of the frame type instead
 of compile-time conditionals.
 (encode_menu_string): New function.
 (list_of_items, list_of_panes): Use it instead of ENCODE_STRING
 the macro, since different types of frame need different encoding
 of menu items.
 (digest_single_submenu): Use run-time tests of frame type instead
 of, or in addition to, compile-time conditionals.
 (menu_item_width, Fmenu_bar_menu_at_x_y): New functions.
 (Fx_popup_menu): Detect when the function is called from keyboard
 on a TTY.  Don't barf when invoked on a text-mode frame.  Check
 frame type at run time, instead of compile-time conditionals for
 invoking terminal-specific menu-show functions.  Call
 tty_menu_show on text-mode frames.
 (Fx_popup_dialog): Moved here from xmenu.c.  Test frame types at
 run time to determine which alternative to invoke; support dialogs
 on TTYs.
 src/keyboard.h <Qmouse_movement>: Declare.
 src/keyboard.c <Qmouse_movement>: Now extern.
 <Qecho_keystrokes>: New static variable.
 (read_key_sequence): Accept an additional argument, a flag to
 prevent redisplay during reading of the key sequence.  All callers
 changed.
 (read_menu_command): New function.
 (read_char): When COMMANDFLAG is -2, do not redisplay and do not
 autosave.
 (toolkit_menubar_in_use): New function.
 (make_lispy_event): Use it instead of a compile-time test.
 src/fns.c (Fyes_or_no_p) [HAVE_MENUS]: Don't condition on
 window-system being available.
 src/editfns.c (Fmessage_box) [HAVE_MENUS]: Don't condition the call
 to x-popup-dialog on the frame type, they all now support popup
 dialogs.
 src/dispnew.c (save_current_matrix): Save the margin areas.
 (restore_current_matrix): Restore margin areas.
 (update_frame_with_menu): New function.
 src/dispextern.h (display_tty_menu_item, update_frame_with_menu):
 Add prototypes.
 src/alloc.c (make_save_ptr): Now compiled unconditionally.
 
 lisp/tmm.el (tmm-menubar): Adapt doc string to TTY menus
 functionality.
 lisp/tooltip.el (tooltip-mode): Don't error out on TTYs.
 lisp/menu-bar.el (popup-menu, popup-menu-normalize-position): Moved
 here from mouse.el.
 (popup-menu): Support menu-bar navigation on TTYs using C-f/C-b
 and arrow keys.
 (tty-menu-navigation-map): New map for TTY menu navigation.
 lisp/loadup.el ("tooltip"): Load even if x-show-tip is not available.
 lisp/frame.el (display-mouse-p): Report text-mode mouse as available
 on w32.
 (display-popup-menus-p): Report availability if mouse is
 available; don't condition on window-system.
 lisp/faces.el (tty-menu-enabled-face, tty-menu-disabled-face)
 (tty-menu-selected-face): New faces.

 configure.ac (HAVE_MENUS): Define unconditionally.

 doc/emacs/screen.texi (Menu Bar): Adapt to TTY menus.
 doc/emacs/frames.texi (Frames): Mention menu support on text terminals.
 doc/emacs/files.texi (Visiting): Mention the "File" menu-bar menu.
 doc/emacs/display.texi (Standard Faces): Mention TTY faces for menus.
 
 doc/lispref/keymaps.texi (Defining Menus, Mouse Menus, Menu Bar): Modify
 wording to the effect that menus are supported on TTYs.
 doc/lisprefframes.texi (Pop-Up Menus, Dialog Boxes)
 (Display Feature Testing): Update for menu support on TTYs.

  etc/NEWS: Mention the new features.
2013-10-08 20:49:20 +03:00
Paul Eggert
3e45e7023e ChangeLog consistency. 2013-10-07 22:12:29 -07:00
Paul Eggert
595e113b15 Improve support for popcount and counting trailing zeros.
Do this by using the Gnulib modules for this.
This should generate faster code on non-GCC, non-MSC platforms,
and make the code a bit more portable, at least in theory.
* admin/merge-gnulib (GNULIB_MODULES): Add count-one-bits
and count-trailing-zeros.
* lib/count-one-bits.c, lib/count-one-bits.h:
* lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
* m4/count-one-bits.m4, m4/count-trailing-zeros.m4:
New files, copied from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* nt/gnulib.mk: Merge changes from lib/gnulib.mk.
* src/data.c: Include <count-one-bits.h>, <count-trailing-zeros.h>.
(USE_MSC_POPCOUNT, POPCOUNT_STATIC_INLINE)
(NEED_GENERIC_POPCOUNT, popcount_size_t_generic)
(popcount_size_t_msc, popcount_size_t_gcc):
Remove; now done by Gnulib.
(popcount_size_t): Now a macro that defers to Gnulib.
(count_trailing_zero_bits): Return int, for consistency with
Gnulib and because Emacs prefers signed to unsigned int.
Don't assume that size_t is either unsigned int or unsigned long
or unsigned long long.
(size_t_to_host_endian): Do not assume that size_t is either
exactly 32 or exactly 64 bits wide.
* src/lisp.h (BITS_PER_SIZE_T): Define consistently with BITS_PER_LONG
etc., so that it's now an enum constant, not a macro.
No need to assume that it's either 32 or 64.

Fixes: debbugs:15550
2013-10-07 14:37:19 -07:00
Paul Eggert
4eed315732 Use hardware support for byteswapping on glibc x86 etc.
On Fedora 19 x86-64, the new bswap_64 needs 1 instruction,
whereas the old swap64 needed 30.
* admin/merge-gnulib (GNULIB_MODULES): Add byteswap.
* lib/byteswap.in.h, m4/byteswap.m4: New files, copied from Gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* src/fringe.c (init_fringe_bitmap) [WORDS_BIGENDIAN]:
* src/sound.c (le2hl, le2hs, be2hl) [!WINDOWSNT]:
Use byteswap.h's macros to swap bytes.
* src/lisp.h (swap16, swap32, swap64): Remove.
All uses replaced by bswap_16, bswap_32, bswap_64.
2013-10-04 00:36:22 -07:00
Paul Eggert
0a858ebfc5 Merge from gnulib.
* src/conf_post.h (__has_builtin, assume): Remove; gnulib now does these.
* src/lisp.h: Include <verify.h>, for 'assume'.

This also incorpoprates:
2013-10-02 verify: new macro 'assume'
2013-09-26 dup2, dup3: work around another cygwin crasher
2013-09-26 getdtablesize: work around cygwin issue
2013-10-03 00:06:52 -07:00
Paul Eggert
959c3d24a7 Merge from gnulib.
This incorporates:
2013-09-24 manywarnings: enable nicer gcc warning messages
2013-09-23 warnings: port --enable-gcc-warnings to Solaris Studio 12.3
2013-09-21 timespec: use the new TIMESPEC_RESOLUTION elsewhere
* configure.ac (WERROR_CFLAGS): Omit -fdiagnostics-show-option
and -funit-at-a-time, since manywarnings does that for us now.
2013-09-24 20:44:34 -07:00
Jan Djärv
8762e52438 Suppress some unhelpful warnings when using clang.
* configure.ac: With clang, check for and use -Wno-switch,
-Wno-tautological-constant-out-of-range-compare and -Wno-pointer-sign.

* conf_post.h(assume): Use __builtin_unreachable for clang.

* src/filelock.c (lock_file_1): Rearrange to remove compiler warning
about excess arguments to snprintf.
2013-09-23 09:12:01 +02:00
Daniel Colascione
a84683fdd5 Tell valgrind about conservative GC regions and suppress spurious
warings.

* alloc.c (USE_VALGRIND): New macro; on by default
when ENABLE_CHECKING.
(mark_maybe_object,mark_maybe_pointer)
[USE_VALGRIND]: Mark conservatively-scanned regions valid for
valgrind purposes.
(valgrind_p) [USE_VALGRIND]: New variable.
(init_alloc) [USE_VALGRIND]: Initialize valgrind_p.
2013-09-22 18:34:52 -08:00
Xue Fuqiao
3054cd0150 * INSTALL: New homepage of libtiff. 2013-09-20 17:19:56 +08:00
Paul Eggert
f5f0132bc9 Work around performance bug on OS X 10.8 and earlier.
Perhaps Apple will fix this bug some day.
See the thread starting with Daniel Colascione's email in:
http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00343.html
* configure.ac (FORTIFY_SOUR): New verbatim section.
2013-09-19 20:41:37 -07:00
Paul Eggert
230fe2a5a1 Merge from gnulib.
This incorporates the following changes:
2013-09-19 stdio: OS X port of putc_unlocked + extern inline
2013-09-19 signal: OS X port of sigaddset etc. + extern inline
2013-09-19 extern-inline: do not always suppress extern inline on OS X
2013-09-17 getgroups: statement without effect
2013-08-28 headers: check that _GL_INLINE_HEADER_BEGIN is defined
2013-09-19 14:40:08 -07:00
Eli Zaretskii
be9bc55efd Fix MinGW builds from inside the MSYS installation tree.
configure.ac <srcdir> [MINGW32]: Make sure the value of 'srcdir'
 is in the full /d/foo/bar form.  See the discussion in
 http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00210.html,
 and in particular
 http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00252.html
 and its followups, for the details.
2013-09-19 11:43:01 +03:00
Dmitry Antipov
19452b8665 * configure.ac: Do not check for g_type_init because we
require glib >= 2.28 for GTK3, glib >= 2.10 for GTK2,
glib >= 2.26 for GSettings and glib >= 2.7.0 for GConf, so
suitable glib should provide g_type_init unconditionally.
* src/image.c (fn_g_type_init) [WINDOWSNT]: Define and load
only if Glib < 2.36.0.
(fn_g_type_init) [!WINDOWSNT]: Define only if Glib < 2.36.0.
* src/xsettings.c (init_gconf, init_gsettings): Do not check
for g_type_init.
2013-09-17 10:33:24 +04:00
Jan Djärv
3fa2054efd Port the font backend from the Mac port.
* configure.ac: Add check for OSX 10.5, required for macfont.o.

* etc/NEWS: Mention the macfont backend.

* src/Makefile.in (NS_OBJ, SOME_MACHINE_OBJECTS): Add macfont.o.

* src/font.c (syms_of_font): Call syms_of_macfont.

* src/font.h: Declare syms_of_macfont.

* src/nsfns.m: Include macfont.h.
(Fx_create_frame): Register macfont driver, make a better default font.
(Fns_popup_font_panel): Get font from macfont driver, if used.

* src/nsfont.m (ns_tmp_flags, ns_tmp_font): Remove.
(nsfont_open): Set font driver type.
Set font->ascent and font->descent.  Figure out font instead of
ns_tmp_font, and flags instead of ns_tmp_flags.
Fix indentation. Remove call to ns_draw_text_decoration,
moved to nsterm.

* src/nsterm.m: Include macfont.h.
(ns_tmp_flags, ns_tmp_font): Remove.
(ns_compute_glyph_string_overhangs): Check for driver Qns.
(ns_draw_glyph_string): Use local variables instead of ns_tmp_flags,
ns_tmp_font.  Call ns_draw_text_decoration here instead of nsfont.m.
(changeFont:): Fix code style.  Check for font driver type when
getiing font.

* src/nsterm.h (FONT_DESCENT, FONT_ASCENT): Define to (f)->ascent and
(f)->descent.
2013-09-15 19:58:46 +02:00
Glenn Morris
48b48f98e2 Convert ChangeLog text to in-file comment 2013-09-09 08:54:03 -07:00
Glenn Morris
8d17ef8d54 Fix treatment of ld's nocombreloc option
* configure.ac (LDFLAGS_NOCOMBRELOC): New variable.
(LDFLAGS): Move nocombreloc option from here...
(LD_SWITCH_SYSTEM_TEMACS): ... to here.
This is an essential option that should not be in LDFLAGS,
because the user may override that at build time; eg
http://bugs.debian.org/684788.  temacs is the only thing
that actually needs this option; this is where it was orginally:
http://lists.gnu.org/archive/html/emacs-pretest-bug/2004-03/msg00170.html
2013-09-09 00:34:15 -07:00
Glenn Morris
335142f9f3 Rename configure's --without-compress-info to --without-compress-install
* configure.ac (--without-compress-install):
Rename from --without-compress-info. 

(GZIP_INFO): Remove.
(GZIP_PROG): Allow --without-compress-install to disable it.
* Makefile.in (GZIP_INFO): Remove all references.

* etc/NEWS: Mention this.

Fixes: debbugs:9789
2013-09-08 16:50:23 -07:00
Glenn Morris
7dc61a66e7 * doc/misc/emacs-gnutls.texi: Tweak direntry.
* info/dir: Tweak emacs-gnutls entry.
2013-09-08 16:31:14 -07:00
Paul Eggert
4b73fc7347 Port --without-x --enable-gcc-warnings to Fedora 19.
* configure.ac (WERROR_CFLAGS): Omit redundant use of
-Wmissing-field-initializers, -Wswitch, -Wtype-limits,
-Wunused-parameter.  If there is no window system, also omit
-Wsuggest-attribute=const and -Wsuggest-attribute=noreturn; this
is needed for Fedora 19.
* src/gfilenotify.c (globals_of_gfilenotify):
Call g_type_init only if using an older glib version that needs it.
2013-09-06 17:20:56 -07:00
Dmitry Antipov
257b3b03cb Make --without-x compatible with --enable-gcc-warnings.
* configure.ac: If both --without-x and --enable-gcc-warnings are
specified, use -Wno-unused-variable, -Wno-unused-but-set-variable
and -Wno-unused-but-set-parameter.
* src/font.c (register_font_driver): Move check under HAVE_WINDOW_SYSTEM.
* src/font.h (struct font_driver): Move draw, get_bitmap and free_bitmap
members under HAVE_WINDOW_SYSTEM.
* src/keyboard.c (make_lispy_focus_out): Likewise.
(record_menu_key): Move under HAVE_MENUS.
* src/xdisp.c (toplevel): Move hourglass_shown_p, hourglass_atimer and
THIN_SPACE_WIDTH under HAVE_WINDOW_SYSTEM.
(syms_of_xdisp): Adjust user.
(window_box_edges): Define only if HAVE_WINDOW_SYSTEM.
(start_hourglass, cancel_hourglass):
* src/xfaces.c (toplevel): Likewise with PT_PER_INCH,
clear_font_table_count, CLEAR_FONT_TABLE_COUNT
and CLEAR_FONT_TABLE_NFONTS.
(set_font_frame_param, clear_face_gcs, realize_non_ascii_face):
Declare only if HAVE_WINDOW_SYSTEM.
(lface_same_font_attributes_p, clear_face_gcs): Define only
if HAVE_WINDOW_SYSTEM.
2013-09-05 10:25:12 +04:00
Paul Eggert
224e313d3b Makefile improvements.
* Makefile.in (lib): Depend on am--refresh, to avoid a race.
(src): Remove duplicate dependency on FRC.
Invoke just one submake, not two.  Avoid the need for 'pwd'.
* lwlib/Makefile.in (all): Put this first.  Don't use double-colon
rules, as they are not portable according to POSIX.  Mark as phony.
* oldXMenu/Makefile.in (all, tags): Don't use double-colon rules, as they
are not portable according to POSIX.  Mark as phony.
* src/Makefile.in (config.status): Don't use double-colon rules, as
they are not portable according to POSIX.  Fix shell typo with `;
I guess this rule has never been tested?
(VCSWITNESS): New macro, to override any environment var.
2013-09-03 23:45:44 -07:00
Jan Djärv
de3d0b572d Fix copying of nextstep/Emacs.app for make -j install
* configure.ac: Add ns_check_file.

* nextstep/Makefile.in (${ns_check_file}): Add so Emacs.app gets properly
updated when doing parallel make install.
2013-09-02 09:01:53 +02:00
Glenn Morris
2c347217ca * configure.ac (--with-sound): Rename ossaudio to bsd-ossaudio,
and voxware to oss.
2013-08-31 13:00:22 -07:00
Ulrich Müller
e0936eed9b * configure.ac: Allow for --with-sound=voxware that will enable
sound but otherwise disable ALSA.  This will use the OSS device,
typically /dev/dsp, for sound output.

Fixes: debbugs:15067
2013-08-31 12:54:17 -07:00
Glenn Morris
7605d081ba Update nt installation instructions to point to supported method
* nt/INSTALL: Rename from INSTALL.MSYS.

* nt/INSTALL.OLD: Rename from INSTALL.

* nt/configure.bat: Update for INSTALL name changes.

* make-dist: Update for nt/INSTALL* changes.
2013-08-31 11:26:59 -07:00
Paul Eggert
50b13cdedb * Makefile.in (SHELL): Now @SHELL@, not /bin/sh,
for portability to hosts where /bin/sh has problems.
2013-08-27 23:01:52 -07:00
Stefan Monnier
0acfedd349 Try to reduce redundancy in doc/misc/Makefile.in.
* configure.ac (DOCMISC_W32): New var to replace DOCMISC_*_W32.
* doc/misc/Makefile.in (DOCMISC_W32): New var to replace DOCMISC_*_W32.
(TARGETS): New intermediate variable.
(DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS): Use it.
2013-08-27 21:37:13 -04:00
Paul Eggert
43aac990c3 Simplify EMACS_TIME-related code.
This portability layer is no longer needed, since Emacs has been
using struct timespec as a portability layer for some time.
Merge from gnulib, incorporating:
2013-08-27 timespec: new convenience constants and function
* src/atimer.h, src/buffer.h, src/dispextern.h, src/xgselect.h:
Include <time.h> rather than "systime.h"; that's all that's needed now.
* src/dispnew.c: Include <timespec.h> rather than "systime.h";
that's all that's needed now.
* src/systime.h (EMACS_TIME): Remove.  All uses changed to struct timespec.
(EMACS_TIME_RESOLUTION): Remove.  All uses changed to
TIMESPEC_RESOLUTION.
(LOG10_EMACS_TIME_RESOLUTION): Remove.  All uses changed to
LOG10_TIMESPEC_RESOLUTION.
(EMACS_SECS, emacs_secs_addr): Remove.  All uses changed to tv_sec.
(EMACS_NSECS): Remove.  All uses changed to tv_nsec.
(make_emacs_time): Remove.  All used changed to make_timespec.
(invalid_timespec): Rename from invalid_emacs_time.  All uses changed.
(current_timespec): Rename from current_emacs_time.  All uses changed.
(add_emacs_time): Remove.  All uses changed to timespec_add.
(sub_emacs_time): Remove.  All uses change dot timespec_sub.
(EMACS_TIME_SIGN): Remove.  All uses changed to timespec_sign.
(timespec_valid_p): Rename from EMACS_TIME_VALID_P.  All uses changed.
(EMACS_TIME_FROM_DOUBLE): Remove.  All uses changed to dtotimespec.
(EMACS_TIME_TO_DOUBLE): Remove.  All uses changed to timespectod.
(current_timespec): Rename from current_emacs_time.  All uses changed.
(EMACS_TIME_EQ, EMACS_TIME_LT, EMACS_TIME_LE): Remove.  All uses
changed to timespec_cmp.
* src/xgselect.c: Include <timespec.h>, since our .h files don't.
2013-08-27 11:47:55 -07:00
Dmitry Antipov
15091df55b * configure.ac (DOCMISC_DVI_W32, DOCMISC_HTML_W32, DOCMISC_INFO_W32)
(DOCMISC_PDF_W32, DOCMISC_PS_W32): No spaces!
2013-08-27 13:21:46 +04:00