1. 01 Jan, 2014 1 commit
  2. 14 Dec, 2013 1 commit
    • Paul Eggert's avatar
      Use bool for boolean, focusing on headers. · 96c06863
      Paul Eggert authored
      * configure.ac (PTY_OPEN, GC_MARK_SECONDARY_STACK):
      Use bool for boolean.
      * lib-src/emacsclient.c, lib-src/etags.c, lib-src/hexl.c (FALSE, TRUE):
      Remove.  All uses replaced with uncapitalized version.
      * lib-src/emacsclient.c (message):
      * lib-src/etags.c (make_tag, pfnote, consider_token, make_C_tag, lang_names):
      * lib-src/hexl.c (un_flag, iso_flag, endian):
      * lib-src/pop.c (pop_debug, pop_open, pop_multi_first, pop_multi_next)
      (pop_trash):
      Use bool for boolean.
      * lib-src/etags.c (bool): Remove.
      * lib-src/etags.c (globals, members, declarations, no_line_directive)
      (no_duplicates): Use 'int' for boolean values that getopt requires
      to be 'int'.  Formerly, these were 'bool' and 'bool' was 'int',
      but we can no longer rely on this implementation.
      * lib-src/pop.h (struct _popserver): Use bool_bf for boolean bit-fields.
      * lwlib/xlwmenuP.h (XlwMenu_part): Use bool_bf for boolean bit-fields.
      * src/atimer.h, src/lisp.h, src/syssignal.h, src/syswait.h, src/unexelf.c:
      No need to include <stdbool.h>, since conf_post.h does it now.
      * src/buffer.h (BUF_COMPUTE_UNCHANGED, DECODE_POSITION)
      (BUFFER_CHECK_INDIRECTION, GET_OVERLAYS_AT, PER_BUFFER_VALUE_P)
      (SET_PER_BUFFER_VALUE_P):
      * src/ccl.c, src/ccl.h (setup_ccl_program):
      * src/ccl.h (CHECK_CCL_PROGRAM):
      * src/character.h (MAKE_CHAR_UNIBYTE, CHECK_CHARACTER_CAR)
      (CHECK_CHARACTER_CDR, CHAR_STRING_ADVANCE, NEXT_CHAR_BOUNDARY)
      (PREV_CHAR_BOUNDARY, FETCH_STRING_CHAR_ADVANCE)
      (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
      (FETCH_STRING_CHAR_ADVANCE_NO_CHECK, FETCH_CHAR_ADVANCE)
      (FETCH_CHAR_ADVANCE_NO_CHECK, INC_POS, DEC_POS, INC_BOTH)
      (DEC_BOTH, BUF_INC_POS, BUF_DEC_POS):
      * src/charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
      (CHECK_CHARSET_GET_ATTR, CHECK_CHARSET_GET_CHARSET)
      (CHARSET_FAST_MAP_SET):
      * src/coding.c (decode_coding_ccl, encode_coding_ccl):
      * src/coding.h (CHECK_CODING_SYSTEM, CHECK_CODING_SYSTEM_GET_SPEC)
      (CHECK_CODING_SYSTEM_GET_ID, SJIS_TO_JIS, SJIS_TO_JIS2)
      (JIS_TO_SJIS, JIS_TO_SJIS2, ENCODE_FILE, DECODE_FILE)
      (ENCODE_SYSTEM, DECODE_SYSTEM, ENCODE_UTF_8)
      (decode_coding_c_string):
      * src/composite.h (COMPOSITION_DECODE_REFS, COMPOSITION_DECODE_RULE):
      * src/conf_post.h (has_attribute):
      * src/dispextern.h (trace_redisplay_p):
      (INC_TEXT_POS, DEC_TEXT_POS, SET_GLYPH_FROM_GLYPH_CODE)
      (SET_CHAR_GLYPH, SET_CHAR_GLYPH_FROM_GLYPH)
      (SET_GLYPH_FROM_CHAR_GLYPH):
      (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P)
      (FACE_SUITABLE_FOR_ASCII_CHAR_P, FACE_SUITABLE_FOR_CHAR_P)
      (PRODUCE_GLYPHS, reset_mouse_highlight, in_display_vector_p)
      (cursor_in_mouse_face_p):
      * src/dispnew.c (adjust_glyph_matrix, clear_glyph_matrix_rows)
      (blank_row, prepare_desired_row)
      (build_frame_matrix_from_leaf_window, make_current)
      (mirror_make_current, mirrored_line_dance, mirror_line_dance)
      (update_window, scrolling_window, update_frame_line):
      * src/disptab.h (GLYPH_FOLLOW_ALIASES):
      * src/editfns.c (Fformat):
      * src/font.h (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC)
      (FONT_WIDTH_SYMBOLIC, FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE)
      (FONT_WIDTH_FOR_FACE, FONT_WEIGHT_NAME_NUMERIC)
      (FONT_SLANT_NAME_NUMERIC, FONT_WIDTH_NAME_NUMERIC)
      (FONT_SET_STYLE, CHECK_FONT, CHECK_FONT_SPEC, CHECK_FONT_ENTITY)
      (CHECK_FONT_OBJECT, CHECK_FONT_GET_OBJECT, FONT_ADD_LOG)
      (FONT_DEFERRED_LOG):
      * src/frame.h (FRAME_W32_P, FRAME_MSDOS_P, FRAME_WINDOW_P):
      (FRAME_EXTERNAL_TOOL_BAR, FRAME_EXTERNAL_MENU_BAR, FOR_EACH_FRAME)
      (FRAME_MOUSE_UPDATE):
      * src/fringe.c (Fdefine_fringe_bitmap):
      * src/image.c (x_create_bitmap_from_data, x_create_bitmap_mask)
      (x_create_bitmap_from_xpm_data, xpm_load_image):
      * src/intervals.h (INTERVAL_HAS_PARENT, INTERVAL_PARENT)
      (set_interval_parent, RESET_INTERVAL, COPY_INTERVAL_CACHE)
      (MERGE_INTERVAL_CACHE):
      * src/keymap.h (KEYMAPP):
      * src/lisp.h (eassert, USE_LSB_TAG, CHECK_LISP_OBJECT_TYPE)
      (STRING_SET_UNIBYTE, STRING_SET_MULTIBYTE, DEFSYM, PSEUDOVECTORP)
      (CHECK_RANGED_INTEGER, CHECK_TYPE_RANGED_INTEGER)
      (CHECK_NUMBER_COERCE_MARKER, CHECK_NUMBER_OR_FLOAT_COERCE_MARKER)
      (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL, DEFVAR_INT)
      (DEFVAR_BUFFER_DEFAULTS, DEFVAR_KBOARD, QUIT)
      (RETURN_UNGCPRO, USE_SAFE_ALLOCA, SAFE_NALLOCA, SAFE_FREE)
      (SAFE_ALLOCA_LISP, FOR_EACH_ALIST_VALUE, functionp):
      * src/syntax.h (SYNTAX_ENTRY, SYNTAX_WITH_FLAGS, SYNTAX)
      (UPDATE_SYNTAX_TABLE_FORWARD, UPDATE_SYNTAX_TABLE_BACKWARD)
      (SETUP_BUFFER_SYNTAX_TABLE):
      * src/systime.h (timespec_valid_p):
      * src/term.c (save_and_enable_current_matrix):
      * src/window.h (WINDOW_MENU_BAR_P, WINDOW_TOOL_BAR_P):
      * src/xdisp.c (in_display_vector_p, display_tool_bar_line)
      (redisplay_internal, try_window_reusing_current_matrix)
      (sync_frame_with_window_matrix_rows, try_window_id)
      (display_menu_bar, display_tty_menu_item, display_mode_line)
      (coords_in_mouse_face_p, cursor_in_mouse_face_p):
      * src/xmenu.c (xmenu_show):
      * src/xterm.c (use_xim, x_term_init):
      * src/xterm.h (XSync, GTK_CHECK_VERSION, use_xim, SET_SCROLL_BAR_X_WIDGET)
      (struct x_bitmap_record):
      Use bool for booleans.
      * src/ccl.c (struct buffer_text):
      * src/ccl.h (struct ccl_program):
      * src/charset.h (struct charset):
      * src/cm.h (struct cm):
      * src/coding.h (struct iso_2022_spec, struct coding_system):
      * src/dispextern.h (struct glyph, struct glyph_matrix, struct glyph_row)
      (struct glyph_string, struct face, struct face_cache)
      (struct bidi_string_data, struct bidi_it)
      (struct draw_fringe_bitmap_params, struct it, Mouse_HLInfo)
      (struct image):
      * src/editfns.c (Fformat):
      * src/frame.h (struct frame):
      * src/fringe.c (struct fringe_bitmap):
      * src/intervals.h (struct interval):
      * src/keyboard.h (struct kboard):
      * src/lisp.h (struct Lisp_Symbol, struct Lisp_Misc_Any, struct Lisp_Marker)
      (struct Lisp_Overlay, struct Lisp_Save_Value, struct Lisp_Free)
      (struct Lisp_Buffer_Local_Value, union specbinding):
      * src/macfont.m (struct macfont_info):
      * src/process.h (struct Lisp_Process):
      * src/termchar.h (struct tty_display_info):
      * src/window.h (struct window):
      * src/xterm.h (struct x_output):
      Use bool_bf for boolean bit-fields.
      * src/ccl.c (setup_ccl_program): Now returns bool instead of -1 or 0.
      All callers changed.
      * src/ccl.h (struct ccl_program): Remove unused members private_state,
      src_multibyte, dst_multibyte, cr_consumed, suppress_error,
      eight_bit_control.
      (struct ccl_spec): Remove unused members cr_carryover,
      eight_bit_carryover.
      * src/conf_post.h: Include <stdbool.h>.
      (bool_bf): New type.
      * src/dispextern.h (TRACE, PREPARE_FACE_FOR_DISPLAY):
      * src/interval.h (RESET_INTERVAL, COPY_INTERVAL_CACHE, MERGE_INTERVAL_CACHE)
      Surround statement macro with proper 'do { ... } while (false)' brackets.
      (SET_MATRIX_ROW_ENABLED_P): Assume 2nd arg is bool.
      (PRODUCE_GLYPHS): Simplify use of boolean.
      * src/fileio.c (Fcopy_file):
      If I is an integer, prefer 'if (I != 0)' to 'if (I)'.
      * src/lisp.h (UNGCPRO): Return void, not int.
      (FOR_EACH_TAIL): Use void expression, not int expression.
      * src/region-cache.c: Reindent.
      * src/region-cache.h: Copy comments from region-cache.c, to fix
      incorrect remarks about booleans.
      96c06863
  3. 14 Nov, 2013 1 commit
    • Paul Eggert's avatar
      Prefer tail calls. · d672ac3c
      Paul Eggert authored
      * lib-src/ebrowse.c (xstrdup):
      * lib-src/etags.c (savenstr):
      * lwlib/lwlib.c (safe_strdup):
      * src/xfns.c (xic_create_fontsetname):
      * src/xrdb.c (gethomedir): Prefer tail calls.
      * lib-src/etags.c (concat): Omit unnecessary assignment.
      d672ac3c
  4. 24 Oct, 2013 3 commits
  5. 23 Oct, 2013 2 commits
    • Glenn Morris's avatar
      Progress towards allowing installation in directories with whitespace · 48f73cfb
      Glenn Morris authored
      * Makefile.in (COPYDESTS, write_subdir, install-arch-dep)
      (install-arch-indep, install-etcdoc, install-info, install-man)
      (install-etc, uninstall): Quote entities that might contain whitespace.
      
      * build-aux/update-subdirs: Handle whitespace in argument.
      Check cd return value.
      
      * doc/emacs/Makefile.in (install-dvi, install-html, install-pdf)
      (install-ps, uninstall-dvi, uninstall-html, uninstall-ps)
      (uninstall-pdf): Quote entities that might contain whitespace.
      
      * doc/lispintro/Makefile.in (install-dvi, install-html, install-pdf)
      (install-ps, uninstall-dvi, uninstall-html, uninstall-ps)
      (uninstall-pdf): Quote entities that might contain whitespace.
      
      * doc/lispref/Makefile.in (install-dvi, install-html, install-pdf)
      (install-ps, uninstall-dvi, uninstall-html, uninstall-ps)
      (uninstall-pdf): Quote entities that might contain whitespace.
      
      * doc/misc/Makefile.in (install-dvi, install-html, install-pdf)
      (install-ps, uninstall-dvi, uninstall-html, uninstall-ps)
      (uninstall-pdf): Quote entities that might contain whitespace.
      
      * lib-src/Makefile.in ($(DESTDIR)${archlibdir}, need-blessmail, install)
      (uninstall): Quote entities that might contain whitespace.
      
      * nt/Makefile.in ($(DESTDIR)${archlibdir}, install, uninstall):
      Quote entities that might contain whitespace.
      48f73cfb
    • Glenn Morris's avatar
      Make building in directories with whitespace possible · b8e3b0a9
      Glenn Morris authored
      Make has trouble with targets containing whitespace, 
      http://savannah.gnu.org/bugs/?712, so the general approach is
      to use relative paths where possible.  It's generally only Emacs
      itself that needs absolute paths, eg in src/epaths.h.
      
      * configure.ac (srcdir): Don't make it absolute - abs_srcdir exists.
      
      * Makefile.in (abs_srcdir): New, set by configure.
      (buildlisppath): Use abs_srcdir.
      (install-arch-indep, install-etcdoc, install-info, install-man)
      (install-etc): Quote entities that might contain whitespace.
      
      * admin/unidata/Makefile.in (emacs, ${DSTDIR}/charprop.el):
      Quote entities that might contain whitespace.
      
      * leim/Makefile.in (abs_srcdir): New, set by configure.
      (buildlisppath): Use abs_srcdir.
      (RUN_EMACS, .el.elc, changed.tit, changed.misc, leim-list.el)
      ($(srcdir)/ja-dic/ja-dic.el, setwins, distclean, check-declare):
      Quote entities that might contain whitespace.
      
      * lib-src/Makefile.in ($(DESTDIR)${archlibdir}):
      Quote entities that might contain whitespace.
      
      * lisp/Makefile.in (abs_srcdir, abs_lisp): New, set by configure.
      (emacs, compile, compile-always):
      Quote entities that might contain whitespace.
      (custom-deps, finder-data, autoloads): Use abs_lisp.
      ($(MH_E_DIR)/mh-loaddefs.el, $(TRAMP_DIR)/tramp-loaddefs.el)
      ($(CAL_DIR)/cal-loaddefs.el, $(CAL_DIR)/diary-loaddefs.el)
      ($(CAL_DIR)/hol-loaddefs.el): Manually expand target file name.
      
      * nextstep/Makefile.in (${ns_check_file} ${ns_appdir}):
      Quote entities that might contain whitespace.
      
      * nt/Makefile.in ($(DESTDIR)${archlibdir}):
      Quote entities that might contain whitespace.
      
      * src/Makefile.in (RUN_TEMACS): Make relative (again).
      ($(leimdir)/leim-list.el, .el.elc, $(lispsource)/loaddefs.el)
      (bootstrap-emacs$(EXEEXT)):
      Quote entities that might contain whitespace.
      
      * test/automated/Makefile.in (abs_top_srcdir, top_builddir):
      New, set by configure.
      (top_srcdir): Remove.
      (abs_test, abs_lispsrc): New.
      (lisp): No longer absolute.
      (emacs, lisp-compile, compile, compile-always):
      Quote entities that might contain whitespace.
      
      Fixes: debbugs:15675
      b8e3b0a9
  6. 10 Oct, 2013 1 commit
  7. 20 Sep, 2013 1 commit
    • Paul Eggert's avatar
      A simpler, centralized INLINE. · 00382e8b
      Paul Eggert authored
      * lib-src/profile.c (INLINE): New macro.
      (SYSTIME_INLINE): Remove.
      * src/conf_post.h (INLINE): Define only if not already defined.
      This allows us to use a single INLINE, defined by one file
      per executable.
      * src/emacs.c (INLINE): Define it.
      Also, include category.h, charset.h, composite.h, dispextern.h,
      syntax.h, systime.h, so that their INLINE definitions are expanded
      properly for Emacs.
      * src/blockinput.h, src/keyboard.c (BLOCKINPUT_INLINE):
      * src/buffer.h, src/buffer.c (BUFFER_INLINE):
      * src/category.h, src/category.c (CATEGORY_INLINE):
      * src/character.h, src/character.c (CHARACTER_INLINE):
      * src/charset.h, src/charset.c (CHARSET_INLINE):
      * src/composite.h, src/composite.c (COMPOSITE_INLINE):
      * src/dispextern.h, src/dispnew.c (DISPEXTERN_INLINE):
      * src/frame.h, src/frame.c (FRAME_INLINE):
      * src/intervals.h, src/intervals.c (INTERVALS_INLINE):
      * src/keyboard.h, src/keyboard.c (KEYBOARD_INLINE):
      * src/lisp.h, src/alloc.c (LISP_INLINE):
      * src/process.h, src/process.c (PROCESS_INLINE):
      * src/syntax.h, src/syntax.c (SYNTAX_INLINE):
      * src/systime.h, src/sysdep.c (SYSTIME_INLINE):
      * src/termhooks.h, src/terminal.h (TERMHOOKS_INLINE):
      * src/window.h, src/window.c (WINDOW_INLINE):
      Remove.  All uses replaced with INLINE.
      00382e8b
  8. 28 Aug, 2013 1 commit
  9. 27 Aug, 2013 1 commit
    • Paul Eggert's avatar
      Simplify EMACS_TIME-related code. · 43aac990
      Paul Eggert authored
      This portability layer is no longer needed, since Emacs has been
      using struct timespec as a portability layer for some time.
      Merge from gnulib, incorporating:
      2013-08-27 timespec: new convenience constants and function
      * src/atimer.h, src/buffer.h, src/dispextern.h, src/xgselect.h:
      Include <time.h> rather than "systime.h"; that's all that's needed now.
      * src/dispnew.c: Include <timespec.h> rather than "systime.h";
      that's all that's needed now.
      * src/systime.h (EMACS_TIME): Remove.  All uses changed to struct timespec.
      (EMACS_TIME_RESOLUTION): Remove.  All uses changed to
      TIMESPEC_RESOLUTION.
      (LOG10_EMACS_TIME_RESOLUTION): Remove.  All uses changed to
      LOG10_TIMESPEC_RESOLUTION.
      (EMACS_SECS, emacs_secs_addr): Remove.  All uses changed to tv_sec.
      (EMACS_NSECS): Remove.  All uses changed to tv_nsec.
      (make_emacs_time): Remove.  All used changed to make_timespec.
      (invalid_timespec): Rename from invalid_emacs_time.  All uses changed.
      (current_timespec): Rename from current_emacs_time.  All uses changed.
      (add_emacs_time): Remove.  All uses changed to timespec_add.
      (sub_emacs_time): Remove.  All uses change dot timespec_sub.
      (EMACS_TIME_SIGN): Remove.  All uses changed to timespec_sign.
      (timespec_valid_p): Rename from EMACS_TIME_VALID_P.  All uses changed.
      (EMACS_TIME_FROM_DOUBLE): Remove.  All uses changed to dtotimespec.
      (EMACS_TIME_TO_DOUBLE): Remove.  All uses changed to timespectod.
      (current_timespec): Rename from current_emacs_time.  All uses changed.
      (EMACS_TIME_EQ, EMACS_TIME_LT, EMACS_TIME_LE): Remove.  All uses
      changed to timespec_cmp.
      * src/xgselect.c: Include <timespec.h>, since our .h files don't.
      43aac990
  10. 10 Aug, 2013 1 commit
  11. 05 Aug, 2013 2 commits
    • Stefan Monnier's avatar
      Revert introduction of isearch-filter-predicates. · dc6c0eda
      Stefan Monnier authored
      Rely on add-function instead.
      * lisp/loadup.el: Preload nadvice.
      * lisp/isearch.el (isearch-filter-predicates): Rename it back to
      isearch-filter-predicate.
      (isearch-message-prefix): Use advice-function-mapc and advice
      properties to get the isearch-message-prefix.
      (isearch-search, isearch-lazy-highlight-search): Revert to funcall
      instead of run-hook-with-args-until-failure.
      (isearch-filter-visible): Not obsolete any more.
      * lisp/replace.el (perform-replace): Revert to funcall
      instead of run-hook-with-args-until-failure.
      * lisp/wdired.el (wdired-change-to-wdired-mode): Use add-function.
      * lisp/dired-aux.el (dired-isearch-filenames-mode): Rename from
      dired-isearch-filenames-toggle; make it into a proper minor mode.
      Use add/remove-function.
      (dired-isearch-filenames-setup, dired-isearch-filenames-end):
      Call the minor-mode rather than add/remove-hook.
      (dired-isearch-filter-filenames):
      Remove isearch-message-prefix property.
      * lisp/info.el (Info--search-loop): New function, extracted from Info-search.
      Funcall isearch-filter-predicate instead of
      run-hook-with-args-until-failure isearch-filter-predicates.
      (Info-search): Use it.
      (Info-mode): Use isearch-filter-predicate instead of
      isearch-filter-predicates.
      * src/lisp.mk (lisp): Add nadvice.elc.
      * lib-src/makefile.w32-in (lisp2): Add nadvice.elc.
      
      Fixes: debbugs:14714
      dc6c0eda
    • Eli Zaretskii's avatar
      Fix bugs in update-game-score, on MS-Windows and elsewhere. · 98a428c1
      Eli Zaretskii authored
       lib-src/update-game-score.c (read_score): Try reading a character before
       probing the stream for EOF.  Initialize score->score to zero,
       before reading and accumulating the score.
       (read_scores): Fix logic that determines which value to return.
       Close the input stream when finished reading the scores (avoids
       failures in overwriting the file with a new one on MS-Windows,
       since a file that is open cannot be deleted).
       lib-src/ntlib.h (rename): Don't undefine.
       lib-src/ntlib.c (sys_rename): New function, needed for
       update-game-score.
      98a428c1
  12. 04 Aug, 2013 2 commits
    • Eli Zaretskii's avatar
      MS-Windows followup to last commit. · e443729d
      Eli Zaretskii authored
       lib-src/ntlib.h: Include fcntl.h.
       (mkostemp): Declare prototype.
       (mktemp): Don't redefine.
       lib-src/ntlib.c (mkostemp): New function.
      
      Fixes: debbugs:15015
      e443729d
    • Paul Eggert's avatar
      Fix some minor races in hosts lacking mkostemp. · e0fdb694
      Paul Eggert authored
      Gnulib's emulation of mkostemp doesn't have races that Emacs's does.
      * configure.ac (mkostemp): Remove check for this function;
      gnulib does the check now.
      (mkstemp): Remove check for this no-longer-used function.
      * lib/mkostemp.c, lib/secure_getenv.c, lib/tempname.c, lib/tempname.h:
      * m4/mkostemp.m4, m4/secure_getenv.m4, m4/tempname.m4:
      New files, copied from Gnulib.
      * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
      * admin/merge-gnulib (GNULIB_MODULES): Add mkostemp.
      * lib-src/movemail.c (main):
      * lib-src/update-game-score.c (write_scores):
      Use mkostemp (which now works on all platforms, due to changes
      in the portability layer) rather than mktemp (which has a race)
      or mkstemp (which we no longer bother with).
      * src/callproc.c (create_temp_file):
      * src/filelock.c (create_lock_file):
      Assume mkostemp, since it's now provided by Gnulib.
      
      Fixes: debbugs:15015
      e0fdb694
  13. 23 Jul, 2013 1 commit
  14. 10 Jul, 2013 1 commit
    • Paul Eggert's avatar
      Port to C89. · 29abe551
      Paul Eggert authored
      * lib-src/ebrowse.c (USAGE): Remove macro with too-long string literal ...
      (usage_message): ... and replace it with this new static constant
      containing multiple literals.  All uses changed.
      * lib-src/emacsclient.c (print_help_and_exit):
      Rewrite to avoid string literals longer than the C89 limits.
      (start_daemon_and_retry_set_socket):
      Rewrite to avoid non-constant array initializer.
      * lib-src/make-docfile.c (enum global_type): Omit trailing comma.
      * src/bytecode.c (BYTE_CODE_THREADED): Do not define if __STRICT_ANSI__.
      (B__dummy__): New dummy symbol, to pacify C89.
      * src/dbusbind.c (XD_DEBUG_MESSAGE): Omit debugging on C89 hosts, since
      they can't grok varargs macros.
      * src/dispnew.c (add_window_display_history)
      (add_frame_display_history):
      * src/print.c (print_object):
      * src/xdisp.c (debug_method_add):
      Use %p printf format only for void pointers.
      * src/emacs.c (usage_message): New constant, replacing ...
      (USAGE1, USAGE2, USAGE3): Remove; they were too long for C89.
      (main): Adjust to usage reorg.
      * src/fns.c (syms_of_fns):
      * src/profiler.c (syms_of_profiler):
      Don't use non-constant struct initializers.
      * src/gnutls.h (gnutls_initstage_t):
      * src/lisp.h (enum Lisp_Fwd_Type):
      * src/lread.c (lisp_file_lexically_bound_p):
      * src/xsettings.c (anonymous enum):
      Remove trailing comma.
      * src/xsettings.c (apply_xft_settings): Use %f, not %lf; %lf is a C99ism.
      * src/lisp.h (ENUM_BF): Use unsigned if pedantic.
      (DEFUN_FUNCTION_INIT): New macro, that falls back on a cast if pre-C99.
      (DEFUN): Use it.
      * src/regex.c (const_re_char): New type, to pacify strict C89.
      All uses of 'const re_char' replaced to use it.
      * src/regex.h (_Restrict_): Rename from __restrict, to avoid clash
      with glibc when strict C89.  This change is imported from gnulib.
      All uses changed.
      (_Restrict_arr_): Rename from __restrict_arr, similarly.
      * src/sysdep.c (time_from_jiffies) [!HAVE_LONG_LONG_INT]:
      Omit GNU_LINUX implementation, since it requires long long.
      * src/xterm.c (x_draw_underwave):
      Do not assume the traditional order of struct's members.
      (x_term_init): Rewrite to avoid the need for non-constant structure
      initializers.
      29abe551
  15. 07 Jul, 2013 1 commit
  16. 02 Jul, 2013 3 commits
    • Paul Eggert's avatar
      Remove some unused macros from 'configure'. · 57f8c490
      Paul Eggert authored
      * configure.ac (HAVE_SOUNDCARD_H, HAVE_LINUX_VERSION_H, HAVE_SPEED_T)
      (HAVE_GNUTLS_CALLBACK_CERTIFICATE_VERIFY)
      (HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION, HAVE_UTIMES)
      (HAVE_LIBHESIOD, HAVE_LIBRESOLV, HAVE_LIBCOM_ERR, HAVE_LIBCRYPTO)
      (HAVE_LIBK5CRYPTO, HAVE_LIBKRB5, HAVE_LIBDES425, HAVE_LIBDES)
      (HAVE_LIBKRB4, HAVE_LIBKRB, HAVE_DES_H, HAVE_KERBEROSIV_DES_H)
      (HAVE_DEV_PTMX, DEVICE_SEP, USG5):
      Remove these macros, as they are not used.
      (sys_siglist): Remove macro; src/sysdep.c now does this.
      * src/sysdep.c (sys_siglist) [HAVE_DECL___SYS_SIGLIST]:
      Define to __sys_siglist.
      57f8c490
    • Paul Eggert's avatar
      Fix ChangeLog dates. · 37afa042
      Paul Eggert authored
      37afa042
    • Paul Eggert's avatar
      Prefer plain 'static' to 'static inline'. · 164b1ba3
      Paul Eggert authored
      I missed these instances of 'static inline' in an earlier sweep.
      * ebrowse.c (putstr):
      * etags.c (hash):
      * make-docfile.c (put_char): No longer inline.
      * etags.c (hash): Prefer int to unsigned when either will do.
      
      Fixes: debbugs:12541
      164b1ba3
  17. 21 Jun, 2013 2 commits
    • Paul Eggert's avatar
    • Paul Eggert's avatar
      Use C99-style flexible array members if available. · fbe9e0b9
      Paul Eggert authored
      This avoids some subtle aliasing issues, which typically
      aren't a problem with GCC but may be a problem elsewhere.
      * lib-src/ebrowse.c (struct member, struct alias, struct sym):
      Use FLEXIBLE_ARRAY_MEMBER.
      (add_sym, add_member, make_namespace, register_namespace_alias):
      Use offsetof (struct, flex_array_member), not sizeof (struct), as
      that ports better to pre-C99 non-GCC.
      * src/alloc.c (sdata): New typedef, replacing the old struct sdata.
      It is a struct if GC_CHECK_STRING_BYTES, a union otherwise.
      In either case, it uses a flexible array member rather than
      the old struct hack.  All uses changed.
      (SDATA_NBYTES, sweep_strings) [!GC_CHECK_STRING_BYTES]:
      Adjust to sdata reorganization.
      * src/alloc.c (VBLOCK_BYTES_MIN, allocate_vectorlike, Fgarbage_collect):
      Use offsetof (struct, flex_array_member), not sizeof (struct), as
      that ports better to pre-C99 non-GCC.
      * src/chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
      Use CHAR_TABLE_STANDARD_SLOTS rather than its definition,
      as the latter has changed.
      * src/conf_post.h (FLEXIBLE_ARRAY_MEMBER): Move here from w32.c,
      and port better to pre-C99 GCC.
      * src/image.c (struct xpm_cached_color):
      * src/lisp.h (struct Lisp_Vector, struct Lisp_Bool_Vector)
      (struct Lisp_Char_Table, struct Lisp_Sub_Char_Table):
      Use FLEXIBLE_ARRAY_MEMBER.
      * src/lisp.h (string_bytes) [GC_CHECK_STRING_BYTES]:
      Move decl to top level so it gets checked against implementation.
      (CHAR_TABLE_STANDARD_SLOTS): Adjust to struct Lisp_Char_Table change.
      * src/w32.c (FLEXIBLE_ARRAY_MEMBER): Move to conf_post.h.
      fbe9e0b9
  18. 19 Jun, 2013 1 commit
  19. 29 May, 2013 1 commit
  20. 18 May, 2013 1 commit
    • Paul Eggert's avatar
      Port --enable-gcc-warnings to clang. · 31ff141c
      Paul Eggert authored
      * configure.ac (nw): Remove obsolescent warnings.
      These aren't needed for clang, or for gcc for that matter.
      (emacs_cv_clang): New var, which tests for clang.
      Omit warnings that clang is too picky about.
      (GLIB_DISABLE_DEPRECATION_WARNINGS): Define this;
      needed for Ubuntu 13.04 + clang + --enable-gcc-warnings.
      * lib-src/etags.c: Omit unnecessary forward decls.
      (print_version, print_help): Declare _Noreturn.
      * lib-src/pop.c (socket_connection) [HAVE_GETADDRINFO]: Simplify.
      * src/bytecode.c (exec_byte_code):
      * src/regex.c:
      Redo diagnostic pragmas to pacify clang, too.
      * src/dbusbind.c (xd_retrieve_arg): Do not use uninitialized variable.
      * src/editfns.c (Fencode_time):
      * src/fileio.c (file_accessible_directory_p):
      * src/font.c (font_unparse_xlfd):
      Use '&"string"[index]' instead of '"string" + (index)'.
      * src/undo.c (user_error): Remove; unused.
      31ff141c
  21. 15 May, 2013 1 commit
    • Stefan Monnier's avatar
      Use just DOC instead of DOC-nn.mm. · 6e911150
      Stefan Monnier authored
      * lisp/loadup.el: Just use unversioned DOC.
      * Makefile.in (install-doc): DOC file is not version specific any more.
      * .bzrignore: Don't ignore DOC-* any more.
      * admin/quick-install-emacs: Don't prune DOC-* files a any more.
      * doc/lispref/loading.texi (Autoload):
      * doc/lispref/help.texi (Documentation Basics, Accessing Documentation)
      (Accessing Documentation, Accessing Documentation): DOC-* is now DOC.
      * etc/.gitignore: Don't ignore DOC-* any more.
      * lib-src/makefile.w32-in ($(DOC)): Use DOC rather than DOC-X.
      * msdos/sed1x.inp: Don't rewrite DOC any more.
      * nt/makefile.w32-in (clean, top-distclean): DOC-X doesn't exist any more.
      * src/Makefile.in (bootstrap-clean): DOC-* doesn't exist any more.
      * src/makefile.w32-in (DOC): Use just "DOC".
      6e911150
  22. 06 May, 2013 1 commit
  23. 14 Apr, 2013 1 commit
  24. 06 Apr, 2013 2 commits
  25. 04 Apr, 2013 1 commit
  26. 01 Apr, 2013 5 commits
  27. 31 Mar, 2013 1 commit