Allow preserving EXIF rotations when sending HTML messages
* lisp/gnus/mml.el (mml--possibly-alter-image): Allow image
rotation if you have exiftool installed and the image format
supports it.
(mml-expand-html-into-multipart-related): Use it.
(mml-buffer-substring-no-properties-except-some): Renamed and
copy display properties, too.
* lisp/gnus/message.el (message-toggle-image-thumbnails): Use
`insert-image' instead of `put-image' to make it possible to
edit the resulting text in a sensible manner.
Alan Mackenzie [Sun, 29 May 2016 12:22:17 +0000 (12:22 +0000)]
Rationalize the use of c-new-BEG and c-new-END in CC Mode.
Remove the now redundant c-old-BOM and c-old-EOM.
* lisp/progmodes/cc-engine.el (c-macro-cache-syntactic): Change and simplify
meaning.
(c-macro-cache-no-comment): New variable.
(c-invalidate-macro-cache, c-beginning-of-macro, c-end-of-macro): incorporate
the new c-macro-cache-no-comment.
(c-syntactic-end-of-macro): Make better use of c-macro-cache-syntactic.
(c-no-comment-end-of-macro): New function.
* lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Add
c-extend-font-lock-region-for-macros to C/C++/ObjC value.
* lisp/progmodes/cc-mode.el (c-old-BOM, c-old-EOM): Remove.
(c-extend-region-for-CPP): Put results in c-new-BEG/END rather than
c-old-BOM/EOM.
(c-extend-font-lock-region-for-macros): Simplify meaning, no longer returning
a cons for the new region, since the function is now called as an after-change
function. No longer adjust c-new-END for the length of inserted/deleted
text. Move the size restrictions on macros to here from
c-neutralize-syntax-in-and-mark-CPP.
(c-neutralize-syntax-in-and-mark-CPP): No longer adjust c-new-BEG/END here.
Use c-no-comment-end-of-macro rather than c-syntactic-end-of-macro to find the
upper boundary to "neutralize" syntactically obtrusive characters.
(c-change-expand-fl-region): Don't set c-new-END to next BOL when already at
one.
Eli Zaretskii [Sat, 28 May 2016 15:33:50 +0000 (18:33 +0300)]
Fix 'next-line' and 'previous-line' during keyboard macro
* lisp/simple.el (line-move-visual): Handle the case when point
moves outside of the visible portion of the buffer while executing
a keyboard macro. (Bug#13452) (Bug#23551) (Bug#23555)
Michael Albinus [Sat, 28 May 2016 10:14:58 +0000 (12:14 +0200)]
Sync with Tramp repository.
* lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
* lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process)
* lisp/net/tramp-smb.el (tramp-smb-handle-start-file-process):
Create BUFFER if it doesn't exist. Reported by Nikolay
Kudryavtsev <nikolay.kudryavtsev@gmail.com>.
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-attributes)
(tramp-gvfs-file-attributes-with-gvfs-ls-regexp)
(tramp-gvfs-file-attributes-with-gvfs-info-regexp): New defconst.
(tramp-gvfs-get-directory-attributes)
(tramp-gvfs-get-root-attributes)
(tramp-gvfs-get-file-attributes): New defun.
(tramp-gvfs-handle-file-attributes)
(tramp-gvfs-handle-file-name-all-completions): Use them.
(tramp-gvfs-handle-file-directory-p): Use `file-truename'.
(tramp-gvfs-maybe-open-connection): Set :noquery flag for process.
(tramp-gvfs-send-command): Add locale settings to `process-environment'.
(top): Suppress D-Bus error messages during zeroconf initialization.
* lisp/net/tramp.el (tramp-unknown-id-string)
(tramp-unknown-id-integer): New defconst.
(tramp-check-cached-permissions)
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes)
* lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
(tramp-convert-file-attributes, tramp-get-remote-uid)
(tramp-get-remote-gid): Use them.
* lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp):
Rename from `tramp-color-escape-sequence-regexp'.
(tramp-sh-handle-insert-directory)
(tramp-convert-file-attributes): Adapt callees.
(tramp-device-escape-sequence-regexp): New defconst.
(tramp-wait-for-output): Use it. Reported by Matthías Páll
Gissurarson <icetritlo@gmail.com>.
Paul Eggert [Sat, 28 May 2016 01:16:24 +0000 (18:16 -0700)]
Don’t document declare-function internals
Suggested by Stefan Monnier in:
http://lists.gnu.org/archive/html/emacs-devel/2016-05/msg00618.html
* doc/lispref/functions.texi (Declaring Functions):
* lisp/subr.el (declare-function):
* lisp/emacs-lisp/bytecomp.el:
(byte-compile-macroexpand-declare-function):
Document as (fn file &optional arglist fileonly)
even though it is really (fn file &rest args).
Paul Eggert [Fri, 27 May 2016 20:39:34 +0000 (13:39 -0700)]
Robustify stack-size calculation
* src/emacs.c: Include getpagesize.h.
(main): Check for integer overflow when computing stack size.
Round new rlim_cur to pagesize boundary on all platforms, as this
is easy and would have prevented Bug#23622. If setrlimit
fails, use current limit to determine re_max_failures.
Ken Brown [Fri, 27 May 2016 18:55:34 +0000 (14:55 -0400)]
Adjust filenotify-tests on Cygwin
* test/lisp/filenotify-tests.el (file-notify--test-timeout):
Remove special case for Cygwin.
(file-notify-test07-backup): Update expected results on Cygwin.
Mark Oteiza [Fri, 27 May 2016 01:47:18 +0000 (21:47 -0400)]
Preserve buffer point in windows by default (Bug#4041).
* doc/lispref/windows.texi: Mention new default.
* etc/NEWS: Mention new default.
* lisp/window.el (switch-to-buffer-preserve-window-point): Default to t.
Paul Eggert [Fri, 27 May 2016 02:10:26 +0000 (19:10 -0700)]
Fix byte-compiler pacification for declare-function
Problem reported by Michael Heerdegen in:
http://lists.gnu.org/archive/html/emacs-devel/2016-05/msg00590.html
* lisp/emacs-lisp/bytecomp.el:
(byte-compile-macroexpand-declare-function):
Revert signature to previous value.
* lisp/subr.el (declare-function): Change signature to
match the reverted signature used in the byte compiler.
Paul Eggert [Thu, 26 May 2016 20:02:07 +0000 (13:02 -0700)]
Repair damage from emacs-25 merge
* test/lisp/character-fold-tests.el:
Remove, as it was renamed to test/lisp/char-fold-tests.el.
* test/lisp/emulation/viper-tests.el:
Rename from test/automated/viper-tests.el.
Michael Albinus [Thu, 26 May 2016 17:57:13 +0000 (19:57 +0200)]
Fix Bug#23614.
* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
Let-bind `process-coding-system-alist' in order to suppress
the value for "cmdproxy".
* lisp/net/tramp.el (tramp-encoding-shell):
`w32-shell-name' is a function.
(tramp-encoding-command-switch)
(tramp-encoding-command-interactive): Use `w32-shell-dos-semantics'.
* test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
Suppress some tests on MS Windows. (Bug#23614)
Stephen Berman [Thu, 26 May 2016 09:30:29 +0000 (11:30 +0200)]
hl-line.el: Fix flickering of highlighted line (bug#23510)
* lisp/hl-line.el (hl-line-maybe-unhighlight)
(global-hl-line-highlight-all)
(global-hl-line-maybe-unhighlight): New functions.
(hl-line-overlay-buffer): New variable.
(hl-line-mode): Use it. Replace hl-line-unhighlight on
pre-command-hook by hl-line-maybe-unhighlight on
post-command-hook, to prevent hl-line from flickering.
Adjust document string.
(global-hl-line-mode): Use global-hl-line-highlight-all to
simultaneously highlight the current line in all live windows.
Replace global-hl-line-unhighlight on pre-command-hook by
global-hl-line-maybe-unhighlight on post-command-hook, to
prevent global-hl-line from flickering. Remove
global-hl-line-unhighlight from change-major-mode-hook on
disabling the mode. Adjust document string.
Vincent Belaïche [Thu, 26 May 2016 09:03:21 +0000 (11:03 +0200)]
Correct old cell name unbinding when renaming cell.
Bug is to unbind old cell names when renaming a cell with
'makunbound'. when the old cell name is of A1 type, then
'kill-local-variable' must be used instead, so that only the current
spreadsheet is affected. When the old cell name is a renamed cell,
then 'ses--unbind-cell-name' must be used in order to remove the old
name from the name hashmap.
* ses.el (ses-rename-cell): check consistency of cell symbol from
text-property and from array object. Instead of 'makunbound', use
either 'ses--unbind-cell-name' or 'kill-local-variable' depending on
whether the cell old name is a named cell or an A1 type cell
Stefan Monnier [Thu, 26 May 2016 02:58:18 +0000 (22:58 -0400)]
Make autoloads populate a new definition-prefixes table
* lisp/subr.el (definition-prefixes): New hash table.
(register-definition-prefixes): New function.
* lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): New var.
(autoload--split-prefixes-1, autoload--split-prefixes)
(autoload--make-defs-autoload): New functions.
(autoload-defs-autoload-max-size, autoload-popular-prefixes): New vars.
(autoload-generate-file-autoloads): Obey autoload-compute-prefixes.
(update-directory-autoloads): Don't touch loaddefs.el if the set of
autoloads hasn't changed (i.e. if only the timestamp would change).
* lisp/loadup.el: Purify definition-prefixes.
* lisp/w32-fns.el: Keep name space clean.
(w32-set-default-process-coding-system): Rename from
set-default-process-coding-system.
(w32-set-system-coding-system): Rename from set-w32-system-coding-system.
Eli Zaretskii [Tue, 24 May 2016 16:04:16 +0000 (19:04 +0300)]
Avoid aborting due to errors in arguments of 'set-face-attribute'
* src/xfaces.c (Finternal_set_lisp_face_attribute): Check the
FRAME argument before using it. This avoids gratuitous aborts in
Emacs built with --enable-checking when the luser was unlucky
enough to get the argument list in wrong order.
Stefan Monnier [Tue, 24 May 2016 00:09:33 +0000 (20:09 -0400)]
* lisp/url/url-http.el: Use lexical-binding
(url-http-simple-after-change-function): Use buffer-size rather than `nd'.
(url-http-wait-for-headers-change-function): Remove unused var
`content-length'.
(url-http): Remove unused vars `host' and `port'.
Stefan Monnier [Mon, 23 May 2016 19:12:24 +0000 (15:12 -0400)]
* lisp/image.el: Use lexical-binding
(image-scaling-factor, imagemagick-types-inhibit)
(imagemagick-enabled-types): Remove redundant :group.
(image--get-image): Apply de-Morgan and use car-safe.
(image-compute-scaling-factor): Use the argument.
; 1) put-image does not add a display property to its overlay
; 2) it does add a display text property
; 3) an overlay is not a cons whose car is 'image
Paul Eggert [Mon, 23 May 2016 15:56:42 +0000 (08:56 -0700)]
Don’t use only last protocol from getaddrinfo
Problem reported by Ken Brown in:
http://lists.gnu.org/archive/html/emacs-devel/2016-05/msg00483.html
* src/process.c (conv_addrinfo_to_lisp): New function.
(connect_network_socket): Arg is now a list of addrinfos, not
merely IP addresses. All uses changed. Use protocol from
each addrinfo.
(Fmake_network_process): Accumulate protocols into addrinfos
rather than just using the last one found.
(check_for_dns): Accumulate protocols here, too.
* src/process.h (struct Lisp_Process): Remove ai_protocol;
no longer needed.
Paul Eggert [Mon, 23 May 2016 15:13:03 +0000 (08:13 -0700)]
Fix seq requirement that broke bootstrap
* lisp/image.el (image--get-image): Require seq here, not at the
top level, to avoid ‘(require seq) while preparing to dump’ while
bootstrapping. Suggested by Tino Calancha in:
http://lists.gnu.org/archive/html/emacs-devel/2016-05/msg00477.html
Phillip Lord [Sat, 21 May 2016 09:06:12 +0000 (10:06 +0100)]
Fix viper undo breakage from undo-boundary changes
* lisp/simple.el (undo-auto-disable-boundaries): New variable
* lisp/emulation/viper-init.el (viper-undo-in-complex-command,
viper-undo-needs-adjustment): Rename
variable to reflect new purpose,
(viper-buffer-undo-list-mark): Remove
* lisp/emulation/viper-cmd.el (viper-set-complex-command-for-undo):
Add undo using `undo-boundary', disable default undo-boundary
addition.
* lisp/emulation/viper-cmd.el
(viper-complete-complex-command-for-undo,viper-adjust-undo):
Change function name, remove old undo list manipulation.
* lisp/emulation/viper-cmd.el (viper-undo,viper-repeat,
viper-change-state-to-vi,viper-change-state):
Update for function name change.
Kaushal Modi [Mon, 23 May 2016 00:48:33 +0000 (17:48 -0700)]
Fix reference to obsolete fn ps-eval-switch
lpr-eval-switch is functionally the same as ps-eval-switch,
which was obsoleted in 2cdeb903c57126d3ad5f0cbd72e182584b76ee29.
So use that instead (Bug#19717).
* lisp/printing.el (pr-switches): Use lpr-eval-switch instead of
ps-eval-switch.
Paul Eggert [Mon, 23 May 2016 00:29:58 +0000 (17:29 -0700)]
Do not trash symlinks to init file
If the user’s init file is a symbolic link, do not break the link
when initializing the package system. Problem reported by Jackson
Hamilton (Bug#23050).
* lisp/emacs-lisp/package.el (package--ensure-init-file):
Bind find-file-visit-truename when visiting the init file, and
save and restore the buffer name the way cus-edit does in a
similar situation (Bug#454).
Paul Eggert [Sun, 22 May 2016 20:38:53 +0000 (13:38 -0700)]
Bring back xterm pasting with middle mouse
Problem reported by Jan Synáček.
Solution suggested by Stefan Monnier (Bug#23519).
* lisp/isearch.el (isearch-mode-map): Add a binding for xterm-paste.
(xterm--pasted-text): New decl.
(isearch-xterm-paste): New function.
* lisp/term/xterm.el (xterm--pasted-text): New function,
taken from xterm-paste internals.
(xterm-paste): Use it.
Eli Zaretskii [Sun, 22 May 2016 16:20:28 +0000 (19:20 +0300)]
Provide workaround for xftfont rendering problem
* src/xftfont.c (syms_of_xftfont) <xft-font-ascent-descent-override>:
New variable.
(xftfont_open): Use it to work around problems with rendering some
fonts. (Bug#23360)
Paul Eggert [Sun, 22 May 2016 00:04:44 +0000 (17:04 -0700)]
Prefer SOCK_NONBLOCK to O_NONBLOCK
* src/process.c (SOCK_NONBLOCK): Define to 0 if not already defined.
(connect_network_socket): Create the socket with SOCK_NONBLOCK, to
avoid an fcntl with O_NONBLOCK if SOCK_NONBLOCK works. Put the
SOCK_DGRAM check a bit later, to keep the logic cleaner, as
the order does not matter here.
Eli Zaretskii [Sat, 21 May 2016 17:06:33 +0000 (20:06 +0300)]
Fix compiler warnings in the MinGW build
* configure.ac [mingw32]: Don't add -Wpointer-sign, and add
-Wno-pointer-sign, to keep the noise level down.
* nt/mingw-cfg.site (gl_cv_warn_c__Wredundant_decls): Disable
-Wredundant-decls, as that produces a lot of noise due to
redeclaration of time-related functions by gnulib.
* nt/runemacs.c (set_user_model_id): Fix argument type of
'SetCurrentProcessExplicitAppUserModelID'.
* src/image.c (x_create_bitmap_from_file) [HAVE_NTGUI]: Don't
declare 'dpyinfo', as it is unused.
(xpm_load): Fix warnings about pointer signedness.
* src/w32proc.c (IsValidLocale, init_winsock): Remove redundant
prototypes.
(sys_spawnve): Avoid warnings about discarding 'const' qualifier.
(sys_select): Provide prototype.
(g_b_init_compare_string_w): Move declaration to file scope.
* src/w32heap.c (dumped_data_commit): Now static.
(FREEABLE_P): Avoid warnings about pointer comparison with integer.
(mmap_realloc): Cast to 'char *' for arithmetics on void pointers.
* src/w32console.c (ctrl_c_handler, sys_tputs, sys_tgetstr)
(evalcost, cmputc, cmcheckmagic, cmcostinit, cmgoto, Wcm_clear):
Provide prototypes.
* src/w32.c (globals_of_w32, conv_sockaddr_to_lisp): Remove
redundant prototypes.
(w32_get_internal_run_time, map_w32_filename): Provide prototype.
(init_environment, sys_ctime): Avoid warnings about discarding
'const' qualifier.
Include utimens.h.
(sys_ctime, sys_chdir, sys_creat, sys_fopen, sys_mkdir)
(sys_open, sys_rename, sys_rmdir, is_slow_fs, term_winsock)
(sys_close, sys_dup2, sys_read, sys_write, sys_localtime): Provide
prototypes.
(sys_rename_replace): Use %d to avoid compiler warnings.
(_wsa_errlist): Make the message text 'const char *', to avoid
compilation warnings.
(dynlib_reset_last_error): Move prototype to file scope.
(w32_get_resource): First argument is now 'const char *'.
* src/w32uniscribe.c (syms_of_w32uniscribe): Provide prototype.
(otf_features): Second argument is no 'const char *'.
* src/w32term.c (free_frame_menubar, x_wm_set_size_hint)
(x_set_window_size): Remove redundant prototypes.
(XChangeGC, XGetGCValues, w32_draw_underwave)
(w32_draw_rectangle, w32_shift_glyphs_for_insert, x_mouse_leave)
(x_calc_absolute_position, x_destroy_window): Now static.
(menubar_selection_callback): Move prototype to file scope.
* src/w32font.c (g_b_init_get_glyph_outline_w): Remove redundant
declaration.
(w32_to_x_charset): Fix warnings about discarding 'const' qualifier.
(w32font_full_name): Fix warnings about implicit conversion of
'float' to 'double'.
* src/w32reg.c (w32_get_rdb_resource): Fix warnings about
discarding 'const' qualifier.
* src/w32menu.c (syms_of_w32menu, globals_of_w32menu)
(set_frame_menubar): Remove redundant prototypes.
(menubar_selection_callback, w32_menu_display_help): Provide
prototypes.
(simple_dialog_show): Avoid warnings about discarding 'const'
qualifier.
* src/w32fns.c (syms_of_w32fns, globals_of_w32fns)
(free_frame_menubar, w32_strerror, x_set_menu_bar_lines)
(x_set_tool_bar_lines, x_set_internal_border_width): Remove
redundant prototypes.
(current_popup_menu): Remove redundant declaration.
(colormap_t): Member 'name' is now 'const char *'.
(add_system_logical_colors_to_map): Fix signed/unsigned warnings.
(x_decode_color, x_set_border_pixel)
(x_clear_under_internal_border, x_set_name, hook_w32_key)
(reset_w32_kbdhook_state, deliver_wm_chars, w32_backtrace): Now
static.
(w32_load_cursor, w32_key_to_modifier, map_keypad_keys)
(w32_msg_worker, w32_last_error): Provide prototypes.
(funhook, lookup_vk_code): Avoid warnings about missing
parentheses.
(x_default_font_parameter, Fw32_notification_notify): Avoid
warnings about discarding 'const' qualifier.
(Fx_create_frame): Avoid warnings about empty body of 'else'.
(x_screen_planes): Ifdef away unused function.
(Fx_show_tip): Remove unused variables.
(Fw32_battery_status): Avoid warnings about implicit promotion
from float to double.
(Fw32_notification_notify): Initialize 'timeout'.
* src/profiler.c (profiler_cpu_running) [HAVE_ITIMERSPEC]: Only
define the TIMER_SETTIME_RUNNING value if it will be used.
* src/w32notify.c (send_notifications): Ifdef away an empty if
clause. Remove unused variable.
(watch_end, watch_completion): Provide prototypes.
* src/sound.c (sound_warning) [WINDOWSNT]: Don't define: unused.
* src/callproc.c (child_setup, getenv_internal_1) [WINDOWSNT]: Fix
warning with pointer signedness.
* src/gnutls.c (gnutls_x509_crt_get_signature)
(gnutls_alert_send_appropriate) [WINDOWSNT]: Don't define, and
don't load them from the GnuTLS library, as they are no longer
used.
* src/process.c (DATAGRAM_CHAN_P) [!DATAGRAM_SOCKETS]: Don't
define, as it's unused.
* src/unexw32.c (open_input_file, open_output_file)
(close_file_data): Remove redundant prototypes.
(_start): provide prototype.
(mainCRTStartup): Move prototype to file level.
(find_section): Use type-cast to shut up compiler warnings.
(offset_to_section, relocate_offset): Now static.
(find_section): First argument is now a 'const char *'.
(offset_to_section): Ifdef away, as it's unused.
* src/w32heap.h (find_section): Adjust prototype.
* src/dynlib.c (dynlib_reset_last_error): Provide prototype.
* src/dired.c (directory_files_internal_w32_unwind): Avoid
warnings about missing prototypes.
(is_slow_fs) [WINDOWSNT]: Provide prototype at file level.
(directory_files_internal) [WINDOWSNT]: Fix warnings about pointer
signedness.
* src/fileio.c (Ffile_writable_p, Ffile_regular_p) [WINDOWSNT]:
Fix warnings about pointer signedness.
* src/filelock.c (WTMP_FILE) [WINDOWSNT]: Don't define, it's
unused.
* src/sysdep.c (_getpid): Remove redundant prototype.
(sys_subshell) [DOS_NT]: Don't define 'status', it's unused.
[!MSDOS]: Don't define 'st', it's unused.
(init_sys_modes) [DOS_NT]: Don't define 'terminal', it's unused.
(str_collate) [WINDOWSNT]: Avoid warnings about pointer signedness.
* src/keyboard.c (tty_read_avail_input) [WINDOWSNT]: Don't define
n_to_read, as it is not used.
(MAX_ENCODED_BYTES) [WINDOWSNT]: Don't define, as it's unused.
* src/w32font.h (syms_of_w32font): Remove redundant prototype.
* src/xfaces.c (x_display_info) [HAVE_NTGUI]: Remove unused macro.
* src/term.c (init_tty) [DOS_NT]: Ifdef away variables that are
not used by DOS_NT builds, to avoid compiler warnings.
* src/menu.c (current_popup_menu) [HAVE_NTGUI]: Remove redundant
declaration.
* src/dispnew.c (init_display) [WINDOWSNT]: Use type-cast to shut
up compiler warnings.
* src/w32term.h (x_set_window_size, x_get_focus_frame)
(x_make_frame_visible, x_make_frame_invisible, x_iconify_frame)
(x_set_frame_alpha, x_activate_menubar, x_bitmap_icon)
(x_free_frame_resources, x_real_positions)
(display_x_get_resource): Remove redundant prototypes.
* lib-src/ntlib.c (sys_ctime, sys_fopen, sys_chdir, mkostemp)
(sys_rename, gettimeofday): Provide prototypes.
* lib-src/ntlib.h (getuid, geteuid, mkostemp): Remove redundant
declarations.
* lib-src/emacsclient.c (w32_getenv): Argument is now 'const char *'.
(xstrdup, w32_get_resource, w32_window_app, w32_execvp, ttyname)
(close_winsock, initialize_sockets, w32_set_user_model_id)
(w32_find_emacs_process, w32_give_focus) [WINDOWSNT]: Add
prototypes.
(w32_get_resource) [WINDOWSNT]: Fix a warning about signedness
difference.
(w32_set_user_model_id): Update prototype of
SetCurrentProcessExplicitAppUserModelID to avoid compiler
warnings.
(start_daemon_and_retry_set_socket) [WINDOWSNT]: Use type-cast to
shut up compiler warnings.
* lib-src/etags.c (MAXPATHLEN) [WINDOWSNT]: Remove unused macro.
Eli Zaretskii [Sat, 21 May 2016 09:35:08 +0000 (12:35 +0300)]
Fix 'vertical-motion' and 'posn-at-point' under 'visual-line-mode'
* src/xdisp.c (move_it_in_display_line_to): Don't assume we can
wrap on a whitespace character if it's followed by another
whitespace character. When returning under WORD_WRAP for a screen
line that is continued, restore to wrap point when atpos/atx
position would be displayed on the next screen line due to
line-wrap. (Bug#23570)
Philipp Stephani [Tue, 10 May 2016 21:23:26 +0000 (23:23 +0200)]
Fix handling of ‘mouse-on-link-p’.
If ‘mouse-on-link-p’ returns a string or vector, the first element
is to be used as new event. Translation to ‘mouse-2’ should only
happen if the return value is not a string or vector. See
docstring of ‘mouse-on-link-p’ and Bug#23288.
* lisp/mouse.el (mouse--down-1-maybe-follows-link): Process return
value of ‘mouse-on-link-p’ according to documentation.
* test/lisp/mouse-tests.el (bug23288-use-return-value)
(bug23288-translate-to-mouse-2): Tests for Bug#23288.
Daiki Ueno [Thu, 19 May 2016 09:05:19 +0000 (18:05 +0900)]
epg: Add a way to detect gpg1 executable for tests
Fixes bug#23561.
* test/automated/epg-tests.el
(epg-tests-program-alist-for-passphrase-callback): New
constant.
(epg-tests-find-usable-gpg-configuration): New function,
renamed from `epg-tests-gpg-usable'. All callers changed.
(epg-tests-gpg-usable): Remove.
* lisp/epg-config.el (epg-config--program-alist): Factor out
constructor element to...
(epg-config--configuration-constructor-alist): ...here.
(epg-find-configuration): Rename FORCE argument to NO-CACHE,
and add PROGRAM-ALIST argument.
Mark Oteiza [Thu, 19 May 2016 23:01:08 +0000 (19:01 -0400)]
Put point at beginning of display-time-world buffer.
If display-time-world decides to popup vertically from the bottom of the
frame and scroll-margin is nonzero, the top of the buffer contents are
hidden due to scroll.
* lisp/time.el (display-time-world-display): Move point to point-min
after inserting contents.