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.
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.
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
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.
Paul Eggert [Thu, 19 May 2016 15:38:55 +0000 (08:38 -0700)]
Allow null entries in face and image cache
Problem reported by Tino Calancha (Bug#23580).
* src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID):
Don’t assume that the result is non-null.
* src/xdisp.c (fill_image_glyph_string):
Restore check that image pointer is non-null.
Paul Eggert [Wed, 18 May 2016 07:48:35 +0000 (00:48 -0700)]
‘make check-declare’ now chatters less
* etc/NEWS: Document this.
* lisp/emacs-lisp/check-declare.el (check-declare-locate):
Return relative names, not absolute.
(check-declare-scan, check-declare-verify, check-declare-warn)
(check-declare-file, check-declare-directory):
Generate less chatter. Use relative file names rather than
absolute. Don’t give up on computing a good file name for a
diagnostic merely because the function name was bad. Make
malformed declarations more noticeable. Don’t warn about
"ext:..." declarations if check-declare-ext-errors is nil.
(check-declare-errmsg): Remove.
(check-declare-warn): New optional arg LINE.
(check-declare-files): Put status into mode line rather than
chattering.
Paul Eggert [Wed, 18 May 2016 07:12:01 +0000 (00:12 -0700)]
Pacify byte-compiler for with-wrapper-hook
* lisp/subr.el (subr--with-wrapper-hook-no-warnings):
New macro, split out from with-wrapper-hook.
* lisp/abbrev.el (abbrev--default-expand):
* lisp/minibuffer.el (completion--in-region):
* lisp/simple.el (buffer-substring--filter):
* lisp/subr.el (with-wrapper-hook):
Use it.
Paul Eggert [Wed, 18 May 2016 07:06:12 +0000 (00:06 -0700)]
Port --enable-gcc-warnings to GCC 6.1
* configure.ac (WERROR_CFLAGS): Omit -Wunused-const-variable=2.
* lib-src/etags.c (LOOKING_AT, LOOKING_AT_NOCASE):
Omit test whether pointer plus a constant equals a null pointer.
* src/alloc.c (compact_small_strings):
Avoid pointer arithmetic on null pointers.
* src/alloc.c (mark_face_cache):
* src/fontset.c (free_realized_fontsets, Fset_fontset_font):
* src/fringe.c (draw_fringe_bitmap_1)
(Fset_fringe_bitmap_face):
* src/macfont.m (macfont_draw):
* src/msdos.c (IT_set_face, IT_clear_screen):
* src/nsfont.m (nsfont_draw):
* src/nsterm.h (FRAME_DEFAULT_FACE):
* src/nsterm.m (ns_draw_window_cursor)
(ns_draw_vertical_window_border, ns_draw_window_divider)
(ns_dumpglyphs_box_or_relief)
(ns_maybe_dumpglyphs_background, ns_dumpglyphs_image)
(ns_dumpglyphs_stretch):
* src/w32term.c (w32_draw_vertical_window_border)
(w32_draw_window_divider, x_set_mouse_face_gc):
* src/xdisp.c (estimate_mode_line_height, init_iterator)
(handle_face_prop, handle_single_display_spec, pop_it)
(CHAR_COMPOSED_P, get_next_display_element)
(next_element_from_display_vector, extend_face_to_end_of_line)
(fill_gstring_glyph_string,BUILD_COMPOSITE_GLYPH_STRING):
* src/xfaces.c (Finternal_merge_in_global_face, Fface_font)
(lookup_named_face):
* src/xterm.c (x_draw_vertical_window_border)
(x_draw_window_divider, x_set_mouse_face_gc):
Prefer FACE_OPT_FROM_ID to FACE_FROM_ID when the result might be null.
* src/xterm.c (try_window_id):
Redo loop to convince GCC 6.1 that it is null pointer safe.
(x_color_cells):
Use eassume as necessary to pacify GCC 6.1.
* src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID): Now returns non-null.
(FACE_OPT_FROM_ID, IMAGE_OPT_FROM_ID): New macro, with the old
behavior of the non-_OPT macro, to be used when the result
might be a null pointer.
* src/dispnew.c (buffer_posn_from_coords, marginal_area_string)
[HAVE_WINDOW_SYSTEM]:
* src/intervals.h (INTERVAL_WRITABLE_P):
* src/term.c (turn_off_face):
* src/xdisp.c (get_glyph_face_and_encoding, fill_image_glyph_string)
(produce_image_glyph, produce_xwidget_glyph):
* src/xfaces.c (lookup_named_face):
Remove unnecessary test for null pointer.
* src/keyboard.c (read_char): Suppress bogus -Wclobbered warning.
* src/process.c (would_block): New function.
(server_accept_connection, wait_reading_process_output, send_process):
Use it.
* src/xdisp.c (get_window_cursor_type, note_mouse_highlight):
Prefer IMAGE_OPT_FROM_ID to IMAGE_FROM_ID when the result
might be null.
Paul Eggert [Mon, 16 May 2016 17:05:19 +0000 (10:05 -0700)]
Avoid shrinking windows with Gtk+ 3.20.3
Problem reported by Matthias Clasen (Bug#23144).
This was fixed in a different way in master.
Do not merge to master.
* src/xterm.c (handle_one_xevent) [GTK_CHECK_VERSION (3, 20, 3)]:
Do not call xg_frame_resized in the MapNotify case.
Eli Zaretskii [Mon, 16 May 2016 15:14:54 +0000 (18:14 +0300)]
Fix bug in default setting of 'ps-paper-type'
* lisp/international/mule-cmds.el (set-locale-environment): Don't
inherit the value of locale from previous examination of different
environment variables, which didn't look at LC_PAPER, and so using
that value would effectively ignore the setting of LC_PAPER.
(Bug#23544)
Alan Mackenzie [Mon, 16 May 2016 11:27:39 +0000 (11:27 +0000)]
Fix spurious fontification of "for (; a * b;)" in CC Mode.
This fixes bug #7918 (again).
* lisp/progmodes/cc-engine.el (c-delq-from-dotted-list): New function.
(c-forward-decl-or-cast-1): Return a 4 element list in place of the previous
cons cell - additionally, return a flag indicating whether the declaration
parsed might have been an expression, and the position of the type identifier
in the said declaration.
* lisp/progmodes/cc-fonts.el (c-font-lock-declarations): When
c-forward-decl-or-cast-1 has indicated it might have parsed an expression,
check for it being a spurious declaration in a "for" statement.
Eli Zaretskii [Sat, 14 May 2016 17:39:17 +0000 (20:39 +0300)]
Fix reading minibuffer input in viper-mode
* lisp/emulation/viper-cmd.el (viper-read-string-with-history):
Restore an assignment to viper-initial that got lost when
viper-cmd.el was switched to lexical-binding. (Bug#23536)
Paul Eggert [Sat, 14 May 2016 17:24:22 +0000 (10:24 -0700)]
Port autogen.sh to Git 2.4
Problem reported by Michael Brand in:
http://lists.gnu.org/archive/html/emacs-devel/2016-05/msg00367.html
* autogen.sh (git_config): Don't assume that git rev-parse
groks --git-common-dir.
Paul Eggert [Sat, 14 May 2016 01:23:05 +0000 (18:23 -0700)]
Properly reject malformed or empty package sigs
Problem report and fix by Lizzie Dixon (Bug#23513).
* lisp/emacs-lisp/package.el (package--check-signature-content):
Report an error if no good signatures OR if a fatal error. Not AND.
Copyright-paperwork-exempt: yes
Paul Eggert [Fri, 13 May 2016 20:30:33 +0000 (13:30 -0700)]
Improve display of tex-verbatim and Info quoted
Problem reported by Glenn Morris (Bug#19889).
* doc/emacs/display.texi (Standard Faces):
* doc/lispref/display.texi (Basic Faces):
* etc/NEWS: Mention fixed-pitch-serif.
* lisp/faces.el (face-font-family-alternatives):
New family alias Monospace Serif.
(fixed-pitch-serif): New face, which uses the new family.
* lisp/info.el (Info-quoted):
* lisp/textmodes/tex-mode.el (tex-verbatim): Use the new face.
* test/lisp/legacy/font-parse-tests.el (font-parse-tests--data):
Add test case for Monospace Serif.
Stefan Monnier [Fri, 13 May 2016 18:32:22 +0000 (14:32 -0400)]
* lisp/net/sieve-mode.el: Handle the text:... notation
Get rid of redundant :group keywords.
(sieve-mode-syntax-table): Move initialization into declaration.
(sieve-syntax-propertize, sieve-syntax-propertize-text): New functions.
(sieve-mode): Use them.
Paul Eggert [Fri, 13 May 2016 16:51:32 +0000 (09:51 -0700)]
Remove buggy non-native image scrolling
This never worked, and could cause infinite recursion.
Problem reported by Glenn Morris (Bug#22465).
* lisp/xwidget.el (xwidget-webkit-scroll-behavior): Remove.
All uses removed.
Paul Eggert [Fri, 13 May 2016 14:45:30 +0000 (07:45 -0700)]
Merge from origin/emacs-25
9c2a1a2 * doc/misc/texinfo.tex: Sync from gnulib. 66cd4d8 * lisp/emacs-lisp/find-func.el (find-feature-regexp) (find-al... 1a5a05c Do not mistake colon at the end of regexp for slash symbol 4c5a00b Make package-install-from-buffer not move point 9596ea1 ; Revert "* emacs-lisp/lisp-mnt.el (lm-header): save-excursion" f79c352 Redo the fix for bug#21839 8d2f78c Don't treat JS spread as contination method call
Ken Brown [Thu, 12 May 2016 19:52:26 +0000 (15:52 -0400)]
Autosave buffers on logout if HAVE_NTGUI
* src/w32fns.c (w32_wnd_proc): Pass a WM_ENDSESSION message on to
w32_read_socket.
* src/w32term.c (w32_read_socket): Create an event of type
END_SESSION_EVENT if a WM_ENDSESSION message is received.
* src/termhooks.h [HAVE_NTGUI]: New event kind END_SESSION_EVENT.
* src/keyboard.c [HAVE_NTGUI] (syms_of_keyboard): New symbol
`end-session'.
(kbd_buffer_get_event): Return an end-session event if an event of
type END_SESSION_EVENT is read.
(keys_of_keyboard): Bind the end-session event to kill-emacs in
special-event-map. (Bug#23483)
Stefan Monnier [Thu, 12 May 2016 19:50:24 +0000 (15:50 -0400)]
* lisp/cedet/semantic/{db-el,symref}.el: Mark unused vars
* lisp/cedet/semantic/db-el.el: Use _ to mark unused vars.
(object-print): Use cl-call-next-method instead of call-next-method.
* lisp/cedet/semantic/symref.el: Use _ to mark unused vars.
Stefan Monnier [Thu, 12 May 2016 17:08:34 +0000 (13:08 -0400)]
* lisp/cedet/semantic: Silence some warnings
* lisp/cedet/semantic/db-el.el (emacs-lisp-mode)
(semanticdb-get-database-tables): Use make-instance to silence warnings.
* lisp/cedet/semantic/symref.el: Require semantic/find since we use
some macros from there. Silence compilation warnings:
Replace initargs with slot names in oref/oset.
Move `SYMREF TOOLS' section earlier so definitions precede their use.
Michael Albinus [Thu, 12 May 2016 11:01:11 +0000 (13:01 +0200)]
Do not autoload some functions of tramp.el
* lisp/net/tramp.el (tramp-completion-file-name-handler):
Autoload a shortened version of this function, avoid recursive load.
(tramp-completion-file-name-handler-alist)
(tramp-completion-mode-p)
(tramp-completion-handle-expand-file-name)
(tramp-completion-handle-file-name-all-completions)
(tramp-completion-handle-file-name-completion): Do not autoload.
Paul Eggert [Tue, 10 May 2016 20:40:17 +0000 (13:40 -0700)]
Pacify byte-compiler in lisp/vc
* lisp/vc/vc-bzr.el, lisp/vc/vc-cvs.el, lisp/vc/vc-hg.el:
* lisp/vc/vc-rcs.el, lisp/vc/vc-src.el:
Declare functions defined elsewhere, to forestall “might not
be defined at runtime” warnings.
Paul Eggert [Tue, 10 May 2016 14:38:23 +0000 (07:38 -0700)]
'text-quoting-style' now affects only ` and '
Change 'text-quoting-style' so that it no longer affects
formatting of curved quotes in format arguments to functions like
'message'. In particular, when this variable's value is 'grave',
all quotes in formats are output as-is.
* doc/lispref/help.texi (Keys in Documentation):
* doc/lispref/strings.texi (Formatting Strings):
* doc/lispref/tips.texi (Documentation Tips):
* etc/NEWS:
* src/doc.c (syms_of_doc): Document this.
* lisp/help-fns.el (describe-function-1):
* src/doc.c (text_quoting_style, Fsubstitute_command_keys)
(syms_of_doc):
* src/editfns.c (styled_format): Omit now-unnecessary code.
* src/lisp.h (LEAVE_QUOTING_STYLE): Remove.
Alan Mackenzie [Tue, 10 May 2016 14:36:02 +0000 (14:36 +0000)]
Revert "Fix spurious fontification of "for (; a * b;)" in CC Mode."
This reverts commit 89d1776b81ab552192ee41f13ce84ff86bda4556. It is
being reverted because it slowed down CC Mode's fontification too much
(factor ~3). It was the fix to bug #7918.
Alan Mackenzie [Mon, 9 May 2016 18:12:52 +0000 (18:12 +0000)]
Add some "safe-local-variable" declarations for compatibility with master.
These enable C files from the master repository to be visited in Emacs 25
without generating irritating questions about configuration variable safety.
* lisp/progmodes/cc-vars.el: (c-string-list-p, c-string-or-string-list-p): New
functions.
(c-noise-macro-names, c-noise-macro-with-parens-names): give the
safe-local-variable property c-string-list-p.
(c-macro-names-with-semicolon): give the safe-local-variable property
c-string-or-string-list-p.
Paul Eggert [Mon, 9 May 2016 17:59:29 +0000 (10:59 -0700)]
Merge from origin/emacs-25
3b47898 Fix doc string in `insert' b479dea * doc/misc/emacs-mime.texi (time-date): Document now-builtins... cd27f73 Say 'All results processed' at the end 4ffec91 Document automatic adjustment of process' logical window dime... dc66271 ; Fix typos and stylistic glitches in NEWS
Alan Mackenzie [Mon, 9 May 2016 17:49:45 +0000 (17:49 +0000)]
CC Mode now uses the new :after-hook feature of define-derived-mode
It now runs internal variable setting functions after the mode hooks, no
longer runs the mode hooks twice, and declares the configuration variables for
noise macros and macros with semicolons as safe variables (when given suitable
arguments).
Fixes bug #16759 and bug #23476.
* .dir-locals: Put the c-noise-macros-with-paren-names setting back into the C
Mode value.
* lisp/progmodes/cc-mode.el: (c-basic-common-init): Remove the call to
c-make-macro-with-semi-re.
(c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode, awk-mode): Move
c-make-noise-macro-regexps and c-make-macro-with-semi-re (where appropriate)
and c-update-modeline into the :after-hook form. Remove the explicit settings
of the syntax table, the abbreviation table and the local key map, since they
duplicate forms generated by define-derived-mode. Remove the explicit
invocation of each mode's mode hook, since they duplicate ones generated by
define-derived-mode.
* lisp/progmodes/cc-vars.el: (c-string-list-p, c-string-or-string-list-p): New
functions.
(c-noise-macro-names, c-noise-macro-with-parens-names): give the
save-local-variable property c-string-list-p.
(c-macro-names-with-semicolon): give the save-local-variable property
c-string-or-string-list-p.
* doc/misc/cc-mode.texi: (Macros with ;, Noise Macros): Note that it's not
necessary to call the regexp generating functions after setting the pertinent
configuration values in a mode hook.