1. 12 Sep, 2012 5 commits
  2. 11 Sep, 2012 16 commits
    • Paul Eggert's avatar
      Avoid _setjmp/_longjmp problems with local nonvolatile variables. · 50f2e553
      Paul Eggert authored
      If a nonvolatile local variable is written before a _longjmp to
      the frame containing the variable, and is read after the _longjmp,
      the value read is indeterminate.  Some local variables of type
      'struct handler' and 'struct catchtag' are used in this way, so
      mark each of their slots as volatile if the slot can be set before
      _longjmp and read afterwards.
      * lisp.h (struct handler): var and chosen_clause are now volatile.
      (struct catchtag): val, next, and pdlcount are now volatile.
    • Paul Eggert's avatar
      Prefer assignment to memcpy when either will do. · ae1d87e2
      Paul Eggert authored
      * lib-src/pop.c (socket_connection) [HAVE_GETADDRINFO]:
      * src/bidi.c (bidi_push_it, bidi_pop_it):
      * src/fns.c (copy_hash_table):
      * src/image.c (define_image_type):
      * src/keyboard.c (kbd_buffer_store_event_hold):
      * src/process.c (Fprocess_send_eof):
      * src/xfaces.c (x_create_gc) [HAVE_NS]:
      * src/xgselect.c (xg_select):
      Use assignment, not memcpy, as either will do here, and assignment is
      more likely to catch type errors.
    • Paul Eggert's avatar
      * alloc.c (discard_killed_buffers): Tune and simplify a bit. · 5779a1dc
      Paul Eggert authored
      Use pointer-to-a-pointer to simplify and avoid a NILP check each
      time an item is removed.  No need to mark this function 'inline';
      the compiler knows better than we do.
    • Bastien Guerry's avatar
    • Jan Djärv's avatar
      * nsterm.h: Add delay parameter to updateFrameSize. · c4c9756b
      Jan Djärv authored
      * nsterm.m (ns_judge_scroll_bars): Pass NO to updateFrameSize.
      (updateFrameSize:): Add delay parameter to updateFrameSize, send it
      to change_frame_size.
      (windowDidResize:): Pass YES to updateFrameSize.
      Fixes: debbugs:12388
    • Bastien Guerry's avatar
      * subr.el (set-temporary-overlay-map): Add a docstring. (bug#12346) · baa26ea0
      Bastien Guerry authored
      Bug #12346 is not closed as this commit does not document
      `set-temporary-overlay-map' in the manual.
    • Dmitry Antipov's avatar
      Discard killed buffers from deleted window and frame objects. · d73e321c
      Dmitry Antipov authored
      This reduces an amount of references to killed buffers and
      helps GC to reclaim them faster.
      * alloc.c (discard_killed_buffers): New function.
      (mark_object): Use it for deleted windows and frames.
      (mark_object): If symbol's value is set up for a killed buffer
      or deleted frame, restore it's global binding.
      * data.c (swap_in_global_binding): Add GC notice.
      (swap_in_symval_forwarding): Use convenient set_blv_where.
      * window.c (wset_next_buffers, wset_prev_buffers): Move ...
      * window.h: ... to here.
    • Bastien Guerry's avatar
    • Bastien Guerry's avatar
    • Glenn Morris's avatar
      Auto-commit of generated files. · 2c98a625
      Glenn Morris authored
    • Julien Danjou's avatar
      gnus-notifications.el: add nil checks · 95729d50
      Julien Danjou authored
    • Glenn Morris's avatar
      Be more explicit about some Makefile dependencies · 9d9edd4b
      Glenn Morris authored
      * Makefile.in (install-arch-dep, install-arch-indep, install-doc):
      Be more explicit about dependencies, for parallel `make install'.
      It is not so unreasonable to run `make -j# install' from a clean state
      for a self-contained NS build, where the "installation" happens within
      the build tree.
    • Dmitry Antipov's avatar
      Convenient macro to check whether the buffer is live. · e578f381
      Dmitry Antipov authored
      * buffer.h (BUFFER_LIVE_P): New macro.
      * alloc.c, buffer.c, editfns.c, insdel.c, lread.c, marker.c:
      * minibuf.c, print.c, process.c, window.c, xdisp.c: Use it.
    • YAMAMOTO Mitsuharu's avatar
      Fix wrong overhang display for gstring compositions (Bug#12364). · 3057e615
      YAMAMOTO Mitsuharu authored
      * xdisp.c (right_overwritten, right_overwriting): Also handle gstring
      composition cases (Bug#12364).
      * xterm.c (x_draw_glyph_string): Avoid overwriting inverted left
      overhang of succeeding glyphs overlapping box cursor.
      * w32term.c (x_draw_glyph_string): Likewise.
    • 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.
    • Paul Eggert's avatar
  3. 10 Sep, 2012 11 commits
  4. 09 Sep, 2012 8 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
      Fixes: debbugs:10885
    • Stefan Monnier's avatar
      * src/lisp.h (make_lisp_ptr): New macro to replace XSET. · e7032e7c
      Stefan Monnier authored
      Use it.
    • 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.
    • 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.
    • 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.
      Remove; no longer needed.
      * 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.
      (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.
    • 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
    • Jan Djärv's avatar
      Remove debug prints · c2cbbdd1
      Jan Djärv authored