1. 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
  2. 02 Sep, 2012 2 commits
    • Paul Eggert's avatar
      Clean up some extern decls. · a411ac43
      Paul Eggert authored
      Mostly, this hoists extern decls out of .c files and into .h files.
      That way, we're more likely to catch errors if the interfaces change.
      * alloc.c [USE_GTK]: Include "gtkutil.h" so that we need not
      declare xg_mark_data.
      * dispextern.h (x_frame_parm_handlers):
      * font.h (Qxft):
      * lisp.h (Qlexical_binding, Qinternal_interpreter_environment)
      (Qextra_light, Qlight, Qsemi_light, Qsemi_bold, Qbold, Qextra_bold)
      (Qultra_bold, Qoblique, Qitalic):
      Move extern decl here from .c file.
      * alloc.c (xg_mark_data) [USE_GTK]:
      * doc.c (Qclosure):
      * eval.c (Qlexical_binding):
      * fns.c (time) [!HAVE_UNISTD_H]:
      * gtkutil.c (Qxft, Qnormal, Qextra_light, Qlight, Qsemi_light)
      (Qsemi_bold, Qbold, Qextra_bold, Qultra_bold, Qoblique, Qitalic):
      * image.c (Vlibrary_cache, QCloaded_from) [HAVE_NTGUI]:
      * lread.c (Qinternal_interpreter_environment):
      * minibuf.c (Qbuffer):
      * process.c (QCfamily, QCfilter):
      * widget.c (free_frame_faces):
      * xfaces.c (free_frame_menubar) [USE_X_TOOLKIT]:
      * xfont.c (x_clear_errors):
      * xterm.c (x_frame_parm_handlers):
      Remove now-redundant extern decls.
      * keyboard.c, keyboard.h (ignore_mouse_drag_p) [USE_GTK || HAVE_NS]:
      * xfaces.c (Qultra_light, Qreverse_oblique, Qreverse_italic):
      Now static.
      * xfaces.c: Remove unnecessary static decls.
      * xterm.c (updating_frame): Remove decl of nonexistent object.
      a411ac43
    • 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
  3. 01 Sep, 2012 1 commit
    • Daniel Colascione's avatar
      Refactor window-system configuration · 17a2cbbd
      Daniel Colascione authored
      This change streamlines the window system selection code in
      configure.in and moves many common function declarations from
      window-specific headers to frame.h.  It introduces a new TERM_HEADER
      macro in config.h: we set this macro to the right header to use for
      the window system for which we're compiling Emacs and have source
      files include it indirectly.  This way, we don't have to teach every
      file about every window system.
      17a2cbbd
  4. 28 Aug, 2012 2 commits
    • Dmitry Antipov's avatar
      Always use set_buffer_if_live to restore original buffer at unwind. · 66322887
      Dmitry Antipov authored
      * buffer.h (record_unwind_current_buffer): New function.
      * bytecode.c, dispnew.c, editfns.c, fileio.c, fns.c, insdel.c:
      * keyboard.c, keymap.c, minibuf.c, print.c, process.c, textprop.c:
      * undo.c, window.c: Adjust users.
      * buffer.c (set_buffer_if_live): Fix comment.
      66322887
    • Dmitry Antipov's avatar
      Fix usage of set_buffer_internal. · a3d794a1
      Dmitry Antipov authored
      * buffer.h (set_buffer_internal): Make it BUFFER_INLINE.
      * buffer.c (set_buffer_if_live): Use set_buffer_internal.
      * coding.c (decode_coding): Omit redundant test.
      * fileio.c (decide_coding_unwind): Likewise.
      * fns.c (secure_hash): Likewise.
      * insdel.c (modify_region): Likewise.
      * keyboard.c (command_loop_1): Likewise.
      * print.c (PRINTFINISH): Likewise.
      * xdisp.c (run_window_scroll_functions): Use set_buffer_internal.
      a3d794a1
  5. 23 Aug, 2012 1 commit
  6. 21 Aug, 2012 1 commit
    • Dmitry Antipov's avatar
      Avoid direct writes to contents member of struct Lisp_Vector. · 086ca913
      Dmitry Antipov authored
      * lisp.h (vcopy): New function to copy data into vector.
      * dispnew.c (Fframe_or_buffer_changed_p): Use AREF and ASET.
      * fns.c (Ffillarray): Use ASET.
      * keyboard.c (timer_check_2): Use AREF and ASET.
      (append_tool_bar_item, Frecent_keys): Use vcopy.
      * lread.c (read_vector): Use ASET.
      * msdos.c (Frecent_doskeys): Use vcopy.
      * xface.c (Finternal_copy_lisp_face): Use vcopy.
      (Finternal_merge_in_global_face): Use ASET and vcopy.
      * xfont.c (xfont_list_pattern): Likewise.
      086ca913
  7. 17 Aug, 2012 1 commit
    • Paul Eggert's avatar
      * keyboard.h (KSET): Remove. · 15dbb4d6
      Paul Eggert authored
      Replace all uses with calls to new setter functions.
      Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
      (KEYBOARD_INLINE): New macro.
      (kset_default_minibuffer_frame, kset_defining_kbd_macro)
      (kset_input_decode_map, kset_last_command, kset_last_kbd_macro)
      (kset_prefix_arg, kset_system_key_alist, kset_window_system):
      New setter functions.
      * keyboard.c (KEYBOARD_INLINE):
      Define to EXTERN_INLINE, so that the corresponding functions
      are compiled into code.
      (kset_echo_string, kset_kbd_queue)
      (kset_keyboard_translate_table, kset_last_prefix_arg)
      (kset_last_repeatable_command, kset_local_function_key_map)
      (kset_overriding_terminal_local_map, kset_real_last_command)
      (kset_system_key_syms): New setter functions.
      
      Fixes: debbugs:12215
      15dbb4d6
  8. 16 Aug, 2012 1 commit
    • Martin Rudalics's avatar
      Consistently check windows for validity/liveness (Bug#11984, Bug#12025, Bug#12026). · 52162052
      Martin Rudalics authored
      * lisp.h (CHECK_VALID_WINDOW): New macro.
      * window.c (decode_window): Rename to decode_live_window.
      (decode_valid_window, Fwindow_valid_p): New functions.
      (Fwindow_frame, Fframe_root_window, Fwindow_minibuffer_p)
      (Fframe_first_window, Fframe_selected_window, Fwindow_parent)
      (Fwindow_top_child, Fwindow_left_child, Fwindow_next_sibling)
      (Fwindow_prev_sibling, Fwindow_combination_limit)
      (Fset_window_combination_limit, Fwindow_use_time)
      (Fwindow_total_height, Fwindow_total_width, Fwindow_new_total)
      (Fwindow_normal_size, Fwindow_new_normal, Fwindow_left_column)
      (Fwindow_top_line, Fwindow_body_height, Fwindow_body_width)
      (Fwindow_hscroll, Fset_window_hscroll)
      (Fwindow_redisplay_end_trigger)
      (Fset_window_redisplay_end_trigger, Fwindow_edges)
      (Fwindow_pixel_edges, Fwindow_absolute_pixel_edges)
      (Fwindow_inside_edges, Fwindow_inside_pixel_edges)
      (Fcoordinates_in_window_p, Fwindow_point, Fwindow_start)
      (Fwindow_end, Fset_window_point, Fset_window_start)
      (Fpos_visible_in_window_p, Fwindow_line_height)
      (Fwindow_dedicated_p, Fset_window_dedicated_p)
      (Fwindow_prev_buffers, Fset_window_prev_buffers)
      (Fwindow_next_buffers, Fwindow_parameters, Fwindow_parameter)
      (Fset_window_parameter, Fwindow_display_table)
      (Fset_window_display_table, Fdelete_other_windows_internal)
      (Fset_window_buffer, Fset_window_new_total)
      (Fset_window_new_normal, Fdelete_window_internal)
      (Fwindow_text_height, Fset_window_margins, Fwindow_margins)
      (Fset_window_fringes, Fwindow_fringes, Fset_window_scroll_bars)
      (Fwindow_scroll_bars): Check whether argument window is a valid or
      live window.  Update doc-strings.
      (syms_of_window): New symbol Qwindow_valid_p.
      * keyboard.c (Fposn_at_x_y): Check whether argument
      frame_or_window denotes a valid window.
      * window.el (window-valid-p): Move to window.c.
      52162052
  9. 14 Aug, 2012 4 commits
  10. 13 Aug, 2012 1 commit
  11. 08 Aug, 2012 1 commit
  12. 07 Aug, 2012 2 commits
    • Dmitry Antipov's avatar
      Revert and cleanup Lisp_Cons, Lisp_Misc and Lisp_Symbol things. · c644523b
      Dmitry Antipov authored
      * src/lisp.h (struct Lisp_Symbol): Change xname to meaningful
      name since all xname users are fixed long time ago.  Do not use
      INTERNAL_FIELD.
      (set_symbol_name, set_symbol_function, set_symbol_plist):
      (set_symbol_next, set_overlay_plist): New function.
      (struct Lisp_Cons): Do not use INTERNAL_FIELD.
      (struct Lisp_Overlay): Likewise.
      (CVAR, MVAR, SVAR): Remove.
      * src/alloc.c, src/buffer.c, src/buffer.h, src/bytecode.c:
      * src/cmds.c, src/data.c, src/doc.c, src/eval.c, src/fns.c:
      * src/keyboard.c, src/lread.c, src/nsselect.m, src/xterm.c:
      Adjust users.
      * src/.gdbinit: Change to use name field of struct Lisp_Symbol
      where appropriate.
      * admin/coccinelle/overlay.cocci, admin/coccinelle/symbol.cocci:
      Remove.
      c644523b
    • 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
  13. 06 Aug, 2012 2 commits
  14. 05 Aug, 2012 1 commit
    • Dmitry Antipov's avatar
      Generalize common compile-time constants. · 663e2b3f
      Dmitry Antipov authored
      * lisp.h (header_size, bool_header_size, word_size): Now here.
      (struct Lisp_Vector): Add comment.
      (struct Lisp_Bool_Vector): Move up to define handy constants.
      (VECSIZE, PSEUDOVECSIZE): Simplify.
      (SAFE_ALLOCA_LISP): Use new constant.  Adjust indentation.
      * buffer.c, buffer.h, bytecode.c, callint.c, eval.c, fns.c:
      * font.c, fontset.c, keyboard.c, keymap.c, macros.c, menu.c:
      * msdos.c, w32menu.c, w32term.h, window.c, xdisp.c, xfaces.c:
      * xfont.c, xmenu.c: Use word_size where appropriate.
      663e2b3f
  15. 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
  16. 01 Aug, 2012 3 commits
    • Paul Eggert's avatar
      Use "ASET (a, i, v)" rather than "AREF (a, i) = v". · 4939150c
      Paul Eggert authored
      This how ASET and AREF are supposed to work, and makes
      it easier to think about future improvements.  See
      <http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00026.html>.
      * charset.h (set_charset_attr): New function.
      All lvalue-style uses of CHARSET_DECODER etc. changed to use it.
      * lisp.h (ASET): Rewrite so as not to use AREF in an lvalue style.
      (aref_addr): New function.  All uses of &AREF(...) changed.
      (set_hash_key, set_hash_value, set_hash_next, set_hash_hash)
      (set_hash_index): New functions.  All lvalue-style uses of
      HASH_KEY etc. changed.
      * keyboard.c (set_prop): New function.  All lvalue-style uses
      of PROP changed.
      4939150c
    • Dmitry Antipov's avatar
      Use INTERNAL_FIELD for symbols. · 8271d590
      Dmitry Antipov authored
      * src/lisp.h (SVAR): New macro.  Adjust users.
      * src/alloc.c, src/bytecode.c, src/cmds.c, src/data.c, src/doc.c, src/eval.c:
      * src/fns.c, src/keyboard.c, src/lread.c, src/xterm.c: Users changed.
      * admin/coccinelle/symbol.cocci: Semantic patch to replace direct
      access to Lisp_Object members of struct Lisp_Symbol to SVAR.
      8271d590
    • 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
  17. 30 Jul, 2012 2 commits
  18. 26 Jul, 2012 1 commit
    • Stefan Monnier's avatar
      Autoload more carefully from Lisp. Follow aliases for function properties. · 7abaf5cc
      Stefan Monnier authored
      * lisp/subr.el (autoloadp): New function.
      (symbol-file): Use it.
      (function-get): New function.
      * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Use function-get and
      autoload-do-load.
      * lisp/emacs-lisp/lisp-mode.el (lisp-font-lock-syntactic-face-function)
      (lisp-indent-function):
      * lisp/emacs-lisp/gv.el (gv-get):
      * lisp/emacs-lisp/edebug.el (get-edebug-spec, edebug-basic-spec):
      * lisp/emacs-lisp/byte-opt.el (byte-optimize-form):
      * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
      * lisp/emacs-lisp/autoload.el (make-autoload, autoload-print-form):
      Use function-get.
      * lisp/emacs-lisp/cl.el: Don't propagate function properties any more.
      
      * src/eval.c (Fautoload_do_load): Rename from do_autoload, export to Lisp,
      add argument, tune behavior, and adjust all callers.
      
      * lisp/speedbar.el (speedbar-add-localized-speedbar-support):
      * lisp/emacs-lisp/disass.el (disassemble-internal):
      * lisp/desktop.el (desktop-load-file):
      * lisp/help-fns.el (help-function-arglist, find-lisp-object-file-name)
      (describe-function-1):
      * lisp/emacs-lisp/find-func.el (find-function-noselect):
      * lisp/emacs-lisp/elp.el (elp-instrument-function):
      * lisp/emacs-lisp/advice.el (ad-has-proper-definition):
      * lisp/apropos.el (apropos-safe-documentation, apropos-macrop):
      * lisp/emacs-lisp/debug.el (debug-on-entry):
      * lisp/emacs-lisp/cl-macs.el (cl-compiler-macroexpand):
      * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
      * lisp/calc/calc.el (name): Use autoloadp & autoload-do-load.
      7abaf5cc
  19. 21 Jul, 2012 1 commit
  20. 20 Jul, 2012 1 commit
    • Dmitry Antipov's avatar
      Cleanup calls to Fgarbage_collect. · 765e61e3
      Dmitry Antipov authored
      * lisp.h (maybe_gc): New prototype.
      (consing_since_gc, gc_relative_threshold, memory_full_cons_threshold):
      Remove declarations.
      * alloc.c (maybe_gc): New function.
      (consing_since_gc, gc_relative_threshold, memory_full_cons_threshold):
      Make them static.
      * bytecode.c (MAYBE_GC): Use maybe_gc.
      * eval.c (eval_sub, Ffuncall): Likewise.
      * keyboard.c (read_char): Likewise.  Adjust call to maybe_gc
      to avoid dependency from auto-save feature.
      765e61e3
  21. 18 Jul, 2012 1 commit
  22. 12 Jul, 2012 1 commit
  23. 10 Jul, 2012 3 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
    • Paul Eggert's avatar
      e99a530f
    • Dmitry Antipov's avatar
      Optimize pure C strings initialization. · 2a0213a6
      Dmitry Antipov authored
      * lisp.h (make_pure_string): Fix prototype.
      (build_pure_c_string): New function, defined as static inline.  This
      provides a better opportunity to optimize away calls to strlen when
      the function is called with compile-time constant argument.
      * alloc.c (make_pure_c_string): Fix comment.  Change to add nchars
      argument, adjust users accordingly.  Use build_pure_c_string where
      appropriate.
      * buffer.c, coding.c, data.c, dbusbind.c, fileio.c, fontset.c, frame.c,
      * keyboard.c, keymap.c, lread.c, search.c, syntax.c, w32fns.c, xdisp.c,
      * xfaces.c, xfns.c, xterm.c: Use build_pure_c_string where appropriate.
      2a0213a6
  24. 05 Jul, 2012 2 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
    • 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
  25. 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
  26. 28 Jun, 2012 2 commits
    • Stefan Monnier's avatar
      * src/editfns.c (region_limit): Clip to narrowing. · 7d7e0027
      Stefan Monnier authored
      Fixes: debbugs:11770
      7d7e0027
    • Dmitry Antipov's avatar
      Generalize run-time debugging checks. · a54e2c05
      Dmitry Antipov authored
      * configure.in (ENABLE_CHECKING): Update comment.
      * src/dispextern.h (XASSERTS): Remove.
      * src/fontset.c (xassert): Remove.
      Convert from xassert to eassert.
      * src/alloc.c: Convert from xassert to eassert.
      * src/bidi.c: Likewise.
      * src/dispnew.c: Likewise.
      * src/fns.c: Likewise.
      * src/fringe.c: Likewise.
      * src/ftfont.c: Likewise.
      * src/gtkutil.c: Likewise.
      * src/image.c: Likewise.
      * src/keyboard.c: Likewise.
      * src/menu.c: Likewise.
      * src/process.c: Likewise.
      * src/scroll.c: Likewise.
      * src/sound.c: Likewise.
      * src/term.c: Likewise.
      * src/w32console.c: Likewise.
      * src/w32fns.c: Likewise.
      * src/w32term.c: Likewise.
      * src/window.c: Likewise.
      * src/xdisp.c: Likewise.
      * src/xfaces.c: Likewise.
      * src/xfns.c: Likewise.
      * src/xselect.c: Likewise.
      * src/xterm.c: Likewise.
      a54e2c05