1. 15 Sep, 2012 1 commit
    • Paul Eggert's avatar
      Port better to POSIX hosts lacking _setjmp. · 0328b6de
      Paul Eggert authored
      * configure.ac (HAVE__SETJMP, HAVE_SIGSETJMP): New symbols.
      (_setjmp, _longjmp): Remove.
      * src/lisp.h: Include <setjmp.h> here, since we use its symbols here.
      All instances of '#include <setjmp.h>' removed, if the
      only reason for the instance was because "lisp.h" was included.
      (sys_jmp_buf, sys_setjmp, sys_longjmp): New symbols.
      Unless otherwise specified, replace all uses of jmp_buf, _setjmp,
      and _longjmp with the new symbols.  Emacs already uses _setjmp if
      available, so this change affects only POSIXish hosts that have
      sigsetjmp but not _setjmp, such as some versions of Solaris and
      Unixware.  (Also, POSIX-2008 marks _setjmp as obsolescent.)
      * src/image.c (_setjmp, _longjmp) [HAVE_PNG && !HAVE__SETJMP]: New macros.
      (png_load_body) [HAVE_PNG]:
      (PNG_LONGJMP) [HAVE_PNG && PNG_LIBPNG_VER < 10500]:
      (PNG_JMPBUF) [HAVE_PNG && PNG_LIBPNG_VER >= 10500]:
      Use _setjmp and _longjmp rather than sys_setjmp and sys_longjmp,
      since PNG requires jmp_buf.  This is the only exception to the
      general rule that we now use sys_setjmp and sys_longjmp.
      This exception is OK since this code does not change the signal
      mask or longjmp out of a signal handler.
      
      Fixes: debbugs:12446
      0328b6de
  2. 11 Sep, 2012 1 commit
  3. 05 Sep, 2012 1 commit
    • Dmitry Antipov's avatar
      Remove redundant or unused things here and there. · e3ccf108
      Dmitry Antipov authored
      * lisp.h (CYCLE_CHECK, CHAR_TABLE_TRANSLATE): Remove.
      * conf_post.h (RE_TRANSLATE): Use char_table_translate.
      * editfns.c (Fcompare_buffer_substrings): Likewise.
      * frame.h (struct terminal, struct font_driver_list):
      Remove redundant declarations.
      * window.h (Qleft, Qright): Likewise.
      e3ccf108
  4. 04 Sep, 2012 1 commit
    • Paul Eggert's avatar
      Simplify redefinition of 'abort' (Bug#12316). · 1088b922
      Paul Eggert authored
      Do not try to redefine the 'abort' function.  Instead, redo
      the code so that it calls 'emacs_abort' rather than 'abort'.
      This removes the need for the NO_ABORT configure-time macro
      and makes it easier to change the abort code to do a backtrace.
      * configure.ac (NO_ABRT): Remove.
      * admin/CPP-DEFINES (NO_ABORT): Remove.
      * nt/inc/ms-w32.h (w32_abort) [HAVE_NTGUI]: Remove.
      * src/.gdbinit: Just stop at emacs_abort, not at w32_abort or abort.
      * src/emacs.c (abort) [!DOS_NT && !NO_ABORT]:
      Remove; sysdep.c's emacs_abort now takes its place.
      * src/lisp.h (emacs_abort): New decl.  All calls from Emacs code to
      'abort' changed to use 'emacs_abort'.
      * src/msdos.c (dos_abort) [defined abort]: Remove; not used.
      (abort) [!defined abort]: Rename to ...
      (emacs_abort): ... new name.
      * src/sysdep.c (emacs_abort) [!HAVE_NTGUI]: New function, taking
      the place of the old 'abort' in emacs.c.
      * src/w32.c, src/w32fns.c (abort): Do not #undef.
      * src/w32.c (emacs_abort): Rename from w32_abort.
      1088b922
  5. 02 Sep, 2012 1 commit
    • Paul Eggert's avatar
      * doc.c, editfns.c, insdel.c, intervals.c: Use bool for boolean. · a08d4ba7
      Paul Eggert authored
      * doc.c (read_bytecode_char, get_doc_string, reread_doc_file)
      (Fdocumentation, Fdocumentation_property, Fsnarf_documentation)
      (Fsubstitute_command_keys):
      * editfns.c (region_limit, find_field, Fconstrain_to_field)
      (save_excursion_save, save_excursion_restore)
      (disassemble_lisp_time, decode_time_components, emacs_nmemftime)
      (format_time_string, general_insert_function)
      (make_buffer_string, make_buffer_string_both)
      (Fsubst_char_in_region, Ftranslate_region_internal, Fformat):
      * insdel.c (check_markers, gap_left, adjust_markers_for_insert)
      (copy_text, insert_1, insert_1_both, insert_from_string)
      (insert_from_string_before_markers, insert_from_string_1)
      (insert_from_buffer, insert_from_buffer_1, replace_range)
      (replace_range_2, del_range_1, del_range_byte, del_range_both)
      (del_range_2, modify_region):
      * intervals.c (intervals_equal, balance_possible_root_interval)
      (adjust_intervals_for_insertion, merge_properties_sticky)
      (graft_intervals_into_buffer, lookup_char_property)
      (adjust_for_invis_intang, set_point_both)
      (get_property_and_range, compare_string_intervals)
      (set_intervals_multibyte_1, set_intervals_multibyte):
      * keyboard.c (decode_timer):
      Use bool for boolean.
      * intervals.h, lisp.h, systime.h: Reflect above API changes.
      * editfns.c (struct info): Use 1-bit unsigned bitfields for booleans.
      a08d4ba7
  6. 28 Aug, 2012 1 commit
  7. 21 Aug, 2012 1 commit
    • Paul Eggert's avatar
      * alloc.c: Use bool for booleans. · fce31d69
      Paul Eggert authored
      (gc_in_progress, abort_on_gc)
      (setjmp_tested_p) [!GC_SAVE_REGISTERS_ON_STACK && !GC_SETJMP_WORKS]:
      (dont_register_blocks) [GC_MALLOC_CHECK]:
      (suppress_checking) [ENABLE_CHECKING]: Now bool, not int.
      (check_string_bytes, make_specified_string, memory_full)
      (live_string_p, live_cons_p, live_symbol_p, live_float_p)
      (live_misc_p, live_vector_p, live_buffer_p, mark_maybe_object)
      (mark_stack, valid_pointer_p, make_pure_string)
      (Fgarbage_collect, survives_gc_p, gc_sweep):
      Use bool for booleans, instead of int.
      (test_setjmp) [!GC_SAVE_REGISTERS_ON_STACK && !GC_SETJMP_WORKS]:
      Remove unused local.
      * alloc.c (PURE_POINTER_P):
      * lisp.h (STRING_MULTIBYTE): Document that it returns a boolean.
      * editfns.c (Fformat):
      * fileio.c (Fexpand_file_name, Fsubstitute_in_file_name)
      (Fdo_auto_save):
      * fns.c (sweep_weak_table):
      * lisp.h (suppress_checking, push_message, survives_gc_p)
      (make_pure_string, gc_in_progress, abort_on_gc):
      * lread.c (readchar, read1):
      * print.c (Fprin1_to_string):
      * xdisp.c (push_message):
      Use bool for booleans affected directly or indirectly by
      alloc.c's changes.
      fce31d69
  8. 19 Aug, 2012 1 commit
    • Paul Eggert's avatar
      Rely on <unistd.h> to declare 'environ', · b69a6d22
      Paul Eggert authored
      as gnulib does this if the system doesn't.
      * lib-src/emacsclient.c (environ): Remove decl.
      * src/callproc.c, src/editfns.c, src/process.c (environ) [!USE_CRT_DLL]:
      * src/emacs.c (environ) [DOUG_LEA_MALLOC]:
      * src/vm-limit.c (environ) [ORDINARY_LINK]: Remove decl.
      * src/vm-limit.c: Include <unistd.h>, for 'environ'.
      b69a6d22
  9. 18 Aug, 2012 1 commit
    • Paul Eggert's avatar
      * buffer.h (BSET): Remove. · 39eb03f1
      Paul Eggert authored
      Replace all uses with calls to new setter functions.
      (bset_bidi_paragraph_direction, bset_case_canon_table)
      (bset_case_eqv_table, bset_directory, bset_display_count)
      (bset_display_time, bset_downcase_table)
      (bset_enable_multibyte_characters, bset_filename, bset_keymap)
      (bset_last_selected_window, bset_local_var_alist)
      (bset_mark_active, bset_point_before_scroll, bset_read_only)
      (bset_truncate_lines, bset_undo_list, bset_upcase_table)
      (bset_width_table):
      * buffer.c (bset_abbrev_mode, bset_abbrev_table)
      (bset_auto_fill_function, bset_auto_save_file_format)
      (bset_auto_save_file_name, bset_backed_up, bset_begv_marker)
      (bset_bidi_display_reordering, bset_buffer_file_coding_system)
      (bset_cache_long_line_scans, bset_case_fold_search)
      (bset_ctl_arrow, bset_cursor_in_non_selected_windows)
      (bset_cursor_type, bset_display_table, bset_extra_line_spacing)
      (bset_file_format, bset_file_truename, bset_fringe_cursor_alist)
      (bset_fringe_indicator_alist, bset_fringes_outside_margins)
      (bset_header_line_format, bset_indicate_buffer_boundaries)
      (bset_indicate_empty_lines, bset_invisibility_spec)
      (bset_left_fringe_width, bset_major_mode, bset_mark)
      (bset_minor_modes, bset_mode_line_format, bset_mode_name)
      (bset_name, bset_overwrite_mode, bset_pt_marker)
      (bset_right_fringe_width, bset_save_length)
      (bset_scroll_bar_width, bset_scroll_down_aggressively)
      (bset_scroll_up_aggressively, bset_selective_display)
      (bset_selective_display_ellipses, bset_vertical_scroll_bar_type)
      (bset_word_wrap, bset_zv_marker):
      * category.c (bset_category_table):
      * syntax.c (bset_syntax_table):
      New setter functions.
      
      Fixes: debbugs:12215
      39eb03f1
  10. 17 Aug, 2012 1 commit
    • Paul Eggert's avatar
      A few more naming-convention fixes for getters and setters. · 0c94c8d6
      Paul Eggert authored
      * buffer.c (set_buffer_overlays_before): Move here from buffer.h,
      and rename from buffer_overlays_set_before.
      (set_buffer_overlays_after): Move here from buffer.h, and rename
      from buffer_overlays_set_after.
      * buffer.h (buffer_intervals): Rename from buffer_get_intervals.
      All uses changed.
      (set_buffer_intervals): Rename from buffer_set_intervals.
      * intervals.c (set_interval_object): Move here from intervals.h,
      and rename from interval_set_object.
      (set_interval_left): Move here from intervals.h, and rename from
      interval_set_left.
      (set_interval_right): Move here from intervals.h, and rename from
      interval_set_right.
      (copy_interval_parent): Move here from intervals.h, and rename from
      interval_copy_parent.
      * intervals.h (set_interval_parent): Rename from interval_set_parent.
      (set_interval_plist): Rename from interval_set_plist.
      Return void, not Lisp_Object, since no caller uses the result.
      * lisp.h (string_intervals): Rename from string_get_intervals.
      (set_string_intervals): Rename from string_set_intervals.
      0c94c8d6
  11. 16 Aug, 2012 1 commit
    • Paul Eggert's avatar
      Use ASCII tests for character types. · 620f13b0
      Paul Eggert authored
      * admin/merge-gnulib (GNULIB_MODULES): Add c-ctype.
      * lwlib/lwlib-Xaw.c, lwlib/lwlib.c, lwlib/xlwmenu.c:
      Don't include <ctype.h>; no longer needed.
      * lwlib/lwlib-Xaw.c (openFont):
      * lwlib/xlwmenu.c (openXftFont): Test just for ASCII digits.
      * src/category.c, src/dispnew.c, src/doprnt.c, src/editfns.c, src/syntax.c
      * src/term.c, src/xfns.c, src/xterm.c:
      Don't include <ctype.h>; was not needed.
      * src/charset.c, src/doc.c, src/fileio.c, src/font.c, src/frame.c:
      * src/gtkutil.c, src/image.c, src/sysdep.c, src/xfaces.c:
      Include <c-ctype.h> instead of <ctype.h>.
      * src/nsterm.m: Include <c-ctype.h>.
      * src/charset.c (read_hex):
      * src/doc.c (Fsnarf_documentation):
      * src/fileio.c (IS_DRIVE) [WINDOWSNT]:
      (DRIVE_LETTER) [DOS_NT]:
      (Ffile_name_directory, Fexpand_file_name)
      (Fsubstitute_in_file_name):
      * src/font.c (font_parse_xlfd, font_parse_fcname):
      * src/frame.c (x_set_font_backend):
      * src/gtkutil.c (xg_get_font):
      * src/image.c (xbm_scan, xpm_scan, pbm_scan_number):
      * src/nsimage.m (hexchar):
      * src/nsterm.m (ns_xlfd_to_fontname):
      * src/sysdep.c (system_process_attributes):
      * src/xfaces.c (hash_string_case_insensitive):
      Use C-locale tests instead of locale-specific tests for character
      types, since we want the ASCII interpretation here, not the
      interpretation suitable for whatever happens to be the current locale.
      620f13b0
  12. 14 Aug, 2012 3 commits
    • Chong Yidong's avatar
      More doc fixes. · 4abcdac8
      Chong Yidong authored
      * lisp/minibuffer.el (read-file-name): Doc fix.
      
      * character.c (Fcharacterp): Doc fix (Bug#12076).
      
      * data.c (Findirect_variable): Doc fix (Bug#11040).
      
      * editfns.c (Fsave_current_buffer): Doc fix (Bug#11542).
      
      Fixes: debbugs:11542 debbugs:11040 debbugs:12076 debbugs:10881
      4abcdac8
    • Chong Yidong's avatar
      Doc fixes. · 55802e4a
      Chong Yidong authored
      * lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Doc fix.
      
      * src/chartab.c (Fmap_char_table): Doc fix.
      
      * src/editfns.c (Fformat): Doc fix.
      
      Fixes: debbugs:12059 debbugs:12085 debbugs:12061
      55802e4a
    • Dmitry Antipov's avatar
      Revert and cleanup some recent overlay changes. · fd318b54
      Dmitry Antipov authored
      * buffer.h (enum overlay_type): Remove.
      (buffer_get_overlays, buffer_set_overlays): Likewise.
      (buffer_set_overlays_before, buffer_set_overlays_after):
      New function.  Adjust users.
      (unchain_both): Add eassert.
      fd318b54
  13. 13 Aug, 2012 1 commit
  14. 08 Aug, 2012 4 commits
    • Dmitry Antipov's avatar
      Inline functions to examine and change buffer overlays. · 4cb3e6b3
      Dmitry Antipov authored
      * buffer.c (unchain_both): New function.
      * buffer.h (buffer_get_overlays, buffer_set_overlays):
      (buffer_has_overlays): New function.
      (enum overlay_type): New enum.
      * alloc.c, buffer.c, editfns.c, fileio.c, indent.c:
      * insdel.c, intervals.c, print.c, xdisp.c: Adjust users.
      4cb3e6b3
    • Dmitry Antipov's avatar
      Inline functions to examine and change buffer intervals. · 8707c1e5
      Dmitry Antipov authored
      * alloc.c (mark_interval_tree): Remove.
      (MARK_INTERVAL_TREE): Simplify.
      (UNMARK_BALANCE_INTERVALS): Remove.  Adjust users.
      * intervals.c (buffer_balance_intervals): New function.
      (graft_intervals_into_buffer): Adjust indentation.
      (set_intervals_multibyte): Simplify.
      * buffer.h (BUF_INTERVALS): Remove.
      (buffer_get_intervals, buffer_set_intervals): New function.
      * alloc.c, buffer.c, editfns.c, fileio.c, indent.c, insdel.c:
      * intervals.c, textprop.c: Adjust users.
      8707c1e5
    • Dmitry Antipov's avatar
      Inline functions to examine and change string intervals. · ad8c997f
      Dmitry Antipov authored
      * lisp.h (STRING_INTERVALS, STRING_SET_INTERVALS): Remove.
      (string_get_intervals, string_set_intervals): New function.
      * alloc.c, buffer.c, editfns.c, fns.c, insdel.c, intervals.c:
      * lread.c, print.c, textprop.c: Adjust users.
      ad8c997f
    • Dmitry Antipov's avatar
      Cleanup intervals. · 77c7bcb1
      Dmitry Antipov authored
      * intervals.h (NULL_INTERVAL, DEFAULT_INTERVAL): Remove.
      (NULL_INTERVAL_P): Likewise.  Adjust users.
      (FRONT_STICKY_P, END_NONSTICKY_P, FRONT_NONSTICKY_P): Adjust
      comment.  Move under #if 0.
      * alloc.c, buffer.c, editfns.c, fns.c, insdel.c, intervals.c:
      * print.c, syntax.c, textprop.c, xdisp.c: Adjust users.
      77c7bcb1
  15. 07 Aug, 2012 1 commit
    • Dmitry Antipov's avatar
      Drop WGET and revert read access to Lisp_Objects slots of struct window. · d3d50620
      Dmitry Antipov authored
      * window.h (WGET): Remove.
      (struct window): Do not use INTERNAL_FIELD.
      * alloc.c, buffer.c, composite.c, dispextern.h, dispnew.c, editfns.c:
      * fileio.c, font.c, fontset.c, frame.c, frame.h, fringe.c, indent.c:
      * insdel.c, keyboard.c, keymap.c, lisp.h, minibuf.c, msdos.c, nsfns.m:
      * nsmenu.m, nsterm.m, print.c, textprop.c, w32fns.c, w32menu.c:
      * w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c:
      Adjust users.
      d3d50620
  16. 06 Aug, 2012 1 commit
    • Dmitry Antipov's avatar
      Separate read and write access to Lisp_Object slots of struct window. · 077288cf
      Dmitry Antipov authored
      * window.h (WGET, WSET): New macros similar to AREF and ASET.
      * alloc.c, buffer.c, composite.c, dispextern.h, dispnew.c, editfns.c:
      * fileio.c, font.c, fontset.c, frame.c, frame.h, fringe.c, indent.c:
      * insdel.c, keyboard.c, keymap.c, lisp.h, minibuf.c, msdos.c, nsfns.m:
      * nsmenu.m, nsterm.m, print.c, textprop.c, w32fns.c, w32menu.c:
      * w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c:
      Adjust users.
      077288cf
  17. 03 Aug, 2012 1 commit
    • Paul Eggert's avatar
      Remove unnecessary casts involving pointers. · 98c6f1e3
      Paul Eggert authored
      These casts are no longer needed now that we assume C89 or later,
      since they involve casting to or from void *.
      * alloc.c (make_pure_string, make_pure_c_string, pure_cons)
      (make_pure_float, make_pure_vector):
      * lisp.h (SAFE_ALLOCA, SAFE_ALLOCA_LISP):
      * macros.c (Fstart_kbd_macro):
      * menu.c (find_and_return_menu_selection):
      * minibuf.c (read_minibuf_noninteractive):
      * sysdep.c (closedir):
      * xdisp.c (x_produce_glyphs):
      * xfaces.c (compare_fonts_by_sort_order):
      * xfns.c (x_real_positions, select_visual):
      * xselect.c (x_stop_queuing_selection_requests)
      (x_get_window_property, x_get_window_property_as_lisp_data):
      * xterm.c (x_set_frame_alpha, x_find_modifier_meanings):
      Remove unnecessary pointer casts.
      * alloc.c (record_xmalloc): New function.
      * lisp.h (record_xmalloc): New decl.
      (SAFE_ALLOCA): Now takes just one arg -- the size -- and acts
      more like a function.  This is because the pointer cast is not
      needed.  All uses changed.
      * print.c (print_string, print_error_message): Avoid length recalc.
      98c6f1e3
  18. 01 Aug, 2012 1 commit
    • Dmitry Antipov's avatar
      Use INTERNAL_FIELD for windows. · 3a45383a
      Dmitry Antipov authored
      * src/window.h (WVAR): New macro.
      (struct window): Change Lisp_Object members to INTERNAL_FIELD.
      * src/alloc.c, src/buffer.c, src/composite.c, src/dispextern.h:
      * src/dispnew.c, src/editfns.c, src/fileio.c, src/font.c, src/fontset.c:
      * src/frame.c, src/frame.h, src/fringe.c, src/indent.c, src/insdel.c:
      * src/keyboard.c, src/keymap.c, src/lisp.h, src/minibuf.c, src/nsterm.m:
      * src/print.c, src/textprop.c, src/w32fns.c, src/w32menu.c, src/w32term.c:
      * src/window.c, src/xdisp.c, src/xfaces.c, src/xfns.c, src/xmenu.c:
      * src/xterm.c: Users changed.
      * admin/coccinelle/window.cocci: Semantic patch to replace direct
      access to Lisp_Object members of struct window to WVAR.
      3a45383a
  19. 31 Jul, 2012 1 commit
  20. 27 Jul, 2012 2 commits
    • Dmitry Antipov's avatar
      Revert last save_excursion_save and save_excursion_restore changes. · eeaea515
      Dmitry Antipov authored
      * alloc.c, editfns.c, marker.c, lisp.h: Revert.
      Lots of crashes reported by Chong Yidong <cyd@gnu.org>.
      eeaea515
    • Dmitry Antipov's avatar
      Fast save_excursion_save and save_excursion_restore. · 6195f384
      Dmitry Antipov authored
      * lisp.h (struct Lisp_Excursion): New data type.
      (PVEC_EXCURSION): New pseudovector type.
      (XEXCURSION, XSETEXCURSION, EXCURSIONP): Convenient macros
      to deal with it.  Adjust comments.
      (init_marker, attach_marker): New prototype.
      (unchain_marker): Adjust prototype.
      * marker.c (attach_marker): Change to global.
      (init_marker): New function.
      * alloc.c (Fmake_marker, build_marker): Use it.
      (build_marker): More easserts.
      (mark_object): Handle struct Lisp_Excursion.
      * editfns.c (save_excursion_save, save_excursion_restore):
      Reimplement to use struct Lisp_Excursion.  Add comments.
      6195f384
  21. 26 Jul, 2012 1 commit
  22. 17 Jul, 2012 2 commits
    • Chong Yidong's avatar
      Document insert-char changes. · 9ea10cc3
      Chong Yidong authored
      * doc/emacs/basic.texi (Inserting Text): Replace ucs-insert with
      insert-char.  Provide more details of input.
      
      * doc/lispref/mule.texi (International Chars, Input Methods): Likewise.
      
      * doc/lispref/text.texi (Insertion): Document insert-char changes.
      
      * src/editfns.c (Finsert_char): Doc fix.
      9ea10cc3
    • René Kyllingstad's avatar
      Make insert-char interactive, and ucs-insert an obsolete alias for it. · ddfc8813
      René Kyllingstad authored
      * lisp/international/mule-cmds.el (ucs-insert): Make it an obsolete
      alias for insert-char.
      
      * editfns.c (Finsert_char): Make it interactive, and make the second
      arg optional.  Copy interactive spec and docstring from ucs-insert.
      ddfc8813
  23. 10 Jul, 2012 2 commits
    • Paul Eggert's avatar
      EMACS_TIME simplification (Bug#11875). · e9a9ae03
      Paul Eggert authored
      This replaces macros (which typically do not work in GDB)
      with functions, typedefs and enums, making the code easier to debug.
      The functional style also makes code easier to read and maintain.
      * lib-src/profile.c (TV2): Remove no-longer-needed static var.
      * src/systime.h: Include <sys/time.h> on all hosts, not just if
      WINDOWSNT, since 'struct timeval' is needed in general.
      (EMACS_TIME): Now a typedef, not a macro.
      (EMACS_TIME_RESOLUTION, LOG10_EMACS_TIME_RESOLUTION): Now constants,
      not macros.
      (EMACS_SECS, EMACS_NSECS, EMACS_TIME_SIGN, EMACS_TIME_VALID_P)
      (EMACS_TIME_FROM_DOUBLE, EMACS_TIME_TO_DOUBLE, EMACS_TIME_EQ)
      (EMACS_TIME_NE, EMACS_TIME_GT, EMACS_TIME_GE, EMACS_TIME_LT)
      (EMACS_TIME_LE): Now functions, not macros.
      (EMACS_SET_SECS, EMACS_SET_NSECS, EMACS_SET_SECS_NSECS)
      (EMACS_SET_USECS, EMACS_SET_SECS_USECS): Remove these macros,
      which are not functions.  All uses rewritten to use:
      (make_emacs_time): New function.
      (EMACS_SECS_ADDR, EMACS_SET_INVALID_TIME, EMACS_GET_TIME)
      (EMACS_ADD_TIME, EMACS_SUB_TIME): Remove these macros, which are
      not functions.  All uses rewritten to use the following, respectively:
      (emacs_secs_addr, invalid_emacs_time, get_emacs_time)
      (add_emacs_time, sub_emacs_time): New functions.
      * src/atimer.c: Don't include <sys/time.h>,	as "systime.h" does this.
      * src/fileio.c (Fcopy_file):
      * src/xterm.c (XTflash): Get the current time closer to when it's used.
      * src/makefile.w32-in ($(BLD)/atimer.$(O)): Update dependencies.
      e9a9ae03
    • Dmitry Antipov's avatar
      Use XCAR and XCDR instead of Fcar and Fcdr where possible. · 7d7bbefd
      Dmitry Antipov authored
      * admin/coccinelle/list_loop.cocci: Semantic patch to convert from Fcdr
      to XCDR and consistently use CONSP in the list iteration loops.
      * admin/coccinelle/vector_contents.cocci: Fix indentation.
      * src/callint.c, src/coding.c, src/doc.c, src/editfns.c, src/eval.c,
      * src/font.c, src/fontset.c, src/frame.c, src/gnutls.c, src/minibuf.c,
      * src/msdos.c, src/textprop.c, src/w32fns.c, src/w32menu.c, src/window.c,
      * src/xmenu.c: Changed to use XCAR and XCDR where argument type is known
      to be a Lisp_Cons.
      7d7bbefd
  24. 09 Jul, 2012 1 commit
    • Dmitry Antipov's avatar
      Use make_formatted_string to avoid double length calculation. · a8290ec3
      Dmitry Antipov authored
      * lisp.h (make_formatted_string): New prototype.
      * alloc.c (make_formatted_string): New function.
      * buffer.c (Fgenerate_new_buffer_name): Use it.
      * dbus.c (syms_of_dbusbind): Likewise.
      * editfns.c (Fcurrent_time_zone): Likewise.
      * filelock.c (get_boot_time): Likewise.
      * frame.c (make_terminal_frame, set_term_frame_name)
      (x_report_frame_params): Likewise.
      * image.c (gs_load): Likewise.
      * minibuf.c (get_minibuffer): Likewise.
      * msdos.c (dos_set_window_size): Likewise.
      * process.c (make_process): Likewise.
      * xdisp.c (ensure_echo_area_buffers): Likewise.
      * xsettings.c (apply_xft_settings): Likewise.
      a8290ec3
  25. 07 Jul, 2012 1 commit
    • Paul Eggert's avatar
      Do not require float-time's arg to fit in time_t (Bug#11825). · 31571fd7
      Paul Eggert authored
      This works better on hosts where time_t is unsigned, and where
      float-time is applied to the (negative) difference between two times.
      * editfns.c (decode_time_components): Last arg is now double *,
      not int *, and means to store all the result as a double, without
      worrying about whether the seconds part fits in time_t.
      All callers changed.
      (lisp_time_argument): Remove last int * arg, as it's no longer needed.
      All callers changed.
      (Ffloat_time): Do not fail merely because the specified time falls
      outside of time_t range.
      31571fd7
  26. 06 Jul, 2012 1 commit
    • Dmitry Antipov's avatar
      Introduce fast path for the widely used marker operation. · 657924ff
      Dmitry Antipov authored
      * alloc.c (build_marker): New function.
      * lisp.h (build_marker): New prototype.
      * buffer.c (clone_per_buffer_values, Fmake_indirect_buffer): Use it.
      * composite.c (autocmp_chars): Likewise.
      * editfns.c (buildmark): Remove.
      (Fpoint_marker, Fpoint_min_marker, Fpoint_max_marker)
      (save_restriction_save): Use build_marker.
      * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos): Likewise.
      * window.c (save_window_save): Likewise.
      657924ff
  27. 05 Jul, 2012 3 commits
    • Paul Eggert's avatar
      More xmalloc and related cleanup. · 38182d90
      Paul Eggert authored
      * alloc.c, bidi.c, buffer.c, buffer.h, bytecode.c, callint.c:
      * callproc.c, charset.c, coding.c, composite.c, data.c, dispnew.c:
      * doc.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fns.c:
      * font.c, fontset.c, frame.c, fringe.c, ftfont.c, ftxfont.c, gmalloc.c:
      * gtkutil.c, image.c, keyboard.c, keymap.c, lread.c, macros.c, menu.c:
      * nsfns.m, nsfont.m, nsmenu.m, nsterm.m, print.c, process.c, ralloc.c:
      * regex.c, region-cache.c, scroll.c, search.c, sound.c, syntax.c:
      * sysdep.c, term.c, termcap.c, unexmacosx.c, window.c, xdisp.c:
      * xfaces.c, xfns.c, xftfont.c, xgselect.c, xmenu.c, xrdb.c, xselect.c:
      * xterm.c:
      Omit needless casts involving void * pointers and allocation.
      Prefer "P = xmalloc (sizeof *P)" to "P = xmalloc (sizeof (TYPE_OF_P))",
      as the former is more robust if P's type is changed.
      Prefer xzalloc to xmalloc + memset 0.
      Simplify malloc-or-realloc to realloc.
      Don't worry about xmalloc returning a null pointer.
      Prefer xstrdup to xmalloc + strcpy.
      * editfns.c (Fmessage_box): Grow message_text by at least 80 when
      growing it.
      * keyboard.c (apply_modifiers_uncached): Prefer local array to
      alloca of a constant.
      38182d90
    • Paul Eggert's avatar
    • Dmitry Antipov's avatar
      Cleanup xmalloc. · 23f86fce
      Dmitry Antipov authored
      * admin/coccinelle/xzalloc.cocci: Semantic patch to convert
      calls to xmalloc with following memset to xzalloc.
      * src/lisp.h (xzalloc): New prototype.  Omit needless casts.
      * src/alloc.c (xzalloc): New function.  Omit needless casts.
      * src/charset.c: Omit needless casts.  Convert all calls to
      malloc with following memset to xzalloc.
      * src/dispnew.c: Likewise.
      * src/fringe.c: Likewise.
      * src/image.c: Likewise.
      * src/sound.c: Likewise.
      * src/term.c: Likewise.
      * src/w32fns.c: Likewise.
      * src/w32font.c: Likewise.
      * src/w32term.c: Likewise.
      * src/xfaces.c: Likewise.
      * src/xfns.c: Likewise.
      * src/xterm.c: Likewise.
      * src/atimer.c: Omit needless casts.
      * src/buffer.c: Likewise.
      * src/callproc.c: Likewise.
      * src/ccl.c: Likewise.
      * src/coding.c: Likewise.
      * src/composite.c: Likewise.
      * src/doc.c: Likewise.
      * src/doprnt.c: Likewise.
      * src/editfns.c: Likewise.
      * src/emacs.c: Likewise.
      * src/eval.c: Likewise.
      * src/filelock.c: Likewise.
      * src/fns.c: Likewise.
      * src/gtkutil.c: Likewise.
      * src/keyboard.c: Likewise.
      * src/lisp.h: Likewise.
      * src/lread.c: Likewise.
      * src/minibuf.c: Likewise.
      * src/msdos.c: Likewise.
      * src/print.c: Likewise.
      * src/process.c: Likewise.
      * src/region-cache.c: Likewise.
      * src/search.c: Likewise.
      * src/sysdep.c: Likewise.
      * src/termcap.c: Likewise.
      * src/terminal.c: Likewise.
      * src/tparam.c: Likewise.
      * src/w16select.c: Likewise.
      * src/w32.c: Likewise.
      * src/w32reg.c: Likewise.
      * src/w32select.c: Likewise.
      * src/w32uniscribe.c: Likewise.
      * src/widget.c: Likewise.
      * src/xdisp.c: Likewise.
      * src/xmenu.c: Likewise.
      * src/xrdb.c: Likewise.
      * src/xselect.c: Likewise.
      23f86fce
  28. 03 Jul, 2012 1 commit
    • Tom Tromey's avatar
      Auto-generate EXFUN using make-docfile · 404dbd37
      Tom Tromey authored
      src
      	* window.c (Fset_window_margins, Fset_window_fringes)
      	(Fset_window_scroll_bars, Fset_window_vscroll): No longer static.
      	* textprop.c (Fprevious_property_change): No longer static.
      	* syntax.c (Fsyntax_table_p): No longer static.
      	* process.c (Fget_process, Fprocess_datagram_address): No longer
      	static.
      	* keymap.c (Flookup_key, Fcopy_keymap): No longer static.
      	* keyboard.c (Fcommand_execute): No longer static.
      	Remove EXFUN.
      	* insdel.c (Fcombine_after_change_execute): No longer static.
      	* image.c (Finit_image_library): No longer static.
      	* fileio.c (Fmake_symbolic_link): No longer static.
      	* eval.c (Ffetch_bytecode): No longer static.
      	* editfns.c (Fuser_full_name): No longer static.
      	* doc.c: (Fdocumentation_property, Fsnarf_documentation): No
      	longer static.
      	* buffer.c (Fset_buffer_major_mode, Fdelete_overlay): No longer
      	static.
      	* dired.c (Ffile_attributes): No longer static.
      	* composite.c (Fcomposition_get_gstring): No longer static.
      	* callproc.c (Fgetenv_internal): No longer static.
      
      	* ccl.h: Remove EXFUNs.
      	* buffer.h: Remove EXFUNs.
      	* dispextern.h: Remove EXFUNs.
      	* intervals.h: Remove EXFUNs.
      	* fontset.h: Remove EXFUN.
      	* font.h: Remove EXFUNs.
      	* dosfns.c (system_process_attributes): Remove EXFUN.
      	* keymap.h: Remove EXFUNs.
      	* lisp.h: Remove EXFUNs.
      	* w32term.h: Remove EXFUNs.
      	* window.h: Remove EXFUNs.
      	* xsettings.h: Remove EXFUN.
      	* xterm.h: Remove EXFUN.
      
      lib-src
      	* make-docfile.c (enum global_type) <FUNCTION>: New constant.
      	(struct global) <value>: New field.
      	(add_global): Add 'value' argument.
      	(compare_globals): Sort functions at the end.
      	(close_emacs_globals): New function.
      	(write_globals): Handle functions.
      	(scan_c_file): Call add_global for DEFUN.
      404dbd37
  29. 29 Jun, 2012 1 commit
  30. 28 Jun, 2012 1 commit