1. 19 Jul, 2016 5 commits
    • Alan Third's avatar
      Prevent bar cursor overwriting next glyph (bug#16856) · bf5ddded
      Alan Third authored
      * src/nsterm.m (ns_draw_window_cursor): Test glyph width vs cursor width
      before setting final size.
      bf5ddded
    • Paul Eggert's avatar
      ; Spelling fix · a80ee12a
      Paul Eggert authored
      a80ee12a
    • Eli Zaretskii's avatar
      Fix 'transpose-regions' when LEAVE-MARKERS arg is non-nil · 00b66476
      Eli Zaretskii authored
      * src/insdel.c (adjust_markers_bytepos): New function.
      * src/lisp.h (adjust_markers_bytepos): Add prototype.
      * src/insdel.c (replace_range, replace_range_2):
      * src/editfns.c (Ftranspose_regions): Call
      adjust_markers_bytepos.  (Bug#5131)
      
      * test/src/editfns-tests.el (transpose-test-reverse-word)
      (transpose-test-get-byte-positions): New functions.
      (transpose-ascii-regions-test)
      (transpose-nonascii-regions-test-1)
      (transpose-nonascii-regions-test-2): New tests.
      00b66476
    • Katsumi Yamaoka's avatar
      Make gif animation work (bug#24004) · 439f3c3e
      Katsumi Yamaoka authored
      * lisp/image.el (image-animate-timeout): Fix the logic that tests if
      an animation is too big (bug#24004).
      439f3c3e
    • Stefan Monnier's avatar
      * lisp/simple.el (undo-amalgamate-change-group): New function · 99fe98d3
      Stefan Monnier authored
      * lisp/emulation/viper-cmd.el (viper-adjust-undo): Use it.
      (viper-set-complex-command-for-undo): Save current state with
      prepare-change-group.
      * lisp/emulation/viper-init.el (viper-undo-needs-adjustment)
      (viper-buffer-undo-list-mark): Remove.
      99fe98d3
  2. 18 Jul, 2016 2 commits
    • Noam Postavsky's avatar
      Keep w32 environment settings internal only · 73f0715d
      Noam Postavsky authored
      * src/emacs.c (main) [WINDOWSNT]: Move init_environment calls after the
      set_initial_environment call.  This prevents Emacs' modifications to the
      environment from contaminating Vprocess_environment and
      Vinitial_environment (Bug #10980).
      * src/callproc.c (getenv_internal) [WINDOWSNT]: Consult Emacs' internal
      environment in as a fallback to Vprocess_environment.
      * test/src/callproc-tests.el (initial-environment-preserved): New Test.
      73f0715d
    • Nicolas Petton's avatar
      Better documentation for cl-reduce (bug#24014) · 1879b905
      Nicolas Petton authored
      * lisp/emacs-lisp/cl-seq.el (cl-reduce): Explain what reducing means.
      1879b905
  3. 17 Jul, 2016 4 commits
  4. 16 Jul, 2016 3 commits
    • Noam Postavsky's avatar
      Optimize ucs-normalize.el compilation · e333157c
      Noam Postavsky authored
      * lisp/international/ucs-normalize.el (ucs-normalize-combining-chars-regexp):
      (quick-check-list-to-regexp): Use regexp-opt-charset instead of
      regexp-opt.
      * lisp/international/ucs-normalize.el (quick-check-list): Reuse a single
      temp buffer for the whole loop.
      e333157c
    • Noam Postavsky's avatar
      Add tests for ucs-normalize.el · eed3b46c
      Noam Postavsky authored
      Some tests are marked as expected to fail.
      
      * test/lisp/international/ucs-normalize-tests.el: New tests.
      * admin/unidata/NormalizationTest.txt: Add data for tests.
      * admin/unidata/README: Add URL for NormalizationTest.txt.
      * admin/notes/unicode: Add note about running (and updating the data
      for) the new tests.  Remove note about normalization being unsupported.
      eed3b46c
    • Alan Third's avatar
      Fix cursor display (bug#23993) · 49f7c5ad
      Alan Third authored
      * src/xdisp.c (get_phys_cursor_geometry): Fix invalid C operator.
      49f7c5ad
  5. 15 Jul, 2016 4 commits
    • Paul Eggert's avatar
      Stop worrying about Alliant in bytecode.c · 9569916d
      Paul Eggert authored
      * src/bytecode.c (PUSH): Remove workaround for long-obsolete compiler.
      9569916d
    • Paul Eggert's avatar
      Remove BYTE_MAINTAIN_TOP · 4ba72d32
      Paul Eggert authored
      It is no longer needed now that we assume GC_MARK_STACK ==
      GC_MAKE_GCPROS_NOOPS.
      * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove.
      All uses removed, and code simplified accordingly.
      (BEFORE_POTENTIAL_GC, AFTER_POTENTIAL_GC): Remove, since they
      are always no-ops now.  All uses removed.
      (MAYBE_GC): Remove.  All uses replaced by maybe_gc,
      since it is now equivalent.
      4ba72d32
    • Paul Eggert's avatar
      Remove now-inaccurate bytecode comments · 1873ef3b
      Paul Eggert authored
      * src/bytecode.c: Remove comments that are no longer accurate.
      Most of these are actually old ChangeLog entries.
      1873ef3b
    • Paul Eggert's avatar
      Port to glibc 2.24 (pre-release) + ppc64 · e95b0231
      Paul Eggert authored
      Inspired by a suggestion by Florian Weimer in:
      https://sourceware.org/ml/libc-alpha/2016-07/msg00425.html
      * configure.ac (HAVE_PERSONALITY_ADDR_NO_RANDOMIZE):
      Rename from HAVE_PERSONALITY_LINUX32, and check for
      ADDR_NO_RANDOMIZE (the crucial thing) instead of for LINUX32.
      All uses changed.
      * src/emacs.c (main) [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]:
      Use ADDR_NO_RANDOMIZE from personality.h rather than inventing the
      flag ourselves.  Just set that flag, rather than also setting the
      persona.  When doing it, avoid functions like putenv that may
      allocate memory.
      e95b0231
  6. 14 Jul, 2016 7 commits
  7. 13 Jul, 2016 5 commits
  8. 12 Jul, 2016 9 commits
    • John Wiegley's avatar
      Revert "Cleanup tooltips" · 54b7eb0d
      John Wiegley authored
      This reverts commit 20038f8a.
      
      I am reverting this change because it was applied without prior discussion
      on emacs-devel, and has been found to break the NS port.  It needs more
      testing and review before it should be applied here.
      54b7eb0d
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/cl-macs.el (cl--prog): New function · 9c8c3a54
      Stefan Monnier authored
      (cl-prog, cl-prog*): New macros.
      9c8c3a54
    • 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
  9. 11 Jul, 2016 1 commit
    • Mario Lang's avatar
      Test mapcan · 846761e4
      Mario Lang authored
      * test/src/fns-tests.el (fns-tests-mapcan): New test.
      846761e4