1. 24 Oct, 2014 2 commits
  2. 23 Oct, 2014 8 commits
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Define an internal predicate · 864d69a1
      Stefan Monnier authored
      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.
    • Stefan Monnier's avatar
      * lisp/epg.el: Use cl-defstruct. · e77628bd
      Stefan Monnier authored
      (epg-make-data-from-file, epg-make-data-from-string, epg-data-file)
      (epg-data-string): Define via cl-defstruct.
      (epg--gv-nreverse): New macro.
      (epg-context--make): New constructor (provided vi cl-defstruct).
      (epg-make-context): Rewrite using it.
      (epg-context-protocol, epg-context-program)
      (epg-context-home-directory, epg-context-armor, epg-context-textmode)
      (epg-context-include-certs, epg-context-cipher-algorithm)
      (epg-context-digest-algorithm, epg-context-compress-algorithm)
      (epg-context-passphrase-callback, epg-context-progress-callback)
      (epg-context-signers, epg-context-sig-notations, epg-context-process)
      (epg-context-output-file, epg-context-result, epg-context-operation)
      (epg-context-pinentry-mode): Define using cl-defstruct.
      (epg-context-set-protocol, epg-context-set-program)
      (epg-context-set-include-certs, epg-context-set-cipher-algorithm)
      (epg-context-set-sig-notations, epg-context-set-process)
      (epg-context-set-output-file, epg-context-set-result)
      (epg-context-set-operation, epg-context-set-pinentry-mode)
      (epg-context-set-compress-algorithm): Remove.  Use setf instead.
      (epg-context-set-armor, epg-context-set-textmode)
      (epg-context-set-signers): Redefine using setf
      and declare as obsolete.
      (epg-context-set-progress-callback): Use setf.
      (epg-signature-notations): Rename from epg-sig-notations.
      (epg-make-signature, epg-signature-status, epg-signature-key-id)
      (epg-signature-validity, epg-signature-fingerprint)
      (epg-signature-creation-time, epg-signature-expiration-time)
      (epg-signature-pubkey-algorithm, epg-signature-digest-algorithm)
      (epg-signature-class, epg-signature-version): Define vi cl-defstruct.
      (epg-signature-set-status, epg-signature-set-key-id)
      (epg-signature-set-validity, epg-signature-set-fingerprint)
      (epg-signature-set-creation-time, epg-signature-set-expiration-time)
      (epg-signature-set-digest-algorithm, epg-signature-set-class)
      (epg-signature-set-version, epg-signature-set-notations): Remove.
      Use setf instead.
      (epg-make-new-signature, epg-new-signature-type)
      (epg-new-signature-digest-algorithm, epg-new-signature-class)
      (epg-new-signature-creation-time, epg-new-signature-fingerprint):
      Define using cl-defstruct.
      (epg-make-key, epg-key-owner-trust, epg-key-sub-key-list)
      (epg-key-user-id-list): Define using cl-defstruct.
      (epg-key-set-sub-key-list, epg-key-set-user-id-list): Remove.
      Use setf instead.
      (epg-make-sub-key, epg-sub-key-validity, epg-sub-key-capability)
      (epg-sub-key-secret-p, epg-sub-key-algorithm, epg-sub-key-length)
      (epg-sub-key-id, epg-sub-key-creation-time)
      (epg-sub-key-expiration-time, epg-sub-key-fingerprint): Define using
      (epg-sub-key-set-fingerprint): Remove.  Use setf instead.
      (epg-make-user-id, epg-user-id-validity, epg-user-id-string)
      (epg-user-id-signature-list): Define using cl-defstruct.
      (epg-user-id-set-signature-list): Remove.  Use setf instead.
      (epg-make-key-signature, epg-key-signature-validity)
      (epg-key-signature-pubkey-algorithm, epg-key-signature-key-id)
      (epg-key-signature-creation-time, epg-key-signature-expiration-time)
      (epg-key-signature-user-id, epg-key-signature-class)
      (epg-key-signature-exportable-p): Define using cl-defstruct.
      (epg-make-sig-notation, epg-sig-notation-name)
      (epg-sig-notation-value, epg-sig-notation-human-readable)
      (epg-sig-notation-critical): Define using cl-defstruct.
      (epg-sig-notation-set-value): Remove.  Use setf instead.
      (epg-make-import-status, epg-import-status-fingerprint)
      (epg-import-status-reason, epg-import-status-new)
      (epg-import-status-user-id, epg-import-status-signature)
      (epg-import-status-sub-key, epg-import-status-secret): Define using
      (epg-make-import-result, epg-import-result-considered)
      (epg-import-result-no-user-id, epg-import-result-imported)
      (epg-import-result-imported-rsa, epg-import-result-unchanged)
      (epg-import-result-new-user-ids, epg-import-result-new-sub-keys)
      (epg-import-result-new-signatures, epg-import-result-new-revocations)
      (epg-import-result-secret-read, epg-import-result-secret-imported)
      (epg-import-result-secret-unchanged, epg-import-result-not-imported)
      (epg-import-result-imports): Define using cl-defstruct.
      * lisp/emacs-lisp/package.el: Require EPG during macroexpansion.
      (package--check-signature, package-import-keyring): Use setf instead of
    • Stefan Monnier's avatar
    • Martin Rudalics's avatar
      Fix some doc-strings in frame.c (Bug#18789). · f43d61f5
      Martin Rudalics authored
      * frame.c (Fset_frame_height, Fset_frame_width, Fset_frame_size)
      (frame_resize_pixelwise, frame_inhibit_implied_resize): Fix
      doc-strings (Bug#18789).
    • Leo Liu's avatar
      * lisp/progmodes/cfengine.el (cfengine3-defun-full-re): New var. · a55a7307
      Leo Liu authored
      (cfengine3-create-imenu-index): Use it and use ` ' for separation.
      (cfengine3-current-defun): New function.
      (cfengine3-mode): Set add-log-current-defun-function.
    • Paul Eggert's avatar
    • Paul Eggert's avatar
      Fix race in 'make info/dir', and speed it up. · 78b215ff
      Paul Eggert authored
      * 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.
    • Stefan Monnier's avatar
      * lisp/select.el: Use lexical-binding. · d361bcfb
      Stefan Monnier authored
      (gui-set-selection): Provide an implementation for non-GUI frames.
      * lisp/term/x-win.el: Use lexical-binding.
      (x-clipboard-yank): Fix up missed renamings.
      * lisp/term/w32-win.el (libgif-version, libjpeg-version): Silence compiler.
      (w32--set-selection): Fix up var names.
      * lisp/term/pc-win.el: Use lexical-binding.
      (w16-selection-exists-p): Silence compiler warning.
      (w16-selection-owner-p): Fix up missed renamings.
      * lisp/emacs-lisp/bytecomp.el (byte-compile-form): Remove left-over debug.
      * lisp/frame.el (frame-notice-user-settings): Fix excessive quoting.
      Fixes: debbugs:18791
  3. 22 Oct, 2014 4 commits
    • Eli Zaretskii's avatar
      Fix bug #18778 with slow redisplay of bracketed L2R text with long lines. · 6a7884ca
      Eli Zaretskii authored
       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
       (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
    • Tassilo Horn's avatar
      Improve viewing plain text contents of document · 36749d80
      Tassilo Horn authored
      * 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
    • Martin Rudalics's avatar
      Add two "+++"s to frame section of NEWS. · 8ae9147a
      Martin Rudalics authored
    • Martin Rudalics's avatar
      Rewrite "Size and Position" section in frames.texi. · 4b63c18a
      Martin Rudalics authored
      * frames.texi (Size Parameters): Replace "frame contents" by
      "frame's text area".  Add reference to Size and Position
      (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'.
  4. 21 Oct, 2014 7 commits
    • Stefan Monnier's avatar
      * lisp/mouse.el (mouse-drag-line): Use set-transient-map. · 18b8557f
      Stefan Monnier authored
      (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
    • Daniel Colascione's avatar
      Stop vc from burying buffers sometimes · be5722e9
      Daniel Colascione authored
      * vc/vc-dispatcher.el (vc-resynch-window): Tell view-mode not to
      change window configuration when we turn it off.
    • Stefan Monnier's avatar
      Get rid of backend-dependent selection-handling functions for kill/yank · a046b8dd
      Stefan Monnier authored
      and make it generic instead by relying on the lower-level selection
      management functions.
      * select.el (select-enable-clipboard): Rename from
      (select-enable-primary): Move from x-win.el and rename from
      (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
      (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
      (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
      (syms_of_win16select): Adjust accordingly.
      * src/w32select.c (Fw32_selection_exists_p): Rename from
      (syms_of_w32select): Adjust accordingly.
    • Martin Rudalics's avatar
      Handle wrapped menu bar lines when resizing frames with Windows API. · e5b3b7d3
      Martin Rudalics authored
      * 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.
    • Stefan Monnier's avatar
      * lisp/net/newst-reader.el (newsticker--image-read): Simplify. · 80aabe42
      Stefan Monnier authored
      (newsticker--icon-read): Use dolist and fix free var error.
    • Stefan Monnier's avatar
      * lisp/imenu.el (imenu--menubar-keymap): New var. · e538605e
      Stefan Monnier authored
      (imenu-add-to-menubar): Set it to remember the keymap we used.
      (imenu-update-menubar): Use it instead of asking lookup-key.
    • Stefan Monnier's avatar
      Merge from emacs-24 · eed18bf1
      Stefan Monnier authored
  5. 20 Oct, 2014 13 commits
  6. 19 Oct, 2014 6 commits
    • Jan Djärv's avatar
      Fix spelling error. · d4107b0a
      Jan Djärv authored
      * NEWS: Teroffs and detachable tool bar for Gtk+ is gone.
    • Eli Zaretskii's avatar
    • Jan Djärv's avatar
      * gtkutil.c (create_dialog): Don't use gtk_dialog_get_action_area on · b9bdab7a
      Jan Djärv authored
      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).
    • Jan Djärv's avatar
      * src/xterm.c (handle_one_xevent): Check return value from · 5e334468
      Jan Djärv authored
      x_handle_net_wm_state, remove net_wm_state_hidden_seen.
      (get_current_wm_state): Remove net_wm_state_hidden_seen setting.
      * src/xterm.h (x_output): Remove net_wm_state_hidden_seen.
      Fixes: debbugs:18722
    • Jan Djärv's avatar
    • Ulf Jasper's avatar
      Newsticker: Show feedicons in treeview. Small fix in opml export. · 8259e90e
      Ulf Jasper authored
      * 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-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-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--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.