even if :predicate was nil, for the benefit of typep.
Record the name of the predicate for typep's use.
(cl--make-type-test): Use pcase. Obey new cl-deftype-satisfies property.
(cfengine3-create-imenu-index): Use it and use ` ' for separation.
(cfengine3-current-defun): New function.
(cfengine3-mode): Set add-log-current-defun-function.
* Makefile.in (AWK, srcdir_doc_info_dir_inputs, info_dir_inputs):
New macros.
(clean): Remove info-dir.*.
(info_dir_deps): Depend on make-info-dir too.
Fix bug with wildcards that weren't expanded.
(${srcdir}/info/dir): Make sure info directory exists.
Don't call pwd; just redirect make-info-dir's stdout to temp file.
* build-aux/make-info-dir: Send output to stdout.
Take input file names from args.
Fix a "FIXME inefficient looping" by using awk's associative arrays.
Basically, this rewrites the script from scratch, and speeds up
'make info/dir' from 2.6s to 0.07s on my platform.
src/bidi.c (bidi_cache_reset_to): New function.
(bidi_cache_reset): Call it.
(bidi_init_it, bidi_line_init): Initialize the bracket_pairing_pos
member to -1.
(bidi_resolve_explicit): Reset bracket_pairing_pos and
bracket_enclosed_type only if bracket_pairing_pos's value is not
ZV.
(MAX_BPA_STACK): Make sure the value is signed.
(PUSH_BPA_STACK): If the BPA stack overflows, don't bail out, but
stop pushing values onto the stack.
(bidi_find_bracket_pairs): If the bracketed text is only on the
base embedding level, remove all the states cached by this
function from the cache, and return zero, so that the brackets in
this segment of text are processed as normal neutrals.
(bidi_resolve_brackets): Detect the brackets that are to be
processed as neutrals, and don't call bidi_find_bracket_pairs on
them.
* doc/emacs/misc.texi (Document View): Adapt to latest doc-view changes wrt
viewing the document's plain text contents.
* lisp/doc-view.el (doc-view-open-text): View the document's plain text
in the current buffer instead of a new one.
(doc-view-toggle-display): Handle the case where the current
buffer contains the plain text contents of the document.
(doc-view-initiate-display): Don't switch to fallback mode if the
user wants to view the doc's plain text.
(doc-view-set-doc-type): Use assoc-string instead of
assoc-ignore-case.
* frames.texi (Size Parameters): Replace "frame contents" by
"frame's text area". Add reference to Size and Position
section.
(Size and Position): Major rewrite. Add explanations for
frame's default font, text and display areas. Add descriptions
for `set-frame-font', `frame-text-height', `frame-text-width'
and `frame-inhibit-implied-resize'.
(mouse--down-1-maybe-follows-link): Remove unused var `this-event'.
(mouse-yank-secondary): Use gui-get-selection.
(mouse--down-1-maybe-follows-link): Use read-key.
* lisp/subr.el (read-key): Fix clicks on the mode-line.
(set-transient-map): Return exit function.
* lisp/xt-mouse.el: Add `event-kind' property on the fly from
xterm-mouse-translate-1 rather than statically at the outset.
Fixes: debbugs:18015
and make it generic instead by relying on the lower-level selection
management functions.
* select.el (select-enable-clipboard): Rename from
gui-select-enable-clipboard.
(select-enable-primary): Move from x-win.el and rename from
x-select-enable-primary.
(gui-last-selected-text): Remove.
(gui--last-selected-text-clipboard, gui--last-selected-text-primary):
New vars.
(gui-select-text): Rewrite, based on x-win.el's old x-select-text.
(gui-select-text-alist, gui-selection-value-alist): Remove.
(x-select-request-type): Move from x-win.el.
(gui--selection-value-internal): New function, taken from x-win's
x-selection-value-internal.
(gui-selection-value): Rewrite, based on x-win.el's old x-selection-value.
(gui-set-selection-alist): Rename from gui-own-selection-alist and
extend it to handle a nil value as a "disown" request.
(gui-disown-selection-alist): Remove.
(xselect-convert-to-delete): Adjust accordingly.
(gui-set-selection): Simplify accordingly as well. Use dotimes.
* lisp/frame.el (gui-method): Use window-system rather than framep.
(gui-method-declare): The tty case is now nil rather than t.
(make-frame): Adjust accordingly.
* lisp/term/x-win.el (x-last-selected-text-primary)
(x-select-enable-primary): Remove (moved to select.el).
(x-select-request-type): Move to select.el.
(x-selection-value-internal, x--selection-value): Remove functions.
(gui-selection-value, gui-select-text): Remove moethods.
(gui-set-selection): Merge own and disown methods.
* lisp/startup.el (command-line): Adjust now that `gui-method' expects nil
for ttys.
* lisp/term/ns-win.el (ns-get-pasteboard, ns-set-pasteboard)
(ns-selection-value): Remove functions.
(gui-select-text, gui-selection-value): Don't define method any more.
(gui-set-selection): Merge the old own and disown methods.
(gui-selection-exists-p, gui-get-selection): Adjust to new name of
underlying C primitive.
* lisp/term/pc-win.el (w16-get-selection-value): Add dummy argument and drop
test of gui-select-enable-clipboard, to make it usable as
a gui-get-selection method.
(gui-selection-exists-p): Adjust to new name of C primitive.
(gui-set-selection): Merge own and disown methods.
(gui-select-text, gui-selection-value): Delete methods.
(w16--select-text): Delete function.
* lisp/term/w32-win.el (w32--select-text, w32--get-selection-value):
Delete function (move functionality into w32--set-selection and
w32--get-selection).
(gui-select-text, gui-selection-value): Don't define methods.
(w32--set-selection, w32--get-selection, w32--selection-owner-p):
New functions.
(gui-get-selection, gui-selection-owner-p, gui-selection-exists-p):
Use them.
(gui-selection-exists-p): Adjust to new name of C primitive.
* src/nsselect.m (ns_get_local_selection): Signal error rather than `quit'.
(Fns_own_selection_internal): Tighten scoping.
(Fns_selection_exists_p): Rename from Fx_selection_exists_p.
(Fns_get_selection): Rename from Fx_get_selection_internal.
(Fns_get_selection_internal, Fns_store_selection_internal):
Remove functions.
(syms_of_nsselect): Adjust accordingly.
* src/w16select.c (Fw16_selection_exists_p): Rename from
Fx_selection_exists_p.
(syms_of_win16select): Adjust accordingly.
* src/w32select.c (Fw32_selection_exists_p): Rename from
Fx_selection_exists_p.
(syms_of_w32select): Adjust accordingly.
* w32fns.c (Fw32_frame_menu_bar_size): New function.
* w32term.c (x_set_window_size): Account for wrapped menu bar
lines when setting up frame height (Bug#15174 and Bug#18720).
(w32_add_wrapped_menu_bar_lines): New variable.
(css-mode-syntax-table): Use d style comment, to ease the scss case.
(css-ident-re): Allow things like @-moz-keyframes.
(scss--hash-re): New const.
(css--font-lock-keywords): New function, extracted from
css-font-lock-keywords.
(css-font-lock-keywords): Use it.
(scss-mode-syntax-table, scss-font-lock-keywords): New vars.
(scss-smie--not-interpolation-p): New function.
(css-smie--forward-token, css-smie--backward-token): Use it.
(css-mode): Remove left-over code.
* test/indent/scss-mode.scss: New file.
* test/indent/css-mode.css: Add a few uneventful examples.
Gt+ >= 3.12, or gtk_misc_set_alignment on Gtk+ >= 3.14.
(make_widget_for_menu_item): Don't use gtk_misc_set_alignment on
Gtk+ >= 3.14 (Bug#18674).
(update_frame_tool_bar): Don't use gtk_misc_set_padding on
Gtk+ >= 3.14 (Bug#18674).
* gtkutil.c (xg_update_menubar, xg_update_menu_item): Only call
g_object_notify for label if Gtk+ >= 2.16 (Bug#16522).
* etc/images/newsticker/README: Add rss-feed.png, rss-feed.svg.
* etc/images/newsticker/rss-feed.png: New.
* etc/images/newsticker/rss-feed.svg: New.
* lisp/net/newst-backend.el: Require url-parse.
(newsticker--get-news-by-wget): Store feed name as process property.
(newsticker--sentinel): Read feed name from process property.
(newsticker--sentinel-work): Rename argument name to feed-name.
Rename variable imageurl to image-url. Pick icon url from Atom
1.0 data. Launch download of feed icon.
(newsticker--get-icon-url-atom-1.0): New.
(newsticker--unxml)
(newsticker--unxml-node)
(newsticker--unxml-attribute): Documentation.
(newsticker--icons-dir): New.
(newsticker--image-get): New arguments FILENAME and DIRECTORY.
Use `url-retrieve' if `newsticker-retrieval-method' is 'intern.
(newsticker--image-download-by-wget): New. Use process properties
for storing informations.
(newsticker--image-sentinel): Read informations from process properties.
(newsticker--image-save)
(newsticker--image-remove)
(newsticker--image-download-by-url)
(newsticker--image-download-by-url-callback): New.
(newsticker-opml-export): Handle url list entries containing a
function instead of an url string.
* lisp/net/newst-reader.el (newsticker-html-renderer): Whitespace.
(newsticker--print-extra-elements)
(newsticker--do-print-extra-element): Documentation
(newsticker--image-read): Optionally limit image height. Use
imagemagick if possible.
(newsticker--icon-read): New.
* lisp/net/newst-treeview.el (newsticker--treeview-item-show): Limit height of feed logo.
(newsticker--treeview-tree-expand): Use feed icons in treeview.
(newsticker--tree-widget-icon-create): New. Set the tree widget icon.
(newsticker--tree-widget-leaf-icon): Use feed icon.
Gt+ >= 3.12, or gtk_misc_set_alignment on Gtk+ >= 3.14.
(make_widget_for_menu_item): Don't use gtk_misc_set_alignment on
Gtk+ >= 3.14 (Bug#18674).
(update_frame_tool_bar): Don't use gtk_misc_set_padding on
Gtk+ >= 3.14 (Bug#18674).
(xg_update_menubar): Remove unused local and unnecessary call to
gtk_menu_item_get_submenu.
(XG_TOOL_BAR_PROXY_BUTTON, xg_tool_bar_proxy_callback)
(xg_get_tool_bar_widgets, xg_tool_bar_proxy_help_callback)
(TOOLBAR_TOP_WIDGET): Remove; no longer used.
* lisp/term/x-win.el (x-gtk-stock-map): Add icon names suggested as
replacements to stock names before stock names in a list.
Cdr may be a list, each name is tried in turn until one is found.
* src/gtkutil.c (XG_TEXT_CANCEL, XG_TEXT_OPEN, XG_TEXT_OK): New defines
to handle Gtk versions.
(xg_get_file_with_chooser): Use them.
(xg_have_tear_offs, tearoff_remove, tearoff_activate): Remove
(create_menus): Remove teroff argument and code.
Remove call to gtk_menu_set_title.
(xg_update_menubar, xg_update_submenu): Remove tearoff code. Adjust
args to create_menus.
(xg_tool_bar_menu_proxy, xg_tool_bar_detach_callback)
(xg_tool_bar_attach_callback, TOOLBAR_TOP_WIDGET): Remove.
(xg_pack_tool_bar): Replace TOOLBAR_TOP_WIDGET, remove detach code.
(xg_make_tool_item): Remove detach code.
(xg_update_tool_bar_sizes): Replace TOOLBAR_TOP_WIDGET.
(find_icon_from_name): New function.
(update_frame_tool_bar): Remove GtkStockItem code, move to
find_icon_from_name. Let stock be a list of icon names to try.
Only use gtk_image_new_from_stock on Gtk+ < 3.10.
Replace TOOLBAR_TOP_WIDGET.
(free_frame_tool_bar, xg_change_toolbar_position ): Replace
TOOLBAR_TOP_WIDGET.
(xg_initialize): Remove tearoff code.
* src/gtkutil.h (xg_have_tear_offs): Remove declaration.
* src/xmenu.c (set_frame_menubar): Remove GTK block that calls
xg_have_tear_offs.
* src/xterm.h (handlebox_widget): Remove.
src/xterm.c (x_draw_bar_cursor, x_draw_hollow_cursor): Subtract 1
pixel from the window's cursor glyph width, since X renders hollow
blocks 1 pixel wider than the 'width' parameter.
src/xdisp.c (get_phys_cursor_geometry): Don't subtract 1 pixel from
glyph->pixel_width; this is now done in xterm.c.
src/bidi.c (bidi_cache_find): Rename the argument NEUTRALS_OK to
RESOLVED_ONLY; when non-zero, return from the cache only fully
resolved states. All callers changed.
(CANONICAL_EQU): New macro.
(PUSH_BPA_STACK): Use it to push onto the BPA stack the canonical
equivalent of the paired closing bracket character.
(bidi_find_bracket_pairs): Set the bracket_pairing_pos member to
the default non-negative value, to be checked later in
bidi_resolve_brackets. Use CANONICAL_EQU to test candidate
characters against those pushed onto the BPA stack.
(bidi_record_type_for_neutral): New function.
(bidi_resolve_brackets): Record next_for_neutral and
prev_for_neutral when embedding level gets pushed. Force
resolution of bracket pairs when entering a level run that was not
yet BPA-resolved.
(bidi_resolve_neutral): Add assertions before calling
bidi_resolve_neutral_1.
(bidi_level_of_next_char): Remove the code that attempted to
resolve unresolved neutrals; that is now done by
bidi_resolve_neutral.