1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-02 10:11:05 -08:00
Commit graph

127345 commits

Author SHA1 Message Date
Vasilij Schneidermann
0adefe7ef9 Add 'x-ctrl-keysym' support on X window system
* src/xterm.c (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers):
Support 'x-ctrl-keysym'.
(syms_of_xterm): DEFSYM "ctrl" and put a proper modifier-value
property on it.
<x-ctrl-keysym>: New DEFVAR_LISP.
<x-alt-keysym, x-hyper-keysym, x-meta-keysym, x-super-keysym>: Doc
fix.  (Bug#24822)

* etc/NEWS: Mention the addition of 'x-ctrl-keysym'.

* doc/lispref/os.texi (X11 Keysyms): Document 'x-ctrl-keysym'.
2016-11-04 11:09:31 +02:00
Alexander Gramiak
e5d0efe8fc Improve autoload error reporting
* src/eval.c (Fautoload_do_load): Include the absolute file name
in the error message.
2016-11-04 10:41:21 +02:00
Reuben Thomas
86bec41906 Stop force parameter of whitespace-report-region having global effect
* lisp/whitespace.el (whitespace-report-region): Force parameter
previously changed whitespace-style globally.  Fix this, and use
whitespace-active-style, to take account of any changes the user may
have made.  Simplify the documentation: the force parameter simply
forces all classes of whitespace problem to be considered.
(Bug#24745)
2016-11-03 12:16:56 +00:00
Reuben Thomas
50bba7f47e Document use of `tab-width'
* lisp/whitespace.el: When talking about `8 or more spaces', mention
`tab-width' instead of 8.  (Bug#24745)
2016-11-03 12:16:56 +00:00
Reuben Thomas
2350bb9531 Make whitespace-report-region respect current settings
* lisp/whitespace.el (whitespace-report-region): Make it respect
whitespace-style, including any additions made by the force parameter.
This means that the function does not return t unless a whitespace
problem that the user cares about is reported.  (Bug#24745)
2016-11-03 12:16:56 +00:00
Reuben Thomas
a55c582fdb Fix whitespace-space-after-tab-regexp
* lisp/whitespace.el (whitespace-space-after-tab-regexp)
(whitespace-regexp): Match all the spaces after tabs for highlighting,
not just the first tab-width.  Fix whitespace-space-after-tab::space
version so that it requires at least tab-width spaces, not just 1.
(Bug#24745)
2016-11-03 12:16:56 +00:00
Reuben Thomas
96f3ae900f Remove duplicate documentation
* lisp/whitespace.el: Remove duplicate documentation from the Commentary
  section which duplicate and in some places contradict (due to being
  out of date) the docstrings (Bug#24745).
2016-11-03 12:16:56 +00:00
Reuben Thomas
0a5ab4dd09 Fix bob/eob checks
* lisp/whitespace.el (whitespace-empty-at-bob-regexp)
(whitespace-empty-at-eob-regexp, whitespace-cleanup): Make `empty' checks
work at beginning & end of buffer in whitespace-report-region, and only
there (i.e. they will never match in regions that don't include the
start or end of the buffer).  (Bug#24745)
2016-11-03 12:16:56 +00:00
Tino Calancha
76e297c15f (thing-at-point 'list) return nil if no list at point
* lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point):
Check first if we are at the beginning of a top-level sexp (Bug#24627).
If point is inside a comment or string, look for a list out of the
comment/string.
Escape '[' in doc string.
* test/lisp/thingatpt-tests.el (thing-at-point-bug24627): Update
expected test result as pass.
2016-11-03 20:33:19 +09:00
Mark Oteiza
76735c116d Remove antlr face aliases obsoleted in 22.1
* lisp/progmodes/antlr-mode.el: Remove obsolete aliases
(antlr-default-face, antlr-keyword-face, antlr-syntax-face):
(antlr-ruledef-face, antlr-tokendef-face, antlr-ruleref-face):
(antlr-tokenref-face, antlr-literal-face):
(antlr-literal-face): Remove.
(antlr-font-lock-additional-keywords): Use face symbols instead.
2016-11-03 01:15:30 -04:00
Daniel Colascione
e5cdb5ce7d Revert "Disable bracketed paste in a terminal in char mode"
This change causes regressions, and besides, disabling BPM frame-wide
for the sake of one buffer is the wrong solution.

This reverts commit cf566b46a6.
2016-11-02 21:17:48 -07:00
Mark Oteiza
722e7989fa ; Require eieio at run time 2016-11-02 16:23:48 -04:00
Mark Oteiza
62a6e28e0c Revert change to eww-suggest-uris
The introduced append is ugly and can yield '(nil); doing delq on it
would be hacks on hacks.
* lisp/net/eww.el: Require cl-lib at run time.
(eww-suggest-uris): Restore eww-current-url, reverting previous change.
(eww): Remove erroneous append.
(eww-open-in-new-buffer): Check if the return from eww-suggested-uris is
equal to eww-current-url, which is nil anyways if we are not in an EWW
buffer.
2016-11-02 16:18:49 -04:00
Mark Oteiza
bbc218b9b0 Add eww-open-in-new-buffer to EWW
* doc/misc/eww.texi (Basic): Document new command and key.
* etc/NEWS: Mention new key and its purpose.
* lisp/net/eww.el (eww-suggest-uris): Remove eww-current-url.
(eww): Append (eww-current-url) to the prompt defaults.
(eww-open-in-new-buffer): New command.
(eww-mode-map): Bind it and add a menu item.
2016-11-02 15:58:28 -04:00
Mark Oteiza
3f06795181 Migrate auth-source to cl-lib
* lisp/auth-source.el: Use cl-lib.
(auth-source-read-char-choice, auth-source-backend-parse-parameters):
(auth-source-search): Replace cl calls with cl-lib ones.
(auth-source-netrc-cache):
(auth-source-forget+): Use cl-do-symbols instead.
(auth-source-specmatchp, auth-source-netrc-parse):
(auth-source-netrc-search, auth-source-netrc-create):
(auth-source-netrc-saver, auth-source-secrets-listify-pattern):
(auth-source-secrets-search, auth-source-secrets-create):
(auth-source-macos-keychain-search, auth-source--decode-octal-string):
(auth-source-macos-keychain-search-items, auth-source-plstore-search):
(auth-source-plstore-create): Replace cl calls with cl-lib ones.
2016-11-02 14:56:40 -04:00
Lars Ingebrigtsen
126c879df4 Don't segfault on timed-out TLS connections
* src/process.c (finish_after_tls_connection): Check that the
file descriptor is still alive before proceeding (bug#24811).
Also clean up the code slightly.
2016-11-01 20:57:28 +01:00
Eli Zaretskii
c3640fcc96 Support 'TARGETS' in clipboard selections on MS-Windows
* src/w32select.c (Fw32_selection_targets): New function.

* lisp/term/w32-win.el (w32--get-selection): Call
'w32-selection-targets' to obtain the list of data formats
available in the clipboard.
2016-11-01 18:04:07 +02:00
Glenn Morris
2664eb5394 ; Auto-commit of loaddefs files. 2016-11-01 06:18:02 -04:00
Thomas Fitzsimmons
0575fd95d0 Fix documentation for 'eudc-options-file'
* doc/misc/eudc.texi (The Server Hotlist): Update the default
value of 'eudc-options-file'.
2016-11-01 05:00:25 -04:00
Tibor Csögör
1fef1387c3 Fix documentation of 'eudc-inline-expansion-format'
* doc/misc/eudc.texi (Inline Query Expansion): Fix the default value of
'eudc-inline-expansion-format'. (Bug#24840)
2016-11-01 04:57:53 -04:00
Mark Oteiza
7a87f82987 Turn on lexical-binding in some more libs
* lisp/calendar/icalendar.el:
* lisp/emacs-lisp/regexp-opt.el:
* lisp/emacs-lisp/timer.el:
* lisp/gnus/message.el:
* lisp/hex-util.el: Turn on lexical-binding.
2016-10-31 20:31:22 -04:00
Mark Oteiza
d3c2d3ca45 Turn on lexical-binding in some net libs
* lisp/net/dbus.el: Turn on lexical-binding.
(dbus-list-hash-table, dbus-list-known-names):
(dbus-introspect-get-node-names, dbus-introspect-get-interface-names):
(dbus-introspect-get-method-names, dbus-introspect-get-signal-names):
(dbus-introspect-get-property-names):
(dbus-introspect-get-argument-names, dbus-get-all-properties):
(dbus-property-handler, dbus-get-all-managed-objects):
(dbus-managed-object-handler): Replace add-to-list with push. Add
nreverse in some places where the APPEND argument of add-to-list was
used.
* lisp/net/network-stream.el: Turn on lexical-binding.
* lisp/net/newsticker.el: Turn on lexical-binding.
* lisp/net/shr.el: Turn on lexical-binding.
(shr-make-placeholder-image): Remove unused variable binding.
(shr-inspect-table): Replace ignored bindings with underscore.
2016-10-31 20:19:21 -04:00
Mark Oteiza
05729e5ac2 Turn on lexical-binding in some url libs
* lisp/url/url-auth.el:
* lisp/url/url-expand.el:
* lisp/url/url-future.el:
* lisp/url/url-parse.el:
* lisp/url/url-util.el: Turn on lexical-binding.
2016-10-31 19:55:17 -04:00
Johan Bockgård
dec329aefc * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet): Fix debug spec
(Bug#24733)
2016-10-31 21:22:34 +01:00
Alan Mackenzie
8e7b1af1d7 Handle chars of syntax word which are also flagged as comment delimiters
src/syntax.c (scan_sexps_forward): When chars of syntax word are also flagged
as the start/end of two char comment delimiters, recognize a comment delimiter
in preference to a portion of a word.  This fixes bug #24767.
2016-10-30 17:29:52 +00:00
Daniel Colascione
a37eba849e Speed up initialization by preferring /dev/urandom to GnuTLS
* src/sysdep.c (init_random): Try /dev/urandom before GnuTLS.
2016-10-29 20:00:53 -07:00
José L. Doménech
27443df092 Quote file names in dired compression commands
* lisp/dired-aux.el (dired-do-compress-to): Change the string
used as shell command for compression by quoting the filenames
used for input and output (Bug #24620).
2016-10-29 21:32:11 -04:00
Eli Zaretskii
966b73b316 Avoid errors in posn-at-point for large images
* src/keyboard.c (Fposn_at_point): If pos-visible-in-window-p
returns a 6-member list for a partially visible glyph, pass the
sum of Y and RTOP to posn-at-x-y, since that's where the visible
portion of that glyph begins on display.  (Bug#24804)  (Bug#21832)
(Bug#23809)
2016-10-29 17:39:54 +03:00
Eli Zaretskii
aaa3a93e50 Unbreak MS-Windows build
* src/w32term.c (XCreateGC): Second argument is now HWND, and its
name is "wignore".
(x_set_cursor_gc, x_set_mouse_face_gc)
(x_draw_glyph_string_background, x_draw_glyph_string_bg_rect)
(x_draw_image_glyph_string, x_draw_stretch_glyph_string): Don't
use s->window, which doesn't exist anymore.

* src/w32term.h (XCreateGC): Adjust prototype.
2016-10-29 10:40:38 +03:00
Daniel Colascione
c29071587c Add double-buffering support to reduce flicker
* src/dispextern.h (struct glyph_string): Remove window member
(block_buffer_flips, unblock_buffer_flips)
(buffer_flipping_blocked_p): Declare.

* src/xterm.h (struct x_display_info): New member supports_xdbe.
(struct x_output): New members draw_desc and need_buffer_flip.
(FRAME_X_DRAWABLE, FRAME_X_RAW_DRAWABLE)
(FRAME_X_DOUBLE_BUFFERED_P)
(FRAME_X_NEED_BUFFER_FLIP): New macros.
(set_up_x_back_buffer, tear_down_x_back_buffer)
(initial_set_up_x_back_buffer): Declare.

* src/xterm.c: Include Xdbe.h.
(x_begin_cr_clip, x_fill_rectangle, x_draw_rectangle)
(x_draw_vertical_window_border, x_update_end)
(x_setup_relief_color, x_draw_relief_rect)
(x_draw_fringe_bitmap, x_shift_glyphs_for_insert)
(x_scroll_run, x_draw_hollow_cursor, x_draw_bar_cursor): Use
FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
variables appropriately; substitute calls to XClearArea with
x_clear_area, which DTRT for double buffering.
(x_clear_window, x_clear_area): In double-buffering mode, use
rect-drawing X functions instead of XClearWindow and
XClearArea, which always operate on the front buffer.
(show_back_buffer): New function.
(XTframe_up_to_date): Call show_back_buffer when done.
(x_clear_frame, x_clear_frame_area): Remove obsolete calls to
gtk_widget_queue_draw to refresh scroll bars; scroll bars are
now independent X windows.
(handle_one_xevent): Call font_drop_xrender_surfaces when
XftDraw might need regenerating; perform buffer flip when
responding to Expose events; issue front-buffer clearing
commands as stopgap while we wait for redisplay.
Call flush_dirty_back_buffers.
(x_make_frame_visible): Un-bitrot comment; move XSETFRAME
earlier in function.
(x_free_frame_resources): Call tear_down_x_back_buffer when
destroying frame.
(x_term_init): Attempt to initialize double buffer extension.
(x_flip_and_flush): New function.
(x_redisplay_interface): Point to x_flip_and_flush instead of
x_flip directly.
(flush_dirty_back_buffers): New function.
(x_create_terminal): Register buffer_flipping_unblocked_hook.

* src/xftfont.c (xftfont_drop_xrender_surfaces): Use
FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
(xftfont_draw): Call x_mark_frame_dirty.
(xftfont_drop_xrender_surfaces): New function.
(syms_of_xftfont): Register it.

* src/xfont.c (xfont_draw): Use FRAME_X_DRAWABLE instead of
FRAME_X_WINDOW.

* src/xfns.c: Include Xdbe.h.
(x_set_inhibit_double_buffering, set_up_x_back_buffer)
(Fx_double_buffered_p): New functions.
(x_window): Call initial_set_up_x_back_buffer.
(x_make_gc): Use FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
(Fx_create_frame): Configure `inhibit-double-buffering'
frame parameter.
(x_create_tip_frame): Call initial_set_up_x_back_buffer.
(x_frame_parm_handlers): Register
x_set_inhibit_double_buffering.
(syms_of_xfns): Register Sx_double_buffered_p.
(x_mark_frame_dirty): Define.

* src/xfaces.c (x_create_gc): Use FRAME_X_DRAWABLE instead of
FRAME_X_WINDOW.

* src/xdisp.c (remember_mouse_glyph, init_glyph_string): Use
FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
(redisplay_internal): Restart redisplay if a frame is garbaged
during updating; explain why. Block buffer flips
during redisplay.
(redisplay_preserve_echo_area): Block buffer flip during call
to redisplay_internal.
(buffer_flip_blocked_depth): New variable.
(block_buffer_flips, unblock_buffer_flips)
(buffer_flipping_blocked_p): New functions.
(init_glyph_string): Stop setting window member of struct
glyph_string.

* src/w32fns.c (w32_frame_parm_handlers): Add placeholder for
x_set_inhibit_double_buffering.

* src/termhooks.h (struct terminal): Add
buffer_flipping_unblocked_hook.

* src/nsfns.m (ns_frame_parm_handlers): Add placeholder for
x_set_inhibit_double_buffering.

* src/image.c (x_create_bitmap_from_data)
(x_create_bitmap_from_file, x_create_x_image_and_pixmap)
(Create_Pixmap_From_Bitmap_Data)
(x_create_bitmap_from_xpm_data, xpm_load, gs_load): Use
FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
variables appropriately.

* src/gtkutil.c: Include Xdbe.h.
(xg_get_widget_from_map): Forward declare.
(xg_clear_under_internal_border): Remove obsolete calls to
refresh scroll bars.
(xg_create_frame_widgets): Call initial_set_up_x_back_buffer.
(xg_free_frame_widgets): Call tear_down_x_back_buffer; reset
FRAME_X_DRAWABLE as well as FRAME_X_WINDOW and for the
same reason.
(xg_set_background_color): Set scroll bar background colors.
(xg_finish_scroll_bar_creation): New function with common
logic of xg_create_scroll_bar, xg_create_horizontal_scroll_bar. Force
scroll bars to be real X11 windows.
(xg_create_scroll_bar, xg_create_horizontal_scroll_bar): Call
xg_finish_scroll_bar_creation.
(xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
Remove obsolete calls to refresh scroll bars; fix comments.

* src/ftxfont.c (ftxfont_get_gcs, ftxfont_draw_bitmap,
(ftxfont_draw_background): Use FRAME_X_DRAWABLE instead of
FRAME_X_WINDOW.

* src/frame.c (frame_parms): Add table entry for new
`inhibit-double-buffering' frame parameter
(syms_of_frame): Register Qinhibit_double_buffering.

* src/font.h (struct font_driver): Add new `flush_frame_caches' hook.
(font_drop_xrender_surfaces): Declare.

* src/font.c (font_drop_xrender_surfaces): New function.

* src/Makefile.in (XDBE_LIBS, XDBE_CFLAGS): Substitute.

* etc/NEWS: Mention use of double buffering

* doc/lispref/frames.texi (Management Parameters): Document
`inhibit-double-buffering' frame parameters.
(Visibility of Frames): Document `x-double-buffered-p'.

* configure.ac: Check for the X double buffer extension
2016-10-28 19:21:39 -07:00
Michael Albinus
f5543ffcf5 Improve result of `auth-source-search' in Tramp
* lisp/net/tramp.el (tramp-read-passwd): Require :secret and
:user in result of `auth-source-search'.
2016-10-28 17:08:14 +02:00
Mark Oteiza
e2fd20683a Fix avl-tree alias docstrings
* lisp/emacs-lisp/avl-tree.el (avl-tree--node-branch):
(avl-tree-stack-p, avl-tree-create):
(avl-tree-compare-function): Add calling convention to docstrings.
2016-10-27 11:36:41 -04:00
Paul Eggert
63eebff30e Update from gnulib
This incorporates:
2016-10-16 qsort_r: Fix macrology for platforms that lack the function.
2016-10-13 stdint: port SIZE_MAX to glibc s390
2016-10-11 maint: remove stray space after "." in AC_DEFINE comment.
* lib/gnulib.mk: Regenerate.
* lib/stdlib.in.h, m4/st_dm_mode.m4, m4/stdint.m4, m4/stdlib_h.m4:
* m4/utimes.m4: Copy from gnulib.
2016-10-27 08:28:07 -07:00
Paul Eggert
354c4a9885 electric-quote-chars fixups
* lisp/electric.el (electric-quote-chars): Check types and safety
more carefully.
(electric-quote-post-self-insert-function): Use more-mnemonic locals.
Omit no-longer-necessary runtime error diagnostic.
2016-10-27 08:11:25 -07:00
Göktuğ Kayaalp
11d380a029 New user variable 'electric-quote-chars'
* doc/emacs/text.texi (Quotation Marks), etc/NEWS: Document this.
* lisp/electric.el (electric-quote-chars): New defcustom.
(electric-quote-post-self-insert-function): Use it.
2016-10-27 08:11:25 -07:00
Paul Eggert
53a0562b2c ; Spelling fix 2016-10-27 08:04:50 -07:00
Tino Calancha
0465bf5115 Add more tests for Bug#24627
* test/lisp/thingatpt-tests.el (thing-at-point-bug24627):
Add tests for 'list-at-point'.
2016-10-27 18:06:54 +09:00
Filipp Gunbin
4e45b55a95 * lisp/shell.el (shell--unquote&requote-argument): Match data misuse
* lisp/shell.el (shell--unquote&requote-argument): Fix
off-by-one thinko.  Don't use match data after a failed string-match.
2016-10-26 14:31:12 -04:00
Paul Eggert
5edf76ba15 * src/xwidget.c (webkit_js_to_lisp): Now static. 2016-10-25 23:07:13 -07:00
Ricardo Wurmus
ca479f9e75 xwidget: Map "previous-line" and "next-line" to scroll
* lisp/xwidget.el: Map "previous-line" and "next-line" to scrolling
procedures.
2016-10-25 23:07:13 -07:00
Ricardo Wurmus
01c2fba677 xwidget: Bind "beginning-of-buffer" and "end-of-buffer"
* lisp/xwidget.el: Rebind "beginning-of-buffer" and "end-of-buffer" to
"xwidget-webkit-scroll-top" and "xwidget-webkit-scroll-bottom",
respectively.
(xwidget-webkit-scroll-top,
xwidget-webkit-scroll-bottom): New procedures.
2016-10-25 23:07:13 -07:00
Ricardo Wurmus
e443eab6bf Implement zoom for WebKit widget.
* src/xwidget.c (xwidget-webkit-zoom): New procedure.
* lisp/xwidget.el: Bind "+" and "-" to zoom in and out, respectively.
(xwidget-webkit-zoom): Declare procedure.
(xwidget-webkit-zoom-in, xwidget-webkit-zoom-out): New procedures.
2016-10-25 23:07:13 -07:00
Ricardo Wurmus
a9785bd5c2 Dynamically resize WebKit widget.
* lisp/xwidget.el (xwidget-webkit-auto-adjust-size,
xwidget-webkit-adjust-size-in-frame): New procedures.
(xwidget-webkit-new-session): Remove hint to resize widget with `a'.
(xwidget-webkit-adjust-size-dispatch): Resize current webkit widget.
(xwidget-webkit-adjust-size-to-window): Make non-interactive,
add widget and window as arguments.
(xwidget-webkit-callback): Use xwidget-webkit-adjust-size-to-window.
2016-10-25 23:07:13 -07:00
Ricardo Wurmus
c483fa6ef2 Let initial WebKit view fill window
* lisp/xwidget.el (xwidget-webkit-new-session): Change default size of
WebKit widget to window size.
2016-10-25 23:07:13 -07:00
Ricardo Wurmus
67e03311a0 xwidget: Remove title hack.
* src/xwidget.c (xwidget-webkit-get-title): Remove procedure.
* lisp/xwidget.el (xwidget-webkit-get-title,
xwidget-webkit-execute-script-rv): Remove procedures.
2016-10-25 23:07:13 -07:00
Ricardo Wurmus
8809002052 xwidget: Get URL asynchronously.
* lisp/xwidget.el (xwidget-webkit-current-url): Kill URL in callback.
2016-10-25 23:07:13 -07:00
Ricardo Wurmus
4aa7c4b4aa xwidget: Get selection with asynchronous JavaScript
* lisp/xwidget.el (xwidget-webkit-get-selection): Add PROC argument to
process selection.
(xwidget-webkit-copy-selection-as-kill): Kill selection in callback.
2016-10-25 23:07:13 -07:00
Ricardo Wurmus
efa269d146 xwidget: Add function to find element by CSS selector
* lisp/xwidget.el (xwidget-webkit-show-element): New procedure.
2016-10-25 23:07:13 -07:00
Ricardo Wurmus
74576447b9 xwidget: Simplify functions to scroll to elements
* lisp/xwidget.el (xwidget-webkit-show-named-element,
xwidget-webkit-show-id-element,
xwidget-webkit-show-id-or-named-element): Simplify functions by
scrolling exclusively with JavaScript.
2016-10-25 23:07:13 -07:00
Ricardo Wurmus
cc3b868fbf xwidget: Get title via asynchronous JavaScript.
* lisp/xwidget.el (xwidget-webkit-callback): Get document title
asynchronously.
2016-10-25 23:07:13 -07:00