1. 03 Mar, 2017 6 commits
    • Eli Zaretskii's avatar
      Fix color component calculations in color.el · 7b00e956
      Eli Zaretskii authored
      * lisp/color.el (color-name-to-rgb): Use 16 bits per color component.
      (color-rgb-to-hex): Accept an optional argument
      DIGITS-PER-COMPONENT, defaulting to 4, and format the hexadecimal
      notation either for 8 or 16 bits per component.  (Bug#25890)
      * lisp/net/shr-color.el (shr-color->hexadecimal): Call
      color-rgb-to-hex with the optional argument of 2, to match color
      processing on the Web.
      7b00e956
    • Tino Calancha's avatar
      Use lexical binding in benchmark.el · 244de7b0
      Tino Calancha authored
      * lisp/emacs-lisp/benchmark.el: Enable lexical binding.
      (benchmark-elapse): Use 'declare'.
      * test/lisp/emacs-lisp/benchmark-tests.el: Add test suite.
      244de7b0
    • Noam Postavsky's avatar
      Switch pp.el to lexical binding · f5388ba8
      Noam Postavsky authored
      Additionally, do some minor code cleanup.
      
      * lisp/emacs-lisp/pp.el: Set lexical-binding.
      (pp-buffer): Use skip-syntax-forward.
      (pp-eval-expression): Use push.
      (pp-last-sexp): Use with-syntax-table.
      * test/lisp/emacs-lisp/pp-tests.el: New tests.
      f5388ba8
    • Chunyang Xu's avatar
      Fix completing-read call in reb-change-syntax · 55c0c3e3
      Chunyang Xu authored
      * lisp/emacs-lisp/re-builder.el (reb-change-syntax): Use 'default' arg
      of completing-read.
      
      Copyright-paperwork-exempt: yes
      55c0c3e3
    • Rolf Ade's avatar
      sql-mode w/ sqlite: In-memory database · 71871670
      Rolf Ade authored
      Enable the usage of an in-memory database. Prior to this, sql-mode w/
      sqlite could only be used with file databases.
      * list/progmodes/sql.el (sql-get-login-ext): Don't expand an empty
      file name provided by the user, but call sub-process sqlite with that,
      in which case it uses an in-memory database.
      
      Copyright-paperwork-exempt: yes
      71871670
    • Allen Li's avatar
      Stop abbrev-prefix-mark from adding extra newline (Bug#25767) · c733d916
      Allen Li authored
      `abbrev--before-point' does not adjust `pos' to account for when it
      deletes the "-" left by abbrev-prefix-mark.  Therefore, when
      `abbrev-before-point' goes to restore point, it moves point one
      character too far forward.
      
      * lisp/abbrev.el (abbrev--before-point): Adjust pos when deleting "-".
      c733d916
  2. 02 Mar, 2017 14 commits
    • Tino Calancha's avatar
    • Paul Eggert's avatar
      Restore XFLOATINT but with restricted args · 56aaaf9b
      Paul Eggert authored
      Turn instances of extract_float into XFLOAT_DATA when possible,
      and to a resurrected XFLOATINT when the arg is a number.
      The resurrected XFLOATINT is more like XFLOAT and XINT in
      that is valid only if its arg is a number.  This clarifies
      the ways in which floats can be extracted at the C level.
      * src/editfns.c (styled_format):
      * src/floatfns.c (extract_float, Fexpt):
      Use XFLOATINT rather than open-coding it.
      * src/fns.c (internal_equal):
      * src/image.c (imagemagick_load_image):
      * src/xdisp.c (resize_mini_window):
      Prefer XFLOAT_DATA to extract_float on values known to be floats.
      * src/frame.c (x_set_screen_gamma):
      * src/frame.h (NUMVAL):
      * src/image.c (x_edge_detection, compute_image_size):
      * src/lread.c (read_filtered_event):
      * src/window.c (Fset_window_vscroll):
      * src/xdisp.c (handle_single_display_spec, try_scrolling)
      (redisplay_window, calc_pixel_width_or_height, x_produce_glyphs)
      (on_hot_spot_p):
      Prefer XFLOATINT to extract_float on values known to be numbers.
      * src/lisp.h (XFLOATINT): Bring back this function, except
      it now assumes its argument is a number.
      56aaaf9b
    • Glenn Morris's avatar
      Ert commands to error if no test at point (bug#25931) · dacafa8c
      Glenn Morris authored
      * lisp/emacs-lisp/ert.el (ert-results-mode-menu):
      Deactivate some items if no test at point.
      (ert--results-test-at-point-no-redefinition):
      Add option to signal an error rather than return nil.
      (ert-results-pop-to-backtrace-for-test-at-point)
      (ert-results-pop-to-messages-for-test-at-point)
      (ert-results-pop-to-should-forms-for-test-at-point)
      (ert-results-describe-test-at-point): Error if no test at point.
      dacafa8c
    • Paul Eggert's avatar
      Remove XFLOATINT · d0d26c13
      Paul Eggert authored
      * src/lisp.h (XFLOATINT): Remove this alias for extract_float.
      All callers changed to use extract_float.
      * src/frame.h (NUMVAL): Now an inline function, not a macro.
      d0d26c13
    • Paul Eggert's avatar
      Fix rounding errors in <, =, etc. · 4e2622bf
      Paul Eggert authored
      * etc/NEWS: Document this.
      * src/bytecode.c (exec_byte_code):
      * src/data.c (arithcompare):
      Do not lose information when comparing floats to integers.
      * test/src/data-tests.el (data-tests-=, data-tests-<)
      (data-tests->, data-tests-<=, data-tests->=):
      Test this.
      4e2622bf
    • Eli Zaretskii's avatar
      Fix display of mouse-highlight produced by overlapping overlays · d546be31
      Eli Zaretskii authored
      * src/xfaces.c (face_at_buffer_position): If called to find the
      mouse-face, only consider the highest-priority source for that
      face, and ignore the rest.  Previously, all the mouse-face
      definitions at POS were merged in that case.
      * src/xdisp.c (note_mouse_highlight): Record the overlay that
      specifies mouse-face _after_ clearing the info about the previous
      overlay, so as not to clear the information about the just-recorded
      overlay.  (Bug#25906)
      d546be31
    • Eli Zaretskii's avatar
      Fix display of strike-through text in variable-height lines · 511a3c3b
      Eli Zaretskii authored
      * src/nsterm.m (ns_draw_text_decoration):
      * src/xterm.c (x_draw_glyph_string):
      * src/w32term.c (x_draw_glyph_string): Fix calculation of the
      strike-through y-coordinate for a glyph row which is taller than
      the strike-through text.  (Bug#25907)
      511a3c3b
    • Martin Rudalics's avatar
      Don't call x_net_wm_state for scroll bar windows (Bug#24963, Bug#25887) · ae883561
      Martin Rudalics authored
      * src/xterm.c (handle_one_xevent): For ConfigureNotify events
      don't call x_net_wm_state when the window is a scroll bar window.
      (Bug#24963, Bug#25887)
      ae883561
    • Katsumi Yamaoka's avatar
      gnus-summary-select-article-buffer: Don't re-render existing article · 4da7aaa3
      Katsumi Yamaoka authored
      * lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
      Don't re-render existing article.
      4da7aaa3
    • Katsumi Yamaoka's avatar
      Don't add debbugs address to message body (bug#25896) · 300f72f3
      Katsumi Yamaoka authored
      * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
      Don't add debbugs address to message body (bug#25896), and
      don't add it to message header either if it already exists.
      300f72f3
    • Stefan Monnier's avatar
      * lisp/cedet/semantic/db-global.el: Make dynbind use explicit · 94a50646
      Stefan Monnier authored
      (semanticdb--ih): Declare.
      (semanticdb-enable-gnu-global-databases): Use it instead of `ih'.
      (semanticdb-enable-gnu-global-in-buffer, semanticdb-get-database-tables)
      (semanticdb-find-tags-for-completion-method): Silence compiler warning.
      94a50646
    • Stefan Monnier's avatar
      * lisp/help-fns.el (describe-variable): Use cl-print for the value · 2c18969c
      Stefan Monnier authored
      Use `pp-buffer' rather than `pp' so as to avoid calling prin1 twice.
      2c18969c
    • Glenn Morris's avatar
      * test/lisp/net/puny.el: New file. · 41f91d36
      Glenn Morris authored
      41f91d36
    • Glenn Morris's avatar
      Small puny.el fix · 8c1e16be
      Glenn Morris authored
      * lisp/net/puny.el (puny-decode-string-internal):
      Handle strings with no ascii parts.  (Bug#23688)
      8c1e16be
  3. 01 Mar, 2017 7 commits
    • Glenn Morris's avatar
      Small recover-this-file improvement · 82443572
      Glenn Morris authored
      * lisp/files.el (recover-this-file): Explicit error if not
      visiting a file.  (Bug#23671)
      82443572
    • Glenn Morris's avatar
      Fix for coding-system completion (bug#23670) · 79abec2f
      Glenn Morris authored
      * lisp/international/mule.el (read-buffer-file-coding-system):
      Ensure that completion-pcm--delim-wild-regex is enclosed in parens,
      so that completion-pcm--pattern->regex can append "*?".
      79abec2f
    • Paul Eggert's avatar
      Fix rounding error in ‘ceiling’ etc. · 207ee94b
      Paul Eggert authored
      Without this fix, (ceiling most-negative-fixnum -1.0) returns
      most-negative-fixnum instead of correctly signaling range-error,
      and similarly for floor, round, and truncate.
      * configure.ac (trunc): Add a check, since Gnulib’s doc says
      ‘trunc’ is missing from MSVC 9.  The Gnulib doc says ‘trunc’ is
      also missing from some other older operating systems like Solaris
      9 which I know we don’t care about any more, so MSVC is the only
      reason to worry about ‘trunc’ here.
      * src/editfns.c (styled_format): Formatting a float with %c is now an
      error.  The old code did not work in general, because FIXNUM_OVERFLOW_P
      had rounding errors.  Besides, the "if (FLOATP (...))" was in there
      only as a result of my misunderstanding old code that I introduced
      2011.  Although %d etc. is sometimes used on floats that represent
      huge UIDs or PIDs etc. that do not fit in fixnums, this cannot
      happen with characters.
      * src/floatfns.c (rounding_driver): Rework to do the right thing
      when the intermediate result equals 2.305843009213694e+18, i.e.,
      is exactly 1 greater than MOST_POSITIVE_FIXNUM on a 64-bit host.
      Simplify so that only one section of code checks for overflow,
      rather than two.
      (double_identity): Remove.  All uses changed to ...
      (emacs_trunc): ... this new function.  Add replacement for
      platforms that lack ‘trunc’.
      * src/lisp.h (FIXNUM_OVERFLOW_P, make_fixnum_or_float):
      Make it clear that the arg cannot be floating point.
      * test/src/editfns-tests.el (format-c-float): New test.
      * test/src/floatfns-tests.el: New file, to test for this bug.
      207ee94b
    • Glenn Morris's avatar
      Small help--loaded-p fix · ebb10505
      Glenn Morris authored
      * lisp/help-fns.el (help--loaded-p): Handle entry in load-history
      with nil file name.  (Bug#25847)
      ebb10505
    • Leo Liu's avatar
      * src/fns.c (Fbuffer_hash): Doc fix. · 03f64ebb
      Leo Liu authored
      03f64ebb
    • Eric Abrahamsen's avatar
      Don't use mapconcat with chars in gnus registry marks (Bug#25839) · 16e304f3
      Eric Abrahamsen authored
      * lisp/gnus/gnus-registry.el (gnus-registry-article-marks-to-chars):
      Instead, use a plain concat, which will create a string out of a list
      of characters.
      16e304f3
    • Noam Postavsky's avatar
      Fix epg-tests with dummy-pinentry program (Bug#23619) · b7250496
      Noam Postavsky authored
      * test/data/epg/dummy-pinentry: New file.
      * test/lisp/epg-tests.el (with-epg-tests): Add it to gpg-agent.conf
      when a passphrase is required.  Add debug declaration.  Set
      GPG_AGENT_INFO non-destructively.
      b7250496
  4. 28 Feb, 2017 13 commits