1. 21 May, 2017 28 commits
  2. 20 May, 2017 10 commits
    • Noam Postavsky's avatar
      Don't end non-hook variable with "-hook" (Bug#26623) · abd09820
      Noam Postavsky authored
      * lisp/follow.el (follow-inside-post-command-hook-call): Renamed from
      follow-inside-post-command-hook, update uses.
      abd09820
    • Charles A. Roelli's avatar
      Fix macOS mouse movement · 7e5a8cdc
      Charles A. Roelli authored
      * lisp/frame.el (ns-set-mouse-absolute-pixel-position): New
      function (Lisp).
      (set-mouse-absolute-pixel-position): Change it to call
      `ns-set-mouse-absolute-pixel-position' on macOS.
      * src/nsfns.m (Fns_set_mouse_absolute_pixel_position): New
      function.
      * src/nsterm.h (NS_PARENT_WINDOW_TOP_POS): Use the primary
      screen's height as a base for calculating global coordinates.
      * src/nsterm.m (frame_set_mouse_pixel_position): Fix it in macOS.
      * test/lisp/mouse-tests.el (bug26816-mouse-frame-movement): Test
      movement of mouse relative to frame.
      7e5a8cdc
    • Alan Third's avatar
      Show tooltip on correct screen (bug#26905) · c969b399
      Alan Third authored
      * src/nsfns.m (compute_tip_xy): Find the correct screen for the
      tooltip and constrain it to that screen.
      c969b399
    • Noam Postavsky's avatar
      ; Set transient-mark-mode to let mark-defun tests pass · ee54d2f4
      Noam Postavsky authored
      The tests fail when transient-mark-mode is not set since 2017-05-12
      "Fix Bug#21072 and rework `mark-defun'".
      * test/lisp/progmodes/python-tests.el (python-mark-defun-1)
      (python-mark-defun-2): Bind 'transient-mark-mode' to t.
      ee54d2f4
    • Andreas Politz's avatar
      Don't save unrelated buffers before recompiling directory (Bug#25964) · f151eb01
      Andreas Politz authored
      * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Only save
      buffers visiting lisp files under the directory being compiled.
      f151eb01
    • Paul Eggert's avatar
      Minor fixes for arity ranges in emacs modules · 848c90e3
      Paul Eggert authored
      * src/emacs-module.c (module_make_function):
      Check that arities fit into fixnums, for func-arity’s benefit.
      (funcall_module): Avoid unnecessary conversion to EMACS_INT.
      (module_function_arity): Allow arities greater than SHRT_MAX.
      848c90e3
    • Philipp Stephani's avatar
      Reimplement module functions · 31fded03
      Philipp Stephani authored
      Instead of a lambda, create a new type containing all data required to
      call the function, and support it in the evaluator.  Because this type
      now also needs to store the function documentation, it is too big for
      Lisp_Misc; use a pseudovector instead.  That also has the nice benefit
      that we don't have to add special support to the garbage collector.
      
      Since the new type is user-visible, give it a predicate.
      
      Now we can easily support 'help-function-args' and 'func-arity'; add
      unit tests for these.
      
      * src/lisp.h (allocate_module_function, MODULE_FUNCTIONP)
      (XMODULE_FUNCTION): New pseudovector type 'module function'.
      
      * src/eval.c (FUNCTIONP): Also treat module functions as functions.
      (funcall_lambda, Ffuncall, eval_sub): Add support for calling module
      functions.
      (Ffunc_arity): Add support for detecting the arity of module
      functions.
      
      * src/emacs-module.c (module_make_function): Adapt to new structure.
      Return module function object directly instead of wrapping it in a
      lambda; remove FIXME.
      (funcall_module): New function to call module functions.  Replaces
      `internal--module-call' and is called directly from eval.c.
      (syms_of_module): Remove internal helper function, which is no longer
      needed.
      (module_function_arity): New helper function.
      
      * src/data.c (Ftype_of): Adapt to new implementation.
      (Fmodule_function_p, syms_of_data): New user-visible function.  Now
      that module functions are first-class objects, they deserve a
      predicate.  Define it even if not compiled with --enable-modules so
      that Lisp code doesn't have to check for the function's existence.
      
      * src/doc.c (Fdocumentation): Support module functions.
      
      * src/print.c (print_object): Adapt to new implementation.
      
      * src/alloc.c (mark_object): Specialized garbage collector support is
      no longer needed.
      
      * lisp/help.el (help-function-arglist): Support module functions.
      While there, simplify the arity calculation by using `func-arity',
      which does the right thing for all kinds of functions.
      
      * test/data/emacs-module/mod-test.c: Amend docstring so we can test
      the argument list.
      
      * test/src/emacs-module-tests.el (mod-test-sum-docstring): Adapt to
      new docstring.
      (mod-test-non-local-exit-signal-test): Because `internal--module-call'
      is gone, the backtrace has changed and no longer leaks the
      implementation.
      (module--func-arity): New test for `func-arity'.
      (module--help-function-arglist): New test for `help-function-arglist'.
      31fded03
    • Eli Zaretskii's avatar
      Avoid crashes in GC due to unescaped characters warning · 6c7bf039
      Eli Zaretskii authored
      * src/lread.c (load_warn_unescaped_character_literals): Don't cons
      Lisp objects from stack-based variables.  (Bug#26961)
      6c7bf039
    • Charles A. Roelli's avatar
      New commands: find-library-other-window, find-library-other-frame · 021430f4
      Charles A. Roelli authored
      * lisp/emacs-lisp/find-func.el (find-library-other-window)
      (find-library-other-frame): New commands to complement the
      existing 'find-library' command.  (Bug#26712)
      (read-library-name): New function to read a library name.
      * etc/NEWS: Mention 'find-library-other-window' and
      'find-library-other-frame'.
      021430f4
    • Eli Zaretskii's avatar
      Fix automatic hscrolling of only the current line · 1cbbecee
      Eli Zaretskii authored
      * src/xdisp.c (display_line): When hscrolling only the current
      line, increment iterator's first_visible_x and last_visible_x
      values to account for the hscroll.  This propagates the hscroll
      effect on the iterator geometry all the way down to the
      subroutines called by display_line, and avoids scrolling bugs
      under large hscroll values.  (Bug#26994)
      1cbbecee
  3. 19 May, 2017 2 commits