1. 23 Apr, 2017 6 commits
    • Martin Rudalics's avatar
      Let w32_mouse_position pick a child window only if it has a child frame · a02885a3
      Martin Rudalics authored
      * src/w32term.c (w32_mouse_position): When using a frame found
      by ChildWindowFromPoint make sure it's a child frame (Bug#26615,
    • Noam Postavsky's avatar
      Don't require bytecomp for running ert tests · b20d05c6
      Noam Postavsky authored
      "Fix ert-tests when running compiled" 2016-12-06 accidentally
      introduced a dependency on `bytecomp' into `ert'.  As mentioned in
      "Avoid ert test failures" 2017-04-18, the accidental dependency of ert
      on bytecomp was masked by loading other libraries until recently.
      * lisp/emacs-lisp/ert.el (ert--expand-should-1): Only use
      `byte-compile-macro-environment' if it's bound.
      * test/src/eval-tests.el: Add defvar for dynamic variable
    • Andrew G Cohen's avatar
      Eliminate unneeded warp-to-article in gnus article referral · 5317193f
      Andrew G Cohen authored
      * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread):
      (gnus-summary-refer-article): Remove gnus-warp-to article call.
    • Andrew G Cohen's avatar
      Allow limiting gnus summary buffers to a thread · 03f63888
      Andrew G Cohen authored
      * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Include
      an optional argument to allow limiting the summary buffer to just the
      thread-related articles.
      (gnus-refer-thread-limit-to-thread): Introduce customizable variable
      to control whether thread-referral adds the thread to the summary
      buffer or limits to just the thread.
      (gnus-summary-refer-thread): Use the new variable.
    • Andrew G Cohen's avatar
      Correct gnus-newsgroup-limits in gnus when including thread · ea9acccd
      Andrew G Cohen authored
      * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Should
      only add one list of thread-related articles to gnus-newsgroup-limits
      rather than two.
    • Andrew G Cohen's avatar
      Improve gnus thread matching of similar subjects · 6df3eea9
      Andrew G Cohen authored
      * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread):
      Use the more liberal gnus-general-simplify-subject regexp to
      find thread articles with similar subjects.
  2. 22 Apr, 2017 11 commits
    • Noam Postavsky's avatar
    • Noam Postavsky's avatar
      Add new `lisp-indent-region' that doesn't reparse the code. · 4713dd42
      Noam Postavsky authored
      Both `lisp-indent-region' and `lisp-indent-line' now use `syntax-ppss'
      to get initial state, so they will no longer indent string literal
      * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): New function, like
      `syntax-ppss', but with a more dependable item 2.
      (lisp-indent-region): New function, like `indent-region-line-by-line'
      but additionally keep a running parse state to avoid reparsing the
      code repeatedly.  Use `lisp-ppss' to get initial state.
      (lisp-indent-line): Take optional PARSE-STATE argument, pass it to
      `calculate-lisp-indent', use `lisp-ppss' if not given.
      (lisp-mode-variables): Set `indent-region-function' to
    • Noam Postavsky's avatar
      Remove ignored argument from lisp-indent-line · 2f6769f9
      Noam Postavsky authored
      * lisp/emacs-lisp/lisp-mode.el (lisp-indent-line): Remove WHOLE-EXP
      argument, the behavior has long since been handled in
      `indent-for-tab-command'.  Also remove redundant `beg' and `shift-amt'
      variables and use `indent-line-to'.
    • Noam Postavsky's avatar
    • Noam Postavsky's avatar
      Don't reparse the sexp in indent-sexp (Bug#25122) · 43c84577
      Noam Postavsky authored
      * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent): Let
      PARSE-START be a parse state that can be reused.
      (indent-sexp): Pass the running parse state to calculate-lisp-indent
      instead of the sexp beginning position.  Saving the
      CONTAINING-SEXP-START returned by `calculate-lisp-indent' is no longer
      needed.  Don't bother stopping if we don't descend below init-depth,
      since we now alway scan the whole buffer (via syntax-ppss) anyway.
      * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp): Add blank
      line to test case.
    • Vibhav Pant's avatar
      Add cond test cases for singleton clauses. · 66dc8dd6
      Vibhav Pant authored
      * test/lisp/emacs-lisp/bytecomp-tests.el: Add test cond forms where
        the default clause is a single non-nil expression.
    • Vibhav Pant's avatar
      b-c--cond-jump-table-info: Use correct body for singleton clauses · 1c91bc92
      Vibhav Pant authored
      * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table-info):
      When a clause's body consists of a single constant expression, use
      that expression as the body to be compiled. This fixes switch bytecode
      evaluating to nil to such clauses.
    • Philipp Stephani's avatar
      ffap: Don't switch window unless needed · ace38baf
      Philipp Stephani authored
      When using ffap-other-window, don't change the window configuration
      unless a new buffer has actually been created (Bug#25352).
      * lisp/ffap.el (ffap-other-frame): Don't change the window
      configuration if no new buffer has been created.
      * test/lisp/ffap-tests.el (ffap-other-window--bug-25352): Add unit
    • Alan Mackenzie's avatar
      Fix fontification of C++ declaration with type FOO::FOO. · d354fc38
      Alan Mackenzie authored
      * lisp/progmodes/cc-engine.el (c-find-decl-spots): Initialize
      cfd-top-level properly.
      (c-forward-decl-or-cast-1): On finding FOO::FOO, check it is followed by "("
      before deciding it is a constructor.
      * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare): Negate the
      result of the c-bs-at-toplevel-p call passed to c-font-lock-declarators
      (simple bug fix).
    • Philipp Stephani's avatar
      Fix usage of FRAME_Z_GROUP · eb52828a
      Philipp Stephani authored
      * src/nsterm.m (initFrameFromEmacs:): FRAME_Z_GROUP does not return a
      Lisp object, cf. Bug#26597.
    • Alan Third's avatar
      Fix GNUstep build · 401e41df
      Alan Third authored
      * src/nsfns.m (Fns_frame_z_list_order): Rewrite for GNUstep
      * src/nsmenu.m (update_frame_tool_bar): Remove unused variable.
  3. 21 Apr, 2017 8 commits
    • Alan Third's avatar
      Add no-accept-focus and frame-list-z-order to NS port · d812d20f
      Alan Third authored
      * lisp/frame.el (frame-list-z-order): Add NS.
      * src/nsfns.m: Add x_set_no_accept_focus to handler struct.
      (Fx_create_frame): Handle no-accept-focus parameter.
      (Fns_frame_list_z_order): New functions.
      * src/nsterm.m (x_set_no_accept_focus): New function.
      (initFrameFromEmacs): Use EmacsWindow instead of EmacsFSWindow for
      non-fullscreen windows.
      (EmacsWindow:canBecomeKeyWindow): New function.
    • Stefan Monnier's avatar
      Improve prefix handling for dash.el · a3b8618d
      Stefan Monnier authored
      * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload):
      Don't drop dash's "-<letter>" prefixes.
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/cl-macs.el: Fix symbol-macrolet · 89898e43
      Stefan Monnier authored
      Revert 0d112c00 (to fix bug#26325)
      and use a different fix for bug#26068.
      (cl--symbol-macro-key): New function.
      (cl--sm-macroexpand, cl-symbol-macrolet): Use it instead of `symbol-name`.
      * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet):
      Failure is not expected any more.
    • Eli Zaretskii's avatar
      Avoid infinite loop in redisplay when header-line-format is invalid · 72d7961d
      Eli Zaretskii authored
      * src/xdisp.c (handle_invisible_prop): Avoid inflooping when the
      string has an invalid %-construct in it and is displayed as part
      of mode-line or header-line.  (Bug#26586)
    • Lars Ingebrigtsen's avatar
      Add tests to check image scaling functionality · b1fe497a
      Lars Ingebrigtsen authored
      This is in preparation to doing further work in this area to avoid
      * test/data/image/blank-200x100.png: New file for testing
      image scaling.
      * test/manual/image-size-tests.el: New file.
    • Lars Ingebrigtsen's avatar
      Allow svg-image to take all create-image PROPS · 0ca61907
      Lars Ingebrigtsen authored
      * lisp/svg.el (svg-image): Allow passing in PROPS when
      creating an image for convenience.
    • George D. Plymale II's avatar
      Treat non-erroring lisp call as successful eshell command (Bug#26161) · e8875bcb
      George D. Plymale II authored
      This lets a compound command like 'cd .. && echo ok' print 'ok',
      similar to how most other shells behave.
      * lisp/eshell/esh-cmd.el (eshell-exit-success-p): Only check if the
      last exit code was zero, rather than first checking whether the last
      command returned nil.
      (eshell-exec-lisp): Set `eshell-last-command-status' to 1 on error.
      Copyright-paperwork-exempt: yes
    • Reuben Thomas's avatar
      Fix reading of tab settings in whitespace-mode · a6b375ba
      Reuben Thomas authored
      lisp/whitespace.el (whitespace-indent-tabs-mode)
      whitespace-tab-width): Remove these variables. The underlying
      variables `indent-tabs-mode' and `tab-width' are already buffer-local
      when needed, and whitespace-mode never changes them.
      (whitespace-ensure-local-variables): Remove this function, which only
      existed to set the above variables.
      (whitespace-cleanup-region, whitespace-regexp)
      (whitespace-indentation-regexp, whitespace-report-region)
      (whitespace-turn-on, whitespace-color-on): Adjust these functions to
      use `indent-tabs-mode' and `tab-width' directly, and not call
  4. 20 Apr, 2017 4 commits
  5. 19 Apr, 2017 6 commits
    • Glenn Morris's avatar
      Remove some explicit runtime loads of pcase · 992e2019
      Glenn Morris authored
      Pcase is macros, so these should have used eval-when-compile.
      Anyway, pcase entry points are autoloaded, so the compiler handles it.
      * lisp/profiler.el, lisp/emacs-lisp/eieio-core.el:
      * lisp/emacs-lisp/generator.el, lisp/emacs-lisp/subr-x.el:
      * lisp/progmodes/xref.el: No need to require pcase.
    • Glenn Morris's avatar
      Stop cl-lib loading pcase at runtime · 41a5b76f
      Glenn Morris authored
      The cause was an unexpanded pcase-defmacro in cl-loaddefs.
      * lisp/emacs-lisp/autoload.el (make-autoload):
      Treat pcase-defmacro like defmacro.
    • Alan Third's avatar
      Note frame documentation exceptions for NS builds · 3533623c
      Alan Third authored
      * doc/lispref/frames.texi (Management Parameters, Child Frames): Note
      NS differences.
    • Alan Third's avatar
      Fix bug introduced by my last commit · 21fa90b0
      Alan Third authored
      * src/nsterm.m (ns_draw_fringe_bitmap): Revert key-mashing accident.
    • Alan Third's avatar
      Add new frame functionality to NS port · aca21d42
      Alan Third authored
      * lisp/frame.el (frame-restack): Call ns-frame-restack.
      * src/keyboard.c (kbd_buffer_get_event) [HAVE_NS]: Enable
      MOVE_FRAME_EVENT handling.
      * src/frame.h:
      * src/frame.c: Enable 'z-group', 'undecorated' and 'parent' frame
      * src/nsfns.m: Add x_set_z_group, x_set_parent_frame and
      x_set_undecorated (Cocoa only) to handler struct.
      (Fx_create_frame): Handle 'z-group', 'parent-frame' and 'undecorated'
      frame parameter.
      (Fns_frame_restack): New function.
      * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar):
      FRAME_TOOLBAR_HEIGHT is no longer a variable.
      Add #defines to find the screen position of the parent frame.
      (NS_TOP_POS): Remove defun.
      (EmacsView): Remove redundant toolbar variables and add createToolbar
      values instead of storing them in a variable.
      * src/nsterm.m (x_set_offset, windowDidMove): Take parent frame
      position into account when positioning frames.
      (initFrameFromEmacs): Remove toolbar creation code and handle new
      frame parameters.
      (x_set_window_size): Remove toolbar height calculation.
      (x_set_undecorated) [NS_IMPL_COCOA]: New function.
      (x_destroy_window): Detach parent if child closes.
      (updateFrameSize): Change NSTRACE message to reflect new reality and
      no longer reset frame size.
      (windowWillResize): Don’t change NS window name when the titlebar
      is invisible.
      (createToolbar): Move toolbar creation code into it’s own method.
      are no longer variables.
      (windowDidMove): Fire MOVE_FRAME_EVENT Emacs event.
    • Glenn Morris's avatar
      Tweak bytecomp's loading of cl-extra · b6a57fb8
      Glenn Morris authored
      * lisp/emacs-lisp/bytecomp.el: Don't force load of cl-extra in a
      post-bootstrap emacs where cl-loaddefs does exist.
  6. 18 Apr, 2017 5 commits