1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-12 06:21:02 -08:00
Commit graph

38224 commits

Author SHA1 Message Date
Paul Eggert
a528a60f48 Spelling fixes 2016-01-25 08:09:09 -08:00
Alan Mackenzie
ec90220ac1 Expunge "allow" + infinitive from source and doc, part 2.
Do the same for "permit", "enable", "prevent", and (where appropriate)
"require".

doc/misc/reftex.texi:
doc/misc/url.texi:
lib/get-permissions.c:
lib/strftime.c:
lisp/org/org-element.el:
lisp/org/org-mobile.el:
lisp/textmodes/reftex-vars.el:
src/bidi.c:
src/emacs.c:
src/xdisp.c:
test/etags/c-src/emacs/src/lisp.h:

Expunge the likes of "This allows to do something" from the above files.
2016-01-25 12:35:15 +00:00
Paul Eggert
2f505ff792 * src/xwidget.c (Fxwidget_set_adjustment): Fix doc string quoting typo. 2016-01-24 17:25:26 -08:00
Alan Mackenzie
fbce4757a8 Expunge "allow" + infinitive without direct object from source and doc.
Do the same for "permit", "enable", and "prevent".

* doc/emacs/mule.texi:
* doc/lispref/control.texi:
* doc/lispref/display.texi:
* doc/lispref/frames.texi:
* doc/lispref/functions.texi:
* doc/lispref/nonascii.texi:
* doc/lispref/streams.texi:
* doc/lispref/windows.texi:
* doc/misc/dbus.texi:
* doc/misc/eww.texi:
* doc/misc/flymake.texi:
* doc/misc/octave-mode.texi:
* doc/misc/org.texi:
* doc/misc/reftex.texi:
* doc/misc/tramp.texi:
* doc/misc/wisent.texi:
* etc/NEWS:
* lisp/autorevert.el:
* lisp/cedet/mode-local.el:
* lisp/cedet/semantic/senator.el:
* lisp/cedet/semantic/wisent.el:
* lisp/dos-fns.el:
* lisp/frameset.el:
* lisp/gnus/gnus-agent.el:
* lisp/gnus/mm-util.el:
* lisp/international/characters.el:
* lisp/ldefs-boot.el:
* lisp/mail/mailclient.el:
* lisp/man.el:
* lisp/mh-e/mh-search.el:
* lisp/net/tramp-cmds.el:
* lisp/net/tramp-gvfs.el:
* lisp/org/org-crypt.el:
* lisp/org/org-element.el:
* lisp/org/org-feed.el:
* lisp/org/org.el:
* lisp/org/ox-ascii.el:
* lisp/org/ox-icalendar.el:
* lisp/org/ox-publish.el:
* lisp/org/ox.el:
* lisp/play/gamegrid.el:
* lisp/play/gomoku.el:
* lisp/progmodes/antlr-mode.el:
* lisp/progmodes/python.el:
* lisp/progmodes/vhdl-mode.el:
* lisp/strokes.el:
* lisp/textmodes/ispell.el:
* lisp/tree-widget.el:
* lisp/vc/pcvs.el:
* lisp/window.el:
* src/lisp.h:
* src/w32.c:
* src/w32heap.c:
* src/w32term.c:
* src/window.c:
* src/xfaces.c:

