1. 12 Jul, 2016 7 commits
    • Stefan Monnier's avatar
      * cl-generic.el (cl-defmethod): Make docstring dynamic · 3698c4e4
      Stefan Monnier authored
      * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic.
      (cl--generic-make-defmethod-docstring): New function for that.
      (cl-defmethod, cl-generic-generalizers): Tweak docstrings accordingly.
      (cl-generic-define-method, cl--generic-describe): Change `load-history'
      format of cl-defmethods, so as not to confused methods with equal
      specializers but different qualifiers.
      * lisp/emacs-lisp/eieio-core.el (cl-generic-generalizers): Provide docstrings.
      3698c4e4
    • Eli Zaretskii's avatar
    • Eli Zaretskii's avatar
      Don't install keyboard hook when debugged on MS-Windows · 1048151c
      Eli Zaretskii authored
      * src/w32fns.c (setup_w32_kbdhook): Don't install the keyboard
      hook if we are being debugged.  This avoids hosing the debugger,
      because the hook is global, and is called in the context of the
      thread which installed it, and that thread is stopped when GDB has
      control.  Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
      1048151c
    • Alan Mackenzie's avatar
      Amend CC Mode to handle big C++ raw strings correctly. · a1db933c
      Alan Mackenzie authored
      Problems were caused by such a string spanning jit-lock chunks, and by a flaw
      in the +-500 bytes boundaries imposed for macros.
      
      * lisp/progmodes/cc-mode.el (c-extend-region-for-CPP): Check the +-500 byte
      macro boundaries here.
      (c-extend-font-lock-region-for-macros): Remove the check on the +-500 byte
      lower boundary.  Fix the check on the upper boundary.
      
      * lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Handle the starting
      point already being within a raw string.
      
      * lisp/progmodes/cc-engine.el (c-raw-string-pos)
      (c-depropertize-raw-strings-in-region, c-after-change-re-mark-raw-strings):
      Modify regexp element "\\{,16\\}" to "\\{0,16\\}" for greater compatibility
      with other Emacsen.
      a1db933c
    • Stephen Berman's avatar
    • Dmitry Antipov's avatar
      Cleanup tooltips · 20038f8a
      Dmitry Antipov authored
      * src/dispextern.h (toplevel): Remove 'tip_frame' and 'tip_window' decls.
      * src/frame.h (struct frame): New bitfield to indicate tooltip frame.
      (FRAME_TOOLTIP_P): New macro.
      * src/frame.c (make_frame): Mark new frame as regular frame by default.
      (Fframe_list, delete_frame): Redesign to use FRAME_TOOLTIP_P.
      (syms_of_frame): Don't DEFSYM 'Qtooltip' but use 'Qtooltip_timer'
      and 'Qtooltip_parameters' instead.
      * src/gtkutil.h (toplevel): Add 'xg_hide_tip' decl.
      * src/gtkutil.c (xg_hide_tip): New function.
      (xg_hide_tooltip): Adjust to cancel GTK event loop timeout if needed.
      * src/menu.c (Fx_popup_menu): Adjust call to Fx_hide_tip.
      * src/nsfns.c (toplevel): Remove 'tip_frame' leftover.
      * src/w32fns.c (unwind_create_tip_frame): Remove.
      (w32_display_monitor_attributes_list)
      (w32_display_monitor_attributes_list_fallback): Use FRAME_TOOLTIP_P.
      (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
      (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
      as a tooltip frame and record it using appropriate display info.
      (x_hide_tooltip): Add frame arg.
      (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
      base frame parameters, store tooltip hide timer among tooltip frame
      parameters.
      (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
      (syms_of_w32fns): Don't DEFSYM 'Qtip_frame', don't initialize
      and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
      * src/w32term.c (w32_read_socket): Extract tooltip window id from
      per-display data.  Use FRAME_TOOLTIP_P where appropriate.
      (x_new_font): Use FRAME_TOOLTIP_P.
      (x_free_frame_resources): Reset pointer to tooltip frame.
      * src/w32term.h (struct w32_display_info): New member 'w32_tooltip_frame'.
      * src/xdisp.c (init_iterator, x_consider_frame_title, prepare_menu_bars):
      Use FRAME_TOOLTIP_P.
      * src/xfns.c (x_make_monitor_attribute_list)
      (Fx_display_monitor_attributes_list): Likewise.
      (unwind_create_tip_frame): Remove.
      (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
      (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
      as a tooltip frame and record it using appropriate display info.
      (x_hide_tooltip): Add frame arg.
      (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
      base frame parameters, store tooltip hide timer among tooltip frame
      parameters.  To hide GTK system tooltip, use timeout hooked into GTK
      event loop.
      (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
      (syms_of_xfns): Don't DEFSYM 'Qtip_frame', don't initialize
      and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
      * src/xterm.c (handle_one_xevent): Extract tooltip window id from
      per-display data.  Use FRAME_TOOLTIP_P where appropriate.
      (x_new_font, x_set_window_size): Use FRAME_TOOLTIP_P.
      (x_free_frame_resources): Reset pointer to tooltip frame.
      * src/xterm.h (struct x_display_info): New member 'x_tooltip_frame'.
      (struct x_output) [USE_GTK_TOOLTIP]: New member 'ttip_timeout'.
      20038f8a
    • Stefan Monnier's avatar
  2. 11 Jul, 2016 10 commits
  3. 10 Jul, 2016 3 commits
  4. 09 Jul, 2016 9 commits
    • Mario Lang's avatar
      An efficient built-in mapcan · 466ee1b3
      Mario Lang authored
      A built-in version of `mapcan' avoids consing up (and GC'ing) the
      intermediate list.
      
      * src/fns.c (Fmapcan): New built-in.
      (syms_of_fns): Define.
      
      * lisp/emacs-lisp/cl.el (mapcan): Remove defalias.
      
      * lisp/emacs-lisp/cl-extra.el (cl-mapcan): Use built-in `mapcan'
      if only one sequence is provided.
      
      * lisp/progmodes/hideif.el (hif-delimit):
      * lisp/dired-aux.el (dired-do-find-regexp):
      * lisp/woman.el (woman-parse-colon-path): Use `mapcan' instead of
      `cl-mapcan'.
      
      * lisp/woman.el (eval-when-compile): Require 'cl-lib only when
      compiling.
      
      * lisp/mouse.el (mouse-buffer-menu-map):
      * lisp/net/pop3.el (pop3-uidl-dele):
      * lisp/progmodes/gud.el (gud-jdb-build-source-files-list):
      * lisp/cedet/semantic/db-find.el (semanticdb-fast-strip-find-results):
      * lisp/cedet/semantic/symref/grep.el (semantic-symref-derive-find-filepatterns):
      * lisp/gnus/nnmail.el (nnmail-split-it):
      * lisp/gnus/gnus-sum.el (gnus-articles-in-thread):
      * lisp/gnus/gnus-registry.el (gnus-registry-sort-addresses):
      * lisp/gnus/gnus-util.el (gnus-mapcar): Use `mapcan'.
      466ee1b3
    • Tino Calancha's avatar
      Detect aliases to built-in functions · c3223dd5
      Tino Calancha authored
      * lisp/help-fns.el (describe-function-1): Check for aliases
      defined with (defalias alias (symbol-function built-in)) (Bug#23887).
      
      * test/lisp/help-fns-tests.el (help-fns-test-bug23887): Untag as
      failing this test.
      c3223dd5
    • Michael Albinus's avatar
      Avoid recursive detection of remote uid and gid in tramp-gvfs.el · bfc29a5b
      Michael Albinus authored
      * lisp/net/tramp-gvfs.el (tramp-gvfs-get-remote-uid-gid-in-progress):
      New variable.
      (tramp-gvfs-maybe-open-connection): Use it.
      
      * test/lisp/net/tramp-tests.el (tramp-test18-file-attributes):
      Reorder test.
      bfc29a5b
    • Jürgen Hötzel's avatar
      Wrap around error in coreutil's ls · e4adb6cd
      Jürgen Hötzel authored
      * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Add switch
      "--quoting-style=literal" if remote host supports quoting style.
      Recent versions of coreutils changed default quoting style to
      "--quoting=shell-escape".
      e4adb6cd
    • Eli Zaretskii's avatar
      Minor tweaks of copying text properties when padding strings · 0a2aedfe
      Eli Zaretskii authored
      * src/editfns.c (styled_format): Don't include padding on the left
      in the properties at the beginning of the string.  (Bug#23897)
      
      * test/src/editfns-tests.el (format-properties): Add tests for
      faces when the string is padded on the left or on the right.
      0a2aedfe
    • Mario Lang's avatar
      e52ad7fd
    • Mario Lang's avatar
      No need to require the same feature twice. · 47f6336e
      Mario Lang authored
      * lisp/dired-aux.el (require 'cl-lib): Remove.
      47f6336e
    • Mark Oteiza's avatar
      Turn on lexical binding · 316bbd95
      Mark Oteiza authored
      * lisp/net/secrets.el (secrets-collection-handler): Use cl-pushnew.
      (secrets-search-items, secrets-create-item): Use append.
      (secrets-show-secrets): Remove unused binding.
      (secrets-expand-item, secrets-tree-widget-after-toggle-function):
      Ignore unused arguments.
      316bbd95
    • Mark Oteiza's avatar
      Derive secrets-mode from special-mode · 7095596a
      Mark Oteiza authored
      * lisp/net/secrets.el: Remove top-level secrets-mode hack.
      (secrets-mode-map): New variable.  Add key bindings to n and p for
      navigating lines.
      (secrets-mode): Derive from special-mode.  Remove keymap code and
      initialization code.  Do not record undo information.  Make
      secrets-show-collections the local revert-buffer-function.
      (secrets-show-collections): Change signature to satisfy revert-buffer.
      7095596a
  5. 08 Jul, 2016 8 commits
    • Mark Oteiza's avatar
      Add a couple cells to lisp-prettify-symbols-alist · bdda4855
      Mark Oteiza authored
      * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist): Add
      "sqrt" and "not".
      bdda4855
    • Michael Albinus's avatar
      Detect remote uid and gid in tramp-gvfs.el · 5deebc3c
      Michael Albinus authored
      * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
      (tramp-gvfs-handler-mounted-unmounted)
      (tramp-gvfs-connection-mounted-p):
      Make "default-location" a connection property.
      (tramp-gvfs-get-remote-uid, tramp-gvfs-get-remote-gid): New defuns.
      (tramp-gvfs-maybe-open-connection): Use them.
      5deebc3c
    • Eli Zaretskii's avatar
      Yet another fix for copying properties by 'format' · d8a9c450
      Eli Zaretskii authored
      * src/textprop.c (extend_property_ranges): Accept an additional
      argument OLD_END, and only extend the end of a property range if
      its original end is at OLD_END; all the other ranges are left
      intact.  (Bug#23897)
      * src/editfns.c (styled_format): Pass the original length of the
      string to 'extend_property_ranges'.
      * src/intervals.h (extend_property_ranges): Adjust prototype.
      
      * test/src/editfns-tests.el (format-properties): Add tests for
      bug#23897.
      d8a9c450
    • Stephen Berman's avatar
      Allow selecting region with mouse to move point to beginning · d0c0b71d
      Stephen Berman authored
      * etc/NEWS: Mention new user option
      `mouse-select-region-move-to-beginning'.
      
      * doc/emacs/frames.texi (Mouse Commands): Add cross-reference
      to the following.
      (Word and Line Mouse): Describe how double-clicking mouse-1 to
      activate region and `mouse-select-region-move-to-beginning'
      affect point.
      
      * lisp/mouse.el (mouse-select-region-move-to-beginning): New defcustom.
      (mouse-set-point): Use it.  (Bug#23478)
      d0c0b71d
    • Stephen Berman's avatar
      Fix menu bar breakage · 381c6bbf
      Stephen Berman authored
      * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Use backquoting
      to prevent void variable errors, and fix typo (bug#23918).
      381c6bbf
    • Tino Calancha's avatar
      Copy buffer names to kill ring · 56c85512
      Tino Calancha authored
      * ibuf-ext.el (ibuffer-copy-buffername-as-kill): New command.
      * lisp/ibuffer (ibuffer-mode-map): Bound it to 'B'.
      ;* etc/NEWS: Add entry for this new feature.
      56c85512
    • Tino Calancha's avatar
      Remove just input mark · 0e6fa2dd
      Tino Calancha authored
      * lisp/ibuffer.el (ibuffer-unmark-all): When MARK is not ?\r remove
      just MARK.
      0e6fa2dd
    • Tino Calancha's avatar
      Ibuffer change marks · 9bf31d1d
      Tino Calancha authored
      * lisp/ibuffer.el (ibuffer-change-marks): New command.
      (ibuffer-mode-map): Bind it to '* c'.
      (ibuffer-mode-groups-popup): Update menus.
      (ibuffer-mode): Update mode doc.
      ; * etc/NEWS: Add entry for this new feature.
      9bf31d1d
  6. 07 Jul, 2016 3 commits
    • Alan Third's avatar
      Prevent NS event loop being re-entered (bug#11049) · ee7bc988
      Alan Third authored
      * nsterm.m (ns_read_socket, ns_select): Return -1 if already in event
      loop instead of aborting.
      ee7bc988
    • Alan Third's avatar
      Fix some deprecated functions · 5508f06f
      Alan Third authored
      * src/nsterm.m (firstRectForCharacterRange): In OS X >10.6 replace
      convertBaseToScreen with convertRectToScreen.
      * src/nsmenu.m (ns_update_menubar): Remove attachedMenu, deprecated in
      OS X 10.2, and always seems to return nil.
      5508f06f
    • Aaron Jensen's avatar
      Disable App Nap (bug#22993) · 42ac8f57
      Aaron Jensen authored
      * nextstep/templates/Info.plist.in: Insert AppNap disable code.
      
      Copyright-paperwork-exempt: yes
      42ac8f57