1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-28 07:45:00 +00:00
Commit Graph

702 Commits

Author SHA1 Message Date
Nicolas Petton
596289bc8d
Bump Emacs version
* README:
* configure.ac:
* etc/NEWS:
* msdos/sed2v2.inp:
* nt/README.W32: Bump Emacs version to 25.2.90
2016-11-27 20:44:43 +01:00
Paul Eggert
dc152c54f4 Modernize usage of 'macOS' in doc and comments
Apple changed the spelling of its operating system again, to "macOS",
effective with macOS 10.12 Sierra (2016-09-20).  Change Emacs
documentation and comments to match this.  Stick with older OS
spellings ("OS X", "Mac OS X") when talking about older releases where
the older names are more correct.
2016-11-06 00:42:03 -07:00
Paul Eggert
32827b374d Default REL_ALLOC to 'no'
This should make ralloc-related bugs less likely on GNU/Linux
systems with bleeding-edge glibc.  See the email thread containing:
http://lists.gnu.org/archive/html/emacs-devel/2016-10/msg00801.html
Do not merge to master.
* configure.ac (REL_ALLOC): Default to 'no' on all platforms, not
merely on platforms with Doug Lea malloc.  Although bleeding-edge
glibc no longer exports __malloc_initialize_hook and so longer
passes the configure-time test for Doug Lea malloc, ralloc tickles
longstanding bugs like Bug#24358 and Bug#24764 and Emacs is likely
to be more reliable without it.  This patch is not needed on
master, which uses hybrid malloc in this situation.
2016-10-25 12:20:26 -07:00
Paul Eggert
7bb5c4f206 Port --enable-gcc-warnings to bleeding-edge glibc
Bleeding-edge glibc sets emacs_cv_var_doug_lea_malloc to 'no'.
Do not merge to master.
* configure.ac: Check for valloc decl when compiling gmalloc.c.
* src/gmalloc.c (emacs_abort) [emacs]: Adjust decl to match
what is in lisp.h.  Remove duplicate decl.
(aligned_alloc): #undef before defining.
(aligned_alloc, memalign) [!MSDOS]: Declare.
(valloc) [HAVE_DECL_VALLOC]: Remove duplicate decl.
2016-10-23 21:55:07 -07:00
Paul Eggert
99892eeec8 Port to Ubuntu 16.10, which needs gcc -nopie
* configure.ac (emacs_cv_prog_cc_no_pie): Rename from
emacs_cv_prog_cc_nopie.  All usages changed.  Check for -no-pie in
preference to -nopie (Bug#24682).  Backport from master.
2016-10-16 23:16:32 -07:00
Eli Zaretskii
0d016ca116 Increment Emacs version to 25.1.50
* README:
* configure.ac:
* etc/NEWS:
* msdos/sed2v2.inp: Bump the version to 25.1.50.
2016-09-23 10:46:26 +03:00
Nicolas Petton
3d981ddd54
Bump Emacs version to 25.1 for the first RC
* README:
* configure.ac:
* lisp/ldefs-boot.el:
* msdos/sed2v2.inp: Bump Emacs version to 25.1.
2016-07-24 17:33:29 +02:00
Nicolas Petton
e18ee60b02
Bump version to 25.0.95
* README:
* configure.ac:
* lisp/ldefs-boot.el:
* msdos/sed2v2.inp: Bump Emacs version to 25.0.95.
2016-06-11 00:24:29 +02:00
Nicolas Petton
a35826dbd4
Bump version to 25.0.94
* README:
* configure.ac:
* msdos/sed2v2.inp: Bump Emacs version to 25.0.94.
2016-05-17 19:00:52 +02:00
Paul Eggert
734fb3ac6c Port dumping to NetBSD with PaX
Problem reported by Thomas Klausner (Bug#23371).
* configure.ac (PAXCTL_dumped, PAXCTL_notdumped): New vars.
Set them to setfattr and/or paxctl commands appropriate for
GNU/Linux and/or NetBSD; the latter prefers paxctl +a.  Search
for paxctl only if setfattr is not found.
* src/Makefile.in (PAXCTL_dumped, PAXCTL_notdumped):
New vars, replacing PAXCTL_if_present and SETFATTR_if_present.
All uses changed.
2016-04-27 16:03:50 -07:00
Nicolas Petton
5c587fdff1
Bump version to 25.0.93
* README:
* configure.ac:
* msdos/sed2v2.inp: Bump Emacs version to 25.0.93.
2016-04-22 19:00:05 +02:00
Paul Eggert
b6d2552fe3 Tweak configure.ac syntax in recent module patch
* configure.ac: Use proper Autoconf parenthesization in
recent HAVE_MODULES patch.  Although this doesn’t fix any bugs,
the previous syntax was confusing.
2016-04-16 19:49:31 -07:00
Glenn Morris
b85981feac * configure.ac (HAVE_MODULES): Exclude gnu-kfreebsd from previous. 2016-04-16 10:24:57 -07:00
Glenn Morris
f3653ec446 * configure.ac (HAVE_MODULES): Treat gnu like gnu-linux. (Bug#22722) 2016-04-15 19:19:47 -04:00
Paul Eggert
7950e1dd3f Port to clang 3.7.0 on x86-64
* configure.ac: Use AS_IF so that gl_WARN_ADD’s prerequisites are
not done conditionally.  This helps clang, which needs
-Wunknown-warning-option later when configured with warnings.
* src/editfns.c (invalid_time): Now _Noreturn, since clang isn’t
smart enough to figure this out on its own if warnings are enabled.
(lisp_time_struct): Redo for clarity, and to pacify clang.
* src/xfns.c (x_real_pos_and_offsets) [USE_XCB]: Don’t use
uninitialized locals.  This avoids undefined behavior and pacifies
clang.
2016-03-15 13:49:58 -07:00
Ken Raeburn
8b8a6ad3e3 Don't use XRANDR 1.3 extensions if the server doesn't support them.
* src/xterm.h (struct x_display_info): Add fields to save XRANDR
version number.
* src/xfns.c (x_get_monitor_attributes): Save the version numbers
after querying the X server.
(x_get_monitor_attributes_xrandr): Don't use XRRGetOutputPrimary or
XRRGetScreenResourcesCurrent if the server doesn't support at least
RANDR version 1.3.  Conditionalize the code blocks on compiling
against library version 1.3 or better, rather than feature tests for
each function.
* configure.ac: Stop testing for those two functions.
2016-03-10 14:28:54 -05:00
Paul Eggert
7352c6c695 Rework C source files to avoid ^(
Work around Bug#22884 by rewording comments and strings to avoid ‘(’
at the start of a line unless it starts a function.  This change
is a short-term hack; in the longer run we plan to fix cc-mode’s
performance for C files that have ‘(’ at the start of a line in a
comment or string.
2016-03-10 07:59:19 -08:00
Nicolas Petton
041a140db0 Bump version to 25.0.92
* README:
* configure.ac:
* msdos/sed2v2.inp: Bump version to 25.0.92.
2016-03-02 17:05:22 +01:00
Nicolas Petton
23ca48d3d8 Bump version to 25.0.91
* README:
* configure.ac:
* msdos/sed2v2.inp: Bump version to 25.0.91.
2016-02-13 20:30:37 +01:00
Paul Eggert
67fcd5addc Fix test for dladdr
Problem reported by Andreas Schwab in:
http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00327.html
* configure.ac (dladdr): Link with LIBMODULES when checking for
this function.
2016-02-07 07:47:48 -08:00
Paul Eggert
93b144bbaa Pacify GCC on C library without glibc API
Without this change, with --enable-gcc-warnings GCC would complain
“error: redundant redeclaration of ‘aligned_alloc’”.
* configure.ac: Simplify aligned_alloc testing.
* src/alloc.c (aligned_alloc): Don’t use if DARWIN_OS,
since the simplified configure.ac no longer checks for that.
Don’t declare if HAVE_ALIGNED_ALLOC.
Correct misspelling of HAVE_ALIGNED_ALLOC in ifdef.
2016-01-30 18:39:27 -08:00
Nicolas Petton
7b14da444e Bump version to 25.0.90
* README:
* configure.ac:
* msdos/sed2v2.inp: Bump version to 25.0.90.
2016-01-30 16:00:54 +01:00
Glenn Morris
af4bd9720d * configure.ac (USE_CAIRO): Rename to more standard HAVE_CAIRO. 2016-01-25 18:29:53 -05:00
Glenn Morris
60c9e6829e * configure.ac (--with-cairo): Say it's experimental. 2016-01-25 18:28:30 -05:00
Paul Eggert
6475f9265e Port "$@" to OpenIndiana ksh93
In http://lists.gnu.org/archive/html/bug-autoconf/2015-12/msg00000.html
Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
(derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
bug in long-dead shells, so remove the workaround.
* admin/check-doc-strings, configure.ac, lib-src/rcs2log:
Use plain "$@" rather than ${1+"$@"}.
2016-01-24 17:29:01 -08:00
Michael Albinus
7bf54d0115 Backport kqueue integration from master
* configure.ac (--with-file-notification): Add kqueue.
(top): Remove special test for "${HAVE_NS}" and
${with_file_notification}, this is handled inside gfilenotify
tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
instead of library specific variables.  Add error message for
gfile on Nextstep.

* doc/lispref/os.texi (File Notifications): Add kqueue as backend.
Fix some glitches in the example.

* etc/NEWS: Mention kqueue.

* lisp/filenotify.el (file-notify--library)
(file-notify-descriptors, file-notify-callback)
(file-notify-add-watch, file-notify-rm-watch)
(file-notify-valid-p): Add kqueue support.
(file-notify--rm-descriptor): Remove WHAT arg.

* src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.

* src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.

* src/inotify.c (inotifyevent_to_event): Extract file name from
watch_object if the event doesn't provide it.
(Finotify_add_watch): Add file name to watch_object.

* src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.

* src/kqueue.c: New file.

* src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.

* test/automated/file-notify-tests.el
(file-notify--test-expected-events): Remove.
(file-notify--test-cleanup): Do not set that variable.
(file-notify--test-timeout) Use different timeouts for
different libraries.
(file-notify--test-library): New defun.
(file-notify--test-event-test): Make stronger checks.
(file-notify--test-with-events): EVENTS can also be a list of
lists.  Flush outstanding events before running the body.
Make timeout heuristically depend on the number of events.
(file-notify-test01-add-watch, file-notify-test02-events)
(file-notify-test04-file-validity, file-notify-test05-dir-validity):
Rewrite in order to call file monitors but directory monitors.
(file-notify-test02-events, file-notify-test04-file-validity): Do
not skip cygwin tests.  Add additional test for file creation.
Adapt expected result for different backends.
(file-notify-test03-autorevert): Some of the tests don't work for
w32notify.
(file-notify-test06-many-events): New test.
2016-01-22 19:56:09 +01:00
Paul Eggert
871c8b1b96 No need to configure gobject-introspection
It wasn’t needed for the recently-installed xwidget_mvp code; see:
http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01154.html
* configure.ac (DOES_XWIDGETS_USE_GIR, GIR_REQUIRED, GIR_MODULES):
(HAVE_GIR):
* src/Makefile.in (GIR_LIBS, GIR_CFLAGS):
Remove.  All uses removed.
* configure.ac (emacs_config_features): Don’t worry about GIR.
2016-01-20 15:28:45 -08:00
Glenn Morris
4db94245d0 * configure.ac (emacs_config_features): Remove WEBKIT. 2016-01-20 14:50:02 -05:00
Paul Eggert
2388fa7498 Port to platforms with gtk3 but not webkitgtk3
I ran into this problem on my Fedora 23 installation;
Emacs configured but did not build when --with-xwidgets was specified.
* configure.ac (HAVE_WEBKIT, HAVE_GIR): Omit unnecessary initializations.
(DOES_XWIDGETS_USE_GIR): New var.
If --with-xwidgets is specified, report an error if not
doable, to be consistent with the other --with options.
Require webkitgtk3 to use Xwidgets, as the Xwidgets code does
not work at all without webkitgtk3.  Simplify use of
EMACS_CHECK_MODULES.  Output message about gobject
introspection only if xwidgets are used.
* etc/NEWS: Users need webkitgtk3, not merely webkit.
* src/xwidget.c (syms_of_xwidget): Don’t worry about HAVE_WEBKIT_OSR,
since this file is no longer compiled if webkitgtk3 is not available.
2016-01-20 11:06:35 -08:00
Glenn Morris
1e5eb04c83 * configure.ac (WEBKIT, GIR, CAIRO): Use EMACS_CHECK_MODULES, not PKG_. 2016-01-19 17:51:32 -05:00
Glenn Morris
2dbb4deaa9 * configure.ac (emacs_config_features): Add XWIDGETS, WEBKIT, GIR. 2016-01-19 17:49:40 -05:00
Glenn Morris
644e2fb73a * configure.ac (HAVE_WEBKIT_OSR): Remove broken, duplicated gtk3 test. 2016-01-19 17:48:35 -05:00
Joakim Verona
7c1f66a94b Support for the new Xwidget feature.
* configure.ac:
(HAVE_XWIDGETS, WIDGET_OBJ, EMACS_CONFIG_FEATURES):
* xterm.c (x_draw_glyph_string, x_draw_bar_cursor):
* xdisp.c:
(handle_display_spec, handle_single_display_spec, push_it)
(pop_it, set_iterator_to_next, dump_glyph)
(calc_pixel_width_or_height, fill_xwidget_glyph_string)
(BUILD_XWIDGET_GLYPH_STRING, BUILD_GLYPH_STRINGS)
(produce_xwidget_glyph, x_produce_glyphs)
(get_window_cursor_type):
* window.c (Fdelete_window_internal):
* termhooks.h (e):
* print.c (print_object):
* lisp.h (ptrdiff_t):
* keyboard.c (kbd_buffer_get_event, make_lispy_event)
(syms_of_keyboard):
* emacs.c (main):
* dispnew.c (update_window, scrolling_window):
* dispextern.h (g, i):
* Makefile.in (XWIDGETS_OBJ, WEBKIT_CFLAGS, WEBKIT_LIBS)
(GIR_LIBS, ALL_CFLAGS, base_obj, LIBES):
* keyboard.c (kbd_buffer_get_event):
* emacsgtkfixed.c (emacs_fixed_gtk_widget_size_allocate)
(emacs_fixed_class_init): Add case for an xwidget view.

* xwidget.c, xwidget.h, xwidget.el: New files for xwidgets

Co-authored-by:  Grégoire Jadi  <daimrod@gmail.com>

Various improvements to the Xwidget feature.
* xwidgets.c:
* emacsgtkfixed.c:
* xwidget.el:
2016-01-19 20:58:22 +01:00
Paul Eggert
fabb1fa31d Port cleanup attribute to OpenBSD
The OpenBSD C compiler issues false alarms about strcpy, strcat, and
sprintf, and this messes up 'configure' when it tests for the cleanup
attribute.  Work around the problem by using __has_attribute directly.
Problem reported by Joakim Jalap (Bug#22385).
* configure.ac: Don’t use AX_GCC_VAR_ATTRIBUTE.
* m4/ax_gcc_var_attribute.m4: Remove.
* src/conf_post.h (__has_attribute): Provide a substitute, for
non-GCC or older GCC compilers.  All uses changed to assume
the substitute.  Check for the cleanup attribute.
* src/emacs-module.c (module_has_cleanup): Just use __has_attribute.
2016-01-17 14:11:09 -08:00
Paul Eggert
05e8148a24 Prefer GnuTLS when acquiring random seed
This attempts to improve on the fix for Bug#22202.
* configure.ac (HAVE_DEV_URANDOM): Remove.
Check /dev/urandom existence at run time, not at build time,
since the device could exist in the former but not the latter.
* src/sysdep.c [HAVE_GNUTLS]: Include gnutls/gnutls.h.
(gnutls_rnd) [GNUTLS_VERSION_NUMBER < 0x020c00]: New fallback macro.
(random_seed): New typedef.
(set_random_seed): New static function.
(seed_random): Use them.
(init_random): Use random_seed instead of uintmax_t, so as to
not consume more entropy than needed.  Prefer gnutls_rnd if it
works; this avoids a redundant open of /dev/urandom on
GNU/Linux with modern GnuTLS.
2016-01-17 12:13:49 -08:00
Eli Zaretskii
3ffe81e245 Make 'random' seeds cryptographically secure if possible
* configure.ac: Check for "/dev/urandom".

* src/sysdep.c (init_random) [HAVE_DEV_URANDOM]: Read the stream
for the seed from "/dev/urandom".
[WINDOWSNT]: Obtain the stream for the seed from w32 APIs.
* src/fns.c (Frandom): Update the doc string to indicate that
system entropy is used when available.
* src/w32.c: Include wincrypt.h.
(w32_init_crypt_random, w32_init_random): New functions, use the
CryptGenRandom API.
(globals_of_w32): Initialize w32_crypto_hprov handle to zero.
* src/w32.h (w32_init_random): Add prototype.

* doc/lispref/numbers.texi (Random Numbers): Document more details
about 't' as the argument to 'random'.

* etc/NEWS: Mention that '(random t)' now uses a cryptographically
strong seed if possible.

(Bug#22202)
2016-01-15 11:47:55 +02:00
Paul Eggert
9c3dbabee3 Fix copyright years by hand
These are dates that admin/update-copyright did not update, or
updated incorrectly.
2016-01-01 01:38:07 -08:00
Paul Eggert
0e963201d0 Update copyright year to 2016
Run admin/update-copyright.
2016-01-01 01:34:24 -08:00
YAMAMOTO Mitsuharu
89e7483d9f * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin. 2015-12-31 10:37:15 +09:00
YAMAMOTO Mitsuharu
3b95e9c1f3 Use posix_openpt instead of openpty on Darwin
* configure.ac (PTY_ITERATION, FIRST_PTY_LETTER, PTY_OPEN)
(PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF): Remove
Darwin-specific definitions.  Use posix_openpt instead.
2015-12-31 10:24:12 +09:00
Paul Eggert
85e93e626c Fix typo in Doug Lea malloc configure log
* configure.ac (emacs_cv_var_doug_lea_malloc):
Fix typo that confused the log output of 'configure'.
2015-12-17 10:09:19 -08:00
Paul Eggert
d8b4105705 Remove attempt to use C11 threads
C11 threads are not needed for Emacs now, and their use is causing
hassles on FreeBSD 10.x.  Problem reported by Ashish SHUKLA in:
http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00648.html
* configure.ac: Do not check for C11 threads. Remove unnecessary
fiddling with CPPFLAGS when configuring pthreads.
* src/emacs-module.c (main_thread, check_main_thread)
(module_init): Do not worry about C11 threads.
2015-12-15 23:10:48 -08:00
Paul Eggert
da8c7ca264 Port better to FreeBSD’s dlfunc vs dlsym
This avoids warnings when converting between void * and
function pointers, which strict C11 does not allow.
* configure.ac (dlfunc): Check for existence.
* src/dynlib.c (dlfunc) [!HAVE_DLFUNC]: New macro.
(dynlib_func): New function.
* src/dynlib.h (dynlib_function_ptr, dynlib_func): New decls.
* src/emacs-module.c (Fmodule_load): Use dynlib_func, not
dynlib_sym, for function pointers.
2015-11-23 19:01:51 -08:00
Paul Eggert
f2c0025921 Rename module.c to emacs-module.c, etc.
* src/emacs-module.c: Rename from src/module.c.
* src/emacs-module.h: Rename from src/module.h.
All uses changed.
2015-11-19 13:51:24 -08:00
Paul Eggert
c8a972b0c3 Style fixes for indenting etc. in module code
This is mostly indenting and spacing changes.  Also, remove
some unnecessary static decls instead of bothering to reindent them.
* src/module.h (EMACS_EXTERN_C_BEGIN): Remove, and do this inline,
as most other Emacs files do for this sort of thing.
2015-11-19 11:32:21 -08:00
Ken Brown
e8bbdc4665 * configure.ac (LIBMODULES): Don’t define on Cygwin 2015-11-18 15:17:58 -05:00
Aurélien Aptel
307e76c799 Add dynamic module module support
* configure.ac: Add '--with-modules' option.  Conditionally add
  dynlib.o and module.o to the list of objects.  Add any system
  specific flags to the linker flags to support dynamic libraries.
* m4/ax_gcc_var_attribute.m4: Add autoconf extension to test gcc
  attributes.
* src/Makefile.in: Conditionally add module objects and linker flags.
* src/alloc.c (garbage_collect_1): protect module local values from
  GC.
* src/lisp.h: Add 'module_init' and 'syms_of_module' prototypes.
* src/emacs_module.h: New header file included by modules.  Public
  module API.
* src/module.c: New module implementation file.

Co-authored-by: Philipp Stephani <phst@google.com>
2015-11-18 14:24:19 -05:00
Eli Zaretskii
abf673af29 Improve configure --help text for wide ints
* configure.ac (wide-int): Clarify user-level advantages and
disadvantages.
2015-11-17 21:07:37 +02:00
Ken Raeburn
c7f2b6ad89 Detect XCB and save a connection handle
* configure.ac: If using X11, check for XCB libraries and header.
* src/Makefile.in (XCB_LIBS): Define.
(LIBX_EXTRA): Include it.

* src/xterm.h [USE_XCB]: Include X11/Xlib-xcb.h.
(struct x_display_info) [USE_XCB]: Add an XCB connection handle field.
* src/xterm.c (x_term_init) [USE_XCB]: Initialize the new field.
2015-11-12 03:58:09 -05:00
Paul Eggert
943f7f902e Spelling fixes
* configure.ac (bitmapdir): Fix misspelling of bmd_acc.
* test/automated/coding-tests.el (ert-test-coding-bogus-coding-systems):
Fix misspelling of nonexistent file name.
2015-10-14 14:46:50 -07:00