]> code.delx.au - gnu-emacs/log
gnu-emacs
8 years ago; Improve documentation in test Makefile
Phillip Lord [Fri, 26 Feb 2016 11:55:38 +0000 (11:55 +0000)]
; Improve documentation in test Makefile

* test/Makefile.in: Improve documentation.

8 years agoImprove the register-hotkey functionality on MS-Windows
Jussi Lahdenniemi [Fri, 26 Feb 2016 10:51:24 +0000 (12:51 +0200)]
Improve the register-hotkey functionality on MS-Windows

* src/w32fns.c (_WIN32_WINNT): Define to 0x0600, needed for
keyboard hook functionality.
Include w32inevt.h, basetyps.h and unknwn.h.
(VK_ANY, WM_WTSSESSION_CHANGE, WTS_SESSION_LOCK): New macros.
(kbdhook): A new struct definition.
(funhook, setup_w32_kbdhook, remove_w32_kbdhook, hook_w32_key)
(check_w32_winkey_state, reset_w32_kbdhook_state): New functions.
(modifier_set): Call check_w32_winkey_state if a Win key was
pressed and the keyboard hook is active.
(w32_wnd_proc): Don't handle Win key combinations if the keyboard
hook is active.  Only register/unregister the hotkeys if the
keyboard hook is not active.  When WM_CREATE is received, call
setup_w32_kbdhook.  When WM_DESTROY is received, call
reset_w32_kbdhook_state.
(lookup_vk_code): When the keyboard hook is active, map
alphanumeric characters to themselves.
(w32_parse_and_hook_hot_key): Renamed from w32_parse_hot_key.  Map
modified keys to VK_ANY if the keyboard hook is active.  Register
Alt-x and Win-x combinations.
(Fw32_shell_execute): Update doc string to reflect new
functionality.  Bypass the code that posts the
WM_EMACS_REGISTER_HOT_KEY message if the keyboard hook is active.
(Fw32_unregister_hot_key): Bypass the code that posts the
WM_EMACS_UNREGISTER_HOT_KEY message if the keyboard hook is active.
(syms_of_w32fns) <w32-pass-lwindow-to-system>
<w32-pass-rwindow-to-system, w32-phantom-key-code>
<w32-lwindow-modifier, w32-rwindow-modifier>: Update doc strings
to reflect the new functionality.
* src/w32console.c (initialize_w32_display): Install the low-level
keyboard hook.
* src/w32inevt.c (key_event): Handle Win-x combinations only if
the keyboard hook is not active.  If the hook is active, use
check_w32_winkey_state instead.
* src/w32term.h (setup_w32_kbdhook, remove_w32_kbdhook)
(check_w32_winkey_state): Add prototypes.
(w32_kbdhook_active): New macro.

* doc/emacs/msdos.texi (Windows Keyboard): Update to reflect the
new functionality.

8 years agoAdd forward-sexp (and related) tests
Aaron S. Hawley [Fri, 26 Feb 2016 05:48:58 +0000 (16:18 +1030)]
Add forward-sexp (and related) tests