Replace solecisms like "This allow to do something" with a correct
alternative, such as "This allow you to do something", "This allows
something to be done" or "This allows the doing of something".
2016-01-24 20:30:39 +00:00
Oscar Fuentes
76045f7d6f Don't operate on menu bar of nonexistent frame
* src/xfns.c (Fx_hide_tip) [USE_LUCID]: Check that the current frame
is valid before redisplaying its menu. Fixes bug#22438.
2016-01-23 14:18:46 +01:00
Anders Lindgren
c32f3bc4a3 Unbreak the GNUstep build.
* src/nsterm.m ([EmacsBell init]): In GNUstep, don't use the
predefined "caution" image. Add trace.
(x_set_window_size): Remove unused variables `cols' and `rows'.
(ns_draw_fringe_bitmap): Exclude assignment of `fromRect' when
GNUstep is used.
([EmacsView updateFrameSize:]): Remove unused variable `win'.
([EmacsWindow zoom:]): Remove unused variable `f'.
2016-01-23 14:16:41 +01:00
Paul Eggert
190d365f90 Report error for PNG under Cairo
* src/image.c (lookup_rgb_color): Signal a file error instead
of dumping core when mishandling an image.
2016-01-23 01:40:49 -08:00
Paul Eggert
c07bddd69d Pacify --enable-gcc-warnings --with-cairo
Problem reported by Alexander Kuleshov in:
http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01289.html
* src/gtkutil.c (xg_get_page_setup):
Use switch rather than if-then-else.
* src/image.c (COLOR_TABLE_SUPPORT):
Define directly rather than via #define and optional later #undef.
(lookup_rgb_color) [USE_CAIRO && ENABLE_CHECKING]:
Crash when the pixel is undefined, as there is a genuine bug
here (Bug#22442).
* src/image.c (tiff_load, gif_load, svg_load_image)
(x_kill_gs_process) [USE_CAIRO]:
* src/xterm.c (x_draw_fringe_bitmap) [USE_CAIRO]:
Omit unused locals, or move them to where they’re needed.
(x_clear_area1): Now ATTRIBUTE_UNUSED.
2016-01-23 01:04:09 -08:00
Eli Zaretskii
0275e7ba6e ; Improve commentary in sysdep.c
* src/sysdep.c: Explain in a comment why on Windows we don't load
GnuTLS during startup for calling gnutls_rnd.  (Bug#22202)
2016-01-23 08:27:16 +02:00
Paul Eggert
27a0919cde Port recent xdisp.c fix to picky C compilers
* src/xdisp.c (dump_glyph): Redo the call to fprintf to avoid
putting #if inside the arguments to a standard function, which
the C standard says has undefined behavior.
2016-01-22 15:28:34 -08:00
Eli Zaretskii
5221f45047 Fix the build with --enable-checking=glyphs
* src/xdisp.c (dump_glyph): Don't refer to glyph->u.xwidget in a
build without xwidget support.
2016-01-22 23:14:01 +02:00
Paul Eggert
7c3d742c35 xwidgets style cleanup
Adjust the newly-added Xwidgets code so that it uses a more-typical
Emacs style.  This should not affect behavior, except that in
a few places it adds runtime checks that Lisp arguments are of
the proper type, and in one place it uses more-precise arithmetic.
* src/buffer.c, src/dispnew.c, src/emacs.c, src/emacsgtkfixed.c:
* src/emacs.c, src/print.c, src/window.c, src/xdisp.c, src/xterm.c:
Include xwidget.h unconditionally.
* src/buffer.c (Fkill_buffer):
* src/dispnew.c (update_window):
* src/emacs.c (main):
* src/print.c (print_object):
* src/window.c (Fdelete_window_internal):
* src/xdisp.c (handle_single_display_spec, push_it, pop_it)
(get_next_element, set_iterator_to_next, next_element_from_xwidget)
(dump_glyph, calc_pixel_width_or_height, BUILD_GLYPH_STRINGS_XW)
(BUILD_GLYPH_STRINGS, x_produce_glyphs, get_window_cursor_type):
* src/xterm.c (x_draw_glyph_string, x_draw_bar_cursor):
Call xwidget functions and macros without worrying about
HAVE_XWIDGETS when the code is a no-op on non-xwidget
platforms.
* src/dispextern.h (XWIDGET_GLYPH, struct glyph_string.xwidget)
(IT_XWIDGET, GET_FROM_XWIDGET, struct it.u.xwidget)
(struct it.xwidget):
* src/lisp.h (PVEC_XWIDGET, PVEC_XWIDGET_VIEW):
Always define.
* src/emacsgtkfixed.h: Omit unnecessary comment.
* src/keyboard.c: Fix spacing.
* src/xdisp.c (BUILD_XWIDGET_GLYPH_STRING, produce_xwidget_glyph):
Define to be a no-op if not HAVE_XWIDGETS.
* src/xwidget.c: Include xwidget.h first (after config.h)
to make sure that it can stand by itself.
(Fmake_xwidget, Fxwidget_webkit_execute_script):
Fix typo in doc string.
(Fmake_xwidget): Check type of args.
(Fmake_xwidget, offscreen_damage_event)
(webkit_document_load_finished_cb, webkit_download_cb)
(webkit_new_window_policy_decision_requested_cb)
(webkit_navigation_policy_decision_requested_cb)
(xwidget_osr_draw_cb, xwidget_osr_event_forward)
(xwidget_osr_event_set_embedder, xwidget_init_view):
Omit unnecessary casts.
* src/xwidget.c (Fmake_xwidget, xwidget_hidden)
(xwidget_show_view, xwidget_hide_view)
(x_draw_xwidget_glyph_string, xwidget_start_redisplay, xwidget_touch)
(xwidget_touched):
* src/xwidget.h (struct xwidget.kill_without_query)
(struct xwidget_view.redisplayed, struct xwidget_view.hidden):
Use bool for boolean.
* src/xwidget.c (store_xwidget_event_string, Fxwidget_size_request):
Simplify by using list functions.
(WEBKIT_FN_INIT): Omit unnecessary test for nil.
(Fxwidget_resize): Check type of integer args
before doing any work.  Check that they are nonnegative.
(Fxwidget_set_adjustment): Check type of integer arg.
Avoid redundant call to gtk_scrolled_window_get_vadjustment.
Simplify.  Use double, not float.
(Fxwidget_info, Fxwidget_view_info): Simplify by using CALLN.
(valid_xwidget_spec_p): Simplify.
(xwidget_spec_value): Omit unused arg FOUND.  All callers changed.
* src/xwidget.h: Include lisp.h first, so that includers do
not need to worry about doing that before including this file.
Make this .h file safe to include even on non-HAVE_XWIDGETS
configurations, to simplify the includers.
(x_draw_xwidget_glyph_string, syms_of_xwidget, valid_xwidget_spec_p)
(xwidget_end_redisplay, lookup_xwidget)
(xwidget_view_delete_all_in_window, kill_buffer_xwidgets):
Now a no-op if !HAVE_XWIDGETS, to simplify callers.
(struct glyph_matrix, struct glyph_string, struct xwidget)
(struct xwidget_view, struct window):
New forward or incomplete decls, so that includers need not
assume the corresponding .h files are already included, or that
HAVE_XWIDGETS is defined.
(struct xwidget_type, xwidget_from_id): Remove; unused.
2016-01-22 11:15:31 -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
Paul Eggert
9d7265ba1a Don’t export C symbols not used elsewhere
These were recently added, mostly as part of xwidget code.
* src/emacsgtkfixed.c (emacs_fixed_get_type): Now static.
(EMACS_FIXED, EMACS_FIXED_GET_CLASS):
Now static functions here, not macros in emacsgtkfixed.h.
* src/emacsgtkfixed.h (EMACS_TYPE_FIXED):
Remove.  All uses replaced by definiens.
(EMACS_FIXED, EMACS_FIXED_GET_CLASS):
Remove; these are now static functions in emacsgtkfixed.c.
(EMACS_FIXED_CLASS, EMACS_IS_FIXED, EMACS_IS_FIXED_CLASS):
Remove; unused.
(emacs_fixed_get_type): Remove decl; no longer extern.
* src/xwidget.c (offscreen_damage_event)
(webkit_mime_type_policy_typedecision_requested_cb)
(webkit_new_window_policy_decision_requested_cb)
(webkit_navigation_policy_decision_requested_cb)
(xwidget_spec_value, xwidget_view_lookup)
(xwidget_start_redisplay, xwidget_touch):
Now static.
* src/xwidget.h (xwidget_start_redisplay, xwidget_touch):
Remove decls.
2016-01-20 14:55:57 -08: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
ea41538278 Trivial doc copyedits.
* src/xwidget.c (Fmake_xwidget, Fget_buffer_xwidgets)
(Fxwidget_webkit_get_title, Fxwidget_resize)
(Fxwidget_set_adjustment, Fxwidgetp, Fxwidget_view_p)
(Fxwidget_info, Fxwidget_view_lookup)
(Fset_xwidget_query_on_exit_flag): Trivial doc copyedits.
2016-01-19 18:42:47 -05:00
Glenn Morris
c7441cd7d8 ; Add 2016 to copyright years of new files. 2016-01-19 16:00:34 -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
Eli Zaretskii
32cb203c08 Unbreak the Cygwin-w32 build
* src/w32fns.c (globals_of_w32fns): Move the initialization of
resetstkoflw into a part that isn't compiled on Cygwin.
(Bug#22403)
2016-01-19 18:11:04 +02:00
Paul Eggert
2e5a89fad1 Minor improvements to (random t) documentation
* doc/lispref/numbers.texi (Random Numbers):
* src/fns.c (Frandom):
Omit unnecessary details about randomness fallback.
Say that it is a fallback.
2016-01-18 21:33:31 -08:00
Eli Zaretskii
874a10b13f Fix scrolling under scroll-preserve-screen-position on TTY
* src/window.c (window_scroll_line_based): When setting point to
preserve screen coordinates, don't let cursor enter either of the
two scroll margins.  (Bug#22395)
2016-01-18 21:53:34 +02:00
Eli Zaretskii
b2eb6911dc Fix scrolling under scroll-preserve-screen-position and margins
* src/window.c (window_scroll_pixel_based): When setting point to
preserve screen coordinates, don't let cursor enter either of the
two scroll margins.  Fix incorrect usage of
WINDOW_WANTS_HEADER_LINE_P and use WINDOW_HEADER_LINE_HEIGHT
instead of CURRENT_HEADER_LINE_HEIGHT.  (Bug#22395)
2016-01-18 18:19:50 +02:00
Eli Zaretskii
687a64f637 Unbreak the MS-Windows build
* src/sysdep.c (emacs_gnutls_global_init, gnutls_rnd): Disable for
WINDOWSNT, to avoid link failure.  (Bug#22202)
2016-01-18 17:42:57 +02:00
Paul Eggert
130d512045 Initialize GnuTLS before calling gnutls_rnd
* src/gnutls.c (emacs_gnutls_global_init): Now extern.
Don’t set gnutls_global_initialized if gnutls_global_init fails.
* src/sysdep.c: Include "gnutls.h", and <gnutls/crypto.h>
if 2.12 or later, which has gnutls_rnd.
(emacs_gnutls_global_init, gnutls_rnd): New fallback
placeholder macros if before 2.12.
(init_random): Initialize gnutls globals before trying to
use gnutls_rnd.
2016-01-17 17:17:01 -08:00
Andreas Schwab
0f3ea5e172 Don't use GnuTLS before it is initialized
* src/sysdep.c (init_random): Don't use gnutls_rnd.
2016-01-18 00:25:16 +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
Jussi Lahdenniemi
86e4513969 Fix incompatbilities with MS-Windows 2000 and older
* src/w32.c <multiByteToWideCharFlags>: New global variable.
(filename_to_utf16, filename_from_ansi, check_windows_init_file):
Use it instead of the literal MB_ERR_INVALID_CHARS.
(maybe_load_unicows_dll): Initialize multiByteToWideCharFlags as
appropriate for the underlying OS version.  For details, see
http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00835.html.
* src/w32.h: Declare multiByteToWideCharFlags.
* src/w32fns.c (Fx_file_dialog, Fw32_shell_execute)
(add_tray_notification): Use multiByteToWideCharFlags instead of
the literal MB_ERR_INVALID_CHARS.
(_resetstkoflw_proc): New typedef.
(w32_reset_stack_overflow_guard): Call _resetstkoflw via a
pointer, as this function is absent in msvcrt.dll shipped with W2K
and older systems.

Copyright-paperwork-exempt: yes
2016-01-16 11:46:14 +02:00
Jussi Lahdenniemi
15c23aaf83 Ensure 8-byte aligned memory allocation on MS-Windows 9X
* src/w32heap.c (init_heap): Redirect malloc, realloc, and free to
special functions on Windows 9X.  Refuse to dump Emacs on Windows 9X.
(malloc_after_dump_9x, realloc_after_dump_9x)
(free_after_dump_9x): New functions.  (Bug#22379)  See also
http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00852.html
for more details about the original problem.

* nt/inc/ms-w32.h (malloc_after_dump_9x, realloc_after_dump_9x)
(free_after_dump_9x): Add prototypes.

Copyright-paperwork-exempt: yes
2016-01-16 11:11:12 +02:00
Eli Zaretskii
740849fe98 Ensure positive number of glyphs for margins of positive width
* src/dispnew.c (margin_glyphs_to_reserve): Always return a
positive value when a non-zero width of the marginal area was
requested.  (Bug#22356)
2016-01-15 17:36:47 +02:00
Eli Zaretskii
aa636c8465 Fix crashes when mini-window has non-zero margins
* src/window.c (resize_frame_windows): Use 'new_size' to set
minibuffer window's 'total_cols' value, as 'size' might be in
pixels.  (Bug#22356)
2016-01-15 17:07:38 +02: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
Glenn Morris
2fac775a40 * src/buffer.c (syms_of_buffer) <major-mode>: Doc fix.
Remove comments that do not apply since 2005-08-09.  (Bug#22349)
2016-01-12 19:01:12 -05:00
Eli Zaretskii
58a622d473 Make piping to subprocesses more robust on MS-Windows
* src/w32.c (sys_write): Don't write to a pipe more stuff than its
buffer can hold.  Don't return -1 if something has been written to
the pipe.  Zero out 'errno' before calling '_write', to avoid
returning a stale value.  (Bug#22344)
* src/w32proc.c (syms_of_ntproc) <w32-pipe-buffer-size>: New variable.
* src/w32.c (pipe2): Use it to request a user-defined size for the
pipe being created.

* etc/NEWS: Mention 'w32-pipe-buffer-size'.

* doc/emacs/msdos.texi (Windows Processes): Document
'w32-pipe-buffer-size'.
2016-01-12 18:41:58 +02:00
Eli Zaretskii
36b953947e Avoid an infloop when we run out of memory
* src/alloc.c (garbage_collect_1): Don't bother saving and
restoring the echo-area message if we are GC'ing after running out
of memory.  This avoids an infloop due to repeated attempts to
allocate memory for the cons cell needed to save the message,
which signals the memory-full error, which attempts to save the
echo-area message, which signals memory-full again, etc.
2016-01-11 18:05:40 +02:00
Eli Zaretskii
200675299e Avoid unnecessary failures of auto-saving after fatal error
* src/w32.c (map_w32_filename): Avoid non-trivial system calls for
the benefit of FAT volumes if we are called as part of shutting
down due to a fatal error, which probably means we are trying to
auto-save the session.
* src/lread.c (check_obarray): Don't bother making the obarray
valid if we are shutting down due to a fatal error.  This avoids
interfering with auto-saving the crashed session.
2016-01-11 18:00:13 +02:00
Paul Eggert
eef6784ea4 Simplify HAVE_MODULES use in mark_maybe_pointer
* src/alloc.c (HAVE_MODULES): Now a constant 0 if not defined,
so that later code can use 'if' rather than '#ifdef'.
(mark_maybe_pointer): Simplify based on HAVE_MODULES now
always working.
2016-01-10 21:46:37 -08:00
Paul Eggert
552694a265 Revert attempt to use 'noexcept' in typedef
This use of 'noexcept' runs afoul of the C++11 standard.
Problem reported by Philipp Stephani in:
http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00706.html
* src/emacs-module.c (emacs_finalizer_function):
Move this typedef here ...
* src/emacs-module.h: ... from here, and use only the C
version of the typedef.  The typedef is now private since it
is never used in the .h file now and anyway it seemed to be
causing more confusion than it cured.
(make_user_ptr, get_user_finalizer, set_user_finalizer):
Open-code the type instead.
2016-01-10 21:46:37 -08:00
Stefan Monnier
d2c7fda965 * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined 2016-01-10 00:32:13 -05:00
Stefan Monnier
09b2b8a5ce * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value
(mark_memory): Simplify loop.  Don't assume a pointer-sized word can be
cast to Lisp_Object.
2016-01-09 21:15:12 -05:00
Eli Zaretskii
e990bb270e Use the face of preceding text for displaying the ellipsis
* src/xdisp.c (setup_for_ellipsis): Use the face of the preceding
text in it->saved_face_id for displaying the ellipsis, and ignore
the face, if any, of the invisible text.  (Bug#22320)
2016-01-08 12:12:53 +02:00
Eli Zaretskii
056da45d2c ; Improve commentary in 'setup_for_ellipsis'
* src/xdisp.c (setup_for_ellipsis): Improve commentary for when we
reset the ellipsis face to the default face.
2016-01-07 18:45:42 +02:00
Eli Zaretskii
c632466284 Obey coding-system-for-write when writing stdout/stderr in batch
* src/print.c (printchar_to_stream):
* src/xdisp.c (message_to_stderr): If coding-system-for-write has
a non-nil value, use it to encode output in preference to
locale-coding-system.  See the discussions in
http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00048.html
for the details.

* doc/lispref/os.texi (Terminal Output): Document how to send
non-ASCII text via 'send-string-to-terminal'.
(Batch Mode): Document how text written to standard streams is
encoded.  Fix inaccuracy regarding which output streams are used
by output functions in batch mode.
2016-01-06 20:25:45 +02:00
Paul Eggert
d400753a0d * src/buffer.c: Stick with ASCII in doc string. 2016-01-05 09:18:47 -08:00
Paul Eggert
221240c925 Reword transient-mark-mode doc string
* src/buffer.c (syms_of_buffer): Reword doc string to avoid confusion.
The value 'lambda (literally) can be interpreted as (quote lambda),
which is not intended here; we want just the lambda symbol.
2016-01-05 09:02:31 -08:00
Eli Zaretskii
977d3eabe3 Update doc string of 'selective-display'
* src/buffer.c (syms_of_buffer) <selective-display>: Say that
using it with the value of 't' is obsolete.  (Bug#1092)
2016-01-05 17:49:50 +02:00
Eli Zaretskii
0d9e80d79d Fix a doc string of 'transient-mark-mode'
* src/buffer.c (syms_of_buffer) <transient-mark-mode>: Prevent
"lambda" in doc string from becoming a link to lambda expressions.
2016-01-04 18:58:20 +02:00
Paul Eggert
e79b06e6de Avoid stdio in SIGINT handler
* admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/ignore-value.h: New file, from gnulib.
* src/keyboard.c: Include it.
(write_stdout, read_stdin): New functions.
(handle_interrupt): Use them instead of printf and getchar,
and avoid fflush when handling signals.
2016-01-03 15:04:07 -08:00
Anders Lindgren
55a28d8a1b ; Fixed visual bell artifact problem on NextStep.
* src/nsterm.m (EmacsBell): Add feature to remove visual bell
  unconditionally.
  (hide_bell): New function.
  (ns_copy_bits): Hide visible bell before scrolling the frame content.
2016-01-02 15:54:01 +01:00