Phillip Lord [Fri, 17 Jun 2016 21:34:50 +0000 (22:34 +0100)]
Ensure undo-boundary after all commands
* lisp/simple.el (undo-auto--boundaries): Ensure an undo-boundary after
every command whether it (apparently) changes the buffer or not.
See Bug#23785 for discussion.
Eli Zaretskii [Tue, 21 Jun 2016 13:14:10 +0000 (16:14 +0300)]
Fix vertical layout calculations when newline has line-height property
* src/xdisp.c (move_it_in_display_line_to): Reset the iterator's
'constrain_row_ascent_descent_p' flag after processing the
newline, similar to what 'display_line' does. Without this, the
flag remains set once set by x_produce_glyphs, and causes the
vertical layout calculations to go awry, because Emacs thinks the
screen lines have zero height. (Bug#23850)
Ken Brown [Tue, 21 Jun 2016 03:05:12 +0000 (23:05 -0400)]
Fix compiler warnings in Cygwin-w32 build
* src/conf_post.h (DebPrint) [!EMACSDEBUG]: Add empty do-while
loop to avoid compiler warnings about empty body of 'if'
statement.
* src/image.c [HAVE_NTGUI] (DefaultDepthOfScreen): Disable unused
macro.
(x_create_bitmap_from_data): Declare 'frame'.
(x_create_bitmap_from_file): Don't declare unused variable
'dpyinfo'.
* src/lisp.h (AUTO_STRING_WITH_LEN): Avoid initialization to
prevent "jump-misses-init" compiler warnings.
* src/w32fns.c (check_w32_winkey_state): Define and use only if
WINDOWSNT.
(Fx_show_tip): Declare 'f'.
(Fx_file_dialog): Declare 'filter_a' only if not NTGUI_UNICODE.
(w32_strerror): Use format specifier %d for sprintf argument of
type int.
(emacs_abort): Cast sprintf argument of type DWORD to unsigned
int, and use format specifier %x, for compatibility with Cygwin.
(unicode_append_menu) [NTGUI_UNICODE]:
* src/w32menu.c [NTGUI_UNICODE] (get_menu_item_info)
(set_menu_item_info, unicode_append_menu)
(unicode_message_box):
* src/menu.c [NTGUI_UNICODE] (unicode_append_menu): Define as
functions rather than macros to avoid "address will always
evaluate as true" compiler warnings.
* src/w32font.c (w32_to_x_charset): Use format specifier %d for
sprintf argument of type int.
* src/w32term.c (x_draw_glyphless_glyph_string_foreground): Cast
sprintf argument of type int to unsigned int to match %X format
specifier.
(w32_scroll_bar_handle_click):
(w32_horizontal_scroll_bar_handle_click): Declare 'f'.
* src/w32term.h (FRAME_DISPLAY_INFO): Explicitly discard unused
argument.
Ken Brown [Mon, 20 Jun 2016 21:54:23 +0000 (17:54 -0400)]
Fix compiler warnings in no-window-system-build
* src/composite.c (autocmp_chars): Declare and set 'f' only if
HAVE_WINDOW_SYSTEM.
* src/dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P)
(FACE_FOR_CHAR): Explicitly discard unused arguments.
* src/font.c (font_open_entity): Declare 'min_width' where it is
first set, and only if HAVE_WINDOW_SYSTEM.
* src/frame.c [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame):
Define _Noreturn version to avoid "suggest attribute noreturn"
compiler warning.
(check_window_system): Declare as _Noreturn.
(Ficonify_frame):
(Fset_frame_position): Don’t declare and set 'f'.
* src/frame.h [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame)
(check_window_system): Add _Noreturn prototypes.
(FRAME_FRINGE_COLS, FRAME_TOTAL_FRINGE_WIDTH)
(FRAME_LEFT_FRINGE_WIDTH, FRAME_RIGHT_FRINGE_WIDTH)
(FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
(FRAME_BOTTOM_DIVIDER_WIDTH): Explicitly discard unused argument.
* src/xdisp.c (handle_single_display_spec): Declare
'fringe_bitmap' only if HAVE_WINDOW_SYSTEM.
(append_space_for_newline): Declare 'g' where it is first set.
(Fmove_point_visually): Declare and set 'target_is_eol_p' only if
HAVE_WINDOW_SYSTEM.
(show_mouse_face): Declare and set 'f' and 'phys_cursor_on_p' only
if HAVE_WINDOW_SYSTEM.
(note_mode_line_or_margin_highlight):
(note_mouse_highlight): Declare and set 'cursor' and 'pointer'
only if HAVE_WINDOW_SYSTEM.
* src/xfaces.c (realize_default_face): Declare and set 'face' only
if HAVE_X_WINDOWS. Remove redundant #ifdef.
Michael Albinus [Mon, 20 Jun 2016 13:05:52 +0000 (15:05 +0200)]
; Simplify in filenotify-tests.el
Michael Albinus [Mon, 20 Jun 2016 12:41:41 +0000 (14:41 +0200)]
Weaken test conditions in filenotify-tests.el
* test/lisp/filenotify-tests.el (file-notify--test-with-events):
Fix thinko in test.
(file-notify-test02-events, file-notify-test04-file-validity)
(file-notify-test07-backup)
(file-notify-test08-watched-file-in-watched-dir): Make test
conditions more weak. (Bug#23618)
Paul Eggert [Mon, 20 Jun 2016 00:05:39 +0000 (02:05 +0200)]
Minor ABLOCKS_BUSY cleanups in alloc.c
* src/alloc.c (ABLOCKS_BUSY): Rename arg to avoid potential clash
with member ‘abase’ in definiens.
(lisp_align_malloc, lisp_align_free): Use bool for boolean.
Avoid compiler warning with fewer casts.
(lisp_align_free): Check busy-field values; this can help the
compiler a bit when optimizing, too.
Dmitry Gutov [Sun, 19 Jun 2016 19:08:21 +0000 (22:08 +0300)]
ASCII-fy coding-system-for-read used for Git commands
* lisp/vc/vc-git.el (vc-git--asciify-coding-system):
New function.
(vc-git-diff, vc-git-annotate-command): Use it.
Dmitry Gutov [Sun, 19 Jun 2016 18:06:39 +0000 (21:06 +0300)]
Prohibit multibyte characters in url-http-data
It didn't work anyway, but this makes any such errors more obvious
by catching them earlier.
* lisp/url/url-http.el (url-http-create-request):
Use string-to-unibyte (bug#23750).
Eli Zaretskii [Sun, 19 Jun 2016 15:25:17 +0000 (18:25 +0300)]
Fix setting a range of char-table slots in a singular case
* src/chartab.c (char_table_set_range): Start the loop from the
first character of the block to which FROM belongs. (Bug#23797)
* test/src/chartab-tests.el: New test file.
Alan Mackenzie [Sun, 19 Jun 2016 12:06:24 +0000 (12:06 +0000)]
Fix CC Mode fontification problem apparent in test file decls-6.cc.
* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Recognize
"bar (gnu);" as a declarator only when the construct is directly inside a
class (etc.) called "bar".
(c-directly-in-class-called-p): New function.
Alan Mackenzie [Sun, 19 Jun 2016 11:25:07 +0000 (11:25 +0000)]
c-renarrow-state-cache: take care when new point is inside old brace pair.
Also add display of point-min to the c-parse-state debugging output.
* lisp/progmodes/cc-engine.el (c-renarrow-state-cache): When the new
point is inside an old recorded brace pair, clear the cache.
(c-debug-parse-state): Output the value of point-min.
Paul Eggert [Sat, 18 Jun 2016 23:07:55 +0000 (01:07 +0200)]
Rename ALIGN to pointer_align
* src/alloc.c (pointer_align): Rename from ALIGN.
This fixes Bug#23764 in a simpler way.
Paul Eggert [Sat, 18 Jun 2016 22:54:28 +0000 (00:54 +0200)]
Merge from origin/emacs-25
d1efbaf Fix documentation of completion functions
65c96cc Clarify documentation of 'font-lock-maximum-decoration'
2ad3d01 * doc/misc/cl.texi (Usage): Add some more details.
b49cb0a Fbackward_prefix_chars: stay within buffer bounds
Paul Eggert [Sat, 18 Jun 2016 22:54:28 +0000 (00:54 +0200)]
; Merge from origin/emacs-25
The following commit was skipped:
d765175 Fix ifdef-vs-if typo with RANDR13_LIBRARY
Paul Eggert [Sat, 18 Jun 2016 22:53:51 +0000 (00:53 +0200)]
Merge from origin/emacs-25
2317c61 Fix last todo-mode change
5d4d8a3 Improve last todo-mode fix
d7084f2 Fix todo-mode use of minibuffer completion keymap (bug#23695).
27dec52 * src/alloc.c (ALIGN): Avoid error on DragonFly BSD. (Bug#23...
f526191 * lisp/emacs-lisp/nadvice.el (advice--make-docstring): Avoid ...
e881070 * lisp/help-fns.el (describe-function-1): Avoid reporting adv...
d308aa1 Minor grammar fix (bug#23746)
20de667 Doc fixes for grammar and typos (bug#23746)
a67a4e5 * doc/lispref/processes.texi (Process Buffers): Minor rewordi...
27f440e Add cross-reference to ELisp manual
10802d8 ; make change-history-commit
4b2d77d * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Fix (bu...
12e009e Restore initial undo boundary with viper
291fe0a Revert "Fix viper undo breakage from undo-boundary changes"
6921f4a Fix dbus crash on 32-bit Cygwin
Paul Eggert [Sat, 18 Jun 2016 22:47:01 +0000 (00:47 +0200)]
; Merge from origin/emacs-25
The following commit was skipped:
e18ee60 Bump version to 25.0.95
Paul Eggert [Sat, 18 Jun 2016 22:47:00 +0000 (00:47 +0200)]
Merge from origin/emacs-25
9ae514a * etc/AUTHORS: Update the AUTHORS file
3ca428e add entries to authors.el
66d556b Fix eldoc-related freezes in python mode
d59bcbc Handle mouse leaving initial window in `mouse-set-region' (Bu...
27fe1e4 org.el: Fix bindings of < and > for calendar scrolling
a813487 Fix undo boundary in recursive edit (Bug#23632)
1f85b7c Doc fixes re alist-get. (Bug#23548)
ba3f206 * lisp/progmodes/python.el (inferior-python-mode): Avoid tabs...
56fa055 * src/syntax.c (syms_of_syntax) <comment-end-can-be-escaped>:...
4c1370a * lisp/help-fns.el (describe-function-1): Fix handling of fil...
a3f7ae8 * lisp/emacs-lisp/cl-macs.el (cl-loop): Doc fix re "by".
601b9b2 * doc/misc/cl.texi (Mapping over Sequences): Fix cl-notevery.
Noam Postavsky [Wed, 8 Jun 2016 03:37:05 +0000 (23:37 -0400)]
Fix documentation of completion functions
So that the described behavior matches the code (and docstrings).
* doc/lispref/minibuf.texi (Basic Completion): Symbol keys of hash table
collections are used like string keys, not ignored (Bug #10416).
Eli Zaretskii [Sat, 18 Jun 2016 09:50:57 +0000 (12:50 +0300)]
Clarify documentation of 'font-lock-maximum-decoration'
* doc/emacs/display.texi (Font Lock): Explain how to make the
customization of 'font-lock-maximum-decoration' effective for an
existing buffer. (Bug#23783)
Nicolas Petton [Sat, 18 Jun 2016 08:09:16 +0000 (10:09 +0200)]
* lisp/emacs-lisp/map.el (map-contains-key): Better docstring
Nicolas Petton [Sat, 18 Jun 2016 08:07:26 +0000 (10:07 +0200)]
Fix seq-contains
Make sure seq-contains return the element of the sequence instead of t.
* lisp/emacs-lisp/seq.el (seq-contains): Fix the function.
* test/lisp/emacs-lisp/seq-tests.el: Add a regression test.
Nicolas Petton [Sat, 18 Jun 2016 07:42:09 +0000 (09:42 +0200)]
Add new function map-do
* lisp/emacs-lisp/map.el (map-do, map--do-alist, map--do-array): New
functions.
* test/lisp/emacs-lisp/map-tests.el: Add a unit test for map-do.
Nicolas Petton [Sat, 18 Jun 2016 07:32:18 +0000 (09:32 +0200)]
Add seq-do-indexed
* lisp/emacs-lisp/seq.el (seq-do-indexed): New function.
* test/lisp/emacs-lisp/seq-tests.el: Add a unit test for seq-do-indexed.
Stefan Monnier [Sat, 18 Jun 2016 04:52:58 +0000 (00:52 -0400)]
map.el (map-merge*): Use `map-into' at beginning rather than end
* lisp/emacs-lisp/map.el (map-merge): Use `map-into' for the first map,
and don't use of an intermediate alist.
(map-merge-with): Same, plus use `cl-callf' to try and avoid performing
3 lookups per inner iteration.
Glenn Morris [Fri, 17 Jun 2016 16:55:06 +0000 (12:55 -0400)]
* doc/misc/cl.texi (Usage): Add some more details.
Noam Postavsky [Sat, 4 Jun 2016 13:02:20 +0000 (09:02 -0400)]
Fbackward_prefix_chars: stay within buffer bounds
The commit
1fd3172d "(Fbackward_prefix_chars): Set point properly while
scanning" (1998-03-18), moved the check against of the position against the
buffer beginning out the loop condition so that we might end up checking
the syntax of characters before the beginning of the buffer. This can
cause segfaults or trigger a "Point before start of properties" error in
`update_interval' (called indirectly from `char_quoted').
* src/syntax.c (Fbackward_prefix_chars): Stop the loop when beginning of
buffer is reached (Bug #3552, Bug #17132, Bug #19379).
Mark Oteiza [Thu, 16 Jun 2016 23:57:39 +0000 (19:57 -0400)]
* lisp/window.el (switch-to-buffer-preserve-window-point): Bump :version.
Paul Eggert [Wed, 15 Jun 2016 05:40:18 +0000 (22:40 -0700)]
Fix ifdef-vs-if typo with RANDR13_LIBRARY
* src/xfns.c (x_get_monitor_attributes_xrandr): Use #if, not #ifdef.
This ports to systems that predate xrandr 1.3. See Christian Lynbech in:
http://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00198.html
(cherry picked from commit
dce99f222f1ca33265cd56ddb157817be1dc078e)
Stephen Berman [Thu, 16 Jun 2016 09:05:36 +0000 (11:05 +0200)]
Fix last todo-mode change
* lisp/calendar/todo-mode.el (todo-read-category): Return the
keymap in order to use its defined key bindings.
Alan Mackenzie [Wed, 15 Jun 2016 22:06:14 +0000 (22:06 +0000)]
Speed up CC Mode's font locking by taking some code out of a hot loop.
* lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove code which
tests for bare declarators.
(c-font-lock-cut-off-declarators): New function.
(c-complex-decl-matchers): insert c-font-lock-cut-off-declarators.
Stephen Berman [Wed, 15 Jun 2016 18:08:16 +0000 (20:08 +0200)]
Improve last todo-mode fix
* lisp/calendar/todo-mode.el (todo-read-category): Use
set-keymap-parent instead of copy-keymap, and default (as
previously) to the global binding (for rationale, see
http://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00217.html).
Stefan Monnier [Wed, 15 Jun 2016 17:21:59 +0000 (13:21 -0400)]
Automatically find vars and functions via definition-prefixes
* lisp/help-fns.el (help-definition-prefixes): New var and function.
(help--loaded-p, help--load-prefixes, help--symbol-completion-table):
New functions.
(describe-function, describe-variable): Use them.
* lisp/emacs-lisp/radix-tree.el (radix-tree--prefixes)
(radix-tree-prefixes, radix-tree-from-map): New functions.
Michal Nazarewicz [Tue, 7 Jun 2016 12:05:36 +0000 (14:05 +0200)]
Automatically detect whether .h file is C or C++
* lisp/progmodes/cc-mode.el (c-or-c++-mode): A new function which
analyses contents of the buffer to determine whether it looks like C++
source code and based on that enables c-mode or c++-mode.
(c-or-c++-mode--regexp): Regular expression which, when matches
a buffer, signals file is C++.
Alan Mackenzie [Wed, 15 Jun 2016 15:57:37 +0000 (15:57 +0000)]
Parse compound identifiers in C++ member initialization lists.
* lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): New function.
(c-back-over-member-initializer-braces, c-back-over-list-of-member-inits)
(c-back-over-member-initializers): Call c-back-over-compound-identifier rather
than c-simple-skip-symbol-backward.
Stefan Monnier [Wed, 15 Jun 2016 15:36:51 +0000 (11:36 -0400)]
Advertize set-keymap-parent as replacement for copy-keymap
* doc/lispref/keymaps.texi (Creating Keymaps):
* src/keymap.c (Fcopy_keymap): Advertize set-keymap-parent as replacement.
Ted Zlatanov [Wed, 15 Jun 2016 14:18:31 +0000 (10:18 -0400)]
* generic-x.el (ansible-inventory-generic-mode): Warn if value is missing
Tim Chambers [Sun, 12 Jun 2016 05:13:40 +0000 (23:13 -0600)]
Add new ansible-inventory-generic-mode (Bug#23762)
* lisp/generic-x.el (ansible-inventory-generic-mode): Add new mode.
Copyright-paperwork-exempt: yes
Paul Eggert [Wed, 15 Jun 2016 05:40:18 +0000 (22:40 -0700)]
Fix ifdef-vs-if typo with RANDR13_LIBRARY
* src/xfns.c (x_get_monitor_attributes_xrandr): Use #if, not #ifdef.
This ports to systems that predate xrandr 1.3. See Christian Lynbech in:
http://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00198.html
Stephen Berman [Tue, 14 Jun 2016 21:43:20 +0000 (23:43 +0200)]
Fix todo-mode use of minibuffer completion keymap (bug#23695).
* lisp/calendar/todo-mode.el (todo-read-category): Don't
override minibuffer-local-completion-map globally (bug#23695).
Bind <SPC> key to self-insert-command.
Paul Eggert [Tue, 14 Jun 2016 19:19:36 +0000 (12:19 -0700)]
Port to platforms where char * has top bit set
This fixes a five-year-old FIXME comment. Although I don’t know
of a platform where this is a problem in practice, better safe
than sorry.
* src/doc.c (Fdocumentation): If SUBRP, simply use doc as integer,
as it is now an integer, not char *.
(store_function_docstring): Offset is now EMACS_INT, not ptrdiff_t;
this is a file offset and EMACS_INT is better if --with-wide-int.
If SUBRP, simply store the offset rather than negating it and
converting it to char *.
* src/lisp.h (struct Lisp_Subr.doc): Now EMACS_INT, not char *.
Paul Eggert [Tue, 14 Jun 2016 18:46:30 +0000 (11:46 -0700)]
Remove recursion from store_function_docstring
* src/doc.c (store_function_docstring):
Refactor to avoid the need for C-level recursion.
Ken Brown [Tue, 14 Jun 2016 13:50:38 +0000 (09:50 -0400)]
Remove system-specific -I switch from Cygwin-w32 build
Suggested by Eli Zaretskii in discussion of bug#18302.
* src/image.c [HAVE_NTGUI]: Remove the unused macro
PIXEL_ALREADY_TYPEDEFED. On Cygwin, include "noX/xpm.h" instead of
"X11/xpm.h".
* configure.ac [CYGWIN && HAVE_W32]: Change the xpm test to use
"noX/xpm.h". Don't add a -I switch to CPPFLAGS.
Glenn Morris [Tue, 14 Jun 2016 17:39:30 +0000 (13:39 -0400)]
* src/alloc.c (ALIGN): Avoid error on DragonFly BSD. (Bug#23764)
Noam Postavsky [Sat, 4 Jun 2016 17:32:50 +0000 (13:32 -0400)]
Make python.el work in Emacs 24
* lisp/progmodes/python.el: Bump version.
(python-define-auxiliary-skeleton): Only use format-message if
fbound (Bug#23126).
Ken Brown [Mon, 13 Jun 2016 23:26:05 +0000 (19:26 -0400)]
Avoid compiler warning
* src/w32fns.c (deliver_wm_chars): Add 'const' to declaration of
'type_CtrlAlt'.
Glenn Morris [Mon, 13 Jun 2016 22:18:34 +0000 (18:18 -0400)]
* lisp/emacs-lisp/nadvice.el (advice--make-docstring):
Avoid mangling autoloads with unspecified arguments. (Bug#21299)
Paul Eggert [Mon, 13 Jun 2016 21:50:08 +0000 (14:50 -0700)]
Call tzset after setting TZ
* src/editfns.c (tzlookup): Call tzset after setting TZ, so that
the setting change propagates into Emacs local time (Bug#23600).
(emacs_setenv_TZ): Clarify comments.
Glenn Morris [Mon, 13 Jun 2016 17:14:35 +0000 (13:14 -0400)]
* lisp/help-fns.el (describe-function-1): Avoid reporting advised
autoloads as aliases. (Bug#21299)
Paul Eggert [Mon, 13 Jun 2016 17:04:11 +0000 (10:04 -0700)]
Update texinfo.tex
* doc/misc/texinfo.tex: Update from gnulib.
Stephen Berman [Mon, 13 Jun 2016 16:20:43 +0000 (18:20 +0200)]
Minor grammar fix (bug#23746)
* doc/lispref/processes.texi (Synchronous Processes):
Another minor grammar fix (bug#23746).
Stephen Berman [Mon, 13 Jun 2016 16:08:22 +0000 (18:08 +0200)]
Doc fixes for grammar and typos (bug#23746)
* doc/emacs/files.texi (Customize Save):
* doc/emacs/frames.texi (Window Dividers):
* doc/emacs/misc.texi (Printing):
* doc/lispref/compile.texi (Compiler Errors):
* doc/lispref/keymaps.texi (Changing Key Bindings):
* doc/lispref/loading.texi (Named Features):
* doc/lispref/markers.texi (Marker Insertion Types):
* doc/lispref/modes.texi (Mode Hooks):
* doc/lispref/text.texi (Undo):
* src/floatfns.c (Fldexp):
* src/xfaces.c (syms_of_xfaces):
Minor doc fixes for grammar and typos (bug#23746).
Eli Zaretskii [Mon, 13 Jun 2016 15:00:34 +0000 (18:00 +0300)]
* doc/lispref/processes.texi (Process Buffers): Minor rewording. (Bug#23446)
Eli Zaretskii [Mon, 13 Jun 2016 14:25:08 +0000 (17:25 +0300)]
Add cross-reference to ELisp manual
* doc/lispref/commands.texi (Classifying Events): Add
cross-reference to "Motion Events". (Bug#23756)
Paul Eggert [Sun, 12 Jun 2016 17:31:25 +0000 (10:31 -0700)]
New macro GNUC_PREREQ for GCC version
* src/conf_post.h (GNUC_PREREQ): New macro.
Change uses of __GNUC_MINOR__ and __GNUC_PATCHLEVEL__ to use this
macro instead, for clarity and consistency.
(PRINTF_ARCHETYPE): New macro. Define it to __gnu_printf__ only
if glibc, since non-GNU platforms don’t necessarily support GNU
printf formats.
(ATTRIBUTE_FORMAT_PRINTF): Use it.
Glenn Morris [Sun, 12 Jun 2016 17:07:11 +0000 (13:07 -0400)]
; make change-history-commit
Nicolas Petton [Sun, 12 Jun 2016 10:37:16 +0000 (12:37 +0200)]
* lisp/emacs-lisp/seq.el (seq-drop): Better list implementation
Eli Zaretskii [Sun, 12 Jun 2016 08:30:14 +0000 (11:30 +0300)]
Fix printf-related compilation warnings on MinGW
* src/conf_post.h (ATTRIBUTE_FORMAT_PRINTF) [__MINGW32__]: Use
'__ms_printf__', not '__gnu_printf__', as the latter is not what
MS 'printf' supports, and causes bogus compilation warnings.
* src/lisp.h (pI) [__MINGW32__]: Define to "I64", as MS 'printf'
doesn't support the "ll" modifier.
Paul Eggert [Sun, 12 Jun 2016 06:48:13 +0000 (23:48 -0700)]
emacs_strerror cleanups
* src/buffer.c, src/emacs.c, src/lread.c: Don’t include coding.h;
no longer needed, now that emacs_strerror is declared by lisp.h.
* src/coding.c (emacs_strerror): Remove; moved to emacs.c.
* src/coding.h (emacs_strerror) [emacs]: Remove decl; moved
to lisp.h.
* src/emacs.c (emacs_strerror): Move here from coding.c. Do not
convert result string; this is now the caller’s responsibility,
as some need conversion and others don’t.
* src/fileio.c (report_file_errno, report_file_notify_error):
Use emacs_strerror rather than rolling it ourselves.
* src/lisp.h (emacs_strerror): Move decl here from coding.h.
* src/lread.c (dir_warning): Just call emacs_strerror rather than
both strerror and emacs_strerror. Convert its result from
locale-coding-system, since it no longer does that conversion.
* src/sound.c (sound_perror):
* src/sysdep.c (emacs_perror, str_collate):
Use emacs_strerror, not strerror.
Stefan Monnier [Sat, 11 Jun 2016 21:38:11 +0000 (17:38 -0400)]
* lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Fix (bug#19704)
Don't rewrite (funcall 'f ...) to (f ...).
Phillip Lord [Fri, 10 Jun 2016 21:59:55 +0000 (22:59 +0100)]
Restore initial undo boundary with viper
* lisp/emulation/viper-cmd.el (viper-adjust-undo): Add back last undo
boundary if it has been removed.
Addresses Bug#22295.
Phillip Lord [Fri, 10 Jun 2016 21:30:49 +0000 (22:30 +0100)]
Revert "Fix viper undo breakage from undo-boundary changes"
This reverts commit
c0139e32f1f3bb287b04e02a69a7848d6a040003.
Ken Brown [Sat, 11 Jun 2016 12:31:27 +0000 (08:31 -0400)]
Fix dbus crash on 32-bit Cygwin
* src/dbusbind.c (Fdbus__init_bus): Use make_save_pointer to store
connection address. (Bug#23741)
(xd_lisp_dbus_to_dbus): Use XSAVE_POINTER to retrieve connection
address.
David Reitter [Sat, 11 Jun 2016 01:58:20 +0000 (11:58 +1000)]
Prevent compiler warning for unused arguments
* lisp/international/ucs-normalize.el
(ucs-normalize-hfs-nfd-pre-write-conversion):
Prevent compiler warning for unused arguments, add coment.
Paul Eggert [Sat, 11 Jun 2016 00:18:24 +0000 (17:18 -0700)]
Catch malloc_get_state, malloc_set_state failure
This should help insulate Emacs better from configuration screwups.
Future versions of the GNU C library are planned to deprecate
these functions, but will continue to support them in
already-built-and-dumped Emacs executables.
* src/alloc.c (malloc_initialize_hook) [DOUG_LEA_MALLOC]:
Abort if malloc_set_state fails.
(alloc_unexec_pre) [DOUG_LEA_MALLOC]:
Report malloc_get_state failure, and exit.
Nicolas Petton [Fri, 10 Jun 2016 22:24:29 +0000 (00:24 +0200)]
Bump version to 25.0.95
* README:
* configure.ac:
* lisp/ldefs-boot.el:
* msdos/sed2v2.inp: Bump Emacs version to 25.0.95.
Nicolas Petton [Fri, 10 Jun 2016 22:24:21 +0000 (00:24 +0200)]
* etc/AUTHORS: Update the AUTHORS file
Nicolas Petton [Fri, 10 Jun 2016 22:04:58 +0000 (00:04 +0200)]
add entries to authors.el
* admin/authors.el (authors-renamed-files-alist): Add char-fold files.
Jules Tamagnan [Fri, 10 Jun 2016 09:08:29 +0000 (12:08 +0300)]
Fix eldoc-related freezes in python mode
* lisp/progmodes/python.el (python-eldoc-get-doc): New defvar.
(python-eldoc-function-timeout)
(python-eldoc-function-timeout-permanent): New defcustoms.
(python-eldoc-function): If python-eldoc--get-doc-at-point times
out, effectively turn off ElDoc in current buffer. (Bug#23609)
Eli Zaretskii [Fri, 10 Jun 2016 08:57:17 +0000 (11:57 +0300)]
Show returned value after gdb-mi "finish" command
* lisp/progmodes/gdb-mi.el (gdb-stopped): Display the expected
"Value returned" message in response to "finish", when not
produced by GDB/MI. (Bug#23720)
David Reitter [Fri, 10 Jun 2016 07:58:41 +0000 (17:58 +1000)]
Simplify pre-write-conversion for utf-8-hfs coding system
* lisp/international/ucs-normalize.el
(ucs-normalize-hfs-nfd-pre-write-conversion): Refactor.
May address an issue where Emacs consumed large amounts of CPU
because of neverending toolbar updating (which was caused
by, but also called this function).
Martin Rudalics [Fri, 10 Jun 2016 06:22:16 +0000 (08:22 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Martin Rudalics [Fri, 10 Jun 2016 06:21:33 +0000 (08:21 +0200)]
Revert "Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2"
* lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
to mouse-1/-2 instead of down-mouse-1/-2. Suggested by Stefan
Monnier. (Bug#19185, Bug#20398)
This reverts commit
72166f2f3dba18f1217c666574032f5a0351ed65.
That commit did more harm than good (Bug#23571).
Paul Eggert [Fri, 10 Jun 2016 06:15:41 +0000 (23:15 -0700)]
Port __builtin_assume_aligned to Sun C 5.13
* src/conf_post.h (__builtin_assume_aligned):
Fix typo: the extra arg did not conform to C99.
Paul Eggert [Fri, 10 Jun 2016 06:11:40 +0000 (23:11 -0700)]
Prefer getsockopt to getpeername on non-MS-Windows
* admin/CPP-DEFINES: Remove HAVE_GETPEERNAME.
* configure.ac: Don’t check for getpeername.
* src/process.c (wait_reading_process_output) [!WINDOWSNT]:
Use getsockopt even if not GNU/Linux, as the platforms where
getsockopt used to hang are no doubt long dead.
Paul Eggert [Fri, 10 Jun 2016 04:58:16 +0000 (21:58 -0700)]
Fix XFASTINT of non-fixnum in process status
* src/process.c (decode_status): 3rd arg is now Lisp_Object *,
not int *, and is not decoded. All uses changed.
(status_message): Do not assume ‘failed’ code is an integer.
* src/process.h: Document codes better.
Glenn Morris [Fri, 10 Jun 2016 04:55:02 +0000 (00:55 -0400)]
; Refer to version 25.2 rather than 26.1.
; I hope the next release from master is indeed 26.1, but for reasons
; that passeth my understanding we currently call it 25.2 everywhere else,
; so we should at least be consistent.
Glenn Morris [Fri, 10 Jun 2016 04:28:16 +0000 (21:28 -0700)]
Make messcompat.el obsolete.
* lisp/obsolete/messcompat.el: Move here from lisp/gnus.
* doc/misc/message.texi (Compatibility): Remove section.
Glenn Morris [Fri, 10 Jun 2016 04:23:33 +0000 (00:23 -0400)]
Leading "*" in the doc of defvars is long obsolete.
* lisp/plstore.el (plstore-encrypt-to):
* lisp/cedet/semantic/lex-spp.el
(semantic-lex-spp-macro-max-length-to-save):
* lisp/cedet/semantic/symref.el (semantic-symref-tool):
* lisp/cedet/semantic/bovine/el.el
(semantic-elisp-store-documentation-in-tag):
* lisp/cedet/semantic/wisent/comp.el (wisent-verbose-flag)
(wisent-expected-conflicts):
* lisp/cedet/semantic/wisent/wisent.el (wisent-parse-verbose-flag):
* lisp/gnus/gnus-agent.el (gnus-category-menu-hook):
* lisp/gnus/gnus-group.el (gnus-group-listing-limit):
* lisp/gnus/gnus-srvr.el (gnus-server-menu-hook)
(gnus-browse-menu-hook):
* lisp/gnus/message.el (message-shoot-gnksa-feet):
* lisp/gnus/mm-decode.el (mm-path-name-rewrite-functions):
* lisp/gnus/mm-util.el (mm-extra-numeric-entities):
* lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
* lisp/gnus/mml.el (mml-generate-multipart-alist):
* lisp/gnus/nndraft.el (nndraft-required-headers):
* lisp/gnus/nnheader.el (nnheader-max-head-length)
(nnheader-head-chop-length, nnheader-file-name-translation-alist)
(nnheader-directory-separator-character)
(nnheader-pathname-coding-system):
* lisp/gnus/nnmail.el (nnmail-pathname-coding-system)
(nnmail-active-file-coding-system):
* lisp/gnus/nnrss.el (nnrss-file-coding-system):
* lisp/gnus/nntp.el (nntp-record-commands):
* lisp/gnus/score-mode.el (gnus-score-edit-done-hook)
(gnus-score-mode-hook, gnus-score-menu-hook):
* lisp/mail/rfc2047.el (rfc2047-header-encoding-alist)
(rfc2047-allow-irregular-q-encoded-words)
(rfc2047-allow-incomplete-encoded-text):
* lisp/mh-e/mh-alias.el (mh-alias-system-aliases):
* lisp/mh-e/mh-e.el (mh-mail-header-separator, mh-x-mailer-string):
* lisp/mh-e/mh-scan.el (mh-scan-format-mh, mh-scan-format-nmh):
* lisp/net/pop3.el (pop3-password):
* lisp/play/animate.el (animate-n-steps):
* lisp/progmodes/cc-vars.el (c-old-style-variable-behavior):
Convert from defvar with leading * to defcustom.
; * lisp/cedet/semantic/lex.el: Comments.
* lisp/emulation/viper-init.el (viper-heading-end):
* lisp/gnus/mm-url.el (mm-url-html-entities):
* lisp/gnus/nnmaildir.el (nnmaildir-article-file-name):
* lisp/mh-e/mh-e.el (mh-invisible-header-fields-compiled):
* lisp/net/tramp-adb.el (tramp-adb-method): Remove leading * from doc.
* lisp/gnus/messcompat.el: Mark (pointless) file not for compilation.
(message-from-style, message-interactive, message-indentation-spaces)
(message-signature, message-signature-file):
Remove settings that match the defaults.
(message-setup-hook, message-mode-hook, message-default-headers)
(message-send-hook, message-send-mail-function):
Just use setq rather than redefining.
* lisp/gnus/nnrss.el (nnrss):
* lisp/mail/rfc2047.el (rfc2047):
* lisp/play/animate.el (animate): New custom groups.
Glenn Morris [Fri, 10 Jun 2016 00:13:12 +0000 (20:13 -0400)]
Remove obsolete leading * from defcustom,
defface doc strings.
* lisp/cedet/ede/linux.el, lisp/cedet/ede/project-am.el:
* lisp/cedet/ede/simple.el, lisp/cedet/semantic/bovine/c.el:
* lisp/cedet/semantic/complete.el, lisp/cedet/semantic/db.el:
* lisp/cedet/semantic/decorate/include.el:
* lisp/cedet/semantic/decorate/mode.el, lisp/cedet/semantic/format.el:
* lisp/cedet/semantic/ia.el, lisp/cedet/semantic/idle.el:
* lisp/cedet/semantic/imenu.el, lisp/cedet/semantic/lex-spp.el:
* lisp/cedet/semantic/mru-bookmark.el, lisp/cedet/semantic/sb.el:
* lisp/cedet/srecode/fields.el, lisp/ecomplete.el:
* lisp/gnus/gnus-agent.el, lisp/gnus/gnus-art.el:
* lisp/gnus/gnus-async.el, lisp/gnus/gnus-cache.el:
* lisp/gnus/gnus-cite.el, lisp/gnus/gnus-delay.el:
* lisp/gnus/gnus-diary.el, lisp/gnus/gnus-dup.el:
* lisp/gnus/gnus-fun.el, lisp/gnus/gnus-group.el:
* lisp/gnus/gnus-kill.el, lisp/gnus/gnus-msg.el:
* lisp/gnus/gnus-picon.el, lisp/gnus/gnus-salt.el:
* lisp/gnus/gnus-score.el, lisp/gnus/gnus-start.el:
* lisp/gnus/gnus-sum.el, lisp/gnus/gnus-topic.el:
* lisp/gnus/gnus-util.el, lisp/gnus/gnus-uu.el, lisp/gnus/gnus-win.el:
* lisp/gnus/gnus.el, lisp/gnus/mail-source.el, lisp/gnus/message.el:
* lisp/gnus/mm-url.el, lisp/gnus/mm-uu.el, lisp/gnus/mml.el:
* lisp/gnus/nndiary.el, lisp/gnus/nnir.el, lisp/gnus/nnmail.el:
* lisp/gnus/smiley.el, lisp/gnus/smime.el, lisp/mail/mail-extr.el:
* lisp/mh-e/mh-e.el, lisp/net/mailcap.el, lisp/net/pop3.el:
* lisp/net/starttls.el, lisp/progmodes/cc-vars.el:
* lisp/progmodes/cperl-mode.el, test/manual/cedet/tests/test.el:
Remove obsolete leading * from defcustom,
defface doc strings.
Eli Zaretskii [Thu, 9 Jun 2016 13:52:08 +0000 (16:52 +0300)]
Fix copying text properties by 'format'
* src/editfns.c (styled_format): Fix copying text properties from
the format specification to the produced string representation.
(Bug#23730)
(Fformat) Doc fix.
* doc/lispref/strings.texi (Formatting Strings): Document that
text properties from the format specifiers are also copied to the
produced string.
Alan Mackenzie [Thu, 9 Jun 2016 12:24:27 +0000 (12:24 +0000)]
Handle C++ raw strings.
* lisp/progmodes/cc-engine.el (c-raw-string-pos, c-depropertize-raw-string)
(c-depropertize-raw-strings-in-region,
c-before-change-check-raw-strings)
(c-propertize-raw-string-opener, c-after-change-re-mark-raw-strings): New
functions.
* lisp/progmodes/cc-fonts.el (c-basic-matchers-before): Insert a clause for
c-font-lock-raw-strings.
(c-font-lock-raw-strings): New function.
* lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Insert
c-before-change-check-raw-strings into the C++ value, and c-depropertize-CPP
into the values for C, C++, and Objective C.
(c-before-font-lock-functions): Insert c-after-change-re-mark-raw-strings into
the C++ value.
* lisp/progmodes/cc-mode.el (c-old-BEG, c-old-END): New variables.
(c-depropertize-CPP): New function, extracted from
c-neutralize-syntax-in-and-mark-CPP.
(c-neutralize-syntax-in-and-mark-CPP): Remove the call to
c-clear-char-property-with-value for 'syntax-table value '(1) at the beginning
of the function.
(c-after-change): Set c-old-BEG and c-old-END to the current values of
c-new-BEG and c-new-END.
Daiki Ueno [Thu, 9 Jun 2016 08:30:00 +0000 (17:30 +0900)]
epg: don't use obsolete function
* lisp/epg.el (epg-sign-string, epg-encrypt-string): Remove
redundant configuration check, which is now done in
`epg-make-context'.
Daiki Ueno [Thu, 9 Jun 2016 08:23:38 +0000 (17:23 +0900)]
epg: don't start pinentry if it is useless
* lisp/epg.el (epg--start): Don't start pinentry server if the
session is non-interactive or pinentry-mode is set.
Martin Rudalics [Thu, 9 Jun 2016 08:12:48 +0000 (10:12 +0200)]
Handle mouse leaving initial window in `mouse-set-region' (Bug#23707)
* lisp/mouse.el (mouse-set-region): If the mouse ends up in
another window or on the menu bar, use `window-point' of
selected window instead of `posn-point' of the event end
(Bug#23707).
Marco Wahl [Wed, 8 Jun 2016 23:03:34 +0000 (16:03 -0700)]
org.el: Fix bindings of < and > for calendar scrolling
[This patch taken from upstream Org repo with
8b63dc9 dated
2014-10-20 (Bug#23725).]
* lisp/org/org.el (org-read-date-minibuffer-local-map):
Switch to the current calendar API for scrolling the calendar.
Phillip Lord [Mon, 6 Jun 2016 08:35:17 +0000 (09:35 +0100)]
Fix undo boundary in recursive edit (Bug#23632)
* src/keyboard.c (recursive_edit_1): specbind
undo-auto--undoably-changed-buffers.
* lisp/simple.el (undo-auto--undoably-changed-buffers):
fix docstring.
Paul Eggert [Wed, 8 Jun 2016 17:33:34 +0000 (10:33 -0700)]
Replace IF_LINT by NONVOLATILE and UNINIT
Inspired by a suggestion from RMS in: http://bugs.gnu.org/23640#58
* .dir-locals.el (c-mode): Adjust to macro changes.
* src/conf_post.h (NONVOLATILE, UNINIT): New macros (Bug#23640).
(IF_LINT): Remove. All uses replaced by the new macros.
Michal Nazarewicz [Tue, 7 Jun 2016 20:32:59 +0000 (22:32 +0200)]
Remove ‘ert-with-function-mocked’ macro in favour of ‘cl-letf’ macro
* lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): Remove macro
in favour of ‘cl-letf’ macro which is more generic. All existing
uses are migrated accordingly. The macro has not been included in
an official release yet so it should be fine to delete it.
Glenn Morris [Wed, 8 Jun 2016 16:47:08 +0000 (12:47 -0400)]
* test/lisp/emacs-lisp/package-tests.el
(package-test-update-archives-async): Try re-enabling on hydra.
Paul Eggert [Wed, 8 Jun 2016 07:35:51 +0000 (00:35 -0700)]
* src/fileio.c (auto_save_error): Omit unused local.
Paul Eggert [Wed, 8 Jun 2016 07:35:11 +0000 (00:35 -0700)]
Simplify overflow check via INT_SUBTRACT_WRAPV
* src/editfns.c (check_tm_member): Simplify integer overflow check.
Glenn Morris [Wed, 8 Jun 2016 03:50:35 +0000 (20:50 -0700)]
Try to avoid hangs and stray procs in network-stream-tests. (Bug#23560)
* test/lisp/net/network-stream-tests.el (connect-to-tls-ipv4-wait)
(connect-to-tls-ipv4-nowait, connect-to-tls-ipv6-nowait):
Ensure gnutls-serv process gets killed.
(echo-server-nowait, connect-to-tls-ipv4-nowait):
Limit the amount of time we might wait.
Glenn Morris [Wed, 8 Jun 2016 01:34:51 +0000 (21:34 -0400)]
Reduce allout.el's pollution of the namespace.
* lisp/allout.el (allout-set-regexp): Rename from set-allout-regexp.
Keep old name as obsolete alias.
(allout-produce-mode-menubar-entries, allout-nullify-prefix-data)
(allout-solicit-char-in-string)
(allout-count-trailing-whitespace-region, allout-regexp-sans-escapes):
Rename to add an "allout-" prefix.
Glenn Morris [Wed, 8 Jun 2016 01:31:08 +0000 (21:31 -0400)]
* configure.ac (emacs_config_features): Add CANNOT_DUMP.
Glenn Morris [Wed, 8 Jun 2016 01:29:30 +0000 (21:29 -0400)]
Misc small webjump updates.
* lisp/net/webjump.el (webjump): Add custom group.
(webjump-sample-sites): Make it a constant.
Remove explicit, old list of GNU ftp mirrors.
(webjump-state-to-postal-alist): Make it a constant.
(webjump-sites): Make it a defcustom.
(webjump-to-iwin): Update for changed remote service.
Glenn Morris [Wed, 8 Jun 2016 01:25:20 +0000 (21:25 -0400)]
Do not hard-code port for package test server. (Bug#23708)
* test/lisp/emacs-lisp/package-resources/package-test-server.py:
Do not hard-code port.
* test/lisp/emacs-lisp/package-tests.el (package-test-update-archives-async):
Update for the above change.
Tino Calancha [Wed, 8 Jun 2016 00:35:24 +0000 (20:35 -0400)]
* lisp/ibuffer.el (ibuffer): Improve 'other-window' case. (Bug#23617)
Glenn Morris [Tue, 7 Jun 2016 23:59:37 +0000 (19:59 -0400)]
Doc fixes re alist-get. (Bug#23548)
* lisp/subr.el (alist-get): Doc fix.
* doc/lispref/lists.texi (Association Lists): Improve alist-get.
; * etc/NEWS: Related edit.
Glenn Morris [Tue, 7 Jun 2016 23:31:29 +0000 (19:31 -0400)]
* src/fileio.c (auto_save_error): Use display-warning. (Bug#23703)