1. 11 Sep, 2012 2 commits
    • Paul Eggert's avatar
      Simplify, document, and port floating-point. · c990426a
      Paul Eggert authored
      The porting part of this patch fixes bugs on non-IEEE platforms
      with frexp, ldexp, logb.
      * admin/CPP-DEFINES (HAVE_CBRT, HAVE_LOGB, logb): Remove.
      * configure.ac (logb, cbrt): Do not check for these functions,
      as they are not being used.
      * doc/lispref/numbers.texi (Float Basics, Arithmetic Operations, Math Functions):
      Document that / and mod (with floating point arguments), along
      with asin, acos, log, log10, expt and sqrt, return special values
      instead of signaling exceptions.
      (Float Basics): Document that logb operates on the absolute value
      of its argument.
      (Math Functions): Document that (log ARG BASE) also returns NaN if
      BASE is negative.  Document that (expt X Y) returns NaN if X is a
      finite negative number and Y a finite non-integer.
      * etc/NEWS: Document NaNs versus signaling-error change.
      * src/data.c, src/lisp.h (Qdomain_error, Qsingularity_error, Qunderflow_error):
      Now static.
      * src/floatfns.c: Simplify discussion of functions that Emacs doesn't
      support, by removing commented-out code and briefly listing the
      C89 functions excluded.  The commented-out stuff was confusing
      maintenance, e.g., we thought we needed cbrt but it was commented out.
      (logb): Remove decl; no longer needed.
      (isfinite): New macro, if not already supplied.
      (isnan): Don't replace any existing macro.
      (Ffrexp, Fldexp): Define even if !HAVE_COPYSIGN, as frexp and ldexp
      are present on all C89 platforms.
      (Ffrexp): Do not special-case zero, as frexp does the right thing
      for that case.
      (Flogb): Do not use logb, as it doesn't have the desired meaning
      on hosts that use non-base-2 floating point.  Instead, stick with
      frexp, which is C89 anyway.  Do not pass an infinity or a NaN to
      frexp, to avoid getting an unspecified result.
      c990426a
    • Paul Eggert's avatar
      6fda35f2
  2. 10 Sep, 2012 11 commits
  3. 09 Sep, 2012 13 commits
    • Juri Linkov's avatar
      * lisp/replace.el (replace-regexp-lax-whitespace): New defcustom. · 3231d532
      Juri Linkov authored
      (replace-lax-whitespace, query-replace-regexp)
      (query-replace-regexp-eval, replace-regexp): Doc fix.
      (perform-replace, replace-highlight): Let-bind
      isearch-lax-whitespace to replace-lax-whitespace and
      isearch-regexp-lax-whitespace to replace-regexp-lax-whitespace.
      
      * lisp/isearch.el (isearch-query-replace): Let-bind
      replace-lax-whitespace to isearch-lax-whitespace and
      replace-regexp-lax-whitespace to
      isearch-regexp-lax-whitespace.
      
      Fixes: debbugs:10885
      3231d532
    • Stefan Monnier's avatar
      * src/lisp.h (make_lisp_ptr): New macro to replace XSET. · e7032e7c
      Stefan Monnier authored
      (XSETCONS, XSETVECTOR, XSETSTRING, XSETSYMBOL, XSETFLOAT, XSETMISC):
      Use it.
      e7032e7c
    • Stefan Monnier's avatar
    • Eli Zaretskii's avatar
      Avoid leaving traces of cursor when entering linum-mode. · aba05ce9
      Eli Zaretskii authored
       src/fringe.c (draw_fringe_bitmap_1): Don't reduce the width of the
       left fringe if the window has a left margin.  This avoids leaving
       traces of the cursor because its leftmost pixel is not drawn over.
      aba05ce9
    • Eli Zaretskii's avatar
      Fix bug #12277 with incomplete redisplay of the vertical border between windows. · e9957956
      Eli Zaretskii authored
       src/dispnew.c (update_window_line): When the left margin area of a
       screen line is updated, set the redraw_fringe_bitmaps_p flag of
       that screen line.
      e9957956
    • Paul Eggert's avatar
      Assume C89 or later for math functions. · f6196b87
      Paul Eggert authored
      This simplifies the code, and makes it a bit smaller and faster,
      and (most important) makes it easier to clean up signal handling
      since we can stop worring about floating-point exceptions in
      library code.  That was a problem before C89, but the problem
      went away many years ago on all practical Emacs targets.
      * configure.ac (frexp, fmod): Remove checks for these functions,
      as we now assume them.
      (FLOAT_CHECK_DOMAIN, HAVE_INVERSE_HYPERBOLIC, NO_MATHERR)
      (HAVE_EXCEPTION):
      Remove; no longer needed.
      * admin/CPP-DEFINES (HAVE_FMOD, HAVE_FREXP, FLOAT_CHECK_DOMAIN)
      (HAVE_INVERSE_HYPERBOLIC, NO_MATHERR): Remove.
      * src/data.c, src/image.c, src/lread.c, src/print.c:
      Don't include <math.h>; no longer needed.
      * src/data.c, src/floatfns.c (IEEE_FLOATING_POINT): Don't worry that it
      might be autoconfigured, as that never happens.
      * src/data.c (fmod):
      * src/doprnt.c (DBL_MAX_10_EXP):
      * src/print.c (DBL_DIG):
      Remove.  C89 or later always defines these.
      * src/floatfns.c (HAVE_MATHERR, FLOAT_CHECK_ERRNO, FLOAT_CHECK_DOMAIN)
      (in_float, float_error_arg, float_error_arg2, float_error_fn_name)
      (arith_error, domain_error, domain_error2):
      Remove all this pre-C89 cruft.  Do not include <errno.h> as that's
      no longer needed -- we simply return what C returns.  All uses removed.
      (IN_FLOAT, IN_FLOAT2): Remove.  All uses replaced with
      the wrapped code.
      (FLOAT_TO_INT, FLOAT_TO_INT2, range_error, range_error2):
      Remove.  All uses expanded, as these macros are no longer used
      more than once and are now more trouble than they're worth.
      (Ftan): Use tan, not sin / cos.
      (Flogb): Assume C89 frexp.
      (fmod_float): Assume C89 fmod.
      (matherr) [HAVE_MATHERR]: Remove; no longer needed.
      (init_floatfns): Remove.  All uses removed.
      f6196b87
    • Alan Mackenzie's avatar
      Correct the handling of two c-state-cache state variables. · 8ed43f15
      Alan Mackenzie authored
      cc-engine.el (c-state-cache-init): Initialise
      c-state-semi-nonlit-pos-cache\(-limit\)? properly.
      (c-record-parse-state-state): record
      c-state-semi-nonlit-pos-cache\(-limit\)?.
      8ed43f15
    • Jan Djärv's avatar
      Remove debug prints · c2cbbdd1
      Jan Djärv authored
      c2cbbdd1
    • Andreas Schwab's avatar
      * lisp/register.el (register-separator): Rename from · bfabf70a
      Andreas Schwab authored
      separator-register.  All uses changed.  Doc fix.
      (register): Fix version.
      bfabf70a
    • Chong Yidong's avatar
      Clarify descriptions of delq and delete in Lisp manual. · bb6b0efc
      Chong Yidong authored
      * doc/lispref/lists.texi (Sets And Lists): Explain that the return value for
      delete should be used, like for delq.
      bb6b0efc
    • Chong Yidong's avatar
      * minibuf.texi: Fix last change. · e4e55af1
      Chong Yidong authored
      e4e55af1
    • Chong Yidong's avatar
      Allow scrolling in y-or-n-p. · 011474aa
      Chong Yidong authored
      * lisp/replace.el (query-replace-map): Bind four new symbols for
      requesting window scrolling.
      
      * lisp/subr.el (y-or-n-p): Handle the window-scrolling bindings in
      query-replace-map.
      
      * lisp/custom.el (custom-theme-load-confirm): Use y-or-n-p.
      
      * lisp/window.el (scroll-other-window-down): Make the arg optional.
      
      * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Don't bind scrolling keys
      since they are now in query-replace-map.
      
      * doc/lispref/minibuf.texi (Yes-or-No Queries): Document recentering and
      scrolling in y-or-n-p.  Remove gratuitous example.
      
      * doc/lispref/searching.texi (Search and Replace): Document window scrolling
      entries in query-replace-map.
      
      Fixes: debbugs:8948
      011474aa
    • Chong Yidong's avatar
      Use quit-window for quitting the *Local Variables* buffer. · a8b7cd8d
      Chong Yidong authored
      * lisp/files.el (hack-local-variables-confirm): Use quit-window to kill
      the *Local Variables* buffer.
      a8b7cd8d
  4. 08 Sep, 2012 14 commits