* test/lisp/emacs-lisp/lisp-tests.el: New file for testing
forward-sexp and related functions (bug#22800).

8 years agoDon't use (localised) week days in dates
Jan Tatarik [Fri, 26 Feb 2016 05:36:43 +0000 (16:06 +1030)]
Don't use (localised) week days in dates

* lisp/gnus/gnus-icalendar.el
(gnus-icalendar-event:org-timestamp): Don't use (localised)
week days in the dates, because that messes up things later.

8 years agoUpdate pcomplete/find
Thierry Volpiatto [Fri, 26 Feb 2016 05:31:46 +0000 (16:01 +1030)]
Update pcomplete/find

* lisp/pcmpl-gnu.el (pcomplete/find): Update to newest version
(bug#10487).

8 years agoMake parse-time-string-chars more efficient
Lars Ingebrigtsen [Fri, 26 Feb 2016 03:30:06 +0000 (14:00 +1030)]
Make parse-time-string-chars more efficient

* lisp/calendar/parse-time.el (parse-time-string-chars): The
string has already been downcase, so don't care about case
(bug#18522).

8 years agoRemove killed buffers from the list of Gnus buffers
Lars Ingebrigtsen [Fri, 26 Feb 2016 03:24:41 +0000 (13:54 +1030)]
Remove killed buffers from the list of Gnus buffers

* lisp/gnus/gnus.el (gnus-prune-buffers): Remove killed
buffers from the list of Gnus buffers (bug#18522).

8 years agoInteger overflow cleanups for ports and socklen
Paul Eggert [Thu, 25 Feb 2016 19:57:10 +0000 (11:57 -0800)]
Integer overflow cleanups for ports and socklen

* src/process.c (struct sockaddr_and_len, conv_sockaddr_to_lisp)
(get_lisp_to_sockaddr_size, Fset_process_datagram_address)
(connect_network_socket):
Use ptrdiff_t, not int, for signed object sizes.
This addresses only a theoretical problem, as in practice these
object sizes are less than 2**31, but we might as well use the
same style here as elsewhere in Emacs.
(string_integer_p): Remove; all uses removed.
(Fmake_network_process): Check that port number is in range.
When converting an integer-string service, rely on strtol
rather than rechecking the string by hand.
* src/process.h, src/w32.c (conv_sockaddr_to_lisp):
Adjust prototypes to match.

8 years agoAdd pcomplete support for find
Thierry Volpiatto [Thu, 25 Feb 2016 06:13:52 +0000 (16:43 +1030)]
Add pcomplete support for find

* lisp/pcmpl-gnu.el (pcomplete/find): Add pcomplete support
for find (bug#10487).

8 years agoReplace XXX acronyms with draft standard ones
Per Starbäck [Thu, 25 Feb 2016 05:52:17 +0000 (16:22 +1030)]
Replace XXX acronyms with draft standard ones

* lisp/international/characters.el (c1-acronyms): Replace XXX
entries with the acronyms PAD, HOP, SGCI from draft DIS 10646
(bug#13745).

8 years agoMake checkdoc warn about variables described as "True"
Kevin Ryde [Thu, 25 Feb 2016 05:46:37 +0000 (16:16 +1030)]
Make checkdoc warn about variables described as "True"

* checkdoc.el (checkdoc-this-string-valid-engine): Docstrings for
variables "True...", and functions "Return true...", should usually be
"non-nil" (bug#15506).

8 years agoAdd NEWS entry for "number string" change
Lars Ingebrigtsen [Thu, 25 Feb 2016 05:24:29 +0000 (15:54 +1030)]
Add NEWS entry for "number string" change

8 years agoAllow using "number strings" as services on non-GNU systems
Lars Ingebrigtsen [Thu, 25 Feb 2016 05:24:03 +0000 (15:54 +1030)]
Allow using "number strings" as services on non-GNU systems

* src/process.c (string_integer_p): New function.
(Fmake_network_process): Use it to allow connecting to
services specified as "993" even when getaddrbyname isn't
available.

8 years agoFix problem in tramp.texi
Michael Albinus [Wed, 24 Feb 2016 10:02:48 +0000 (11:02 +0100)]
Fix problem in tramp.texi

* doc/misc/tramp.texi (File name completion): Do not use
@trampfn{} for IPv6 addresses.  Somehow, it results in errors
during PDF creation.

8 years agoMake image commands available in image-mode
Lars Ingebrigtsen [Wed, 24 Feb 2016 07:11:46 +0000 (18:11 +1100)]
Make image commands available in image-mode

* lisp/image-mode.el (image-mode-map): Inherit from
`image-map' so that the usual image commands work.

8 years agoMove `o' to `O' in shr-map
Lars Ingebrigtsen [Wed, 24 Feb 2016 07:07:49 +0000 (18:07 +1100)]
Move `o' to `O' in shr-map

* lisp/net/shr.el (shr-map): `shr-save-contents' has moved
from `o' to `O' to avoid collisions with `image-map'.

8 years agoMake setting the coding system non-blocking
Lars Ingebrigtsen [Wed, 24 Feb 2016 06:21:50 +0000 (17:21 +1100)]
Make setting the coding system non-blocking

* src/process.c (Fset_process_filter_multibyte): Defer
completing coding system setup in asynchronous processes.
(Fset_process_coding_system): Ditto.

8 years agoMention `proced-toggle-auto-update' in the proced-mode doc string
Gregoire Jadi [Wed, 24 Feb 2016 05:06:07 +0000 (16:06 +1100)]
Mention `proced-toggle-auto-update' in the proced-mode doc string

* lisp/proced.el (proced-mode): Mention
`proced-toggle-auto-update' (bug#14341).

8 years agoAdd a fortune-message command
Joshua Datko [Wed, 24 Feb 2016 04:42:28 +0000 (15:42 +1100)]
Add a fortune-message command

* lisp/play/fortune.el (fortune-message): Add a command to
display fortunes in the echo area (bug#14915).

Copyright-paperwork-exempt: yes

8 years agoAdd hideshow bindings analogous to outline mode
Susanne Oberhauser [Wed, 24 Feb 2016 04:13:41 +0000 (15:13 +1100)]
Add hideshow bindings analogous to outline mode

* lisp/progmodes/hideshow.el (hs-minor-mode-map): Add bindings
analogous to outline mode bindings (bug#15324).

Copyright-paperwork-exempt: yes

8 years agoAllow highlighting things like @math{2^{12}}
Bastien Guerry [Wed, 24 Feb 2016 03:35:28 +0000 (14:35 +1100)]
Allow highlighting things like @math{2^{12}}

* lisp/textmodes/texinfo.el (texinfo-font-lock-keywords):
Allow highlighting things like @math{2^{12}} (bug#16390).

8 years agoMake `C-{up,down,left,right}' work in term mode
Per Bothner [Wed, 24 Feb 2016 03:19:17 +0000 (14:19 +1100)]
Make `C-{up,down,left,right}' work in term mode

* lisp/term.el (term-raw-map): Define C-{up,down,left,right}
to send the same escape sequence that xterm sends.  This makes
backward-word and forward-word work in readline (bug#16746).

8 years agoAllow ff-find-other-file (etc) to work with indirect clone buffers
Dima Kogan [Wed, 24 Feb 2016 03:01:50 +0000 (14:01 +1100)]
Allow ff-find-other-file (etc) to work with indirect clone buffers

* lisp/find-file.el (ff-buffer-file-name): New function to
allow the feature to work with indirect buffers, too
(bug#16904).
(ff-find-the-other-file): Use it.
(ff-other-file-name): Ditto.
(ff-get-file-name): Ditto.

8 years agoFix error in add-change-log-entry when the entry has no newline
Lars Ingebrigtsen [Wed, 24 Feb 2016 02:08:48 +0000 (13:08 +1100)]
Fix error in add-change-log-entry when the entry has no newline

* lisp/vc/add-log.el (add-change-log-entry): The entry in the
ChangeLog may end without a new line starting with blanks.

8 years agoAvoid using mm-util functoins in gravatar.el
Lars Ingebrigtsen [Wed, 24 Feb 2016 02:07:34 +0000 (13:07 +1100)]
Avoid using mm-util functoins in gravatar.el

* lisp/image/gravatar.el (gravatar-retrieve): Avoid using
mm-util functions.
(gravatar-retrieve-synchronously): Ditto.

8 years agoMove low-level library files from the lisp/gnus directory
Lars Ingebrigtsen [Wed, 24 Feb 2016 02:04:03 +0000 (13:04 +1100)]
Move low-level library files from the lisp/gnus directory

The files moved from lisp/gnus are:

auth-source.el -> /
compface.el -> /image
ecomplete.el -> /
flow-fill.el -> /mail
gravatar.el -> /image
gssapi.el -> /net
html2text.el -> /net
ietf-drums.el -> /mail
mail-parse.el -> /mail
mail-prsvr.el -> /mail
mailcap.el -> /net
plstore.el -> /
pop3.el -> /net
qp.el -> /mail
registry.el -> /
rfc1843.el -> /international
rfc2045.el -> /mail
rfc2047.el -> /mail
rfc2231.el -> /mail
rtree.el -> /
sieve-manage.el -> /net
sieve-mode.el -> /net
sieve.el -> /net
starttls.el -> /net
utf7.el -> /international
yenc.el -> /mail

8 years agoAllow undoing changes while doing query-replace
Tino Calancha [Wed, 24 Feb 2016 01:35:46 +0000 (12:35 +1100)]
Allow undoing changes while doing query-replace

* doc/lispref/searching.texi (Search and Replace): Mention
undo (bug#21684).

* lisp/replace.el (query-replace-help): Document undo.
(perform-replace): Implement undo while replacing text.

8 years agoHighlight assignments in Makefiles more correctly
John F. Trudeau [Wed, 24 Feb 2016 01:21:06 +0000 (12:21 +1100)]
Highlight assignments in Makefiles more correctly

* lisp/progmodes/make-mode.el (makefile-macroassign-regex):
Highlight assignments preceded by a TAB character correctly
(bug#20787).

Copyright-paperwork-exempt: yes

8 years agoUse memmove instead of memcpy on overlapping regions
Fredrik Bergroth [Tue, 23 Feb 2016 11:41:16 +0000 (22:41 +1100)]
Use memmove instead of memcpy on overlapping regions

* src/editfns.c (Ftranspose_regions): Regions may overlap, so
use memmove instead of memcpy (bug#19213).

Copyright-paperwork-exempt: yes

8 years agoPort to --enable-gcc-warnings sans getaddrinfo_a
Paul Eggert [Tue, 23 Feb 2016 23:25:43 +0000 (15:25 -0800)]
Port to --enable-gcc-warnings sans getaddrinfo_a

* src/process.c (Fmake_network_process): Add ATTRIBUTE_UNUSED
to a local unused when getaddrinfo_a is missing.
Resize portbuf to size needed.  Do cheap test first.
Move local to block where it’s needed.

8 years agoMinor cleanups for async DNS etc.
Paul Eggert [Tue, 23 Feb 2016 17:42:05 +0000 (09:42 -0800)]
Minor cleanups for async DNS etc.

* src/frame.h (FRAME_WINDOW_CONFIGURATION_CHANGED):
Omit unnecessary parens.
* src/gnutls.c (gnutls_try_handshake, emacs_gnutls_deinit)
(gnutls_verify_boot):
Use bool for boolean.
(ATTRIBUTE_FORMAT_PRINTF): Add printf attribute.
* src/process.c (free_dns_request, Fmake_network_process):
Allocate and free async request control block all in one go.
(set_network_socket_coding_system, finish_after_tls_connection)
(connect_network_socket):
Now static.
(conv_numerical_to_lisp): 2nd arg is now int, not unsigned.
(Fmake_network_process): Use list1 for brevity.
(wait_for_socket_fds): 2nd arg is now const ptr.
* src/process.h (struct Lisp_Process.dns_request):
Now struct gaicb *, not struct gaicb **, since there was always
exactly one.  All uses changed.
* src/window.c, src/window.h (run_window_configuration_change_hook):
Now static.

8 years ago; Add NEWS entries for last commit
Martin Rudalics [Tue, 23 Feb 2016 11:27:45 +0000 (12:27 +0100)]
; Add NEWS entries for last commit

8 years agoAllow more shell script defun forms
Carlos Pita [Tue, 23 Feb 2016 11:15:00 +0000 (22:15 +1100)]
Allow more shell script defun forms

* lisp/progmodes/sh-script.el (sh-mode): Allow more shell
script defun forms, like function name () {...} (bug#19754).

8 years agoFix `window-configuration-change-hook' and `window-size-change-functions'
Martin Rudalics [Tue, 23 Feb 2016 11:08:55 +0000 (12:08 +0100)]
Fix `window-configuration-change-hook' and `window-size-change-functions'

(1) Run `window-configuration-change-hook' if and only if at least
one window was deleted or created or shows another buffer since
last redisplay.

(2) Run `window-size-change-functions' if and only if at least
one window changed its size since last redisplay (in a few cases
`window-size-change-functions' will also run when no window
changed its size).

(3) Provide two functions `window-pixel-height-before-size-change'
and `window-pixel-width-before-size-change' that allow to easily
detect which window changed size.

* src/frame.h (struct frame): New boolean member
window_configuration_changed.
(FRAME_WINDOW_SIZES_CHANGED): Remove macro.
(FRAME_WINDOW_CONFIGURATION_CHANGED): New macro.
* src/frame.c (adjust_frame_size): Don't run
`window-configuration-change-hook'.
* src/window.h (struct window): New fields
pixel_width_before_size_change and pixel_height_before_size_change.
(WINDOW_INTERNAL_P): New macro.
* src/window.c (Fwindow_pixel_width_before_size_change)
(Fwindow_pixel_height_before_size_change): New functions.
(Fdelete_other_windows_internal, Fwindow_resize_apply)
(resize_frame_windows, Fsplit_window_internal)
(Fdelete_window_internal, grow_mini_window)
(shrink_mini_window, Fresize_mini_window_internal): Don't call
FRAME_WINDOW_SIZES_CHANGED.
(window_size_changed, window_set_before_size_change_sizes)
(run_window_size_change_functions): New functions.
(make_window): Initialize pixel_width_before_size_change and
pixel_height_before_size_change.
(Fdelete_window_internal): Don't call
run_window_configuration_change_hook.
(struct saved_window): Add pixel_height_before_size_change and
pixel_width_before_size_change.
(Fset_window_configuration): Try to identify window configuration
changes correctly so run_window_configuration_change_hook and
run_window_size_change_functions run only if configuration and size
really changed.
(save_window_save): Set the pixel_height_before_size_change and
pixel_width_before_size_change fields.
(Vwindow_size_change_functions): Move here definiton from xdisp.c.
* src/xdisp.c (prepare_menu_bars, redisplay_internal): Call
run_window_size_change_functions.
(Vwindow_size_change_functions): Move definition to window.c.
* src/xfns.c (x_set_menu_bar_lines): Don't call
run_window_configuration_change_hook.
* doc/lispref/windows.texi (Window Sizes): Document new
functions `window-pixel-height-before-size-change' and
`window-pixel-width-before-size-change'.
(Window Configurations): Mention that this may trigger
execution of `window-size-change-functions' although no window
changed size.
(Window Hooks): Update descriptions of `window-size-change-functions'
and `window-configuration-change-hook'.

8 years ago(ls-lisp-insert-directory): Make -B work
Drew Adams [Tue, 23 Feb 2016 10:12:55 +0000 (21:12 +1100)]
(ls-lisp-insert-directory): Make -B work

* lisp/ls-lisp.el (ls-lisp-insert-directory): Make -B work
(bug#20776).

8 years agoFix typo in message-setup-fill-variables
Lars Ingebrigtsen [Tue, 23 Feb 2016 09:58:54 +0000 (20:58 +1100)]
Fix typo in message-setup-fill-variables

* lisp/gnus/message.el (message-setup-fill-variables): Fix
typo in a recent checkin that used `setq-default' instead of
`setq-local' (bug#22781).

8 years ago`message-dont-reply-to-names' can also be a list of regexps
Lars Ingebrigtsen [Tue, 23 Feb 2016 09:54:42 +0000 (20:54 +1100)]
`message-dont-reply-to-names' can also be a list of regexps

* lisp/gnus/message.el (message-dont-reply-to-names):
`message-dont-reply-to-names' can also be a list of regexps (bug#22773).

8 years agoMake buttons in header lines work
Vaidheeswaran C [Tue, 23 Feb 2016 09:46:00 +0000 (20:46 +1100)]
Make buttons in header lines work

* lisp/help-mode.el (help-button-action): `help-xref-button' in
header line doesn't work (bug#21024).

8 years agoPlace apples randomly in Snake
Vasilij Schneidermann [Tue, 23 Feb 2016 09:28:37 +0000 (20:28 +1100)]
Place apples randomly in Snake

* lisp/play/snake.el (snake-score): New variable (bug#21359).
(snake-set-dot): Place the apples randomly.

8 years agoAllow optional parameter to be nil
Tino Calancha [Tue, 23 Feb 2016 09:17:21 +0000 (20:17 +1100)]
Allow optional parameter to be nil

* lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Allow the
optional parameter to be nil (bug#21576).

8 years agoCompletely ignore buffers with no name when copying file names
Tino Calancha [Tue, 23 Feb 2016 09:12:59 +0000 (20:12 +1100)]
Completely ignore buffers with no name when copying file names

* lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Completely
ignore buffers with no file name. (bug#21577).

8 years agoMake spelling of "Eshell" consistent
Lars Ingebrigtsen [Tue, 23 Feb 2016 09:01:06 +0000 (20:01 +1100)]
Make spelling of "Eshell" consistent

* lisp/eshell/esh-mode.el (eshell-mode): Spell it "Eshell".
* lisp/eshell/eshell.el (eshell-command):
Spell it "Eshell" (bug#21678).

8 years agoAllow pretty lambdas in Scheme mode
Simen Heggestøyl [Tue, 23 Feb 2016 08:56:52 +0000 (19:56 +1100)]
Allow pretty lambdas in Scheme mode

* lisp/progmodes/scheme.el (scheme-mode-variables): Borrow
`prettify-symbols-alist' from Lisp mode (bug#21679).

8 years agoRename lisp--prettify-symbols-alist
Lars Ingebrigtsen [Tue, 23 Feb 2016 08:46:02 +0000 (19:46 +1100)]
Rename lisp--prettify-symbols-alist

* lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist):
Rename from `lisp--prettify-symbols-alist' since we're going
to use it in Scheme mode, too.
(lisp-mode-variables): Use it.

8 years agoRemove spurious newline in package list
Chunyang Xu [Tue, 23 Feb 2016 08:36:23 +0000 (19:36 +1100)]
Remove spurious newline in package list

* lisp/emacs-lisp/package.el (describe-package-1): Remove
spurious newline (bug#21706).

Copyright-paperwork-exempt: yes

8 years agoRevert "Remove spurious newline in package list"
Lars Ingebrigtsen [Tue, 23 Feb 2016 08:35:47 +0000 (19:35 +1100)]
Revert "Remove spurious newline in package list"

This reverts commit fad14c289d36a2c61e0fd34105ebb1f62c80d71d.

8 years agoRemove spurious newline in package list
Chunyang Xu [Tue, 23 Feb 2016 08:35:03 +0000 (19:35 +1100)]
Remove spurious newline in package list

* lisp/emacs-lisp/package.el (describe-package-1): Remove
spurious newline (bug#21706).

8 years agoKeep the position in the process buffer when deleting processes
Tino Calancha [Tue, 23 Feb 2016 05:24:52 +0000 (16:24 +1100)]
Keep the position in the process buffer when deleting processes

* lisp/simple.el (process-menu-delete-process): Keep the
position in the buffer after killing a process (bug#21759).

Copyright-paperwork-exempt: yes

8 years agoRequire that the buffer that we're trying to patch exist
Lars Ingebrigtsen [Tue, 23 Feb 2016 05:09:06 +0000 (16:09 +1100)]
Require that the buffer that we're trying to patch exist

* lisp/vc/ediff.el (ediff-patch-buffer): Require that the
buffer that we're trying to patch exist (bug#21852).

8 years agoRequire that the buffer that we're trying to patch exist
Tino Calancha [Tue, 23 Feb 2016 05:04:06 +0000 (16:04 +1100)]
Require that the buffer that we're trying to patch exist

* lisp/vc/ediff.el (ediff-patch-buffer): Require that the
buffer that we're trying to patch exist (bug#21852).

Copyright-paperwork-exempt: yes

8 years agoBe more verbose when changing frame mode in ediff
Tino Calancha [Tue, 23 Feb 2016 04:55:08 +0000 (15:55 +1100)]
Be more verbose when changing frame mode in ediff

* lisp/vc/ediff-util.el (ediff-toggle-multiframe): Say what
mode we toggled to (bug#21853).

Copyright-paperwork-exempt: yes

8 years agoEncode header strings before printing
Łukasz Stelmach [Tue, 23 Feb 2016 03:54:30 +0000 (14:54 +1100)]
Encode header strings before printing

* lisp/ps-print.el (ps-generate-header-line): Encode the
header strings to avoid problems with non-ASCII headers
(bug#22611).

8 years agoTest message-strip-subject-trailing-was
Michal Nazarewicz [Tue, 23 Feb 2016 03:48:05 +0000 (14:48 +1100)]
Test message-strip-subject-trailing-was

* test/lisp/gnus/message-test.el (message-strip-subject-trailing-was):
New test (bug#22632).

8 years agoMake use of the `ert-with-function-mocked' macro
Michal Nazarewicz [Tue, 23 Feb 2016 03:46:56 +0000 (14:46 +1100)]
Make use of the `ert-with-function-mocked' macro

* test/lisp/calendar/icalendar-tests.el (icalendar--create-uid):
* test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9781): Use
`ert-with-function-mocked' instead of implementing the fragile
`unwind-protect' logic openly.

8 years agomessage-strip-subject-trailing-was: Refactor
Michal Nazarewicz [Tue, 23 Feb 2016 03:45:59 +0000 (14:45 +1100)]
message-strip-subject-trailing-was: Refactor

* lisp/gnus/message.el (message-strip-subject-trailing-was): Refactor
the function replacing sequence of `if' calls with a mixture of `or'
and `and' calls instead.  This makes it shorter and containing less
internal state thus easier to follow.

8 years agoert-with-function-mocked: New macro
Michal Nazarewicz [Tue, 23 Feb 2016 03:44:56 +0000 (14:44 +1100)]
ert-with-function-mocked: New macro

* lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): New macro which
allows evaluating code while particular function is replaced with
a mock.  The original definition of said function is restored once the
macro finishes.

8 years agoMove Gnus functions frm rfc1843 to new file gnus-rfc1843
Lars Ingebrigtsen [Tue, 23 Feb 2016 03:15:26 +0000 (14:15 +1100)]
Move Gnus functions frm rfc1843 to new file gnus-rfc1843

* lisp/gnus/gnus-rfc1843.el: New file for Gnus/rfc1843
interface functions.

* lisp/gnus/rfc1843.el: Move all Gnus-specifig functions to
gnus-rfc1843.

8 years agoDon't use mm-util functions in qp.el
Lars Ingebrigtsen [Tue, 23 Feb 2016 03:05:18 +0000 (14:05 +1100)]
Don't use mm-util functions in qp.el

* lisp/gnus/qp.el (quoted-printable-decode-region): Don't use
mm-util functions.
(quoted-printable-encode-string): Ditto.
(quoted-printable-encode-region): Ditto.

8 years agoDon't require mm-util
Lars Ingebrigtsen [Tue, 23 Feb 2016 02:59:54 +0000 (13:59 +1100)]
Don't require mm-util

* lisp/gnus/ietf-drums.el (mm-util): Don't require.

8 years agoRemove Gnus functions from auth-source.el
Lars Ingebrigtsen [Tue, 23 Feb 2016 02:56:05 +0000 (13:56 +1100)]
Remove Gnus functions from auth-source.el

* lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
Remove usage of Gnus utility function.
(mm-util, gnus-util): Don't require.

8 years agoAllow deleting all non-matching cookies
Lars Ingebrigtsen [Tue, 23 Feb 2016 01:51:24 +0000 (12:51 +1100)]
Allow deleting all non-matching cookies

* lisp/url/url-cookie.el (url-cookie-delete-cookies): Allow
keeping matching cookies (bug#22720).

8 years agoMake (setf (image-property ...)) return VALUE
Lars Ingebrigtsen [Tue, 23 Feb 2016 01:26:30 +0000 (12:26 +1100)]
Make (setf (image-property ...)) return VALUE

* lisp/image.el (image--set-property): Return VALUE, not IMAGE.

8 years agoMerge from origin/emacs-25
John Wiegley [Mon, 22 Feb 2016 19:33:54 +0000 (11:33 -0800)]
Merge from origin/emacs-25

a9c48d5 Additional fixes for file notification
6bd9d69 Fix documentation of 'global-disable-point-adjustment'
8c22ac9 ; Spelling fix
2975784 Set file modes of pinentry socket for extra safety
2667b3e Clarify GnuPG version compatibility chapter
5e34c36 Revert "Change the default socket location for pinentry"
e19c1c3 Kill off xref--display-history
5698947 Keep the xref buffer visible until the user quits it explicitly
e34fbde Change the default socket location for pinentry
5f89658 Mention how to enable pinentry feature
db51224 Sync with gnulib
aa5a794 Remove `semanticdb-save-all-db-idle' from `auto-save-hook'
2d8b2fd Restore point when writing semantic table to disk
27d3430 Mention pinentry.el in epa manual
5baa001 Fix Bug#22736
7261355 Grammar fix in doc string
d0f3b18 Naming fix for consistency
74ec92d Prefer customized value for GnuPG executable
ea0b604 Fix memory reservation on MS-Windows
c5f72aa Update NextStep readme and add wish list.
6de26a7 Report also result in `file-notify--test-event-handler'
5d17ae7 Improve file-notify-test08-watched-file-in-watched-dir
1cb1268 Fix todo-mode item date editing bugs
1e996cf Fix "[:upper:]" for non-ASCII characters
896f993 Allow customising the article mode cursor behavior
24c1c1d Use pop-to-buffer-same-window in woman.el
2a75f64 New filenotify test for bug#22736
c9bccf7 Report critical battery errors
d675db9 Make eww message toggling message clearer
5e0bb40 * lisp/calc/calc-units.el (math-standard-units): Update to 2014 CODATA adjustment.
fa8fd65 ; Improve character-folding entries in NEWS
3722a69 Fix bugs in window resizing code
289d5c6 Fix decoding DOS EOL in a unibyte buffer
2abcb06 Correct c-parse-state cache manipulation error.
14aec91 Take advantage of new GnuPG version check function
e80c2a7 Make GnuPG version check robuster
15a9464 Fix x-load-color-file pointer signedness
132dbf0 * lisp/time-stamp.el (time-stamp-time-zone): Fix doc string punct.
78ab6f1 Follow convention for greek letter constants.
106b5bb Add Stefan-Boltzmann constant to calc units table.
b96baa8 * lisp/calc/calc-units.el (math-build-units-table-buffer): Use special-mode.
5f91cf9 Avoid loading cl-lib for term/xterm.elc, eg in -Q -nw.  (Bug#22669)
2d40f7d Fix soffice UserInstallation-URL for Windows
b1a3ebe Fix display of <pre> elements
57d0e3d ; * lisp/help-fns.el: Remove outdated comment.
7a0628d ; * admin/make-tarball.txt: Mention cleaning.

8 years agoAdditional fixes for file notification
Michael Albinus [Mon, 22 Feb 2016 17:52:37 +0000 (18:52 +0100)]
Additional fixes for file notification

* lisp/filenotify.el (top): Require 'cl when compiling.
(file-notify--event-watched-file): New defun.
(file-notify--rm-descriptor, file-notify-callback):
Handle case of several monitors running in parallel.

* test/automated/file-notify-tests.el
(file-notify--test-event-test): Simplify test.
(file-notify--test-with-events): Get rid of outer definition.
Check also results of tests performed in callbacks.
(file-notify-test02-events): No wrapping when calling
`file-notify-rm-watch'.  No special checking for callback tests.
(file-notify-test07-backup): Adapt expected events for gfilenotify.
(file-notify-test08-watched-file-in-watched-dir): Improve.

8 years agoFix documentation of 'global-disable-point-adjustment'
Eli Zaretskii [Mon, 22 Feb 2016 17:30:01 +0000 (19:30 +0200)]
Fix documentation of 'global-disable-point-adjustment'

* src/keyboard.c (syms_of_keyboard) <disable-point-adjustment>
<global-disable-point-adjustment>: Doc fixes.  (Bug#22771)

8 years ago; Spelling fix
Paul Eggert [Mon, 22 Feb 2016 15:44:01 +0000 (07:44 -0800)]
; Spelling fix

8 years agolisp/calendar/appt.el (appt-delete-window): Check if buffer is live
Oleh Krehel [Mon, 22 Feb 2016 13:43:23 +0000 (14:43 +0100)]
lisp/calendar/appt.el (appt-delete-window): Check if buffer is live

* lisp/calendar/appt.el (appt-delete-window): Avoid trying to delete a
  non-existing buffer.

8 years agoMention the further asynchronousity
Lars Ingebrigtsen [Mon, 22 Feb 2016 05:18:32 +0000 (16:18 +1100)]
Mention the further asynchronousity

8 years agoFix async TLS boot problem
Lars Ingebrigtsen [Mon, 22 Feb 2016 04:29:15 +0000 (15:29 +1100)]
Fix async TLS boot problem

* src/process.c (wait_reading_process_output): Verify the boot
of the correct process.

8 years agoClean up forgotten text in manual
Lars Ingebrigtsen [Mon, 22 Feb 2016 04:20:14 +0000 (15:20 +1100)]
Clean up forgotten text in manual

* doc/lispref/display.texi (Defining Images): Remove example
forgotten when making previous change.

8 years agoClean up debugging code
Lars Ingebrigtsen [Mon, 22 Feb 2016 04:18:41 +0000 (15:18 +1100)]
Clean up debugging code

* src/process.c (Fmake_network_process): Remove debugging printf.
(wait_for_socket_fds, wait_while_connecting)
(wait_for_tls_negotiation): Remove newlines from messages.

8 years agoFix merge conflicts in network-stream-tests.el
Lars Ingebrigtsen [Mon, 22 Feb 2016 04:06:33 +0000 (15:06 +1100)]
Fix merge conflicts in network-stream-tests.el

8 years agoPort recent filevercmp addition to MS-Windows
Paul Eggert [Mon, 22 Feb 2016 03:59:44 +0000 (19:59 -0800)]
Port recent filevercmp addition to MS-Windows

Reported by Andy Moreton in:
http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg01302.html
* nt/gnulib.mk (libgnu_a_SOURCES): Add filevercmp.c.
(EXTRA_DIST): Add filevercmp.h.

8 years agoSet file modes of pinentry socket for extra safety
Daiki Ueno [Mon, 22 Feb 2016 02:28:11 +0000 (11:28 +0900)]
Set file modes of pinentry socket for extra safety

* lisp/net/pinentry.el: Require 'cl-lib for `cl-letf'.
(pinentry-start): Change the file modes of the socket file to 0700.
This is just for extra safety since the parent directory is already
protected with `server-ensure-safe-dir'.

8 years agoadd_to_log expects Lisp parameters origin/feature/async-dns
Lars Ingebrigtsen [Mon, 22 Feb 2016 02:34:54 +0000 (13:34 +1100)]
add_to_log expects Lisp parameters

8 years agoMention sentinels in conjunction with :nowait t.
Lars Ingebrigtsen [Mon, 22 Feb 2016 02:20:04 +0000 (13:20 +1100)]
Mention sentinels in conjunction with :nowait t.

* doc/lispref/processes.texi (Network Processes): Mention the
recommended way of using sentinels with :nowait t.

8 years agoMention in the doc strings that process functions may block
Lars Ingebrigtsen [Mon, 22 Feb 2016 02:14:35 +0000 (13:14 +1100)]
Mention in the doc strings that process functions may block

(Fprocess_contact, Fprocess_datagram_address)
(Fset_process_datagram_address, Fset_network_process_option)
(Fprocess_send_region, Fprocess_send_string): Mention that the
functions may block.
(Fset_process_coding_system): Ditto.

8 years agoAdd blocker warnings to the *Messages* buffer
Lars Ingebrigtsen [Mon, 22 Feb 2016 02:07:27 +0000 (13:07 +1100)]
Add blocker warnings to the *Messages* buffer

* src/process.c (wait_for_socket_fds): Add warning to the log.
(wait_while_connecting): Ditto.
(wait_for_tls_negotiation): Ditto.

8 years agoRework the image property getter/setters
Lars Ingebrigtsen [Mon, 22 Feb 2016 01:50:40 +0000 (12:50 +1100)]
Rework the image property getter/setters

* doc/lispref/display.texi (Defining Images): Document the
renamed `image-get/set-property' functions.

* lisp/image.el (image--set-property): Rename from
image-set-property.
(image-property): Declare a setf form.
(image-property): Rename from `image-get-property'.

8 years agoClarify GnuPG version compatibility chapter
Daiki Ueno [Mon, 22 Feb 2016 01:40:42 +0000 (10:40 +0900)]
Clarify GnuPG version compatibility chapter

* doc/misc/epa.texi (GnuPG version compatibility): Make the gpg-agent
description a bit clearer.

8 years agoRevert "Change the default socket location for pinentry"
Daiki Ueno [Mon, 22 Feb 2016 01:45:53 +0000 (10:45 +0900)]
Revert "Change the default socket location for pinentry"

This reverts commit e34fbdee8aca84b98393b06b2450837d175999ca.
It turned out that the address is fixed in Pinentry itself.

8 years agoKill off xref--display-history
Dmitry Gutov [Sun, 21 Feb 2016 22:40:53 +0000 (00:40 +0200)]
Kill off xref--display-history

Now that the core workflow keeps the xref window visible, there's
less value in storing this history.  And it never was
comprehensive enough to undo scrolling changes.
* lisp/progmodes/xref.el (xref--display-history)
(xref--save-to-history, xref-quit): Remove.
(xref--show-pos-in-buf): Update accordingly.
(xref--xref-buffer-mode-map): Remove xref-quit binding.

8 years agoKeep the xref buffer visible until the user quits it explicitly
Dmitry Gutov [Sun, 21 Feb 2016 22:26:24 +0000 (00:26 +0200)]
Keep the xref buffer visible until the user quits it explicitly

* lisp/progmodes/xref.el (xref--pop-to-location):
Rename WINDOW argument to ACTION.
(xref--with-dedicated-window): New macro.
(xref--show-pos-in-buf): Rename from `xref--display-position'.
Add and handle new argument, SELECTED.  Use the above macro.
(xref--show-location): Add SELECTED argument.
(xref-show-location-at-point): Make an effort to avoid the
original window when showing the location.
(xref-goto-xref): Don't quit the xref window (bug#20487 and
http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01133.html).
(xref--query-replace-1): Use xref--with-dedicated-window as well.
(xref--next-error-function): Call xref--show-location instead of
xref--pop-to-location.
(xref--show-xrefs): Rename WINDOW argument to DISPLAY-ACTION.
Only pass that value to xref--pop-to-location.  Pass the current
selected window to xref-show-xrefs-function as the `window'
property.
(xref--find-xrefs, xref--find-definitions): Rename WINDOW argument
to DISPLAY-ACTION as well.

8 years agoUse Gnulib filevercmp for version comparison
Paul Eggert [Sun, 21 Feb 2016 21:25:24 +0000 (13:25 -0800)]
Use Gnulib filevercmp for version comparison

* admin/merge-gnulib (GNULIB_MODULES): Add filevercmp.
* doc/lispref/strings.texi (Text Comparison):
* etc/NEWS, src/fns.c:
* test/src/fns-tests.el (fns-tests-string-version-lessp):
Rename newly-introduced function to string-version-lessp, by
analogy with strverscmp.
* lib/filevercmp.c, lib/filevercmp.h: New files, copied from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* src/fns.c: Include <filevercmp.h>.
(gather_number_from_string): Remove.
(Fstring_version_lessp): Reimplement via filevercmp.

8 years agoChange the default socket location for pinentry
Daiki Ueno [Sun, 21 Feb 2016 21:06:50 +0000 (06:06 +0900)]
Change the default socket location for pinentry

* lisp/net/pinentry.el: Require 'cl-lib for `cl-letf'.
(pinentry--socket-dir): Change the default from /tmp/emacsXXX to
~/.emacs.d/pinentry.
(pinentry-start): Change the file modes of the socket file to 0700.
This is just for extra safety since the parent directory is already
protected with `server-ensure-safe-dir'.

8 years agoMention how to enable pinentry feature
Daiki Ueno [Sun, 21 Feb 2016 21:05:14 +0000 (06:05 +0900)]
Mention how to enable pinentry feature

* etc/NEWS: Mention "gpgconf --reload gpg-agent".
* lisp/net/pinentry.el: Likewise.

8 years agoSync with gnulib
Paul Eggert [Sun, 21 Feb 2016 20:34:00 +0000 (12:34 -0800)]
Sync with gnulib

This incorporates:
2016-02-10 stdalign: port to older HP and IBM cc
* doc/misc/texinfo.tex, lib/stdalign.in.h: Copy from gnulib.

8 years agoRemove `semanticdb-save-all-db-idle' from `auto-save-hook'
David Engster [Sun, 21 Feb 2016 16:16:45 +0000 (17:16 +0100)]
Remove `semanticdb-save-all-db-idle' from `auto-save-hook'

* lisp/cedet/semantic/db-mode.el (semanticdb-hooks): Do not put
  `semanticdb-save-all-db-idle' into `auto-save-hook'. The latter is
  not an idle hook, so it's not appropriate to call it there. It will
  already be called in the `semantic-idle-work-core-handler', which
  runs when Emacs is actually idle.

8 years agoRestore point when writing semantic table to disk
David Engster [Sun, 21 Feb 2016 16:11:01 +0000 (17:11 +0100)]
Restore point when writing semantic table to disk

* lisp/cedet/semantic/db-file.el (object-write): Wrap call to
  `semantic-fetch-tags' in `save-excursion', since it might move point
  in current buffer. (Bug #22287)

8 years agoMention pinentry.el in epa manual
Daiki Ueno [Sun, 21 Feb 2016 09:20:40 +0000 (18:20 +0900)]
Mention pinentry.el in epa manual

* doc/misc/epa.texi (GnuPG version compatibility): New chapter,
describing the differences between three GnuPG branches, and how
to enable pinentry.el.
(Caching Passphrases): Add xref to the compatibility chapter.

8 years agoFix Bug#22736
Michael Albinus [Sun, 21 Feb 2016 08:58:55 +0000 (09:58 +0100)]
Fix Bug#22736

* lisp/filenotify.el (file-notify-callback): Use the proper
descriptor when calling the callback.  (Bug#22736)

* test/automated/file-notify-tests.el
(file-notify--test-event-handler): Deactivate trace.
(file-notify-test08-watched-file-in-watched-dir): Bind
`file-notify--test-tmpfile' temporarily in `dir-callback'.

8 years agoAdd a function to delete URL cookies
Lars Ingebrigtsen [Sun, 21 Feb 2016 05:57:04 +0000 (16:57 +1100)]
Add a function to delete URL cookies

* doc/misc/url.texi (Cookies): Document
url-cookie-delete-cookies.

* lisp/url/url-cookie.el (url-cookie-delete-cookies): New function.

8 years agoAvoid integer overflows in string-numeric-lessp
Lars Ingebrigtsen [Sun, 21 Feb 2016 05:28:37 +0000 (16:28 +1100)]
Avoid integer overflows in string-numeric-lessp

* src/fns.c (Fstring_numeric_lessp): If we have an integer
overflow, compare lexicographically.

8 years agoAdd the string-numeric-lessp function
Lars Ingebrigtsen [Sun, 21 Feb 2016 04:32:45 +0000 (15:32 +1100)]
Add the string-numeric-lessp function

* doc/lispref/strings.texi (Text Comparison): Document
`string-numerical-lessp'.

* src/fns.c (Fstring_numeric_lessp): New function.
(gather_number_from_string): Helper function for that function.

* test/src/fns-tests.el (fns-tests-string-numeric-lessp): Add tests.

8 years agoClarify levels of :nowait t.
Lars Ingebrigtsen [Sun, 21 Feb 2016 03:08:17 +0000 (14:08 +1100)]
Clarify levels of :nowait t.

* doc/lispref/processes.texi (Network Processes): Mention
levels of asynchronicity.

8 years agoRespect DNS timeouts
Alain Schneble [Sun, 21 Feb 2016 02:36:25 +0000 (13:36 +1100)]
Respect DNS timeouts

* src/process.c (check_for_dns): If the async DNS request
failed and the associated process is still in "connect" state,
deactivate the process and set status to "failed".

8 years agoGrammar fix in doc string
Wieland Hoffmann [Sun, 21 Feb 2016 02:32:22 +0000 (13:32 +1100)]
Grammar fix in doc string

* lisp/custom.el (defgroup): Grammar fix in doc string.

Copyright-paperwork-exempt: yes

8 years agoNaming fix for consistency
Daiki Ueno [Sat, 20 Feb 2016 22:26:40 +0000 (07:26 +0900)]
Naming fix for consistency

* lisp/epg-config.el (epg-find-configuration): Rename from
`epg-configuration-find' to be consistent with other epg-* functions.
Change all callers.

8 years agoPrefer customized value for GnuPG executable
Daiki Ueno [Sat, 20 Feb 2016 22:11:04 +0000 (07:11 +0900)]
Prefer customized value for GnuPG executable

* lisp/epg-config.el (epg-configuration-find): Don't check GPG
configuration if it is already set with custom.  (Bug#22747)

8 years agoFix memory reservation on MS-Windows
Eli Zaretskii [Sat, 20 Feb 2016 16:59:14 +0000 (18:59 +0200)]
Fix memory reservation on MS-Windows

* src/w32heap.c (mmap_alloc): Reserve memory in 64KB granular
units.  This avoids leaving gaps in reserved memory regions that
no one can use, since memory reservation must produce 64KB-aligned
addresses.  (Bug#22526)