1. 03 Oct, 2013 4 commits
    • Paul Eggert's avatar
      Merge from gnulib. · 0a858ebf
      Paul Eggert authored
      * src/conf_post.h (__has_builtin, assume): Remove; gnulib now does these.
      * src/lisp.h: Include <verify.h>, for 'assume'.
      
      This also incorpoprates:
      2013-10-02 verify: new macro 'assume'
      2013-09-26 dup2, dup3: work around another cygwin crasher
      2013-09-26 getdtablesize: work around cygwin issue
      0a858ebf
    • Paul Eggert's avatar
      * eval.c (clobbered_eassert): New macro. · b52f569d
      Paul Eggert authored
      (internal_catch, internal_condition_case)
      (internal_condition_case_1, internal_condition_case_2)
      (internal_condition_case_n): Use it instead of eassert
      when the argument contains locals clobbered by longjmp.
      Don't use clobbered locals outside of clobbered_eassert.
      (internal_lisp_condition_case): Use a volatile variable
      to work around a local variable's getting clobbered.
      b52f569d
    • Stefan Monnier's avatar
      Introduce new bytecodes for efficient catch/condition-case in lexbind. · adf2aa61
      Stefan Monnier authored
      * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
      Optimize under `condition-case' and `catch' if
      byte-compile--use-old-handlers is nil.
      (disassemble-offset): Handle new bytecodes.
      
      * lisp/emacs-lisp/bytecomp.el (byte-pushcatch, byte-pushconditioncase)
      (byte-pophandler): New byte codes.
      (byte-goto-ops): Adjust accordingly.
      (byte-compile--use-old-handlers): New var.
      (byte-compile-catch): Use new byte codes depending on
      byte-compile--use-old-handlers.
      (byte-compile-condition-case--old): Rename from
      byte-compile-condition-case.
      (byte-compile-condition-case--new): New function.
      (byte-compile-condition-case): New function that dispatches depending
      on byte-compile--use-old-handlers.
      (byte-compile-unwind-protect): Pass a function to byte-unwind-protect
      when we can.
      
      * lisp/emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form): Adjust for
      the new compilation scheme using the new byte-codes.
      
      * src/alloc.c (Fgarbage_collect): Merge scans of handlerlist and catchlist,
      and make them unconditional now that they're heap-allocated.
      
      * src/bytecode.c (BYTE_CODES): Add Bpushcatch, Bpushconditioncase
      and Bpophandler.
      (bcall0): New function.
      (exec_byte_code): Add corresponding cases.  Improve error message when
      encountering an invalid byte-code.  Let Bunwind_protect accept
      a function (rather than a list of expressions) as argument.
      
      * src/eval.c (catchlist): Remove (merge with handlerlist).
      (handlerlist, lisp_eval_depth): Not static any more.
      (internal_catch, internal_condition_case, internal_condition_case_1)
      (internal_condition_case_2, internal_condition_case_n):
      Use PUSH_HANDLER.
      (unwind_to_catch, Fthrow, Fsignal): Adjust to merged
      handlerlist/catchlist.
      (internal_lisp_condition_case): Use PUSH_HANDLER.  Adjust to new
      handlerlist which can only handle a single condition-case handler at
      a time.
      (find_handler_clause): Simplify since we only a single branch here
      any more.
      
      * src/lisp.h (struct handler): Merge struct handler and struct catchtag.
      (PUSH_HANDLER): New macro.
      (catchlist): Remove.
      (handlerlist): Always declare.
      adf2aa61
    • Stefan Monnier's avatar
      * lisp/subr.el (decode-char, encode-char): Use advertised-calling-convention · 328a8179
      Stefan Monnier authored
      instead of the docstring to discourage use of the `restriction' arg.
      (error): Use `declare'.
      * src/charset.c (Fdecode_char, Fencode_char): Remove description of
      `restriction' arg. now that it's hidden by advertised-calling-convention.
      328a8179
  2. 02 Oct, 2013 5 commits
  3. 29 Sep, 2013 4 commits
  4. 28 Sep, 2013 2 commits
    • Jan Djärv's avatar
      Pick up default selection color on OSX when user defaults are not set. · 1610938f
      Jan Djärv authored
      * lisp/faces.el (region): Change ns_selection_color to
      ns_selection_fg_color, add ns_selection_bg_color.
      
      * src/nsterm.h (NS_SELECTION_BG_COLOR_DEFAULT): Renamed from
      NS_SELECTION_COLOR_DEFAULT.
      (NS_SELECTION_FG_COLOR_DEFAULT): New.
      
      * src/nsterm.m (ns_selection_color): Remove.
      (ns_get_color): Check for ns_selection_(fg|bg)_color using
      NSColor selectedText(Background)Color.  Only for COCOA.
      (ns_term_init): Remove assignment of ns_selection_color, logic
      moved to ns_get_color.
      1610938f
    • Eli Zaretskii's avatar
      Fix compilation under GLYPH_DEBUG, broken by conditional tool_bar_window. · 0d2647e6
      Eli Zaretskii authored
       src/xdisp.c (Fdump_tool_bar_row): Ifdef away the body if 'struct
       frame' does not have the tool_bar_window member.
      0d2647e6
  5. 26 Sep, 2013 1 commit
  6. 24 Sep, 2013 8 commits
  7. 23 Sep, 2013 9 commits
  8. 22 Sep, 2013 6 commits
    • Jan Djärv's avatar
      Fix compiler warnings from XCode 5.0 on OSX. · fb83ea63
      Jan Djärv authored
      * nsterm.m (setMarkedText:selectedRange:):
      (deleteWorkingText):
      * nsmenu.m (addDisplayItemWithImage:idx:tag:helpText:enabled:):
      * nsfont.m (ns_get_covering_families, ns_findfonts): Cast NSLog
      argument to unsigned long to avoid warning.
      (nsfont_draw): Use 0.25 instead of  Fix2X (kATSItalicQDSkew).
      
      * process.c (wait_reading_process_output): Change int pnamelen to
      socklen_t.
      fb83ea63
    • Jan Djärv's avatar
    • Daniel Colascione's avatar
    • Daniel Colascione's avatar
      Add set operations for bool-vector. · 3e0b94e7
      Daniel Colascione authored
      http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00404.html
      
      * data.c (Qbool_vector_p): New symbol.
      (bool_vector_spare_mask,popcount_size_t_generic)
      (popcount_size_t_msc,popcount_size_t_gcc)
      (popcount_size_t)
      (bool_vector_binop_driver)
      (count_trailing_zero_bits,size_t_to_host_endian)
      (Fbool_vector_exclusive_or)
      (Fbool_vector_union)
      (Fbool_vector_intersection,Fbool_vector_set_difference)
      (Fbool_vector_subsetp,Fbool_vector_not)
      (Fbool_vector_count_matches)
      (Fbool_vector_count_matches_at): New functions.
      (syms_of_data): Intern new symbol, functions.
      * alloc.c (bool_vector_payload_bytes): New function.
      (Fmake_bool_vector): Instead of calling Fmake_vector,
      which performs redundant initialization and argument checking,
      just call allocate_vector ourselves.  Make sure we clear any
      terminating padding to zero.
      (vector_nbytes,sweep_vectors): Use bool_vector_payload_bytes
      instead of open-coding the size calculation.
      (vroundup_ct): New macro.
      (vroundup): Assume argument >= 0; invoke vroundup_ct.
      * casetab.c (shuffle,set_identity): Change lint_assume to assume.
      * composite.c (composition_gstring_put_cache): Change
      lint_assume to assume.
      * conf_post.h (assume): New macro.
      (lint_assume): Remove.
      * dispnew.c (update_frame_1): Change lint_assume to assume.
      * ftfont.c (ftfont_shape_by_flt): Change lint_assume
      to assume.
      * image.c (gif_load): Change lint_assume to assume.
      * lisp.h (eassert_and_assume): New macro.
      (Qbool_vector_p): Declare.
      (CHECK_BOOL_VECTOR,ROUNDUP,BITS_PER_SIZE_T): New macros.
      (swap16,swap32,swap64): New inline functions.
      * macfont.c (macfont_shape): Change lint_assume to assume.
      * ralloc.c: Rename ROUNDUP to PAGE_ROUNDUP throughout.
      * xsettings.c (parse_settings): Use new swap16 and
      swap32 from lisp.h instead of file-specific macros.
      3e0b94e7
    • Eli Zaretskii's avatar
      Fix bug #15365 with aborts in try_window_id. · 76880d88
      Eli Zaretskii authored
       src/xdisp.c (try_window_id): Don't abort if cursor row could not be
       found (which can legitimately happen when the glyph row at the
       window start is disabled in the current_matrix.
      76880d88
    • Paul Eggert's avatar
      Fix syntax.h bug introduced by recent INLINE change. · c6cfd910
      Paul Eggert authored
      syntax.h defined an extern inline function SYNTAX_ENTRY that was
      conditionally compiled one way in some modules, and a different
      way in others.  This doesn't work with extern inline functions,
      which must have the same definition in all modules, because the
      defining code might be shared across modules, depending on the
      implementation.  Symptoms reported by Martin Rudalics in:
      http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00414.html
      * regex.c, syntax.c (SYNTAX_ENTRY_VIA_PROPERTY): Remove.
      (SYNTAX, SYNTAX_ENTRY, SYNTAX_WITH_FLAGS): New macros,
      overriding the corresponding functions in syntax.h.
      * syntax.h (syntax_property_entry, syntax_property_with_flags)
      (syntax_property): New inline functions.
      (SYNTAX_ENTRY, SYNTAX_WITH_FLAGS, SYNTAX):
      Rewrite in terms of these new functions.
      c6cfd910
  9. 21 Sep, 2013 1 commit