Commit graph

2706 commits

Author SHA1 Message Date
Paul Eggert d352738b8b Fix rcs2log problems with CVS.
Problem reported by Glenn Morris in
<http://lists.gnu.org/archive/html/emacs-devel/2014-05/msg00277.html>.
Plus, fix some security and filename quoting problems.
* rcs2log (logdir): Prefer mktemp if available.
(logdir, llogdir): Work even if TMPDIR begins with '-' or has spaces.
(output_authors, main awk script): Parse more-recent CVS output format.
2014-05-20 00:59:28 -07:00
Paul Eggert 60fc70a8e0 Remove dependencies on getdelim and getline.
Also, remove update-game-scores's limits on game scores and
simplify its file-locking code.
* configure.ac (getdelim, getline): Remove.
* lib-src/update-game-score.c (struct score_entry): Unify the username and
data members to a single user_data member, since they don't need to be
changed independently and getdelim and getline aren't helpful.
Make the score member char *, not intmax_t, so that scores are not
limited to intmax_t.  All uses changed.
(lose_syserr): A zero errno stands for invalid data in score file.
(normalize_integer): New function.
(main): Use it.  Check for invalid scores.  Omit redundant stat check.
(read_score): First arg is now a string, not a FILE *.  All uses
changed.  Do not use getdelim or getline; that's way simpler.
(read_scores): Read the whole file, and let read_score handle each
line.
(score_compare): Compare strings representing integers, not integers.
(write_scores) [DOS_NT]: Eliminate unnecessary chmod.
(lock_file): Simplify locking code, eliminating goto.
Check for unlink failure.
2014-05-18 21:56:03 -07:00
Paul Eggert 5eda3a7516 Port ctags+etags build to Sun C 5.12.
* .bzrignore: Remove lib-src/ctags.c.
* lib-src/Makefile.in (etags_args): Remove, replacing with ...
(etags_cflags, etags_libs): New macros.  All uses changed.
(ctags${EXEEXT}): Don't compile etags.c, as compiling etags.c in
parallel (once for ctags, once for etags) breaks parallel makes
with compilers that use the source file name to name temporaries,
such as Sun C 5.12.  Instead, compile ctags.c.
* lib-src/ctags.c: New file.
2014-05-18 11:57:04 -07:00
Glenn Morris fb3f83f5fd Merge from emacs-24; up to 2014-05-08T03:34:20Z!rgm@gnu.org 2014-05-07 20:41:21 -07:00
Samuel Bronson 8e102bcc97 * src/keyboard.c (Frecursive_edit): Ensure inc&dec of command_loop_level
are matched.

Fixes: debbugs:17413
2014-05-06 12:16:57 -04:00
Paul Eggert 3e9fa60a5c Merge from emacs-24; up to 2014-05-04T21:18:30Z!eggert@cs.ucla.edu 2014-05-04 12:37:56 -07:00
Paul Eggert d355cad6b7 Handle systems without WCONTINUED consistently.
* lib-src/emacsclient.c (WCONTINUED): Move to ../src/syswait.h.
* src/process.c (handle_child_signal): Remove WCONTINUED ifdef,
because WCONTINUED is always defined now.
* src/syswait.h (WCONTINUED): Move here from ../lib-src/emacsclient.c.

Fixes: debbugs:15110 debbugs:17339
2014-05-03 13:13:10 -07:00
Juanma Barranquero 09b911adf4 Merge from emacs-24; up to 2014-05-01T10:21:17Z!rgm@gnu.org 2014-04-30 21:54:52 +02:00
Glenn Morris 7ac903abc8 * lib-src/Makefile.in ($(DESTDIR)${archlibdir}): Avoid non-portable "`\" nesting
Fixes: debbugs:17339
2014-04-29 07:54:58 -07:00
Paul Eggert 290d7ac277 Merge from emacs-24; up to 2014-04-16T15:28:26Z!monnier@iro.umontreal.ca 2014-04-16 12:43:46 -07:00
Eli Zaretskii bf6b4923f7 Fix the MSDOS build.
src/unexcoff.c [MSDOS]: Include libc/atexit.h.
 (copy_text_and_data): Zero out the atexit chain pointer before
 dumping Emacs.
 src/termhooks.h (encode_terminal_code): Update prototype.
 src/term.c (encode_terminal_code) [DOS_NT]: Make it externally
 visible for all DOS_NT ports, not just WINDOWSNT.
 (syms_of_term) [!MSDOS]: Don't define 'tty-menu-*' symbols on MSDOS.
 src/sysdep.c (emacs_sigaction_init, init_signals): Don't use SIGCHLD
 unless it is defined.
 (emacs_pipe) [MSDOS]: Redirect to 'pipe'.
 src/process.c (close_on_exec, accept4, process_socket): Move into
 the "ifdef subprocesses" part.
 (catch_child_signal): Condition by "ifdef subprocesses".
 (syms_of_process) <Qinternal_default_process_sentinel>
 <Qinternal_default_process_filter>: Condition by "ifdef subprocesses".
 src/msdos.h: Add prototypes for new functions.
 (EINPROGRESS): Define.
 (O_CLOEXEC): Define to zero.
 src/msdos.c (check_window_system): Remove unnecessary an
 incompatible duplicate function.
 (sys_opendir, readlinkat, faccessat, fstatat, unsetenv): New
 functions in support of new functionality.
 src/menu.c (single_menu_item): Add visual indication  of submenu
 also for menus on MSDOS frames.
 (Fx_popup_menu) [!MSDOS]: Do not call tty_menu_show on MSDOS.
 src/lisp.h (CHECK_PROCESS) [!subprocesses]: Do not define
 when async subprocesses aren't supported.
 src/font.h (FONT_WIDTH) [MSDOS]: MSDOS-specific definition.
 src/emacs.c (close_output_streams): Zero out errno before calling
 close_stream.
 src/dired.c [MSDOS]: Include msdos.h.
 src/conf_post.h (opendir) [MSDOS]: Redirect to sys_opendir.
 (DATA_START) [MSDOS]: Define.
 (SYSTEM_PURESIZE_EXTRA) [MSDOS]: Enlarge by 25K.
 src/callproc.c (block_child_signal, unblock_child_signal) [MSDOS]:
 Ifdef away for MSDOS.
 (record_kill_process) [MSDOS]: Ifdef away the entire body for MSDOS.
 (call_process_cleanup) [MSDOS]: Ifdef away portions not relevant
 for MSDOS.
 (call_process) [MSDOS]: Fix call sequence of dostounix_filename.
 Use temporary file template that is compatible with mkostemp.
 Move vfork-related portions under #ifndef MSDOS.
 (syms_of_callproc): Unify templates of MSDOS and WINDOWSNT.

 lisp/term/pc-win.el (x-list-fonts, x-get-selection-value): Provide
 doc strings, as required by snarf-documentation.

 msdos/sedlisp.inp:
 msdos/sedlibmk.inp:
 msdos/sedleim.inp:
 msdos/sed3v2.inp:
 msdos/sed2v2.inp:
 msdos/sed1v2.inp: Update Sed scripts for Emacs 24.4.
 msdos/inttypes.h: Add PRIdMAX.
 msdos/INSTALL: Update for Emacs 24.4.
 msdos/sedadmin.inp: New file.
2014-04-16 16:27:28 +03:00
Glenn Morris 10211d43fa Reduce duplication in lib-src etags/ctags rules
* lib-src/Makefile.in (etags_deps, etags_args): New, to reduce duplication.
(etags${EXEEXT}, ctags${EXEEXT}): Use etags_deps, etags_args.
2014-03-22 16:08:41 -07:00
Glenn Morris df199e5601 Use $@ more in lib-src/Makefile.in
* lib-src/Makefile.in (etags${EXEEXT}, ebrowse${EXEEXT}, ctags${EXEEXT})
(profile${EXEEXT}, make-docfile${EXEEXT}, movemail${EXEEXT})
(emacsclient${EXEEXT}, emacsclientw${EXEEXT}, hexl${EXEEXT})
(update-game-score${EXEEXT}, emacsclient.res): Use $@.
2014-03-22 16:06:29 -07:00
Glenn Morris 01b0f2f4b1 * lib-src/Makefile.in (../lib/libgnu.a): Explicitly pass MFLAGS. 2014-03-22 16:02:13 -07:00
Glenn Morris 7cd431112c Remove lib-src/test-distrib.c and related
The class of problems that this was designed to detect, namely .elc
files getting corrupted by being passed around by email via uuencode
or somesuch, has not been a relevant concern for many years.

* lib-src/test-distrib.c, lib-src/testfile: Remove.

* lib-src/Makefile.in (DONT_INSTALL): Remove test-distrib.
(test-distrib${EXEEXT}): Remove rule.

* make-dist: Do not distribute lib-src/testfile.

* admin/quick-install-emacs (AVOID): Remove testfile and test-distrib.

* INSTALL, etc/PROBLEMS, admin/notes/unicode:
Remove references to test-distrib and testfile.
2014-03-22 15:52:47 -07:00
Juanma Barranquero f11352e68b lib-src/emacsclient.c (main): #ifdef out previous change on Windows. 2014-03-10 01:09:30 +01:00
Paul Eggert d050de754c Fix emacsclient terminal corruption when in background.
* emacsclient.c (handle_sigcont): Check for tcgetpgrp failure.
Cancel the continue only if tty.  Send SIGTTIN to the process
group, not SIGSTOP to self, as this is what the glibc manual
recommends.
(main): If tty, and if started in the background, send SIGTTIN
to the process group.

Fixes: debbugs:16892
2014-03-09 15:38:15 -07:00
Juanma Barranquero 35e951cd4b */ChangeLog: Trivial fixes. 2014-03-03 05:57:26 +01:00
Paul Eggert 591debed68 Fix emacsclient's handling of SIGCONT.
* emacsclient.c (handle_sigcont): Cancel the continue only if tty.

Fixes: debbugs:16883
2014-02-25 11:06:53 -08:00
Juanma Barranquero c295fc18e3 Fix typos in Changelogs. 2014-02-13 03:19:48 +01:00
Paul Eggert 6c9cbdf04f Document 2014-01-22T19:02:41Z!eggert@cs.ucla.edu better. 2014-01-23 09:59:46 -08:00
Eli Zaretskii 7a49c9d615 Fix MS-Windows build in lib-src broken by last commit.
lib-src/update-game-score.c (write_scores) [WINDOWSNT]: Use chmod
 instead of fchmod.
2014-01-22 21:38:31 +02:00
Paul Eggert dc217d0180 Fix miscellaneous update-game-score bugs.
* configure.ac (difftime): Remove.
* lib/update-game-score.c (difftime) [!HAVE_DIFFTIME]: Remove.
(read_score) [HAVE_GETDELIM]: Don't access uninitialized storage.
(read_scores, write_scores): Check for fclose failure.
(write_scores): Use fchmod, not chmod, to avoid a race.
(lock_file): Fix test for out-of-date lock file; it was reversed.
Use ordinary subtraction rather than difftime; since we're already
assuming POSIX we don't need to worry about the possibility of
time_t being a magic cookie.
2014-01-22 11:02:41 -08:00
Glenn Morris 7bfc1caa62 Unduplicate the lib-src/ and etc/ ChangeLogs
* lisp/emacs-lisp/authors.el (authors-valid-file-names): Related additions.
2014-01-21 21:44:44 -05:00
Glenn Morris 38942b9cf5 ChangeLog fixes 2014-01-21 00:49:46 -08:00
Paul Eggert d70efef4a8 update-game-score fixes for -m and integer overflow
* update-game-score.c: Include inttypes.h, stdbool.h.
(min): New macro, if not already defined.
(MAX_SCORES, main): Limit the maximum number of scores only from
limits imposed by the underyling platform, instead of the
arbitrary value 200.
(struct score_entry, main, read_score, write_score):
Scores are now intmax_t, not long.
(get_user_id): Reject user names containing spaces or newlines,
as they would mess up the score file.
Allow uids that don't fit in 'long'.
Increase the size of the buffer, to avoid overrun in weird cases.
(get_prefix, main): Use bool for boolean.
(main): Rewrite expr to avoid possibility of signed integer
overflow.  Don't allow newlines in data, as this would mess up
the score file.  Check for memory allocation failure when adding
the new score, or when unlockint the file.  Implement -m.
(read_score): Check for integer overflow when reading a score.
(read_score) [!HAVE_GETDELIM]: Check for integer overflow when
data gets very long.  Check only for space to delimit names,
since that's what's done in the HAVE_GETDELIM case.
(read_scores): New parameter ALLOC.  Change counts to ptrdiff_t.
All uses changed.  Use push_score to add individual scores;
that's simpler than repeating its contents.
(score_compare_reverse): Simplify.
(push_score): New parameter SIZE.  Change counts to ptrdiff_t.
All uses changed.  Check for integer overflow of size calculation.
(sort_scores, write_scores): Change counts to ptrdiff_t.
(unlock_file): Preserve errno on success, so that storage
exhaustion is diagnosed correctly.

Fixes: debbugs:16428
2014-01-19 00:50:53 -08:00
Glenn Morris d967cd184c ChangeLog fixes 2014-01-16 00:34:43 -08:00
Paul Eggert c91c771dbe Spelling fixes. 2014-01-15 22:24:06 -08:00
Paul Eggert da5ecfa9b9 Spelling fixes.
* lib-src/Makefile.in (regex.o): Remove reference to no-longer-used macros
CONFIG_BROKETS and INHIBIT_STRING_HEADER.  "BROKETS" was a
misspelling anyway....
* src/nsterm.h (updateCollectionBehavior): Rename from
updateCollectionBehaviour.  All uses changed.
2014-01-04 18:56:08 -08:00
Paul Eggert 6bc383b1a4 Fix copyright years by hand.
These are dates that admin/update-copyright did not update,
or updated incorrectly.
2014-01-01 00:31:29 -08:00
Paul Eggert ba3189039a Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
Paul Eggert 96c0686368 Use bool for boolean, focusing on headers.
* 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.
2013-12-14 13:36:44 -08:00
Paul Eggert d672ac3c61 Prefer tail calls.
* 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.
2013-11-13 17:52:18 -08:00
Glenn Morris 357a508109 Avoid non-portable " ... \"...\" ... " nesting
* configure.ac:
* Makefile.in (install-arch-indep, install-etcdoc, install-info):
* lib-src/Makefile.in ($(DESTDIR)${archlibdir}):
* nt/Makefile.in ($(DESTDIR)${archlibdir}):
Avoid non-portable "`\" nesting.
2013-10-24 19:04:33 -04:00
Glenn Morris 11e5e2eba1 Fix whitespace in previous Makefile.in changes 2013-10-23 21:05:54 -07:00
Glenn Morris eb9a36619e Attempt at a fix for mingw CPPFLAGS
* configure.ac (CPPFLAGS) [mingw32]: Use abs_top_srcdir.

* Makefile.in (abs_top_srcdir):
* lib-src/Makefile.in (abs_top_srcdir):
* lwlib/Makefile.in (abs_top_srcdir):
* nt/Makefile.in (abs_top_srcdir):
* oldXMenu/Makefile.in (abs_top_srcdir):
* src/Makefile.in (abs_top_srcdir):
New, set by configure.
2013-10-23 19:15:16 -07:00
Glenn Morris 48f73cfbf3 Progress towards allowing installation in directories with whitespace
* 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.
2013-10-23 00:20:57 -07:00
Glenn Morris b8e3b0a9ec Make building in directories with whitespace possible
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
2013-10-22 23:22:54 -07:00
Glenn Morris 4b5a548d59 * lib-src/make-docfile.c (search_lisp_doc_at_eol): Use int rather than char
with getc.

Fixes: debbugs:15481
2013-10-09 21:29:30 -04:00
Paul Eggert 00382e8b98 A simpler, centralized INLINE.
* 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.
2013-09-20 08:34:36 -07:00
Paul Eggert 50b13cdedb * Makefile.in (SHELL): Now @SHELL@, not /bin/sh,
for portability to hosts where /bin/sh has problems.
2013-08-27 23:01:52 -07:00
Paul Eggert 43aac990c3 Simplify EMACS_TIME-related code.
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.
2013-08-27 11:47:55 -07:00
Eli Zaretskii d4166523bc Provide a Windows manifest for update-game-score.exe.
lib-src/update-game-score.exe.manifest: New file.
 lib-src/Makefile.in (UPDATE_MANIFEST): New variable.
 (SCRIPTS): Add $(UPDATE_MANIFEST).

 configure.ac: Define and substitute UPDATE_MANIFEST.
2013-08-10 10:43:41 +03:00
Stefan Monnier dc6c0edad7 Revert introduction of isearch-filter-predicates.
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
2013-08-05 14:05:46 -04:00
Eli Zaretskii 98a428c15a Fix bugs in update-game-score, on MS-Windows and elsewhere.
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.
2013-08-05 20:09:28 +03:00
Eli Zaretskii e443729d65 MS-Windows followup to last commit.
lib-src/ntlib.h: Include fcntl.h.
 (mkostemp): Declare prototype.
 (mktemp): Don't redefine.
 lib-src/ntlib.c (mkostemp): New function.

Fixes: debbugs:15015
2013-08-04 20:52:25 +03:00
Paul Eggert e0fdb69430 Fix some minor races in hosts lacking mkostemp.
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
2013-08-04 09:56:56 -07:00
Glenn Morris bbece175c9 Use a @configure_input@ comment at the start of generated Makefiles 2013-07-23 18:57:17 -04:00
Paul Eggert 29abe551a0 Port to C89.
* 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.
2013-07-10 16:23:57 -07:00
Juanma Barranquero 5165d44a78 ChangeLog fixes. 2013-07-08 01:05:52 +02:00
Paul Eggert 57f8c49045 Remove some unused macros from 'configure'.
* 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.
2013-07-02 09:56:29 -07:00
Paul Eggert 37afa042f9 Fix ChangeLog dates. 2013-07-01 17:35:28 -07:00
Paul Eggert 164b1ba3f3 Prefer plain 'static' to 'static inline'.
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
2013-07-01 17:33:04 -07:00
Paul Eggert b33a2a6feb * lib-src/ebrowse.c: Include <stddef.h>, needed on some platforms. 2013-06-21 13:27:13 -07:00
Paul Eggert fbe9e0b9fb Use C99-style flexible array members if available.
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.
2013-06-21 13:11:44 -07:00
Juanma Barranquero 4f40506961 Fix typos in ChangeLogs. 2013-06-19 22:10:57 +02:00
Eli Zaretskii 38b787fa72 Remove *.res files in mostlyclean, to avoid problems with out-of-tree builds.
src/Makefile.in (mostlyclean): Remove *.res files.

 lib-src/Makefile.in (mostlyclean): Remove *.res files.

 nt/Makefile.in (emacs.res): Include srcdir when preprocessing
 resources, for out-of-tree builds.
 (mostlyclean): Remove *.res files.
2013-05-29 19:48:42 +03:00
Paul Eggert 31ff141c22 Port --enable-gcc-warnings to clang.
* 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.
2013-05-17 22:32:17 -07:00
Eli Zaretskii df065a0b9a Support building Emacs on MS-Windows using the Posix configury.
lib/Makefile.am: If building for MS-Windows, include
 nt/gnulib.mk instead of lib/gnulib.mk.
 configure.ac: Adapt to MSYS build on MS-Windows.
 Makefile.in (NTDIR): New variable, for the MSYS build on
 MS-Windows.
 (SUBDIR): Add $(NTDIR).
 (.PHONY): Add epaths-force-w32.
 (msys_to_w32): New variable.
 (epaths-force-w32, install-nt, uninstall-nt): New targets.
 (lib-src src): Add $(NTLIB) to prerequisites.
 (lib lib-src lisp leim nt): Add 'nt'.
 (config.status): Use $(CFG).
 (.PHONY): Add install-$(NTDIR) and uninstall-$(NTDIR).
 (install, install-arch-dep): Add install-$(NTDIR).
 (uninstall): Depend on uninstall-$(NTDIR).
 (mostlyclean, clean, distclean, bootstrap-clean): Add 'nt'.
 * GNUmakefile (CFG): New variable, uses mingw-cfg.site as
 CONFIG_SITE for the MSYS build on MS-Windows.
 (Makefile): Use $(CFG).
 .bzrignore: Ignore *.res, *.tmp, and *.map.  Remove
 src/emacs.res.

 etc/NEWS: Advertise the MSYS build on MS-Windows.

 leim/Makefile.in (leim-list.el, check-declare): Use reveal-filename.

 lib-src/update-game-score.c [WINDOWSNT]: Include "ntlib.h".
 lib-src/ntlib.h (sleep): Update prototype.
 (geteuid): Add prototype.
 lib-src/ntlib.c (sleep): Now returns an unsigned value.
 (getgid): New function.
 lib-src/Makefile.in (CLIENTW, LIB_WSOCK32, LIBS_ECLIENT, NTLIB)
 (CLIENTRES, WINDRES, NTINC, NTDEPS): New variables.
 (INSTALLABLES): Add $(CLIENTW).
 (LIBS_MOVE): Use $(LIB_WSOCK32).
 ($(DESTDIR)${archlibdir}): Use $(EXEEXT) on update-game-score.
 (test-distrib${EXEEXT}): Use $(EXEEXT) on test-distrib.
 (etags${EXEEXT}, ebrowse${EXEEXT}, ctags${EXEEXT})
 (profile${EXEEXT}, make-docfile${EXEEXT}, movemail${EXEEXT})
 (emacsclient${EXEEXT}, hexl${EXEEXT}, update-game-score${EXEEXT}):
 Add $(NTLIB) to prerequisites.  Use $(EXEEXT).
 (pop.o): Add pop.h to prerequisites.
 (emacsclientw${EXEEXT}, ntlib.o): New targets.
 (emacsclient.res): New target.

 lisp/subr.el (reveal-filename): New function.
 lisp/loadup.el: Compute Emacs executable versions on MS-Windows,
 where executables have the .exe extension.  Add a hard link
 emacs-XX.YY.ZZ.exe on MS-Windows.
 lisp/Makefile.in (XARGS_LIMIT): New variable.
 (custom-deps, finder-data, autoloads)
 ($(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): Use reveal-filename.
 (compile-main): Limit xargs according to $(XARGS_LIMIT).

 nt/msysconfig.sh: New file.
 nt/mingw-cfg.site: New file.
 nt/makefile.w32-in (LOCAL_FLAGS): Add -DOLD_PATHS=1.
 nt/inc/unistd.h: Include pwd.h and sys/types.h.
 nt/inc/sys/time.h (_TIMEVAL_DEFINED, timerisset, timercmp)
 (timerclear): Define.
 (gettimeofday): Adjust signature to be Posix compatible, by using
 the 'restrict' keyword.
 nt/inc/sys/stat.h (UTIME_NOW, UTIME_OMIT): Define.
 (struct _stat, struct _stati64): Define.
 nt/inc/sys/socket.h (timeval): Define only for MSVC.
 (FD_SET, FD_CLR, FD_ISSET, fd_set): Redefine only if
 EMACS_CONFIG_H is defined.
 (timeval): Undefine only for MSVC.
 nt/inc/ms-w32.h (HAVE___BUILTIN_UNWIND_INIT, restrict)
 (HAVE_WINDOW_SYSTEM, HAVE_MENUS, EMACS_CONFIGURATION)
 (EMACS_CONFIG_OPTIONS, HAVE_LONG_LONG_INT)
 (HAVE_UNSIGNED_LONG_LONG_INT): Define only if not already defined.
 (fileno): Move definition after including stdio.h.
 (sigset_t): Guard typedef by _W64.
 nt/gnulib.mk: New file.
 nt/epaths.nt: New file.
 nt/addpm.c [!OLD_PATHS]: Include src/epaths.h, instead of having a
 copy of the file names there.
 <env_vars> [!OLD_PATHS]: Use macros from epaths.h instead of
 literal strings.
 nt/Makefile.in: New file.
 nt/INSTALL.MSYS: New file.
 nt/INSTALL: Mention INSTALL.MSYS.

 src/w32.c: Include epaths.h.
 (init_environment): Use cmdproxy.exe without leading directories.
 Support emacs.exe in src; point SHELL to cmdproxy in ../nt in that
 case.
 (gettimeofday): Adjust signature and return value to Posix
 expectations.
 src/unexw32.c (open_output_file): Delete the existing emacs.exe
 before creating it, to break the hard link to the versioned
 executable.
 src/Makefile.in (EMACS_MANIFEST, CM_OBJ, TEMACS_POST_LINK)
 (ADDSECTION, EMACS_HEAPSIZE, MINGW_TEMACS_POST_LINK)
 (FIRSTFILE_OBJ): New variables.
 (W32_RES): Rename to EMACSRES.  All users changed.
 (base_obj): Use $(CM_OBJ).
 (ALLOBJS): Use $(FIRSTFILE_OBJ).
 (emacs$(EXEEXT)): Depend on $(ADDSECTION).
 (temacs$(EXEEXT)): Use $(TEMACS_POST_LINK), and move
 $(W32_RES_LINK) before $(LIBES).
 (emacs.res): Depend on $(EMACS_MANIFEST).  Put emacs.rc in nt.
2013-05-16 15:48:54 +03:00
Eli Zaretskii a9519e2685 Merge from trunk. 2013-05-16 12:58:56 +03:00
Stefan Monnier 6e911150d0 Use just DOC instead of DOC-nn.mm.
* 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".
2013-05-15 16:12:53 -04:00
Eli Zaretskii d14365f941 Merge from trunk, configury not fixed yet. 2013-05-15 19:15:07 +03:00
Paul Eggert 8c13f3d628 * make-docfile.c (search_lisp_doc_at_eol) [DEBUG]: Fix typo,
by removing references to no-longer-existing locals.
2013-05-05 20:32:19 -07:00
Eli Zaretskii 6454498502 Avoid building blessmail and use hard links when installing emacs.exe. 2013-04-14 19:36:49 +03:00
Eli Zaretskii 2b57bbc042 Fix a typo in NTINC value in lib-src/Makefile.in. 2013-04-06 17:03:08 +03:00
Eli Zaretskii d6db9fd60a Fixed src/epaths.h generation and lib-src dependencies and libraries. 2013-04-06 16:25:17 +03:00
Eli Zaretskii eb1dd42a72 Merge from trunk. 2013-04-05 16:10:57 +03:00
Glenn Morris 47d038b3af ChangeLog fixes
2013-03-16 was not the date Emacs 24.3 was released, it was not even
the date on which I merged all changes from that release into trunk.
Ref: http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00990.html
2013-04-03 20:46:25 -07:00
Eli Zaretskii cbbb6bfd46 Fixed a typo in emacsclientw.exe's name. 2013-04-01 18:04:13 +03:00
Eli Zaretskii 030a1c5ea6 Fixed nt/Makefile.in and top-level Makefile.in.
Programs in nt/ and lib-src/ compile and link.
Warnings and errors in src/.
2013-04-01 17:35:26 +03:00
Eli Zaretskii f540ee868c Fixed -gdwarf-2 switch and added emacsclientw.exe to lib-src/Makefile.in. 2013-04-01 16:51:33 +03:00
Eli Zaretskii 095bf25383 Added nt/Makefile.in and appropriate tweaks to configure.ac.
Added emacsclient.res support to lib-src/.
Fixed temacs and dumping commands in src/Makefile.in.
Miscellaneous fixes all over the place.

Not tried to build yet.
2013-04-01 16:18:20 +03:00
Paul Eggert b9edfa5c63 Spelling fixes. 2013-04-01 00:58:04 -07:00
Eli Zaretskii a74b0e1bdf Added nt/gnulib.mk and removed kludges from ms-w32.h and ntlib.h. 2013-03-31 17:04:49 +03:00
Eli Zaretskii 7c4026b6ad Finished with lib-src compilation, except emacsclientw and emacsclient.res.
Next -- compilation in nt/, and then problems in src/.
2013-03-30 20:00:51 +03:00
Eli Zaretskii b88b62dec9 Fix more incompatibilities between MinGW.org and MinGW64 headers
Reported by ׃scar Fuentes in
  http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00699.html
and in
  http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00707.html.

 nt/inc/ms-w32.h (USE_NO_MINGW_SETJMP_TWO_ARGS) [_W64]: Define to 1.
 For MinGW64, include sys/types.h and time.h.
 nt/inc/sys/time.h (struct timeval) [!_W64]: Guard definition with _W64.
 (struct timezone) [!_TIMEZONE_DEFINED]: Guard definition with
 _TIMEZONE_DEFINED.
 nt/addpm.c (_WIN32_IE) [_W64]: For MinGW64, don't define to 0x400.
 nt/inc/sys/stat.h: Remove _CRTIMP from prototypes of fstat, stat,
 lstat, and fstatat.

 lib-src/ntlib.c (struct timespec) [!_TIMEZONE_DEFINED]: Define the
 struct only if _TIMEZONE_DEFINED is not defined.

 src/w32term.c (WCRANGE, GLYPHSET): Don't define if _W64 is defined.
 src/w32.c (REPARSE_DATA_BUFFER): Guard with
 MAXIMUM_REPARSE_DATA_BUFFER_SIZE being defined.
2013-03-26 10:21:27 +02:00
cg d7158313e2 Fix MSVC compilation problem in lib-src.
lib-src/makefile.w32-in (LIB_SRC): Move before first use.
2013-03-23 17:30:38 +02:00
Stefan Monnier 78be8b6465 Merge from emacs-24 2013-03-16 18:08:22 -04:00
Paul Eggert 47d7532e09 File synchronization fixes.
* admin/CPP-DEFINES (BSD_SYSTEM, HAVE_FSYNC): Remove.
* admin/merge-gnulib (GNULIB_MODULES): Add fsync, fdatasync.
* configure.ac (BSD_SYSTEM, BSD_SYSTEM_AHB): Remove; no longer needed.
(fsync): Remove check; now done by gnulib.
* lib/fdatasync.c, lib/fsync.c, m4/fdatasync.m4, m4/fsync.m4:
New files, from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib-src/Makefile.in (LIB_FDATASYNC): New macro.
(emacsclient${EXEEXT}): Use it.
* lib-src/emacsclient.c (main): Use fdatasync, not fsync, since we don't
care about metadata.  Keep trying if interrupted.
* lib-src/movemail.c (main, popmail): Don't worry about BSD_SYSTEM, since
fsync is available everywhere (or there is a substitute).  Don't
report an error if fsync returns EINVAL.
* nt/inc/ms-w32.h (fdatasync): New macro, suggested by Eli Zaretskii.
* src/Makefile.in (LIB_FDATASYNC): New macro.
(LIBES): Use it.
* src/conf_post.h (BSD_SYSTEM, BSD_SYSTEM_AHB): Remove; no longer needed.
* src/fileio.c (Fwrite_region, write_region_inhibit_fsync):
Don't worry about HAVE_FSYNC, since a substitute fsync is
available if the system lacks one.
(Fwrite_regin): Retry fsync if interrupted.

Fixes: debbugs:13944
2013-03-13 11:42:22 -07:00
Paul Eggert d9df6f40e3 Static checking by Sun C 5.12.
* lib-src/etags.c (analyse_regex): Omit unreachable code.
* src/alloc.c (buffer_memory_full) [REL_ALLOC]:
* src/bytecode.c (exec_byte_code):
* src/dispnew.c (init_display):
* src/eval.c (error):
* src/fileio.c (Fsubstitute_in_file_name):
* src/keyboard.c (Fevent_convert_list):
* src/keymap.c (Fsingle_key_description):
* src/term.c (maybe_fatal, fatal):
* src/xfns.c (Fx_display_backing_store, Fx_display_visual_class):
* src/xsmfns.c (Fhandle_save_session):
Omit unreachable code.
* src/keymap.c (map_keymap_char_table_item): Cast void * to
a function pointer type; the C Standard requires this.
2013-03-13 00:27:34 -07:00
Paul Eggert 9e3edd30c3 * movemail.c: Don't grant more read permissions than necessary.
The old 0333 dates back to before we called setuid,
so it was needed back then to ensure user-readability,
but 0377 should suffice now.
2013-03-12 18:05:40 -07:00
Paul Eggert f58afc72bd * movemail.c (main): Call umask on all systems.
This is OK since Emacs already assumes umask elsewhere.
2013-03-12 17:54:47 -07:00
Paul Eggert b2e37dad68 * pop.c: Fix ERRMAX typo (Bug#13925).
(socket_connection) [!HAVE_KRB5_ERROR_TEXT && HAVE_KRB5_ERROR_E_TEXT]:
Use ERROR_MAX, not ERRMAX.
2013-03-12 15:00:07 -07:00
Glenn Morris 24958590a0 Add 24.3 release to ChangeLogs 2013-03-10 19:35:23 -07:00
Paul Eggert c38e0c974e Prefer UTF-8 when the encoding shouldn't matter and changes are small. 2013-03-05 09:13:01 -08:00
Paul Eggert e70e5000f0 * movemail.c (getenv): Remove decl (unused since 1994). 2013-02-08 15:28:29 -08:00
Paul Eggert 1a353a145d * make-docfile.c (write_globals): Make it a bit clearer.
This pacifies GCC 4.7.2 when Emacs is configured with
--enable-link-time-optimization and --enable-gcc-warnings.

Fixes: debbugs:13448
2013-01-15 13:26:01 -08:00
Glenn Morris 0a8bf3afca Merge from emacs-24; up to 2012-12-06T07:33:20Z!rgm@gnu.org 2013-01-02 18:37:57 -08:00
Glenn Morris f0ddbf7b7f Add 2013 to more copyright years 2013-01-02 17:35:49 -08:00
Paul Eggert 0877d0dc24 Merge from emacs-24; up to 2012-12-06T01:39:03Z!monnier@iro.umontreal.ca 2013-01-02 08:13:04 -08:00
Paul Eggert ab422c4d68 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
Juanma Barranquero a19e68ea91 lib-src/makefile.w32-in (lisp1): Add macroexp.elc (bug#13320). 2013-01-01 09:58:46 +01:00
Juanma Barranquero 0eeb69fe15 (lib-src,src,lib)/makefile.w32-in: Update dependencies. 2012-12-11 03:06:53 +01:00
Eli Zaretskii 2b8c906403 Final cleanups and updated ChangeLog entries. 2012-12-10 15:25:17 +02:00
Eli Zaretskii 3907e630a7 Merge from trunk + rename the event. Not tested yet. 2012-12-10 14:08:02 +02:00
Kevin Ryde 1cbaa705e7 * lib-src/etags.c (Lisp_functions): Skip (defvar foo) declarations
unless the --declarations flag is enabled.
(Lisp_help): Update.
(skip_name): New function.

* doc/emacs/maintaining.texi (Tag Syntax): Mention (defvar foo) handling.

* doc/man/etags.1: Mention effect of --declarations in Lisp.

Fixes: debbugs:5600
2012-12-02 09:47:56 +08:00
Kevin Ryde 00054d2199 * lib-src/etags.c (Perl_functions): Support "use constant".
* doc/emacs/maintaining.texi (Tag Syntax): Mention Perl's "use constant".

Fixes: debbugs:5055
2012-12-01 09:22:28 +08:00
Paul Eggert 22626a856b Assume POSIX 1003.1-1988 or later for errno.h.
* lib-src/movemail.c (main): Assume EAGAIN and EBUSY.
* src/dired.c (directory_files_internal, file_name_completion):
Assume EAGAIN and EINTR are defined.
* src/fileio.c (Fcopy_file): Assume EISDIR is defined.
* src/gmalloc.c (ENOMEM, EINVAL): Assume they're defined.
* src/gnutls.c (emacs_gnutls_write): Assume EAGAIN is defined.
* src/lread.c (readbyte_from_file): Assume EINTR is defined.
* src/process.c (wait_reading_process_output, send_process) [subprocesses]:
Assume EIO and EAGAIN are defined.
* src/unexcoff.c (write_segment): Assume EFAULT is defined.

Fixes: debbugs:12968
2012-11-26 21:17:07 -08:00
Paul Eggert e6bac8768b movemail: treat EACCES etc. failures as permanent
* movemail.c (main): Treat any link failure other than EEXIST as a
permanent failure, not just EPERM.  EACCES, for example.
2012-11-23 00:28:06 -08:00
Paul Eggert 9239d97052 Assume POSIX 1003.1-1988 or later for unistd.h.
* admin/CPP-DEFINES (BROKEN_GETWD, HAVE_GETCWD, HAVE_GETWD, HAVE_SIZE_T)
(HAVE_UNISTD_H): Remove.
* configure.ac: Do not check for getcwd or getwd.
* lib-src/emacsclient.c (getcwd): Remove decl.
(get_current_dir_name): Assume getcwd exists.
* lib-src/etags.c (HAVE_GETCWD): Remove.
(getcwd): Remove decl.
(NO_LONG_OPTIONS): Remove this.  All uses removed.
Emacs always has GNU getopt.
(etags_getcwd): Assume getcwd exists.
* lib-src/movemail.c (F_OK, X_OK, W_OK, R_OK): Remove.
* nt/config.nt (HAVE_GETCWD): Remove.
* src/alloc.c: Assume unistd.h exists.
* src/fileio.c (Fexpand_file_name) [DOS_NT]: Use getcwd, not getwd.
* src/sysdep.c (get_current_dir_name): Assume getcwd exists.
(getwd) [USG]: Remove; no longer needed.
(sys_subshell) [DOS_NT]: Use getcwd, not getwd.
* src/w32.c (getcwd): Rename from getwd, and switch to getcwd's API.
* src/w32.h (getcwd): Remove decl.

Fixes: debbugs:12945
2012-11-21 13:06:52 -08:00
Paul Eggert a7db35b378 * emacsclient.c (handle_sigcont, handle_sigtstp): Use raise (sig)
rather than kill (getpid (), sig), as it's simpler and safer.
2012-11-20 00:31:19 -08:00
Juanma Barranquero a75ce9d3fd lib-src/makefile.w32-in, src/makefile.w32-in: Update dependencies.
* lib-src/makefile.w32-in (SYSWAIT_H): New macro.
($(BLD)/movemail.$(O)): Update dependencies.

* src/makefile.w32-in (SYSWAIT_H): New macro.
($(BLD)/callproc.$(O), $(BLD)/w32proc.$(O), $(BLD)/process.$(O))
($(BLD)/sysdep.$(O)): Update dependencies.
2012-11-18 00:16:24 +01:00
Paul Eggert 49cdacdad3 Assume POSIX 1003.1-1988 or later for fcntl.h.
* admin/CPP-DEFINES (O_RDONLY, O_RDWR, HAVE_FCNTL_H): Remove.
* admin/merge-gnulib (GNULIB_MODULES): Add fcntl-h.
* configure.ac: Do not check for fcntl.h.
* lib/gnulib.mk: Regenerate.
* lib-src/movemail.c, lib-src/update-game-score.c: Assume <fcntl.h> exists.
* nt/inc/sys/socket.h (O_NONBLOCK): Rename from O_NDELAY, since the
POSIX name for this flag is O_NONBLOCK.  All uses changed.
* nt/inc/unistd.h (O_RDWR, O_NOCTTY): New macros.  Like AT_FDCWD etc.
these really should be moved to a replacement <fcntl.h> if and
when that gets implemented.  In the meantime, include <fcntl.h>
to make sure we don't override its definitions.
* src/callproc.c (relocate_fd): Assume F_DUPFD.
* src/emacs.c, src/term.c (O_RDWR): Remove.
* src/keyboard.c (tty_read_avail_input): Use O_NONBLOCK rather than
O_NDELAY, since O_NONBLOCK is the standard name for this flag.
* src/nsterm.m: Assume <fcntl.h> exists.
* src/process.c (NON_BLOCKING_CONNECT, allocate_pty, create_process)
(create_pty, Fmake_network_process, server_accept_connection)
(wait_reading_process_output, init_process_emacs):
Assume O_NONBLOCK.
(wait_reading_process_output): Put in a special case for WINDOWSNT
to mimick the older behavior where it had O_NDELAY but not O_NONBLOCK.
It's not clear this is needed, but it's a more-conservative change.
(create_process): Assume FD_CLOEXEC.
(create_process, create_pty): Assume O_NOCTTY.
* src/sysdep.c (init_sys_modes, reset_sys_modes): Assume F_SETFL.
(reset_sys_modes): Use O_NONBLOCK rather than O_NDELAY.
Omit if not DOS_NT, since F_GETFL is not defined there.
(serial_open): Assume O_NONBLOCK and O_NOCTTY.
* src/term.c: Include <fcntl.h>, for flags like O_NOCTTY.
(O_NOCTTY): Remove.
(init_tty): Assume O_IGNORE_CTTY is defined to 0 on platforms that
lack it, since gnulib guarantees this.
* src/w32.c (fcntl): Test for O_NONBLOCK rather than O_NDELAY.

Fixes: debbugs:12881
2012-11-17 14:12:47 -08:00
Eli Zaretskii 5ade42a511 Merge from trunk after 24.3 was moved to emacs-24 branch. 2012-11-02 11:00:44 +02:00
Glenn Morris b75897ba63 * Makefile.in (uninstall): No INSTALLABLES live in archlibdir. 2012-10-26 00:40:51 -07:00
Glenn Morris eeced60b6c Program name transformations should not be applied to $EXEEXT.
* Makefile.in (EMACS, EMACSFULL):
* lib-src/Makefile.in (install, uninstall):
Transformations should not be applied to $EXEEXT.
2012-10-26 00:39:47 -07:00
Eli Zaretskii 4c77e620ec Update lib-src/makefile.w32-in to follow 2012-10-21T01:19:46Z!rgm@gnu.org.
lib-src/makefile.w32-in (lisp2): Add cp51932.el and eucjp-ms.el, to
 follow src/lisp.mk.
2012-10-23 19:09:55 +02:00
Glenn Morris ee7a418df3 Recognize that cp51932.el and eucjp-ms.el are loaded during dumping
* src/lisp.mk (lisp): Add cp51932.el and eucjp-ms.el.

* lib-src/make-docfile.c (scan_lisp_file): Add cp51932.el and eucjp-ms.el.
2012-10-20 18:19:46 -07:00
Eli Zaretskii 6d03e7beda Merge from trunk. 2012-10-20 18:17:25 +02:00
Eli Zaretskii 83c85d8e2e Fix last changes in make-docfile.c.
lib-src/make-docfile.c (IS_SLASH, DEF_ELISP_FILE): New macros.
 (scan_lisp_file): Only pass a .el file if its basename matches a
 known file in its entirety.  Use IS_SLASH and DEF_ELISP_FILE.
2012-10-20 17:26:10 +02:00
Eli Zaretskii 71aa63da78 Fix a typo in lib-src/ChangeLog. 2012-10-20 16:56:09 +02:00
Andreas Schwab cab4f71ebd * make-docfile.c (scan_lisp_file): Add bounds checking. 2012-10-20 15:28:42 +02:00
Eli Zaretskii 87c6b4e6bd Merge from trunk. 2012-10-20 13:49:12 +02:00
Eli Zaretskii 2068905bb7 Fix bug #12395 with doc strings silently omitted from DOC on MS-Windows.
lib-src/make-docfile.c (scan_lisp_file): Barf if called with a .el file
 other than one of a small list of supported un-compiled files.
 lib-src/makefile.w32-in (lisp1, lisp2): Name .elc files wherever they
 exist.

 lisp/loadup.el: Update comment about uncompiled Lisp files.
2012-10-20 12:01:19 +02:00
Eli Zaretskii 9a85d8539c Merge from trunk. 2012-10-17 23:15:03 +02:00
Eli Zaretskii 27067208fd Avoid compiler warnings in lib-src/ntlib.c
src/ntlib.c: Include <mbstring.h>, to avoid compiler warning about
 _mbspbrk.
2012-10-17 23:13:20 +02:00
Eli Zaretskii 7014794467 Merge from trunk after cygw32 commit, and resolve conflicts. 2012-10-08 15:06:31 +02:00
Eli Zaretskii c54ebba4e0 Update w32 dependencies in the wake of cygw32 changes.
src/makefile.w32-in (FONT_H): Add $(FRAME_H).
 (W32TERM_H): Add $(ATIMER_H) and $(FRAME_H).
 ($(BLD)/emacs.$(O), $(BLD)/w32console.$(O)): Update dependencies.
 (GLOBAL_SOURCES): Add cygw32.c.

 lib-src/makefile.w32-in (obj): Add cygw32.o.
2012-10-08 14:21:04 +02:00
Daniel Colascione e08348a0e6 Changelog entries for cygw32 2012-10-07 23:58:40 -08:00
Daniel Colascione 36a305a723 Merge from trunk 2012-10-07 14:31:58 -08:00
Eli Zaretskii c5c91b847a Final version that supports only one watch at a time. 2012-10-07 15:41:15 +02:00
Eli Zaretskii 477f1e5044 Initial version of the w32notify code.
Adding and removing a watch seems to work: a new thread is launched
when a watch is added and exits when the watch is removed.
But there are no notifications, so it seems.  At least, the Lisp
callback function passed to w32notify-add-watch is not called.
2012-10-06 20:02:31 +02:00
Fabrice Popineau 3d3bfa2489 Make make-docfile.c consistent with src/keyboard.c.
lib-src/make-docfile.c (write_globals): Special-case
 Fexit_recursive_edit and Fabort_recursive_edit as well, as
 functions that are _Noreturn, to be consistent with
 src/keyboard.c.
2012-10-01 16:22:23 +02:00
Fabrice Popineau 62aba0d497 Support x64 build on MS-Windows with MSVC.
src/w32term.h (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK): Define for x64.
 (SET_SCROLL_BAR_W32_WINDOW): Cast ID to intptr_t, for
 compatibility with x64.
 src/w32term.c (w32_draw_underwave): Don't use GCC extensions for
 defining an XRectangle structure.
 src/w32proc.c (RVA_TO_PTR, w32_executable_type): Fix pointer
 arithmetics for compatibility with x64.
 src/w32menu.c (add_menu_item): Use UINT_PTR instead of UINT, for
 compatibility with x64.
 src/w32heap.h: Adjust prototypes and declarations.
 src/w32heap.c (RVA_TO_PTR, allocate_heap, sbrk, init_heap)
 (round_heap): Use DWORD_PTR, ptrdiff_t and size_t instead of
 DWORD, long, and unsigned long, for compatibility with x64.
 (allocate_heap) [_WIN64]: Reserve 32GB of memory.
 (sbrk): Argument is now of type ptrdiff_t.
 src/w32fns.c (HMONITOR): Condition declaration on _WIN32_WINNT being
 less than 0x0500.
 (w32_msg_pump): Use WPARAM type for 'result'.
 src/w32.c (init_environment, get_emacs_configuration): Support AMD64
 architecture.
 (init_ntproc): Cast arguments of _open_osfhandle to intptr_t, for
 compatibility with x64.
 src/vm-limit.c (lim_data): Now size_t.
 (check_memory_limits): Adjust prototypes of real_morecore and
 __morecore to receive argument of type ptrdiff_t.  Use size_t for
 five_percent and data_size.
 src/unexw32.c: Use DWORD_PTR instead of DWORD for file-scope
 variables, for compatibility with x64.
 (rva_to_section, offset_to_section, relocate_offset)
 (OFFSET_TO_RVA, RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET)
 (PTR_TO_RVA, RVA_TO_PTR, OFFSET_TO_PTR, get_section_info)
 (copy_executable_and_dump_data): Use DWORD_PTR instead of DWORD
 for compatibility with x64.
 src/sysdep.c (STDERR_FILENO): Define if not already defined.
 src/ralloc.c (real_morecore): Argument type is now ptrdiff_t.
 (__morecore): Argument type is now ptrdiff_t.
 (ROUNDUP, MEM_ROUNDUP): Use size_t instead of 'unsigned long'.
 (relinquish): Use ptrdiff_t type for 'excess'.
 (r_alloc_sbrk): Argument type is now ptrdiff_t.
 src/makefile.w32-in (HEAPSIZE): Get value from EMACS_HEAPSIZE.
 (bootstrap-temacs-CMD, bootstrap-temacs-SH): Use $(EMACS_PURESIZE)
 instead of a literal number.
 src/gmalloc.c [WINDOWSNT]: Include w32heap.h.
 (min): Define only if not already defined.
 src/frame.c (x_report_frame_params): Use EMACS_UINT for the return
 value of FRAME_X_WINDOW, to fit a 64-bit pointer on 64-bit Windows
 hosts.
 src/image.c (x_bitmap_pixmap): Return ptrdiff_t, not int, since
 'bitmaps' is a pointer.
 src/dispextern.h (x_bitmap_pixmap): Adjust prototype.
 src/alloc.c (gdb_make_enums_visible): Now conditional on __GNUC__.

 nt/makefile.w32-in ($(TRES)): Use $(EMACS_MANIFEST).
 nt/inc/sys/socket.h: Don't map Winsock error codes to standard ones
 that are already defined.
 nt/inc/ms-w32.h (EMACS_INT, EMACS_UINT, EMACS_INT_MAX, PRIuMAX)
 (pI, _INTPTR) [_MSC_VER]: Fix definitions for MSVC.
 [_MSC_VER]: Add pragmas to suppress some MSVC warnings.
 nt/preprep.c (pfnCheckSumMappedFile, rva_to_section)
 (offset_to_section, relocate_offset, OFFSET_TO_RVA)
 (RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET, PTR_TO_RVA)
 (OFFSET_TO_PTR, ROUND_UP, ROUND_DOWN)
 (copy_executable_and_move_sections, ADJUST_IMPORT_RVA, main): Use
 DWORD_PTR instead of DWORD for compatibility with x64.
 nt/nmake.defs: Support AMD64.
 (EMACS_HEAPSIZE, EMACS_PURESIZE, EMACS_MANIFEST): New macros.
 nt/gmake.defs: (EMACS_HEAPSIZE, EMACS_PURESIZE, EMACS_MANIFEST):
 New macros.
 nt/addsection.c (pfnCheckSumMappedFile, rva_to_section)
 (offset_to_section, relocate_offset, OFFSET_TO_RVA)
 (RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET, PTR_TO_RVA)
 (OFFSET_TO_PTR, ROUND_UP, ROUND_DOWN)
 (copy_executable_and_add_section, main): Use DWORD_PTR instead of
 DWORD, for compatibility with x64.
 nt/emacs-x64.manifest: New file.
 nt/emacs-x86.manifest: Renamed from emacs.manifest.

 lib-src/ntlib.c (gettimeofday): Copy from src/w32.c.  lib/gettime. 
 needs this function.
2012-09-30 23:36:42 +02:00
Juanma Barranquero 41e9b956af Fix ChangeLog typos. 2012-09-27 00:42:54 +02:00
Juanma Barranquero 6a586b7fe4 Fix some profiler stuff on Windows (follow-up to 1995-03-15T21:55:37Z!kwzh@gnu.org).
* lib-src/makefile.w32-in (obj): Add profiler.o.
* src/makefile.w32-in ($(BLD)/profiler.$(O)): Update dependencies.
2012-09-27 00:04:10 +02:00
Daniel Colascione 2ab329f3b5 Merge from trunk 2012-09-17 04:07:36 -08:00
Daniel Colascione efc3dd3ccc Detect window-system from display name 2012-09-17 03:55:05 -08:00
Daniel Colascione 6b59694eac Add alt_display to emacsclient for w32, ns 2012-09-17 03:55:04 -08:00
Daniel Colascione 5e0944c6f0 Fix emacsclient to work with cygw32 2012-09-17 03:55:03 -08:00
Glenn Morris 78f83752f5 Reduce the number of versioned files storing the short copyright string
* configure.ac (copyright): New output variable.
(COPYRIGHT): New AC_DEFINE.

* admin/admin.el (set-copyright): No more need to set copyrights for
nextstep, or .c files.  Add configure.ac and config.nt.

* lib-src/ebrowse.c (version):
* lib-src/etags.c (print_version): Use COPYRIGHT.

* nextstep/templates/Info-gnustep.plist.in:
* nextstep/templates/InfoPlist.strings.in:
* nextstep/templates/Info.plist.in: Let configure set copyright.

* nt/config.nt (COPYRIGHT): New.

* src/emacs.c: Use COPYRIGHT.
2012-09-16 17:56:08 -07:00
Paul Eggert ae1d87e24e Prefer assignment to memcpy when either will do.
* lib-src/pop.c (socket_connection) [HAVE_GETADDRINFO]:
* src/bidi.c (bidi_push_it, bidi_pop_it):
* src/fns.c (copy_hash_table):
* src/image.c (define_image_type):
* src/keyboard.c (kbd_buffer_store_event_hold):
* src/process.c (Fprocess_send_eof):
* src/xfaces.c (x_create_gc) [HAVE_NS]:
* src/xgselect.c (xg_select):
Use assignment, not memcpy, as either will do here, and assignment is
more likely to catch type errors.
2012-09-11 15:59:50 -07:00
Andreas Schwab 5bf647499a Fixes: debbugs:12306
* etags.c (consider_token): Always zero-terminate token buffer.
2012-08-31 18:53:48 +02:00
Paul Eggert bad03192c4 Clarify recent ChangeLog entry. 2012-08-19 21:04:58 -07:00
Paul Eggert b69a6d2284 Rely on <unistd.h> to declare 'environ',
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'.
2012-08-19 14:00:09 -07:00
Juanma Barranquero 9851e4a5b4 * lib-src/makefile.w32-in ($(BLD)/regex.$(O)): Update dependencies.
* src/makefile.w32-in (C_CTYPE_H): New macro.
(LISP_H, $(BLD)/ccl.$(O), $(BLD)/doc.$(O), $(BLD)/w32console.$(O)):
($(BLD)/fontset.$(O), $(BLD)/frame.$(O), $(BLD)/composite.$(O)):
($(BLD)/sysdep.$(O), $(BLD)/w32uniscribe.$(O)): Update dependencies.
2012-08-17 03:53:29 +02:00
Paul Eggert 8453bb5523 * etags.c (Pascal_functions): Fix parenthesization typo. 2012-08-15 01:57:14 -07:00
Paul Eggert f5d9e83a70 Use bool for Emacs Lisp booleans.
This is more natural, and on my platform (GCC 4.7.1 x86-64) it
makes Emacs's text size .03% smaller and presumably a bit faster.
* admin/merge-gnulib (GNULIB_MODULES): Add stdbool.  This documents a
new direct dependency; stdbool was already being used indirectly
via other gnulib modules.
* lib-src/make-docfile.c (enum global_type): Sort values roughly in
decreasing alignment, except put functions last.
(compare_globals): Use this new property of enum global_type.
(write_globals): Use bool, not int, for booleans.
* src/lisp.h: Include <stdbool.h>.
(struct Lisp_Boolfwd, defvar_bool):
* src/lread.c (defvar_bool): Use bool, not int, for Lisp booleans.
* src/regex.c [!emacs]: Include <stdbool.h>.
(false, true): Remove; <stdbool.h> does this for us now.
2012-08-14 10:45:25 -07:00
Glenn Morris 25e65510a3 Move IF_LINT from lisp.h to conf_post.h
* src/conf_post.h (IF_LINT, lint_assume): Move here from lisp.h.
* src/lisp.h (IF_LINT, lint_assume): Move to conf_post.h.

* lib-src/make-docfile.c (IF_LINT):
* lib-src/emacsclient.c (IF_LINT): Remove (in config.h now).
2012-08-10 14:23:45 -04:00
Glenn Morris 0aa8781fc0 Comments 2012-08-10 00:07:07 -07:00
Glenn Morris 9748df5d77 Remove some make-docfile.c undes that are no longer needed
* lib-src/make-docfile.c (main):
(fopen) [!WINDOWSNT]:
(chdir) [!DOS_NT]: No more need to undef.
2012-08-09 20:16:33 -04:00
Glenn Morris 9374581a24 Move DIRECTORY_SEP from lisp.h to config.h
* configure.ac (DIRECTORY_SEP): Move here from src/lisp.h.

* src/lisp.h (DIRECTORY_SEP): Let configure set it.

* nt/config.nt (DIRECTORY_SEP): Move here from src/lisp.h.

* lib-src/movemail.c (DIRECTORY_SEP, IS_DIRECTORY_SEP):
* lib-src/make-docfile.c (DIRECTORY_SEP, IS_DIRECTORY_SEP):
* lib-src/emacsclient.c (DIRECTORY_SEP, IS_DIRECTORY_SEP, IS_DEVICE_SEP):
Remove (they are in config.h now).
2012-08-09 20:02:10 -04:00
Glenn Morris 59a428eb3f Comments 2012-08-09 19:59:38 -04:00
Glenn Morris 3565663879 * lib-src/ebrowse.c (PATH_LIST_SEPARATOR): Remove
Replace with SEPCHAR from config.h.
2012-08-09 19:53:07 -04:00
Glenn Morris 7eaa9e447d Refill comment 2012-08-08 09:03:04 -07:00
Glenn Morris b33dcadbc2 Comments 2012-08-08 09:01:28 -07:00
Juanma Barranquero 3fbc4b542c * nt/config.nt: Sync with autogen/config.in.
(DOS_NT, MSDOS): New macros.
(WRETCODE, wait3): Remove.

* nt/inc/ms-w32.h (DOS_NT): Remove; defined in config.nt.

* lib-src/makefile.w32-in (LOCAL_FLAGS): Remove WINDOWSNT and DOS_NT,
they are always defined in config.h.
2012-08-03 14:16:40 +02:00
Eli Zaretskii 6dad71783c Support symlinks on latest versions of MS-Windows.
src/w32.c: Include winioctl.h and aclapi.h.
 (is_symlink, chase_symlinks, enable_privilege, restore_privilege)
 (revert_to_self): Forward declarations of static functions.
 <static BOOL g_b_init_get_security_info>:
 <g_b_init_create_symbolic_link>: New static flags.
 (globals_of_w32): Initialize them to zero.
 (GetSecurityInfo_Proc, CreateSymbolicLink_Proc): New typedefs.
 (map_w32_filename): Improve commentary.  Simplify switch.
 (SYMBOLIC_LINK_FLAG_DIRECTORY): Define if not defined in system
 headers (most versions of MinGW w32api don't).
 (get_security_info, create_symbolic_link)
 (get_file_security_desc_by_handle, is_symlink, chase_symlinks):
 New functions.
 (sys_access, sys_chmod): Call 'chase_symlinks' to resolve symlinks
 in the argument file name.
 (sys_access): Call unc_volume_file_attributes only if
 GetFileAttributes fails with network-related error codes.
 (sys_rename): Diagnose renaming of a symlink when the user doesn't
 have the required privileges.
 (get_file_security_desc_by_name): Renamed from
 get_file_security_desc.
 (stat_worker): New function, with most of the guts of 'stat', and
 with addition of handling of symlinks and support for 'lstat'.  If
 possible, get file's attributes and security information by
 handle, not by name.  Produce S_IFLNK bit for symlinks, when
 called from 'lstat'.
 (stat, lstat): New functions, call 'stat_worker'.
 (symlink, readlink, careadlinkat): Rewritten to create and resolve
 symlinks when the underlying filesystem supports them.

 lib/src/ntlib.c (lstat): New function, calls 'stat'.

 nt/inc/sys/stat.h (S_IFLNK): Define.
 (S_ISLNK): A non-trivial definition.
 (lstat): Prototype instead of a macro that redirects to 'stat'.

 lisp/files.el (file-truename): Don't skip symlink-chasing part on
 windows-nt.  Incorporate the resolution of 8+3 short aliases on
 Windows into the loop that recursively chases symlinks.  Compare
 directory and its parent case-insensitively on MS-Windows and
 MS-DOS.

 etc/NEWS: Announce the symlink support on MS-Windows.
2012-08-03 13:23:30 +03:00
Paul Eggert f162bcc31c Use C99-style 'extern inline' if available.
* lib-src/profile.c (SYSTIME_INLINE): Define.
* nt/config.nt: Sync with autogen/config.in.
(_GL_INLINE, _GL_EXTERN_INLINE, _GL_INLINE_HEADER_BEGIN)
(_GL_INLINE_HEADER_END): New macros.
* src/buffer.h (BUFFER_INLINE):
* src/category.h (CATEGORY_INLINE):
* src/character.h (CHARACTER_INLINE):
* src/charset.h (CHARSET_INLINE):
* src/composite.h (COMPOSITE_INLINE):
* src/dispextern.h (DISPEXTERN_INLINE):
* src/lisp.h (LISP_INLINE):
* src/systime.h (SYSTIME_INLINE):
New macro, replacing 'static inline' in this header.
* src/buffer.h, src/category.h, src/character.h, src/charset.h:
* src/composite.h, src/dispextern.h, lisp.h, systime.h:
Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
* src/alloc.c (LISP_INLINE):
* src/buffer.c (BUFFER_INLINE):
* src/category.c (CATEGORY_INLINE):
* src/character.c (CHARACTER_INLINE):
* src/charset.c (CHARSET_INLINE):
* src/composite.c (COMPOSITE_INLINE):
* src/dispnew.c (DISPEXTERN_INLINE):
* src/sysdep.c (SYSTIME_INLINE):
Define to EXTERN_INLINE, so that the corresponding functions
are compiled into code.
* src/conf_post.h (INLINE, EXTERN_INLINE, INLINE_HEADER_BEGIN)
(INLINE_HEADER_END): New macros.
* src/lisp.h (PSEUDOVECTOR_FLAG): Now a macro as well as a constant,
since it's used in non-static inline functions now.
2012-08-02 00:31:34 -07:00
Glenn Morris 837b365b2a Move NT-specific include file to the NT include directory
* nt/inc/ms-w32.h: Move here from ../src/s.
* nt/config.nt (config_opsysfile): Change to <ms-w32.h>.

* s/ms-w32.h: Move to ../nt/inc.
* src/makefile.w32-in (TAGS, TAGS-gmake, MS_W32_H):
Update for new ms-w32.h location.

* lib-src/makefile.w32-in (MS_W32_H): Update for new ms-w32.h location.

* lib/makefile.w32-in (MS_W32_H): Update for new ms-w32.h location.

* lisp/emacs-lisp/authors.el (authors-renamed-files-alist): Add ms-w32.h.
2012-08-01 23:19:48 -07:00
Paul Eggert 13294f9517 Port to Solaris 8.
Without this change, 'configure' fails because the recently-added
wait3 prototype in config.h messes up later 'configure' tests.
Fix this problem by droping wait3 and WRETCODE, as they're
no longer needed on hosts that are current porting targets.
* configure.ac (wait3, WRETCODE): Remove, fixing a FIXME.
All uses changed to waitpid and WEXITSTATUS.
* src/syswait.h (WRETCODE): Remove, consistently with ../configure.ac.
2012-08-01 21:14:48 -07:00
Glenn Morris de7de8723f Update lib-src config.h dependencies
* lib-src/Makefile.in (config_h): New variable.
Use throughout in place of ../src/config.h.
2012-08-01 13:54:06 -04:00
Juanma Barranquero 552a99b4cb Adapt Windows port to recent changes in autogen/config.in.
* lib-src/makefile.w32-in (CONFIG_H): Update dependencies.
(CONF_POST_H): New macro.

* lib/makefile.w32-in (CONFIG_H): Update dependencies.
(CONF_POST_H): New macro.

* nt/config.nt: Sync with autogen/config.in.
Remove code moved to conf_post.h and include <conf_post.h>
(NULL_DEVICE, SEPCHAR, SIGNAL_H_AHB, TIOCSIGSEND, USER_FULL_NAME)
(USG5_4, WRETCODE, _longjmp, _setjmp, wait3): New macros.

* src/makefile.w32-in (CONFIG_H): Update dependencies.
(CONF_POST_H): New macro.

* src/s/ms-w32.h (SEPCHAR, NULL_DEVICE): Remove; moved to nt/config.nt.
2012-08-01 02:29:59 +02:00
Paul Eggert 0aee69126f Update .PHONY listings in makefiles. 2012-07-30 09:20:35 -07:00
Eli Zaretskii 8519232d51 Fix parallel builds on Windows in lib-src.
lib-src/makefile.w32-in ($(BLD)/profile.$(O)): Depend on stamp_BLD.
2012-07-29 18:53:31 +03:00
Paul Eggert b46a6a83b3 Don't use the abbreviation "win" to refer to Windows (Bug#10421).
* lisp/org/ob-lilypond.el (ly-w32-ly-path): Rename from ly-win32-ly-path.
(ly-w32-pdf-path): Rename from ly-win32-pdf-path.
(ly-w32-midi-path): Rename from ly-win32-midi-path.
(ly-determine-ly-path, ly-determine-pdf-path, ly-determine-midi-path):
Check for "windows-nt", not "win32", in system-type.
* src/regex.c (MAX_BUF_SIZE): Remove some incorrect and
long-ago-commented-out code that talks about "WIN32".
* src/w32heap.h (OS_WINDOWS_95): Rename from OS_WIN95.
All uses changed.
2012-07-29 01:18:29 -07:00
Paul Eggert debd9b27a2 * movemail.c: Add missing 'defined'.
Suggested by Sven Joachim in
<http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00218.html>.
2012-07-12 08:20:39 -07:00
Paul Eggert c214e35e48 Port 'movemail' again to Solaris and similar hosts.
See Susan Cragin's report in
<http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00199.html>.
* movemail.c (xmalloc): Also define if !DISABLE_DIRECT_ACCESS &&
!MAIL_USE_MMDF && !MAIL_USE_SYSTEM_LOCK.  Move up, so it doesn't
need a forward declaration.
(main): Rewrite to avoid no-longer-present function 'concat', if
!DISABLE_DIRECT_ACCESS && !MAIL_USE_MMDF && !MAIL_USE_SYSTEM_LOCK.
2012-07-11 15:44:07 -07:00
Paul Eggert 5ebbef1dc0 Assume strerror. 2012-07-10 22:44:06 -07:00
Paul Eggert e9a9ae0350 EMACS_TIME simplification (Bug#11875).
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.
2012-07-10 16:24:36 -07:00
Paul Eggert e99a530f8c Simplify by avoiding confusing use of strncpy etc. 2012-07-10 14:48:34 -07:00
Paul Eggert 5994c1836b Add GCC-style 'const' attribute to functions that can use it. 2012-07-09 09:38:45 -07:00
Juanma Barranquero ad0a19b70e lib-src/emacsclient.c (w32_execvp): Declare execvp to silence the compiler. 2012-07-09 16:01:41 +02:00
Juanma Barranquero 794327722e lib-src/emacsclient.c: Adapt comments to GNU coding standards. 2012-07-09 16:00:31 +02:00
Juanma Barranquero 65e4651590 lib-src/makefile.w32-in: Rework dependencies.
($(BLD)/test-distrib.exe): Use LIB_SRC, not SRC.
(LIB_SRC, NT_INC, GNU_LIB, MS_W32_H, CONFIG_H, INTTYPES_H, NTLIB_H)
(SYSTIME_H): New macros.
(SRC): Redefine to point to src/, not current directory.
($(BLD)/ctags.$(O), $(BLD)/ebrowse.$(O), $(BLD)/emacsclient.$(O))
($(BLD)/etags.$(O), $(BLD)/hexl.$(O), $(BLD)/make-docfile.$(O))
($(BLD)/movemail.$(O), $(BLD)/ntlib.$(O), $(BLD)/pop.$(O))
($(BLD)/profile.$(O), $(BLD)/test-distrib.$(O)): Update dependencies.
($(BLD)/regex.$(O)): New dependency.
2012-07-09 06:21:55 +02:00
Juanma Barranquero 31542918c3 lib-src/makefile.w32-in (ALL): Add profile.exe.
(PROFILEOBJS): New macro.
($(BLD)/profile.exe): New target.
(install): Copy profile.exe.
($(BLD)/alloca.$(O), $(BLD)/tcp.$(O)): Remove, obsolete.
2012-07-09 02:59:38 +02:00
Juanma Barranquero 07adc2c63b Update Windows port to gnulib changes in 2012-07-06T21:07:46Z!eggert@cs.ucla.edu.
* lib-src/makefile.w32-in ($(BLD)/ctags.$(O), $(BLD)/etags.$(O)):
Update dependencies.

* lib/makefile.w32-in (GNULIBOBJS): Add $(BLD)/c-ctype.$(O),
$(BLD)/c-strcasecmp.$(O) and $(BLD)/c-strncasecmp.$(O).
($(BLD)/c-ctype.$(O), $(BLD)/c-strcasecmp.$(O))
($(BLD)/c-strncasecmp.$(O)): New dependencies.

* src/makefile.w32-in (DISPEXTERN_H, $(BLD)/regex.$(O)):
Update dependencies.

* src/s/ms-w32.h [_MSC_VER]: Remove strcasecmp, strncasecmp.
2012-07-07 02:20:56 +02:00
Paul Eggert fee5959dd8 Use c_strcasecmp for ASCII case-insensitive comparison.
Fixes: debbugs:11786
2012-07-06 14:07:46 -07:00
Andreas Schwab 9c32bf45f4 * make-docfile.c (write_globals): Warn about duplicate function
definitions with differing signatures.
2012-07-06 21:50:17 +02:00
Paul Eggert 9c46aab901 * make-docfile.c (scan_c_file): Suppress GCC warning. 2012-07-03 14:14:48 -07:00
Tom Tromey 404dbd373a Auto-generate EXFUN using make-docfile
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.
2012-07-03 12:24:42 -06:00
Juanma Barranquero b95b72547b lib-src/makefile.w32-in (CTAGS_CFLAGS): Remove EMACS_NAME.
Already defined in ETAGS_CFLAGS.
2012-07-01 01:01:52 +02:00
Eli Zaretskii 0d23c240ea Adapt the MS-DOS build to the latest changes.
msdos/mainmake.v2 (bootstrap-clean): Do a maintainer-clean in lib, not
 bootstrap-clean (which doesn't exist).
 msdos/inttypes.h (PRIuMAX) [__DJGPP__ < 2.04]: Define to "llu".
 msdos/sedleim.inp (MKDIR_P): Edit to DOS "md" command.
 msdos/sed1v2.inp: (LIB_CLOCK_GETTIME): Edit to empty.
 Remove lines that invoke PAXCTL.
 (clean): Fix recipe not to run Unixy shell commands.
 msdos/sed2v2.inp (GETTIMEOFDAY_TIMEZONE): Edit to 'struct timezone'.
 (HAVE_STRNCASECMP): Edit to 1.
 msdos/sed3v2.inp (LIB_CLOCK_GETTIME): Edit to empty.
 (C_SWITCH_SYSTEM): Add "-I../msdos".
 msdos/sedlibmk.inp (GNULIB_GETTIMEOFDAY, GNULIB_PSELECT)
 (GNULIB_SELECT, HAVE_STRUCT_TIMEVAL, HAVE_SYS_SELECT_H)
 (HAVE_SYS_TIME_H, NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H)
 (NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H, NEXT_SYS_SELECT_H)
 (NEXT_SYS_TIME_H, REPLACE_GETTIMEOFDAY, REPLACE_PSELECT)
 (REPLACE_STRUCT_TIMEVAL): Edit to appropriate values.
 (BUILT_SOURCES): Edit out sys/select.h and sys/time.h.
 (mostlyclean-local, distclean-generic): Fix recipe not to run
 Unixy shell commands.

 src/sysselect.h [DOS_NT]: Don't include sys/select.h.
 src/s/ms-w32.h (select, pselect): Don't define here, they are
 defined in sysselect.h
 src/sysselect.h (pselect) [!HAVE_PSELECT]: Redirect to sys_select.
 src/sysdep.c: Don't include dos.h and dosfns.h.
 src/process.c (sys_select):
 src/msdos.c (sys_select): Accept one more argument and ignore it.
 src/msdos.c (event_timestamp, sys_select): Use gnulib's gettime;
 adapt data types and code to that.
 src/dosfns.c:
 src/msdos.c (gettime, settime): Define away the prototypes in dos.h,
 which clashes with the gnulib function of the same name.

 lisp/emacs-lisp/timer.el (timer-until): Subtract results of
 float-time, instead of taking float-time of the result of
 time-subtract, since float-time signals an error for negative time
 arguments.
2012-06-30 18:32:51 +03:00
Glenn Morris 1ba6038a1d Remove paths.el
* lisp/info.el (Info-default-directory-list): Move here from paths.el.
* lisp/paths.el: Remove file, which is now empty.
* lisp/loadup.el: No longer load "paths".

* src/lisp.mk (lisp): Remove paths.elc.

* lib-src/makefile.w32-in (lisp2): Remove paths.el.

* INSTALL: Remove references to paths.el.
2012-06-27 00:47:56 -07:00
Paul Eggert cf38a720e8 Clean out last vestiges of the old HAVE_CONFIG_H stuff. 2012-06-25 18:05:39 -07:00
Dmitry Antipov 3511c78479 * configure.in (AC_CHECK_FUNCS): Detect library functions
strcasecmp and strncasecmp.
* lib-src/etags.c (etags_strcasecmp, etags_strncasecmp): Define to
library functions strcasecmp and strncasecmp if available.
* lwlib/lwlib.c (my_strcasecmp): Rename to lwlib_strcasecmp, which
may be defined to library function strcasecmp if available.
* src/dispextern.c (xstrcasecmp): Define to library function
strcasecmp if available.
* src/xfaces.c: Do not use xstrcasecmp if strcasecmp is available.
2012-06-25 18:07:04 +04:00
Paul Eggert 845ca89390 Switch from NO_RETURN to C11's _Noreturn.
Fixes: debbugs:11750
2012-06-24 10:39:14 -07:00
Samuel Bronson dd1ff7c09a * emacsclient.c (set_local_socket): Fix a compiler warning.
Fixes: debbugs:7838
2012-06-24 17:43:09 +08:00
Paul Eggert 10b6eb0d9d Fix misspelling in latest ChangeLog entry. 2012-06-23 10:32:27 -07:00
Paul Eggert d35af63cd6 Support higher-resolution time stamps.
Fixes: debbugs:9000
2012-06-22 14:17:42 -07:00
Andreas Schwab 7cb70fd73e * make-docfile.c (search_lisp_doc_at_eol): Unget last read
character.
2012-06-08 23:33:58 +02:00
Glenn Morris 67163749cc Remove script stamping in lib-src/
rcs2log no longer needs it, and grep-changelog never really has
(nothing in Emacs runs that, I don't know why Emacs includes it, if you
are using an uninstalled out-of-tree build you can just as easily run
it from the source directory).

* lib-src/Makefile.in (STAMP_INST_SCRIPTS, STAMP_SCRIPTS, insrcdir)
(stamp-rcs2log, stamp-grep-changelog): Remove.
(all, clean): Remove references to stamps.

* .bzrignore: Do not ignore lib-src/stamp*.
2012-06-05 21:38:04 -04:00
Glenn Morris 276d5f5de5 Remove lib-src/vcdiff
* lib-src/vcdiff: Remove file.
* lib-src/Makefile.in (SCRIPTS, STAMP_SCRIPTS): Remove vcdiff.
(stamp-vcdiff): Remove.

* INSTALL, make-dist: Remove vcdiff.

* lisp/emacs-lisp/authors.el (authors-fixed-entries): Remove vcdiff
2012-06-05 21:06:54 -04:00
Glenn Morris b3c659a1b4 Remove some cruft from lib-src/makefile.w32-in
* lib-src/makefile.w32-in ($(BLD)/getdate.$(O), $(BLD)/leditcfns.$(O)):
($(BLD)/make-path.$(O), $(BLD)/qsort.$(O)):
($(BLD)/timer.$(O)): Remove; unused.
2012-06-05 13:56:38 -04:00
Glenn Morris 418cd7265a Remove lib-src/rcs-checkin
This script isn't used by Emacs, and I can't imagine anyone else is
using it any more either...  From the commentary:
"This script is intended to be used to convert files with an
old-Emacs-style version history for use with VC (the Emacs 19
version-control interface), which likes to use RCS as its back end."

* lib-src/rcs-checkin: Remove file.
* lib-src/Makefile.in (INSTALLABLE_SCRIPTS, STAMP_INST_SCRIPTS):
Remove rcs-checkin.
(stamp-rcs-checkin): Remove.

* INSTALL, make-dist: Remove rcs-checkin.

* admin/quick-install-emacs (PUBLIC_LIBSRC_SCRIPTS): Remove rcs-checkin.

* doc/man/rcs-checkin.1: Remove.
2012-06-03 16:49:12 -07:00
Chong Yidong efc00ab16e Merge from emacs-24; up to 2012-04-24T21:47:24Z!michael.albinus@gmx.de 2012-05-31 14:08:06 +08:00
Stefan Monnier 61b108cc62 * lisp/emacs-lisp/byte-run.el (defmacro, defun): Move from C.
(macro-declaration-function): Move var from C code.
(macro-declaration-function): Define function with defalias.
* lisp/emacs-lisp/macroexp.el (macroexpand-all-1):
* lisp/emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form):
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Don't handle
defun/defmacro any more.
* lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-signature):
Provide fallback for unknown arglist.
(byte-compile-arglist-warn): Change calling convention.
(byte-compile-output-file-form): Move print-vars binding.
(byte-compile-output-docform): Simplify accordingly.
(byte-compile-file-form-defun, byte-compile-file-form-defmacro)
(byte-compile-defmacro-declaration): Remove.
(byte-compile-file-form-defmumble): Generalize to defalias.
(byte-compile-output-as-comment): Return byte-positions.
Simplify callers accordingly.
(byte-compile-lambda): Use `assert'.
(byte-compile-defun, byte-compile-defmacro): Remove.
(byte-compile-file-form-defalias):
Use byte-compile-file-form-defmumble.
(byte-compile-defalias-warn): Remove.
* src/eval.c (Fdefun, Fdefmacro, Vmacro_declaration_function):
Move to byte-run.el.
(Fautoload): Do the hash-doc more carefully.
* src/data.c (Fdefalias): Purify definition, except for keymaps.
(Qdefun): Move from eval.c.
* src/lisp.h (Qdefun): Remove.
* src/lread.c (read1): Tiny simplification.
* lib-src/make-docfile.c: Improve comment style.
(search_lisp_doc_at_eol): New function.
(scan_lisp_file): Use it.
2012-05-29 23:59:42 -04:00
Eli Zaretskii 0652336413 Fix bug #11405 with MSVC build of emacsclientw.
lib-src/makefile.w32-in ($(BLD)/emacsclientw.exe): Use $(MWINDOWS)
 instead of a literal -mwindows, which is not supported by MSVC.
 nt/nmake.defs (MWINDOWS): Define as "-subsystem:windows -entry:mainCRTStartup".
 Suggested by Fabrice Popineau <fabrice.popineau@supelec.fr>.
 nt/gmake.defs (MWINDOWS): Define as "-mwindows".
2012-05-29 19:15:12 +03:00
Glenn Morris fe453991ea * lib-src/Makefile.in (INSTALL_DATA): Remove; unused. 2012-05-26 15:38:19 -07:00
Paul Eggert 3437465030 Remove src/m/*.
* configure.in: Remove all mention of src/m/*.
(machine, machfile, M_FILE, config_machfile, and_machfile): Remove.
All uses removed.
(BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG)
(BITS_PER_LONG_LONG): Move to src/lisp.h.
* lib/makefile.w32-in: Remove dependencies on
$(EMACS_ROOT)/src/m/intel386.h.
* make-dist: Don't make links to src/m.
* admin/CPP-DEFINES: Do not mention src/m/*.h.
(BITS_PER_EMACS_INT, BITS_PER_LONG, BITS_PER_CHAR)
(BITS_PER_SHORT, BITS_PER_INT): Remove.
* admin/MAINTAINERS: Remove src/m/.
* lib-src/makefile.w32-in: Remove dependencies on
$(EMACS_ROOT)/src/m/intel386.h.
* msdos/mainmake.v2 (TAGS tags): Don't look at $(CURDIR)/src/m/intel386.h.
* nt/config.nt: Do not include "m/intel386.h"; file was removed.
(BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG):
Move to src/lisp.h.
(EMACS_INT_MAX): New macro.
This directory predates autoconf and is no longer needed nowadays.
Move its few remaining bits of functionality to where they're needed.
* src/m/README, src/m/alpha.h, src/m/amdx86-64.h, src/m/ia64.h, src/m/ibmrs6000.h:
* src/m/ibms390x.h, src/m/intel386.h, src/m/m68k.h, src/m/macppc.h:
* src/m/sparc.h, src/m/template.h: Remove.
* src/Makefile.in (M_FILE): Remove.  All uses removed.
* src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS):
* src/lisp.h (USE_LSB_TAG):
* src/mem-limits.h (EXCEEDS_LISP_PTR):
Use VAL_MAX, not VALBITS, in #if.
* src/lisp.h (EMACS_INT_MAX): New macro, useful in #if.
(EMACS_UINT): Define unconditionally now.
(BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG)
(BITS_PER_EMACS_INT): New constants, replacing
what used to be in config.h, but not useful in #if.
(GCTYPEBITS, VALBITS): Define unconditionally, since m/* files don't
define them any more.
(VAL_MAX): New macro.
(VALMASK): Use it.
* src/puresize.h (PURESIZE_RATIO): Use EMACS_INT_MAX, not
BITS_PER_EMACS_INT, in #if.
* src/s/aix4-2.h (BROKEN_FIONREAD, BROKEN_SIGAIO, BROKEN_SIGPTY)
(BROKEN_SIGPOLL): Move here from m/ibmrs6000.h, which was removed.
* src/s/gnu-linux.h (ULIMIT_BREAK_VALUE) [__i386__]:
* src/s/ms-w32.h (DATA_START):
Move here from removed file m/intel386.h.
* src/s/gnu.h (NLIST_STRUCT): Remove undef; 'configure' does this.
* src/s/irix6-5.h (_LP64): Remove; lisp.h no longer needs this.
2012-05-22 09:20:27 -07:00
Glenn Morris 32514cfe68 * lib-src/Makefile.in (install): Remove unneeded chmods.
INSTALL_PROGRAM and INSTALL_SCRIPT default to mode 755.
2012-05-21 20:58:17 -04:00
Paul Eggert 261cb4bb75 Assume C89 or later.
* configure.in (AC_C_PROTOTYPES, AC_C_VOLATILE, AC_C_CONST)
(POINTER_TYPE, PROTOTYPES): Remove.
* admin/CPP-DEFINES: Remove NULL, const.
* lib-src/etags.c (static, const): Remove macros.
(PTR): Remove; all uses replaced with void *.  Omit needless casts.
* src/alloc.c, src/buffer.c, lisp.h: Replace POINTER_TYPE with void.
* alloc.c (overrun_check_malloc, overrun_check_realloc, xmalloc)
(xrealloc):
* buffer.c (mmap_free_1, mmap_enlarge): Omit needless casts.
* editfns.c, fns.c, gmalloc.c, insdel.c, sysdep.c, termcap.c (NULL):
* textprop.c, tparam.c (NULL): Remove.
* ralloc.c, vm-limit.c (POINTER): Assume void * works.
* regex.c (SIGN_EXTEND_CHAR): Assume signed char works.
* regex.h (_RE_ARGS): Remove.  All uses rewritten to use prototypes.
* unexelf.c (ElfBitsW): Assume c89 preprocessor or better.
* xterm.c (input_signal_count): Assume volatile works.
2012-05-21 08:36:54 -07:00
Glenn Morris b847032c75 Command substitution already runs in a subshell
* Makefile.in (install-arch-indep, install-doc, install-info, uninstall):
* leim/Makefile.in (leim-list.el, install):
* lib-src/Makefile.in (insrcdir, $(DESTDIR)${archlibdir}):
* lisp/Makefile.in (setwins, setwins_almost, setwins_for_subdirs):
* test/automated/Makefile.in (setwins):
Scrap superfluous subshells.
2012-05-20 17:44:34 -07:00
Glenn Morris ed4affe121 * lib-src/Makefile.in (install): Ensure $bindir exists. 2012-05-17 23:33:04 -07:00
Glenn Morris 3a4155de66 Install a self-contained NS build's libexec directly into the right place
This is rather than installing it in one place then moving it.

* configure.in (archlibdir): Set it for self-contained ns builds.
(libexecdir): Don't expand it now (this is mainly cosmetic).

* Makefile.in (ns_appbindir, ns_appresdir):
Move them before things that may refer to them.
(install-arch-dep): No need to relocate self-contained ns libexec.

* lib-src/Makefile.in (ns_appbindir): New, set by configure.
2012-05-16 21:23:03 -04:00
Glenn Morris 005ad20498 Don't use build-aux/install-sh -d directly
* leim/Makefile.in (MKDIR_P): New, set by configure.
(install): Use $MKDIR_P.

* lib-src/Makefile.in (MKDIR_P): New, set by configure.
($(DESTDIR)${archlibdir}): Use $MKDIR_P.
2012-05-11 21:19:47 -04:00
Paul Eggert db5a300303 etags: pacify gcc -Wstack-protector on Ubuntu 12.04 x86
* etags.c: Include <stdarg.h>.
(error): Declare as printf-style, as that's what it really is.
All uses changed.
(add_regex): Use single char rather than array-of-one char.
2012-05-09 17:27:32 -07:00
Chong Yidong eceeb5fca6 Merge from emacs-24; up to 2012-04-20T05:47:55Z!eliz@gnu.org 2012-05-05 12:32:58 +08:00
Chong Yidong be4e7c155b Backport 2012-05-02T11:33:49Z!lekktu@gmail.com from trunk 2012-05-02 21:06:50 +08:00
Chong Yidong 687d464f5c Backport Bug#11374 fix from trunk 2012-05-02 21:06:08 +08:00
Juanma Barranquero 5d3385a0eb Fix ChangeLog typos. 2012-05-02 13:43:14 +02:00
Juanma Barranquero 069a7756f7 lib-src/emacsclient.c (min): Undef before redefining it. 2012-05-02 13:33:49 +02:00
Jim Meyering 1e6f32f816 * lib-src/emacsclient.c (send_to_emacs): Avoid invalid strcpy
upon partial send.

Fixes: debbugs:11374
2012-05-02 18:41:27 +08:00
Jim Meyering bf98199cf1 Add NUL-termination to some uses of strncpy.
* lib-src/pop.c (pop_stat, pop_list, pop_multi_first, pop_last):
NUL-terminate the error buffer.

* src/w32font.c (fill_in_logfont): NUL-terminate a string (Bug#11372).
2012-05-02 18:12:13 +08:00
Andreas Schwab a706a3bca4 Fixes: debbugs:11380
* make-docfile.c (scan_lisp_file) [DEBUG]: Also skip if and
byte-code forms.
2012-04-29 22:05:44 +02:00
Chong Yidong 2d0e8e614a Fix emacsclient/server behavior under --without-x.
* lib-src/emacsclient.c (main): Send -tty to Emacs under more circumstanced (Bug#8314).

* lisp/server.el (server-process-filter): Only try to open a window
system frame if compiled with graphical support (Bug#8314).

Fixes: debbugs:11102
2012-04-20 18:37:57 +08:00
Chong Yidong c07a4c0b59 Merge from emacs-24 branch 2012-04-20 16:48:50 +08:00
Paul Eggert 6c94c34fe8 Merge from trunk. 2012-04-18 09:45:13 -07:00
Paul Eggert 6c91c9f0a5 Fix ChangeLog typo. 2012-04-17 16:06:33 -07:00
Paul Eggert ae6e112df0 Merge from trunk. 2012-04-17 14:38:34 -07:00
Paul Eggert f7752e6738 Merge from trunk. 2012-04-15 18:12:46 -07:00
Paul Eggert 15142f2797 Assume less-ancient POSIX support.
* update-game-score.c: Include <getopt.h> rather than rolling our
own decls for optarg, optind, opterr.  See
<http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00720.html>.
2012-04-15 17:41:01 -07:00
Paul Eggert 20a14f94f6 Merge from trunk. 2012-04-15 16:55:52 -07:00
Chong Yidong 9a864fa27d Move "emacsclient -t -n" handling from emacsclient.c to server.el.
Fix its buggy logic for the Windows case (regression from 23.4).

* lib-src/emacsclient.c (decode_options): Move -t -n corner case handling
into server.el.

* lisp/server.el (server-process-filter): Handle corner case where both
tty and nowait options are present.

Fixes: debbugs:11102
2012-04-15 16:49:24 +08:00
Juanma Barranquero 75f1671a52 Fix ChangeLog typos. 2012-04-15 04:59:30 +02:00
Paul Eggert bdf35b6a6a Merge from trunk. 2012-04-13 21:37:44 -07:00
Glenn Morris 35dc09a19c Merge from emacs-24, up to 2012-04-10T02:06:19Z!larsi@gnus.org 2012-04-13 18:46:06 -07:00
Juanma Barranquero 9401b32679 lib-src/emacsclient.c (decode_options) [WINDOWSNT]: Fix typo in 2011-12-04T17:13:01Z!lekktu@gmail.com.
Call ttyname instead of passing its address.
2012-04-12 20:22:06 +02:00
Paul Eggert 9f46df23a3 Merge from trunk; add Bug#. 2012-04-09 12:51:06 -07:00
Paul Eggert b8df54ffbe configure: new option --enable-gcc-warnings
I have been using this change for many months in my private copy
of Emacs, and have used it to find several bugs.  It's mature
enough to publish now.
* Makefile.in (GNULIB_MODULES): Add warnings, manywarnings.
* configure.in: Support --enable-gcc-warnings, in the style of
other GNU packages such as coreutils.
(C_WARNINGS_SWITCH): Remove, replacing with...
(WARN_CFLAGS, GNULIB_WARN_CFLAGS): New variable.
(PKG_CHECK_MODULES, C_SWITCH_X_SITE): Use -isystem rather than -I,
when including system files with GCC.
* etc/NEWS: Mention --enable-gcc-warnings.
* lib/Makefile.am (AM_CFLAGS): New macro.
* m4/manywarnings.m4, m4/warnings.m4: New files, from gnulib.
* lib-src/Makefile.in (C_WARNINGS_SWITCH): Remove.
(WARN_CFLAGS, WERROR_CFLAGS): New macros.
(BASE_CFLAGS): Use new macros rather than old.
* lwlib/Makefile.in (C_WARNINGS_SWITCH): Remove.
(WARN_CFLAGS, WERROR_CFLAGS): New macros.
(ALL_CFLAGS): Use new macros rather than old.
* oldXMenu/Makefile.in (C_WARNINGS_SWITCH): Remove.
(WARN_CFLAGS, WERROR_CFLAGS): New macros.
(ALL_CFLAGS): Use new macros rather than old.
* src/Makefile.in (C_WARNINGS_SWITCH): Remove.
(WARN_CFLAGS, WERROR_CFLAGS): New macros.
(ALL_CFLAGS): Use new macros rather than old.
* src/process.c: Ignore -Wstrict-overflow to work around GCC bug 52904.
* src/regex.c: Ignore -Wstrict-overflow.  If !emacs, also ignore
-Wunused-but-set-variable, -Wunused-function, -Wunused-macros,
-Wunused-result, -Wunused-variable.  This should go away once
the Emacs and Gnulib regex code is merged.
(xmalloc, xrealloc): Now static.
2012-04-09 00:45:59 -07:00
Eli Zaretskii 9078ead6ce Support building on MS-Windows with libxml2.
src/makefile.w32-in (OBJ2): Add xml.$(O).
 (GLOBAL_SOURCES): Add xml.c.
 ($(BLD)/xml.$(O)): New dependency list.
 src/xml.c (DEF_XML2_FN, LOAD_XML2_FN) [WINDOWSNT]: New macros.
 (fn_htmlReadMemory, fn_xmlReadMemory, fn_xmlDocGetRootElement)
 (fn_xmlFreeDoc, fn_xmlCleanupParser, fn_xmlCheckVersion)
 [!WINDOWSNT]: New macros.
 (init_libxml2_functions, libxml2_loaded_p): New functions.
 (parse_region): Call fn_xmlCheckVersion instead of using the macro
 LIBXML_TEST_VERSION.  Call libxml2 functions via the fn_* macros.
 (xml_cleanup_parser): New function, export for fn_xmlCleanupParser.
 Calls xmlCleanupParser only if libxml2 was loaded (or statically
 linked in).
 (Flibxml_parse_html_region, Flibxml_parse_xml_region): Call
 init_libxml2_functions before calling libxml2 functions.
 (syms_of_xml) <Qlibxml2_dll>: DEFSYM it.
 src/emacs.c: Don't include libxml/parser.h.
 (shut_down_emacs): Call xml_cleanup_parser, instead of calling
 xmlCleanupParser directly.
 src/ lisp.h [HAVE_LIBXML2]: Add prototype for xml_cleanup_parser.

 nt/configure.bat: Support building with libxml2.
 nt/INSTALL:
 nt/README.W32: Add information about libxml2.

 lisp/term/w32-win.el (dynamic-library-alist): Add libxml2 DLLs.

 lib-src/makefile.w32-in (obj): Add xml.o.
2012-04-07 16:57:36 +03:00
Eli Zaretskii e4ecc6a217 Build test-distrib on MS-Windows and run it during the build.
lib-src/makefile.w32-in (ALL): Add $(BLD)/test-distrib.exe.
2012-04-07 13:36:54 +03:00
Eli Zaretskii d67a9a85f5 Fix parallel build and bootstrap on MS-Windows.
nt/makefile.w32-in: (all): Don't depend on stamp_BLD and on maybe-bootstrap.
 (all-other-dirs-$(MAKETYPE)): Depend on maybe-bootstrap.
 (bootstrap-gmake): Invoke the "clean" and build targets in 2
 separate commands, so they run in that order even under "make -j".
 lib/makefile.w32-in (gnulib, all): Don't depend on stamp_BLD.
 lib-src/makefile.w32-in (ALL): Now the list of executables, not of phony
 targets.
 (.PHONY): Only make-docfile is its prerequisite now.
 (make-docfile): Don't depend on stamp_BLD.  Add a comment about
 the need in this target.
 (ctags, etags, ebrowse, hexl, movemail, emacsclient)
 (test-distrib): Phony targets removed.
 ($(BLD)/test-distrib.exe): Run test-distrib as part of the recipe.
 (all): Don't depend on stamp_BLD.
2012-04-07 13:19:22 +03:00
Andreas Schwab e29ab36b48 Define -print-nonl client command
* lib-src/emacsclient.c (main): Handle -print-nonl command.

* lisp/server.el (server-msg-size): New constant.
(server-reply-print): New function.
(server-eval-and-print): Use it.
(server-eval-at): Use server-quote-arg and server-unquote-arg.
Handle -print-nonl.
2012-03-11 18:53:07 +01:00
Andreas Schwab 2b84f674cc * emacsclient.c (main): Handle multiple messages in a single
datagram.
2012-03-11 12:49:59 +01:00
Andreas Schwab 6b0c89847a Don't access freed memory in emacsclient
* emacsclient.c (socket_name): Add const.
(get_server_config): Add parameter config_file, use it instead of
global server_file.
(set_tcp_socket): Add parameter local_server_file, pass it down to
get_server_config.
(set_local_socket): Add parameter local_socket_name, use it
instead of global socket_name.
(set_socket): Adjust calls to set_local_socket and set_tcp_socket.
Don't clobber global server_file or socket_name.
(main): No longer reset server_file or socket_name.
2012-03-11 12:15:25 +01:00
Glenn Morris acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Glenn Morris 1c6e5a3260 Update short copyright year to 2012.
* etc/refcards/calccard.tex, etc/refcards/cs-dired-ref.tex:
* etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
* etc/refcards/de-refcard.tex, etc/refcards/dired-ref.tex:
* etc/refcards/fr-dired-ref.tex, etc/refcards/fr-refcard.tex:
* etc/refcards/fr-survival.tex, etc/refcards/orgcard.tex:
* etc/refcards/pl-refcard.tex, etc/refcards/pt-br-refcard.tex:
* etc/refcards/refcard.tex, etc/refcards/ru-refcard.tex:
* etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
* etc/refcards/sk-survival.tex, etc/refcards/survival.tex:
* etc/refcards/vipcard.tex, etc/refcards/viperCard.tex:
* lib-src/ebrowse.c (version) <emacs_copyright>:
* lib-src/etags.c (print_version) <emacs_copyright>:
* lib-src/rcs2log (Copyright): Update short copyright year to 2012.
* nextstep/Cocoa/Emacs.base/Contents/Info.plist:
* nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings:
* nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist:
* src/emacs.c (emacs_copyright): Update short copyright year to 2012.
2012-01-04 23:45:28 -08:00
Paul Eggert 22bcf20469 Spelling fixes. 2011-12-30 17:27:15 -08:00
Paul Eggert 9858f6c326 Spelling fixes. 2011-12-29 18:52:49 -08:00
Andreas Schwab 28796b3a4a * etags.c (C_entries): Properly skip over string and character
constants inside brackets.  (Bug#10357)
2011-12-25 10:55:37 +01:00
Paul Eggert 333f9019e2 Spelling fixes. 2011-12-11 21:32:49 -08:00
Juanma Barranquero 520fca41d6 Fix emacsclient bug where "-n -c" does not open a new frame on Windows.
* lib-src/emacsclient.c (decode_options) [WINDOWSNT]: Don't force tty = 0;
instead, treat both -c and -t as always requesting a new "tty" frame,
and let server.el decide which kind is actually required.
Reported by Uwe Siart <usenet@siart.de> in this thread:
http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00303.html

* lisp/server.el (server-delete-client): On Windows, do not try to delete
the only terminal.
(server-process-filter): On Windows, treat requests for a tty frame as
if they were for a GUI frame if the running server is in GUI mode.
2011-12-04 18:13:01 +01:00
Chong Yidong 7ebc1f135e Fix typo in comment. 2011-11-30 23:43:33 +08:00
Chong Yidong e7308292aa * emacsclient.c (main): Condition last change on WINDOWSNT (Bug#10155). 2011-11-30 16:13:05 +08:00
Eli Zaretskii 8c9afb4694 Fix MS-Windows build with MSVC compiler.
Parts of the changes by Fabrice Popineau  <fabrice.popineau@supelec.fr>.

 lib-src/makefile.w32-in (LOCAL_FLAGS): Add $(EMACS_EXTRA_C_FLAGS).
 lib-src/emacsclient.c (main) <environ>: Remove declaration, already
 pulled in by unistd.h on Posix hosts and stdlib.h on MS-Windows.
 nt/inc/stdint.h (uint32_t, uint64_t) [_WIN64]: New typedefs.
 (UINT64_MAX) [_WIN64]: Fix definition.
 (uintmax_t, intmax_t): Fix definitions.
 nt/inc/inttypes.h (strtoumax, strtoimax) [!__MINGW32__]: Provide
 correct definitions.
 nt/config.nt (HAVE_DECL_STRTOLL): Define.
 (va_copy) [_WIN64]: Provide a better definition.
 src/s/ms-w32.h (utimbuf) [_MSC_VER]: Don't define.
 (snprintf) [_MSC_VER]: Redirect to _snprintf.
 (strtoll) [_MSC_VER]: Redirect to _strtoi64.
 (malloc, free, realloc, calloc): Redirect to e_* only when
 compiling Emacs.
 src/lisp.h (GCTYPEBITS): Move before first use.
 (ALIGN_GCTYPEBITS) [_MSC_VER]: Define.
 (DECL_ALIGN) [_MSC_VER]: Use it, as MSVC doesn't like bit ops in
 this macro definition.
 (tzname): Redirect to _tzname for all values of _MSC_VER.

Fixes: debbugs:9960
2011-11-27 20:52:53 +02:00
Paul Eggert b0b199744d Spelling fixes. 2011-11-26 00:26:37 -08:00
Glenn Morris 420b63ad29 * lib-src/make-docfile.c (scan_lisp_file): Treat defcustom like defvar.
* lisp/paths.el (rmail-file-name): Format doc-string for make-docfile.
2011-11-23 23:32:40 -08:00
Paul Eggert e1dbe924b5 Spelling fixes. 2011-11-19 18:29:42 -08:00
Paul Eggert 5396468298 Spelling fixes. 2011-11-19 01:18:31 -08:00
Paul Eggert c5e87d104b Spelling fixes. 2011-11-17 09:40:48 -08:00
Paul Eggert 4c36be58ca Spelling fixes. 2011-11-17 01:09:20 -08:00
Juanma Barranquero 7877f37394 Fix typos. 2011-11-16 18:47:25 +01:00
Juanma Barranquero 58179ccebd Fix typos. 2011-11-16 13:34:47 +01:00
Dan Nicolaescu 5ef215d874 * lib-src/Makefile.in (all): Make sure "all" is the first target. 2011-11-14 15:54:16 -07:00
Paul Eggert 8350f087ef Spelling fixes. 2011-11-14 12:23:26 -08:00
Paul Eggert f6b1b0a848 Spelling fixes. 2011-11-12 23:48:23 -08:00
Juanma Barranquero 657d08d30a src/image.c, src/w32*.c, lib-src/emacsclient.c: Silence warnings under -Wall. 2011-10-27 02:59:21 +02:00
Juanma Barranquero 5e617bc2b6 Whitespace changes. 2011-09-09 03:06:52 +02:00
Glenn Morris 0f054abcec * lib-src/etags.c (Fortran_functions): Handle "elemental" functions. 2011-09-07 00:28:05 -07:00
Dieter Schuster d0417b4cfa * lib-src/etags.c (Fortran_functions): Handle "pure" functions. (tiny change)
Fixes: debbugs:9359
2011-09-07 00:25:55 -07:00
Paul Eggert e39b275c8c Merge from trunk. 2011-09-06 09:34:41 -07:00
Paul Eggert 1c262cae40 Merge from trunk. 2011-09-04 16:58:01 -07:00
Paul Eggert 86633eab8a sprintf-related integer and memory overflow issues
Fixes: debbugs:9397 debbugs:9412
2011-09-04 14:52:59 -07:00
Paul Eggert 005d87bd23 Add Bug#. 2011-08-28 17:27:35 -07:00
Paul Eggert 0c6d656d26 * update-game-score.c: Include <limits.h>
(get_user_id): Do not assume uid fits in 'int'.  Simplify.
2011-08-28 16:59:14 -07:00
Paul Eggert 644a0faa36 * movemail.c (main): Do not use sprintf when its result might not fit
in 'int'.  Instead, put the possibly-long file name into the
output of pfatal_with_name.
2011-08-28 16:57:19 -07:00
Paul Eggert 9250f75825 * etags.c (xmalloc, xrealloc): Accept size_t, not unsigned int,
to avoid potential buffer overflow issues on typical 64-bit hosts.
(whatlen_max): New static var.
(main): Avoid buffer overflow if subsidiary command length is
greater than BUFSIZ or 2*BUFSIZ + 20. Do not use sprintf when its
result might not fit in 'int'.
2011-08-28 16:55:41 -07:00
Paul Eggert 17107bb698 Integer and memory overflow issues.
* emacsclient.c (xmalloc): Accept size_t, not unsigned int, to
avoid potential buffer overflow issues on typical 64-bit hosts.
Return void *, not long *.
(get_current_dir_name): Report a failure, instead of looping
forever, if buffer size calculation overflows.  Treat malloc
failures like realloc failures, as that has better behavior and is
more consistent.  Do not check whether xmalloc returns NULL, as
that's not possible.
(message): Do not arbitrarily truncate message to 2048 bytes when
sending it to stderr; use vfprintf instead.
(get_server_config, set_local_socket)
(start_daemon_and_retry_set_socket): Do not alloca
arbitrarily-large buffers; that's not safe.
(get_server_config, set_local_socket): Do not use sprintf when its
result might not fit in 'int'.
(set_local_socket): Do not assume uid fits in 'int'.
2011-08-28 16:52:34 -07:00
Paul Eggert 70c2e72ae5 Merge from trunk. 2011-07-28 09:27:30 -07:00
Paul Eggert 044c22e545 Merge: Integer signedness and overflow and related fixes.
Fixes: debbugs:9079
2011-07-27 17:48:01 -07:00
Paul Eggert abec06ffd2 Add Bug#. 2011-07-25 10:15:08 -07:00
Paul Eggert ea8db5520c Merge from trunk. 2011-07-25 09:26:30 -07:00
Paul Eggert 24e0f6b1dc Merge from gnulib, using build-aux to remove clutter.
* m4/largefile.m4: New file, so that Emacs does not mess up when
accessing files with large inode numbers in MacOS X 10.5 and later.
* m4/nocrash.m4: New file, to avoid triggering background debugger
and/or create core dumps during 'configure'.
* build-aux/move-if-change: Renamed from move-if-change.
* build-aux/snippet/arg-nonnull.h: Renamed from arg-nonnull.h.
* build-aux/snippet/c++defs.h: Renamed from c++defs.h.
* build-aux/snippet/warn-on-use.h: Renamed from warn-on-use.h.
* build-aux/snippet/_Noreturn.h: New file, for draft C1X _Noreturn.
* .bzrignore: The autogenerated files compile, config.guess,
config.sub, depcomp, install-sh, and missing are now in build-aux.
* Makefile.in (epaths-force, sync-from-gnulib):
move-if-change is now in build-aux.
(GNULIB_TOOL_FLAGS): Avoid threadlib; this is now a prerequisite
of gnulib's pthread_sigmask module, but Emacs doesn't need it.
(mkdir): install-sh is now in build-aux.
* config.bat: c++defs.h is now in build-aux/snippets.
* configure.in: Specify AC_CONFIG_AUX_DIR with build-aux (the
usual parameter).
* lib/gnulib.mk, m4/gl-comp.m4: Regenerate.
* lib/makefile.w32-in (ARG_NONNULL_H): arg-nonnull.h moved
to build-aux/snippet.
* lib/pthread_sigmask.c, lib/stdlib.in.h, m4/extensions.m4:
* m4/getopt.m4, m4/gnulib-common.m4, m4/pthread_sigmask.m4:
Merge from gnuilib.  This fixes porting bugs on Cygwin, Irix, and
Solaris, enables MacOS extensions, and enables nocrash during
'configure'.
* make-dist: Adjust to new build-aux and build-aux/snippit dirs.
* admin/notes/copyright: The files compile, config.guess, config.sub,
depcomp, install-sh, missing, and move-if-change are now in the
new build-aux subdirectory.  The files arg-nonnull.h, c++defs.h,
and warn-on-use.h are now in build-aux/snippets.  New file
build-aux/snippets/_Noreturn.h.
* leim/Makefile.in (install): install-sh is now in build-aux.
* lib-src/Makefile.in ($(DESTDIR)${archlibdir}): install-sh moved
to build-aux.
* msdos/sedlibmk.inp (CONFIG_CLEAN_VPATH_FILES): Adjust to snippet moves
from top level to build-aux/snippet.
* src/Makefile.in (gl-stamp): move-if-change is now in build-aux.
2011-07-24 15:15:47 -07:00
Paul Eggert da85a02af7 Merge from trunk. 2011-07-10 23:05:57 -07:00
Andreas Schwab ec3b5374a7 * lib-src/update-game-score.c (usage): Update usage line. 2011-07-09 12:32:42 +02:00
Paul Eggert 0e926e561c Assume freestanding C89 headers, string.h, stdlib.h. 2011-07-06 18:32:56 -07:00
Paul Eggert 59361254a6 Merge from trunk. 2011-07-06 16:34:39 -07:00
Paul Eggert 9cfdb3ec08 [ChangeLog]
Assume support for memcmp, memcpy, memmove, memset.
This simplifies the code a bit.  All current platforms have these,
as they are required for C89.  If this turns into a problem we
can add the gnulib modules for these (a 1-line change to Makefile.in).
* configure.in: Don't check for memcmp, memcpy, memmove, memset.
[lib-src/ChangeLog]
Assume support for memcmp, memcpy, memmove, memset.
* etags.c (absolute_filename): Assume memmove exists.
[src/ChangeLog]
Assume support for memcmp, memcpy, memmove, memset.
* lisp.h, sysdep.c (memcmp, memcpy, memmove, memset):
* regex.c (memcmp, memcpy):
Remove; we assume C89 now.

* gmalloc.c (memcpy, memset, memmove): Remove; we assume C89 now.
(__malloc_safe_bcopy): Remove; no longer needed.
2011-07-04 22:27:49 -07:00
Jason Rumney bc92abd282 * lib-src/emacsclient.c (decode_options) [WINDOWSNT]: Avoid tty mode on
Windows.

Fixes: debbugs:5486
2011-07-02 23:07:57 +08:00
Glenn Morris a150502ad8 * lib-src/emacsclient.c (print_help_and_exit): More fixing of previous. 2011-06-25 12:52:34 -07:00
Glenn Morris 5f9388d04e * lib-src/emacsclient.c (print_help_and_exit): Fix previous change. 2011-06-25 12:33:07 -07:00
Glenn Morris 3794a2d3a4 Minor additions for previous emacsclient change.
* lib-src/emacsclient.c (decode_options) <opt>: Add `F:'.
(print_help_and_exit): Mention --frame-parameters.
2011-06-25 11:13:14 -07:00
Andreas Rottmann 18a4ce5ea1 Allow emacsclient to set parameters of new graphical frames (bug#5864)
* lib-src/emacsclient.c (longopts, decode_options, main): Add frame-parameters.

* lisp/server.el (server-create-window-system-frame): Add parameters arg.
(server-process-filter): Doc fix.  Handle frame-parameters.

* doc/emacs/misc.texi (emacsclient Options): Mention --frame-parameters.
* doc/man/emacsclient.1: Mention --frame-parameters.

* etc/NEWS: Mention this.
2011-06-25 11:05:48 -07:00
Paul Eggert 529a133c39 * movemail.c: Fix race condition and related bugs (Bug#8836).
(main) [!MAIL_USE_SYSTEM_LOCK]: Prefer mkstemp to mktemp, as this
fixes some race conditions.  Report mkstemp/mktemp errno rather
than a possibly-garbage errno.  Reinitialize the template each
time through the loop, as earlier mkstemp/mktemp calls could have
trashed it.  Pass 0600 (not 0666) to mktemp, for consistency
with mkstemp; the permissions don't matter anyway.
2011-06-10 10:50:07 -07:00
Dan Nicolaescu fe91f5a091 * lib-src/emacsclient.c (socket_status): Use constant pointer. 2011-06-01 10:15:27 -07:00
Paul Eggert 55d4c1b248 [ChangeLog]
Use 'inline', not 'INLINE'.
* configure.in, autogen/config.in (INLINE): Remove.
[lib-src/ChangeLog]
Use 'inline', not 'INLINE'.
* etags.c (hash): Now inline unconditionally.
* make-docfile.c (put_char): inline, not INLINE.
[nt/ChangeLog]
Use 'inline', not 'INLINE'.
* config.nt (INLINE): Remove.
[src/ChangeLog]
Use 'inline', not 'INLINE'.
* alloc.c, fontset.c (INLINE): Remove.
* alloc.c, bidi.c, charset.c, coding.c, dispnew.c, fns.c, image.c:
* intervals.c, keyboard.c, process.c, syntax.c, textprop.c, w32term.c:
* xdisp.c, xfaces.c, xterm.c: Replace all uses of INLINE with inline.
* gmalloc.c (register_heapinfo): Use inline unconditionally.
* lisp.h (LISP_MAKE_RVALUE): Use inline, not __inline__.
2011-05-28 15:39:39 -07:00
Glenn Morris 497c74cdc9 * lib-src/Makefile.in (all, clean): Use $EXE_FILES. 2011-05-25 00:13:57 -07:00
Glenn Morris e949074338 Small further clean-up in lib-src/Makefile.in
* lib-src/Makefile.in (.c.o): Remove (every .o file has an explicit rule).
(insrcdir): New.
(stamp-rcs2log, stamp-rcs-checkin, stamp-grep-changelog, stamp-vcdiff):
Use $insrcdir to suppress unaesthetic ignored errors.
(clean): Simplify list of things to delete.
2011-05-24 19:33:35 -07:00
Glenn Morris d114d4f36e * lib-src/Makefile.in (movemail${EXEEXT}): Build in one step, not via .o file. 2011-05-24 21:32:34 -04:00
Glenn Morris 7bdede3f5e Tiny simplifications in lib-src/Makfile.in
* lib-src/Makfile.in (REGEXPOBJ, REGEXPDEPS): Remove.  Replace by expansion.
(etags${EXEEXT}): Just depend on regex.o, not regex.h as well.
2011-05-24 21:23:14 -04:00
Glenn Morris 1c728a9d3c * lib-src/Makefile.in (update-game-score${EXEEXT}): Use a single rule. 2011-05-23 20:43:17 -07:00
Glenn Morris 8d366f40eb * lib-src/etags.c: Fix typo in previous comment change. 2011-05-20 19:27:00 -07:00
Glenn Morris e5638bc123 * lib-src/etags.c: Comment. 2011-05-20 19:08:21 -07:00
Glenn Morris 4a72048482 Remove the SOME_MACHINE_LISP distinction in src/Makefile.in.
See discussion in http://debbugs.gnu.org/8302

* configure.in (NS_SUPPORT, MOUSE_SUPPORT, TOOLTIP_SUPPORT)
(WINDOW_SUPPORT): Remove output variables that are no longer used.

* lib-src/makefile.w32-in (echolisp): Remove rule that is no longer needed.
(clean): No more echolisp.tmp.

* .bzrignore: Remove lib-src/echolisp.tmp.

* lisp/emacs-lisp/autoload.el (batch-update-autoloads):
Set autoload-excludes by parsing lisp/loadup.el rather than Makefiles.

* lisp/loadup.el: Update commentary.

* msdos/sed1x.inp (TOOLTIP_SUPPORT, WINDOW_SUPPORT):
* msdos/sed1v2.inp (MSDOS_SUPPORT, NS_SUPPORT, MOUSE_SUPPORT)
(TOOLTIP_SUPPORT, WINDOW_SUPPORT): No need to edit these any more.

* src/Makefile.in (MSDOS_SUPPORT_REAL, MSDOS_SUPPORT, NS_SUPPORT)
(REAL_MOUSE_SUPPORT, GPM_MOUSE_SUPPORT, MOUSE_SUPPORT, TOOLTIP_SUPPORT)
(BASE_WINDOW_SUPPORT, X_WINDOW_SUPPORT, WINDOW_SUPPORT): Remove.
(lisp): Set the order to that of loadup.el.
(shortlisp): Make it a copy of $lisp.
(SOME_MACHINE_LISP): Remove.
($(etc)/DOC): Depend just on $lisp, not $SOME_MACHINE_LISP too.
Use just $shortlisp, not $SOME_MACHINE_LISP too.
2011-05-18 23:04:16 -07:00
Glenn Morris c136e5cdf2 Remove lib-src/fakemail.c.
* lib-src/fakemail.c: Remove file.

* lib-src/Makefile.in (UTILITIES): Remove fakemail${EXEEXT}.
(fakemail${EXEEXT}): Remove rule.

* lib-src/makefile.w32-in ($(BLD)/fakemail.exe, fakemail)
($(BLD)/fakemail.$(O)): Remove.

* lisp/mail/sendmail.el (sendmail-program): Fall back to just "sendmail".

* lisp/mail/feedmail.el: Update commentary.

* doc/emacs/ack.texi (Acknowledgments): Remove fakemail.c.

* etc/NEWS: Mention this.

* INSTALL: Remove fakemail.
2011-05-17 20:39:45 -07:00
Ted Zlatanov 17519c9050 Fix verb tense in ChangeLog message. 2011-04-26 07:49:53 -05:00
Ted Zlatanov 418401a53f Add GnuTLS support for W32.
* lib-src/makefile.w32-in (obj): Added gnutls.o.
2011-04-24 20:28:55 -05:00
Paul Eggert fd35b6f967 Static checks with GCC 4.6.0 and non-default toolkits. 2011-04-16 16:11:35 -07:00
Paul Eggert 68afa9ca47 * pop.c: Undo previous change. 2011-04-16 15:32:35 -07:00
Paul Eggert fe3bfdde8d * pop.c (socket_connection): Double-cast to avoid GCC warning
about alignment.
2011-04-16 14:21:24 -07:00
Paul Eggert 5a9c1e26a7 * movemail.c (mail_spool_name): Protoize.
(main): Remove unused var.  Mark var as initialized.
Move locals to avoid shadowing, and use time_t for times.
2011-04-16 14:20:25 -07:00
Paul Eggert cd52b2441e * fakemail.c (xmalloc, xreallc): Use standard C prototypes
with void *.  This avoids warnings about pointer casts.
2011-04-16 14:13:07 -07:00
Paul Eggert c5443aa547 * emacsclient.c (main): Don't use uninitialized var.
(IS_ANY_SEP): Remove; unused.
(get_current_dir_name): Add an extern decl.
2011-04-16 14:11:28 -07:00
Juanma Barranquero 3338398778 Update and split ChangeLogs. 2011-04-06 14:18:10 +02:00
Paul Eggert 41cf7d1aec Fix more problems found by GCC 4.6.0's static checks. 2011-04-05 22:19:39 -07:00
Paul Eggert 72b04a8a97 * emacsclient.c (message): Mark it as a printf-like function. 2011-04-05 12:59:58 -07:00
Paul Eggert 8e48d7bc3f * make-docfile.c (IF_LINT): New macro, copied from emacsclient.c.
(write_c_args): Use it to suppress GCC warning.
2011-04-01 13:28:50 -07:00
Paul Eggert 77861b9528 Fix more problems found by GCC 4.6.0's static checks. 2011-03-29 17:39:12 -07:00
Paul Eggert 8c422c3083 * etags.c (just_read_file): Remove dummy variable and simplify. 2011-03-28 23:54:38 -07:00
Glenn Morris 9af30bdf17 Remove (RET)SIGTYPE; it is identical to void on all supported systems.
Ref: http://lists.gnu.org/archive/html/emacs-devel/2011-03/msg01068.html

* configure.in (AC_TYPE_SIGNAL): Remove obsolete macro.
(AH_BOTTOM): Do not define SIGTYPE.

* lib-src/emacsclient.c: Replace SIGTYPE with void.

* nt/config.nt: Remove RETSIGTYPE, SIGTYPE (identical to void).

* src/syssignal.h: Replace RETSIGTYPE with void.

* src/atimer.c, src/data.c, src/dispnew.c, src/emacs.c, src/floatfns.c:
* src/keyboard.c, src/keyboard.h, src/lisp.h, src/process.c, src/sysdep.c:
* src/xterm.c: Replace SIGTYPE with void everywhere.

* src/s/template.h (SIGTYPE): Remove commented out definition.
* src/s/usg5-4-common.h (SIGTYPE): Remove definition.

* admin/CPP-DEFINES: Remove SIGTYPE.
2011-03-26 19:27:11 -07:00
Juanma Barranquero 9c88f33949 w32: Fix some warnings reported by -Wall -Wextra.
* lib-src/ntlib.c: Include <ctype.h>.

* nt/cmdproxy.c: Include <ctype.h>.
  (make_absolute): Remove unused variable `i'.

* src/w32fns.c (x_set_menu_bar_lines): Remove unused variable `olines'.
  (w32_wnd_proc): Pass NULL to Windows API, not uninitialized buffer.
  (Fx_close_connection): Remove unused variable `i'.

* src/w32font.c (w32font_draw): Return number of glyphs.
  (w32font_open_internal): Remove unused variable `i'.
  (w32font_driver): Add missing initializer.

* src/w32menu.c (utf8to16): Remove unused variable `utf16'.
  (fill_in_menu): Remove unused variable `items_added'.

* src/w32term.c (last_mouse_press_frame): Remove static global variable.
  (w32_clip_to_row): Remove unused variable `f'.
  (x_delete_terminal): Remove unused variable `i'.

* src/w32uniscribe.c (uniscribe_shape): Remove unused variable `nclusters'.
  (NOTHING): Remove unused static global variable.
  (uniscribe_check_otf): Remove unused variable `table'.
  (uniscribe_font_driver): Add missing initializers.
2011-03-23 17:25:38 +01:00
Glenn Morris 8cc1d51933 Replace mkinstalldirs with `install-sh -d', as automake recommends.
* Makefile.in (mkdir): Use `install-sh -d' instead of mkinstalldirs.
(sync-from-gnulib): Don't sync mkinstalldirs.

* make-dist: Don't distribute mkinstalldirs.

* leim/Makefile.in (install): Use `install-sh -d' rather than mkinstalldirs.

* lib-src/Makefile.in ($(DESTDIR)${archlibdir}):
Use `install-sh -d' rather than mkinstalldirs.

* configure.in, doc/emacs/Makefile.in: Update comments.

* admin/notes/copyright: Remove mkinstalldirs.
2011-03-22 20:09:55 -07:00
Paul Eggert c9c49752e1 Fix more problems found by GCC 4.5.2's static checks. 2011-03-22 18:01:59 -07:00
Paul Eggert b1f961e1fa * ebrowse.c: Use size_t, not int, for sizes.
This avoids a warning with gcc -Wstrict-overflow, and works
better for very large objects.
(inbuffer_size): Now size_t.  All uses changed.
(xmalloc, xrealloc, operator_name, process_file): Use size_t for
sizes.  Don't bother testing whether a size_t value can be negative.
2011-03-21 11:03:15 -07:00
Paul Eggert 58cb46fbf4 * etags.c (Ada_funcs): Redo slightly to avoid overflow warning. 2011-03-21 09:41:03 -07:00
Paul Eggert 3ef271f27f etags: In Prolog functions, don't assume int fits in size_t.
This avoids a warning with gcc -Wstrict-overflow.
* etags.c (Prolog_functions, prolog_pr, prolog_atom): Use size_t,
not int, to store sizes.
(prolog_atom): Return 0, not -1, on error.  All callers changed.
2011-03-21 09:40:05 -07:00
Paul Eggert 5d6d7e5701 Add Bug#. 2011-03-21 09:22:16 -07:00
Paul Eggert f0d80d43ba update-game-score: fix bug with -r
* update-game-score.c (main): Don't set 'scores' to garbage when
-r is specified and scorecount != MAX_SCORES.  This bug was
introduced in the 2002-04-10 change, and was found with gcc
-Wstrict-overflow (GCC 4.5.2, x86-64).
2011-03-21 00:46:53 -07:00
Paul Eggert d5cad867ec [ChangeLog]
fakemail: Remove dependency on ignore-value.
* Makefile.in (GNULIB_MODULES): Add stdio.
* lib/stdio.in.h, m4/stdio_h.m4: New files, automatically
imported from gnulib.
[lib-src/ChangeLog]
fakemail: Remove dependency on ignore-value.
This undoes some of the recent fakemail-related changes.
It is made possible due to recent changes to gnulib's stdio module.
* Makefile.in (fakemail${EXEEXT}): Do not depend on ignore-value.h.
* fakemail.c: Do not include ignore-value.h.
(put_line): Do not use ignore_value.
2011-03-20 22:04:41 -07:00
Juanma Barranquero e18c0aa335 Remove unnecessary "(tiny change)" markers. 2011-03-07 22:16:42 +01:00
Drake Wilson 0b973fc594 Add --quiet option for emacsclient (bug#663) (tiny change)
* lib-src/emacsclient.c (longopts): Add quiet.
(decode_options): Handle q/quiet.
(print_help_and_exit): Add q/quiet.
(main): Suppress some messages if quiet option is used.

* doc/emacs/misc.texi (emacsclient Options): Add q/quiet.
2011-03-02 23:00:23 -08:00
Eli Zaretskii 00030ef0b6 Fix dependencies following 2011-02-26T05:54:36Z!eggert@cs.ucla.edu.
lib-src/Makefile.in (fakemail${EXEEXT}): Depend on lib/ignore-value.h.
2011-02-26 10:36:56 +02:00
Eli Zaretskii a54af40e14 Fix the MS-Windows build after 2011-02-26T05:54:36Z!eggert@cs.ucla.edu.
emacsclient.c (xstrdup) [WINDOWSNT]: Function added back.
 (w32_getenv): Use xstrdup to return all values in malloc'ed
 storage.
2011-02-26 09:44:38 +02:00
Paul Eggert 9e1b7fe6be * ebrowse.c (BROWSE_STRUCT): Remove unused macro. 2011-02-25 21:43:51 -08:00
Paul Eggert 6c0668d97b * ebrowse.c (parse_qualified_param_ident_or_type): Make it clear
to reader (and to the compiler) that the loop always executes at
least once.  This prevents a warning with recent GCC.
2011-02-25 21:41:42 -08:00
Paul Eggert a4fe4e890a * fakemail.c: Include <ignore-value.h>.
(put_line): Explicitly ignore fwrite return value, for benefit of
recent glibc + gcc.
(close_the_streams): Diagnose output errors instead of merely
exiting with nonzero status.
(my_fclose, main): Diagnose input errors, and exit with nonzero status.
Formerly, input errors were silently ignored.
2011-02-25 21:36:51 -08:00
Paul Eggert 70279bd1cb * ebrowse.c (insert_keyword): Rename parameter to avoid shadowing diagnostic. 2011-02-25 16:23:33 -08:00
Paul Eggert 34e6d7823a * ebrowse.c (putstr): Rename from PUTSTR and turn into a function.
All callers changed.  This is cleaner, and avoids GCC warnings about
passing NULL to fputs.
2011-02-25 16:22:13 -08:00
Paul Eggert 4be3dfc5e3 * emacsclient.c (IF_LINT): New macro.
(set_local_socket, main): Use it to suppress warnings with
GCC -Wuninitialized.
2011-02-25 16:17:02 -08:00
Paul Eggert b9170155fb * emacsclient.c (xstrdup): Remove; no longer needed.
(get_current_dir_name, w32_getenv, get_server_config, find_tty):
(set_local_socket, main):
Use const char *, not char *, for pointers that are not assigned
through.
2011-02-25 15:55:06 -08:00
Paul Eggert 7e6bb4c94c * emacsclient.c (main): Avoid dangling 'if'. 2011-02-25 15:39:18 -08:00
Paul Eggert b0bbc07d9a * emacsclient.c: Redo local variables to avoid shadowing problems.
(message, socket_status, start_daemon_and_retry_set_socket):
Rename locals.
(main): Move decl of "i".
2011-02-25 15:35:16 -08:00
Paul Eggert 3f5e6230d7 * etags.c (ISUPPER): Move to inside the only #ifdef where it's used.
This avoids an unused-macro warning with some GCC settings.
2011-02-25 15:26:55 -08:00
Paul Eggert 8dfa32f6a5 * make-docfile.c (scan_c_file): Refactor local variable decls to make their scope
more accurate and to avoid a GCC -Wuninitialized diagnostic.
2011-02-25 14:21:01 -08:00
Paul Eggert 564ff1f20c * make-docfile.c (write_globals): Change char * to char const *
to avoid a GCC "assignment discards qualifiers" diagnostic
in some configurations.
2011-02-25 14:05:43 -08:00
Stefan Monnier 53cfe624fc * lisp/emacs-lisp/bytecomp.el (byte-compile-disable-print-circle): Obsolete. 2011-02-23 10:22:28 -05:00
Eli Zaretskii 32e793fa11 Fix 2011-02-22T17:37:06Z!eggert@cs.ucla.edu.
etags.c (canonicalize_filename, ISUPPER): Fix last change.
2011-02-22 20:08:53 +02:00
Eli Zaretskii b97decf246 MS-Windows part of 2011-02-21T23:22:34Z!eggert@cs.ucla.edu, addition of min-max.h.
lib-src/makefile.w32-in ($(BLD)/ebrowse.$(O), $(BLD)/pop.$(O)): Depend
 on ../lib/min-max.h.
2011-02-22 19:51:38 +02:00
Paul Eggert e5075711e5 etags: Downcase drive letters, for consistency with Emacs proper.
* etags.c (upcase): Remove; no longer used.
(canonicalize_filename): Downcase drive letters.
2011-02-22 09:37:06 -08:00
Paul Eggert 9c9ba4ba20 Merge: Assume S_ISLNK etc. work, since gnulib supports this. 2011-02-21 17:58:44 -08:00
Paul Eggert f68c809d7e [ChangeLog]
Assume S_ISLNK etc. work, since gnulib supports this.
* Makefile.in (GNULIB_MODULES): Add sys_stat.
* configure.in: Check for lstat and set HAVE_LSTAT=0 if not.
Pretend to be using the gnulib lstat module for benefit of sys/stat.h.
* configure, lib/Makefile.in, lib/gnulib.mk: Regenerate.
[lib-src/ChangeLog]
Assume S_ISLNK etc. work, since gnulib supports this.
* etags.c (S_ISREG): Remove.
[src/ChangeLog]
Assume S_ISLNK etc. work, since gnulib supports this.
* config.in: Regenerate.
* dired.c (lstat): Remove.
(file_name_completion): Assume S_ISDIR works.
(file_name_completion_stat): Assume S_ISLNK works.
Do not bother calling stat unless lstat says it's a symlink.
* fileio.c (S_ISLNK, S_ISFIFO, S_ISREG, lstat): Remove.
(Fcopy_file): Assume S_ISREG and S_ISLNK work.
(check_writable, Ffile_writable_p, Fset_file_times):
Assume S_ISDIR works.
(Ffile_readable_p): Use S_IFIFO, not S_ISFIFO, to guess whether
fifos exist.
(Ffile_regular_p, Finsert_file_contents): Assumes S_ISREG works.
* filelock.c (S_ISLNK): Remove.
* lread.c (openp): Assume S_ISDIR works.
* xrdb.c (S_ISDIR): Remove.
2011-02-21 17:55:20 -08:00
Juanma Barranquero 602a5739d4 lib-src/makefile.w32-in (obj): Remove filemode.o. 2011-02-22 01:49:54 +01:00
Paul Eggert 5ecec6a7f4 * movemail.c: Define macros only in needed contexts. 2011-02-21 16:11:56 -08:00
Paul Eggert d47d631945 * Makefile.in (ebrowse${EXEEXT}, pop.o): Depend on min-max.h. 2011-02-21 16:08:53 -08:00
Paul Eggert 9441f0e4fc Merge from mainline. 2011-02-21 15:46:32 -08:00
Paul Eggert ba01e9d785 [ChangeLog]
* lib/min-max.h: New file, for "min" and "max".
[lib-src/ChangeLog]
New file "lib/min-max.h".
* ebrowse.c (min, max): Define them by including <min-max.h>
instead of defining it ourselves.
* pop.c (min): Likewise.
2011-02-21 15:22:34 -08:00
Paul Eggert 08c690977a * test-distrib.c (buf): Make this local, to avoid shadowing. 2011-02-21 15:15:17 -08:00
Paul Eggert f0939c31a6 * movemail.c (popmail): Report fchown failure instead of ignoring it.
But if the file already has the right ownership, don't worry about it.
2011-02-21 14:31:55 -08:00
Eli Zaretskii 25c51af3a9 Adapt MS-Windows build to import of filemode.c from gnulib.
nt/inc/sys/stat.h (S_ISUID, S_ISGID, S_ISVTX, S_IRGRP, S_IROTH)
 (S_IWGRP, S_IWOTH, S_IXGRP, S_IXOTH, S_ISSOCK, S_ISLNK, S_ISCTG)
 (S_ISDOOR, S_ISMPB, S_ISMPC, S_ISNWK, S_ISPORT, S_ISWHT)
 (S_TYPEISMQ, S_TYPEISSEM, S_TYPEISSHM, S_TYPEISTMO): Define.
 (lstat): Define to stat.
 lib/makefile.w32-in ($(BLD)/filemode.$(O)): Move from
 src/makefile.w32-in and adapt.  Depend on stamp_BLD.
 (GNULIBOBJS): Add $(BLD)/filemode.$(O).
 src/makefile.w32-in ($(BLD)/filemode.$(O)): Move recipe to
 lib/makefilw.w32-in.
 ($(BLD)/dired.$(O)): Depend on $(EMACS_ROOT)/lib/filemode.h.
 (GLOBAL_SOURCES): Remove filemode.c.
 (OBJ1): Remove $(BLD)/filemode.$(O).
 lib-src/makefile.w32-in ($(BLD)/ctags.$(O), $(BLD)/emacsclient.$(O))
 ($(BLD)/etags.$(O), $(BLD)/movemail.$(O), $(BLD)/ntlib.$(O)):
 Depend on $(EMACS_ROOT)/nt/inc/sys/stat.h.
2011-02-21 22:00:19 +02:00
Paul Eggert 4df52042a5 * make-docfile.c (input_buffer): Rename variables to avoid shadowing. 2011-02-21 11:37:54 -08:00
Paul Eggert 3870e8f9b9 Merge from mainline. 2011-02-21 10:51:02 -08:00
Paul Eggert 0d7fdc0ef4 * movemail.c: (DIRECTORY_SEP, IS_DIRECTORY_SEP, DONE, IS_FROM_LINE):
Remove unused macros.
* pop.c (index): Remove unused macro.
(KPOP_PORT): Define only if KERBEROS is defined.
2011-02-21 10:37:35 -08:00
Paul Eggert 1afca8cc21 * movemail.c: Remove unused vars 2011-02-21 10:26:52 -08:00
Paul Eggert 27d41fb4a9 * movemail.c (main, pop_retr): Rename locals to avoid shadowing. 2011-02-21 10:22:20 -08:00
Paul Eggert b23b5a5b7d Declare file-scope functions and variables static if not exported.
This is more consistent, and is nicer with gcc -Wstrict-prototypes.
* ebrowse.c, emacsclient.c, fakemail.c, make-docfile.c, movemail.c:
* profile.c, test-distrib.c, update-game-score.c:
Declare non-'main' functions and variables to be static.
* ebrowse.c: Omit redundant function prototypes.
2011-02-21 10:06:25 -08:00
Ben Key 6ca1c3b4f2 * make-docfile.c (scan_c_file): Adapt to the new BVAR macro. 2011-02-21 13:02:49 -05:00
Juanma Barranquero 50a4e25afa lib-src/makefile.w32-in (obj): Remove md5.o. 2011-02-20 23:17:39 +01:00
Karl Chen b166dcd8bb * lib-src/emacsclient.c (main): Loop while `recv' return EINTR. 2011-02-18 17:28:09 -05:00
Andreas Schwab e430810c89 Don't ignore files that are no longer generated 2011-02-13 19:35:05 +01:00
Paul Eggert 64df8c1098 * make-docfile.c (EMACS_INTEGER): Rename from EMACS_INT. 2011-02-08 16:30:33 -08:00
Tom Tromey 00b3c7ac85 Make globals.h a generated header
* configure: Rebuild.
	* configure.in (NS_OBJC_OBJ): New subst.
lib-src
	* make-docfile.c: Unconditionally include stdlib.h.
	(generate_globals): New global.
	(xrealloc): New function.
	(main): Handle '-g'.  Call start_globals, write_globals.
	(scan_file): Conditionally call put_filename.
	(start_globals): New function.
	(struct global): New.
	(num_globals, globals): New globals.
	(add_global, compare_globals, write_globals): New functions.
	(scan_c_file): Update for "-g".
	(scan_lisp_file): Fail if "-g".
	(enum global_type): New.
src
	* Makefile.in (NS_OBJC_OBJ): New variable.
	(base_obj): Rename from 'obj'.
	(obj): New variable.
	(globals.h, gl-stamp, $(obj)): New targets.
	(GLOBAL_SOURCES): New variable.
	* globals.h: Remove.
	* nsselect.m (Vselection_alist): Define.  Reverts part of
	2011-01-19T22:11:33Z!jan.h.d@swipnet.se.
	* buffer.c: Don't use "no_cell" for name of kill-buffer-hook's
	variable.
	* xselect.c (Vselection_alist): Define.  Reverts part of 2011-01-19T23:32:42Z!eggert@cs.ucla.edu.
2011-02-08 14:42:56 -07:00
Paul Eggert 03fc768bf7 * emacsclient.c: conform to C89 pointer rules 2011-02-04 23:18:46 -08:00
Eli Zaretskii 83cc577291 lib-src/makefile.w32-in (obj): Remove strftime.o, it's not in src/. 2011-02-02 21:50:21 +02:00
Eli Zaretskii d9f1f55ed7 Make "etags --version" on Windows produce the same as on Posix platforms.
makefile.w32-in (ETAGS_CFLAGS, CTAGS_CFLAGS): Add
 ``-DEMACS_NAME="\"GNU Emacs\""''.
2011-02-02 18:28:24 +02:00
Eli Zaretskii 70b0d280eb Fix the MS-Windows build broken by 2011-01-30T23:34:18Z!eggert@cs.ucla.edu and 2011-01-31T08:15:13Z!eggert@cs.ucla.edu.
lib/makefile.w32-in (GNULIBOBJS): Add $(BLD)/strftime.$(O) and
 $(BLD)/time_r.$(O).
 ($(BLD)/dtoastr.$(O)): Depend on $(EMACS_ROOT)/src/s/ms-w32.h and
 $(EMACS_ROOT)/src/m/intel386.h.
 ($(BLD)/strftime.$(O)): 
 ($(BLD)/time_r.$(O)): Define prerequisites.
 src/makefile.w32-in (OBJ2): Remove strftime.$(O).
 ($(BLD)/strftime.$(O)): Remove prerequisites.
 lib-src/makefile.w32-in (VERSION): Don't define, defined on nt/config.nt.
 (ECLIENT_CFLAGS): Remove -DVERSION.
 ($(BLD)/emacsclient.$(O)): Don't depend on makefile.w32-in.
 nt/config.nt (VERSION): Uncomment definition.
 (restrict): Define.
 nt/inc/stdbool.h: New file.
 admin/admin.el (set-version): Remove lib-src/makefile.w32-in.  Add
 nt/config.nt.
2011-01-31 21:36:08 +02:00
Paul Eggert 16fab14354 src/emacs.c now gets version number from configure.in 2011-01-31 00:12:52 -08:00
Jim Meyering 8aec9916dd make-docfile: don't corrupt heap for an invalid .elc file 2011-01-30 10:17:36 +01:00
Eli Zaretskii f915f0f7c8 Fix the MS-Windows build broken by 2011-01-17T19:01:01Z!eggert@cs.ucla.edu and emacs-23/2010-05-21T19:51:48Z!acm@muc.de.
lib/makefile.w32-in:
 lib/getopt_.h: New files.
 src/s/ms-w32.h (HAVE_MKTIME): Remove.
 src/makefile.w32-in (LOCAL_FLAGS): Add -I../lib.
 (GNULIB): New variable.
 (LIBS): Add $(GNULIB).
 $(TEMACS): Depend on $(GNULIB).
 <top-level>: Fix font-lock disrupted by a lone `"'.
 src/makefile.w32-in (LOCAL_FLAGS): Add -I../lib.
 (GETOPTOBJS, GETOPTDEPS): Remove targets.
 (MOVEMAILOBJS): Replace $(GETOPTOBJS) with ../lib/$(BLD)/libgnu.$(A).
 ($(BLD)/movemail.exe): Depend on ../lib/getopt.h.
 (ECLIENTOBJS, ETAGSOBJ, CTAGSOBJ, EBROWSEOBJ): Replace getopt.o
 and getopt1.o with ../lib/$(BLD)/libgnu.$(A).
 (clean): Don't remove getopt.h.
 (getopt.h, $(BLD)/getopt.$(O), $(BLD)/getopt1.$(O)): Remove targets.
 ($(BLD)/ctags.$(O), $(BLD)/etags.$(O)): Replace getopt.h with
 $(EMACS_ROOT)/lib/getopt.h.
 nt/makefile.w32-in (all-other-dirs-nmake, all-other-dirs-gmake)
 (bootstrap-nmake, bootstrap-gmake, bootstrap-clean-nmake)
 (bootstrap-clean-gmake, clean-other-dirs-nmake)
 (clean-other-dirs-gmake, cleanall-other-dirs-nmake)
 (cleanall-other-dirs-gmake, distclean-other-dirs-nmake)
 (distclean-other-dirs-gmake, maintainer-clean-other-dirs-nmake)
 (maintainer-clean-other-dirs-gmake): Recurse into ../lib as well.
 nt/configure.bat: Create lib/makefile.
 nt/config.nt (HAVE_MKTIME, BROKEN_MKTIME): Remove.
 (HAVE_ATTRIBUTE_ALIGNED, HAVE_C99_STRTOLD, HAVE_DECL_GETENV)
 (HAVE_DECL_LOCALTIME_R, HAVE_WCHAR_T, PACKAGE, VERSION, inline)
 (_GL_UNUSED, _UNUSED_PARAMETER_): Add definitions, for gnulib.
2011-01-29 14:36:11 +02:00
Glenn Morris 95df8112a0 Refill some long/short copyright headers. 2011-01-26 00:36:39 -08:00
Glenn Morris 73b0cd5003 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
Glenn Morris 06d8ace515 Merge from emacs-23.
Note setting of CANNOT_DUMP on ia64 hpux is still to be merged manually.
2011-01-24 19:47:47 -08:00
Chong Yidong fbf4af3a43 * movemail.c (main): Use setregid, as setegid is missing on HP-UX (Bug#6811).
Suggested by Peter O'Gorman.
2011-01-23 17:58:52 -05:00
Paul Eggert 9055082ef8 Check return values of some library calls. 2011-01-22 23:30:19 -08:00
Paul Eggert 33fe4243f3 Update ChangeLog dates to today. 2011-01-17 11:38:39 -08:00
Paul Eggert a3e44e7937 Merge from mainline. 2011-01-17 11:01:01 -08:00
Glenn Morris 0d9f702fd0 Nuke arch-tags. 2011-01-15 15:16:57 -08:00
Chong Yidong 9f19b8ddfe Bump version to 23.2.92.
Regenerate AUTHORS, configure, and ldefs-boot.el.
2011-01-14 22:50:47 -05:00
Paul Eggert 8a1f4a98c1 Merge from mainline. 2011-01-14 10:14:17 -08:00
Stefan Monnier 77ab81d054 Merge from emacs-23 2011-01-14 12:18:41 -05:00
Paul Eggert 4004364e67 Include <unistd.h> unilaterally. 2011-01-09 00:12:35 -08:00
Paul Eggert 613f7bda1d Include <getopt.h> not "getopt.h".
* ebrowse.c, emacsclient.c: Include <getopt.h>, not "getopt.h".
Since getopt.h is no longer in this directory, there's no point
using the form with double-quotes.
2011-01-09 00:00:02 -08:00
Paul Eggert e275c824b0 Regenerate. 2011-01-08 23:33:50 -08:00
Paul Eggert 84bbb1add5 Use gnulib's getopt-gnu module. 2011-01-08 23:29:26 -08:00
Paul Eggert 9a514d4a6c Automate syncing from gnulib. 2011-01-08 13:02:38 -08:00
Paul Eggert 72427c46a7 * Makefile.in (EXECUTABLES): Remove; macro unused since 1993. 2011-01-08 11:03:31 -08:00
Glenn Morris e7a4241753 Add --no-site-lisp to more Makefiles.
* leim/makefile.w32-in (RUN_EMACS):
* leim/Makefile.in (RUN-EMACS): Add --no-site-lisp.

* lib-src/Makefile.in (EMACSOPT): Add --no-site-lisp.

* lisp/makefile.w32-in (EMACSOPT): Add --no-site-lisp.
2011-01-07 18:53:50 -08:00
Glenn Morris 4967fa3422 * lib-src/Makefile.in (EMACSOPT): Remove --multibyte, it does nothing any more. 2011-01-07 18:34:26 -08:00
Glenn Morris 5df4f04cd3 Add 2011 to FSF/AIST copyright years. 2011-01-02 15:50:46 -08:00
Chong Yidong 7c420169ba Merge changes from emacs-23 branch 2011-01-02 15:31:19 -05:00
Glenn Morris d7bfa7a1d9 Set short copyright year to 2011.
* lib-src/ebrowse.c (version) <emacs_copyright>:
* lib-src/etags.c (print_version) <emacs_copyright>:
* lib-src/rcs2log (Copyright):
* lisp/version.el (emacs-copyright):
* nextstep/Cocoa/Emacs.base/Contents/Info.plist:
* nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings:
* nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist:
Set short copyright year to 2011.
2011-01-01 18:46:30 -08:00
Chong Yidong 1f10e75066 Bump version to 23.2.91.
Regenerate configure and ldefs-boot.el.
2010-12-10 12:46:40 -05:00
Chong Yidong 07976ae3b8 Merge changes from emacs-23 branch 2010-11-27 15:04:57 -05:00
Joe Matarazzo da2b5401e8 Fix bug #7446 with overrunning input buffer in ebrowse.
ebrowse.c (yylex): If end of input buffer encountered while
 searching for a newline after "//", return YYEOF.
2010-11-27 11:29:22 +02:00
Stefan Monnier 4a47c27573 Merge from emacs-23 2010-11-17 22:54:14 -05:00
Dan Nicolaescu f16cafe309 * lib-src/test-distrib.c: Remove include guards for config.h and fcntl.h.
(O_RDONLY): Do not define.
(cool_read): Fix type for variable "sofar".
2010-11-14 22:42:21 -08:00
YAMAMOTO Mitsuharu e6068ab302 Add fall-back definition of _CS_DARWIN_USER_TEMP_DIR (fix last failed check-in). 2010-11-10 17:35:27 +09:00
YAMAMOTO Mitsuharu 76cc4cd692 Add fall-back definition of _CS_DARWIN_USER_TEMP_DIR. 2010-11-10 17:33:14 +09:00
Chong Yidong 0f161c71c9 Bump version to 23.2.90.
Regenerate AUTHORS, configure, and ldefs-boot.el.
2010-11-08 21:53:18 -05:00
Glenn Morris 6a5c21753e Move ns-win.el's rather wacky menu adjustments to menu-bar.el.
* lisp/term/ns-win.el: Do not require easymenu.
(menu-bar-edit-menu) <copy, paste, paste-from-menu, separator-undo>:
<spell>: Move adjustments to menu-bar.el.
* lisp/menu-bar.el (menu-bar-edit-menu) <copy, paste, paste-from-menu>:
<separator-undo, spell>: Move ns-win's adjustments here.
* lisp/loadup.el [ns]: Do not load easymenu.

* src/Makefile.in (SOME_MACHINE_LISP): Remove easymenu.elc.
* lib-src/makefile.w32-in (OTHER_PLATFORM_SUPPORT): Remove easymenu.elc.
2010-10-24 17:48:26 -07:00
Glenn Morris 17284e3024 Replace digest-doc and sorted-doc C programs with Lisp commands.
* lib-src/digest-doc.c, lib-src/sorted-doc.c: Remove files.
* lib-src/Makefile.in (UTILITIES): Remove digest-doc and sorted-doc.
(digest-doc${EXEEXT}, sorted-doc${EXEEXT}): Remove rules.
* lib-src/makefile.w32-in (ALL): Remove digest-doc and sorted-doc.
($(BLD)/sorted-doc.exe, $(BLD)/digest-doc.exe, sorted-doc, digest-doc)
($(BLD)/digest-doc.$(O), $(BLD)/sorted-doc.$(O)): Remove rules.
(install): Don't install digest-doc.exe or sorted-doc.exe.

* lisp/help-fns.el (doc-file-to-man, doc-file-to-info): New commands.

* doc/lispref/help.texi (Documentation Basics): Remove mentions of
digest-doc and sorted-doc.

* INSTALL, nt/README, nt/README.W32: Do not mention digest-doc and sorted-doc.

* etc/NEWS: Mention this change.
2010-10-22 19:46:06 -07:00
Glenn Morris e43b1141f3 Fix format of old lib-src/ChangeLog entry. 2010-10-19 20:53:34 -07:00
Dan Nicolaescu a4daeecfef Pass CFLAGS to the linker.
* configure.in (PROFILING_LDFLAGS): Do not define, remove all uses.

* lib-src/Makefile.in (PROFILING_LDFLAGS): Remove, not needed.

* msdos/sed1v2.inp (PROFILING_LDFLAGS):
* msdos/sed3v2.inp (PROFILING_LDFLAGS): Remove, not defined anymore.

* src/Makefile.in (temacs): Use $(ALL_CFLAGS) on the link line.
(PROFILING_LDFLAGS): Remove, not needed anymore.
2010-10-10 08:35:04 -07:00
Glenn Morris 3fb78d1f33 Remove lib-src/b2m.c and b2m.pl.
Emacs does not use Babyl files since 23.1, and you can use M-x unrmail.

* msdos/mainmake.v2 (install): Remove b2m.

* lisp/emacs-lisp/authors.el (authors-valid-file-names): Add b2m.c.

* lib-src/b2m.c, lib-src/b2m.pl: Remove files.
* lib-src/Makefile.in (INSTALLABLES): Remove b2m.
* lib-src/makefile.w32-in ($(BLD)/b2m.$(O)): Remove.

* doc/emacs/ack.texi (Acknowledgments): No more b2m.c.

* admin/quick-install-emacs (PUBLIC_LIBSRC_BINARIES): Remove b2m.

* INSTALL, make-dist: Remove references to b2m.
* Makefile.in (MAN_PAGES): Remove b2m.1.
2010-10-08 18:15:15 -07:00
Juanma Barranquero 4628bef1ee Merge changes from emacs-23 branch. 2010-10-08 12:14:47 +02:00
Dan Nicolaescu 728a982db4 Fix compilation warnings.
* lib-src/test-distrib.c (cool_read):
* lib-src/movemail.c (main, concat):
* lib-src/make-docfile.c (scan_file, write_c_args):
* emacsclient.c	(get_server_config): Fix -Wconversion warning.
(egetenv): Move conditional definition earlier.
(progname): Use const.
* lib-src/sorted-doc.c (xstrdup): Use const.
2010-10-03 16:35:22 -07:00
Dan Nicolaescu f99d75f5bb * lib-src/Makefile.in: Remove ^L, old makes choke on it. 2010-10-03 08:46:41 -07:00
Wolfgang Schnerring 3ecb8d931a * emacsclient.c (main): Return EXIT_FAILURE if Emacs sends us an error string
(Bug#6963).
2010-10-02 20:00:01 -04:00
Juanma Barranquero 54b65f7b40 Rework tags targets in Windows makefiles to protect against old/stupid makes.
* lib-src/makefile.w32-in (tags): Remove target.
* src/makefile.w32-in (tags): Rename target to full-tags.
2010-10-02 14:12:17 +02:00
Eli Zaretskii 73077a9af5 Support TAGS targets in the w32 build.
nt/makefile.w32-in (frc, TAGS, TAGS-gmake, TAGS-nmake): New targets.
 emacs-src.tags: New file.
 src/makefile.w32-in (TAGS, frc, TAGS-LISP, ../nt/TAGS, tags)
 (TAGS-gmake, TAGS-nmake, TAGS-LISP-gmake, TAGS-LISP-nmake)
 (nt-TAGS-gmake, nt-TAGS-nmake): New targets.
 lisp/makefile.w32-in (DEST, TAGS, TAGS-LISP, TAGS-nmake)
 (TAGS-LISP-nmake, TAGS-gmake, TAGS-LISP-gmake, TAGS-SH)
 (TAGS-LISP-SH, TAGS-CMD, TAGS-LISP-CMD): New targets.
 lib-src/makefile.w32-in (tags, TAGS): New targets.
2010-10-01 13:45:16 +02:00
Glenn Morris b336bfcdf3 Close bug#3992.
* lib-src/emacsclient.c (set_local_socket) [DARWIN_OS]: Try as a fall-back
DARWIN_USER_TEMP_DIR.
2010-09-30 20:41:12 -07:00
Juanma Barranquero 968ef9b4da lisp/server.el: Use just one way to pass the Emacs PID to emacsclient.
* lib-src/emacsclient.c (get_server_config): Don't read Emacs pid from
  the authentication file.

* lisp/server.el (server-start): Don't write pid to the authentication file.
  (server-create-tty-frame): Don't send pid.
  (server-process-filter): Send pid at the start of every connection.
2010-09-30 04:53:26 +02:00
Juanma Barranquero a69edb8adf lib-src/makefile.w32-in (../src/config.h): Remove target, it is stale. 2010-09-29 17:07:34 +02:00
Juanma Barranquero 6ab88e02c9 * emacsclient.c (main): Remove unused variables.
(start_daemon_and_retry_set_socket): Use EXIT_FAILURE.
2010-09-29 10:18:40 +02:00
Juanma Barranquero 70e3143660 Fix typos in ChangeLogs. 2010-09-27 12:25:04 +02:00
Ulrich Mueller 4c96435152 Add more xz compression support.
* doc/man/etags.1: xz compression is now supported.
* doc/misc/woman.texi (Interface Options): xz compression is now supported.

* lib-src/etags.c (compressors, print_language_names): Support xz compression.

* lisp/eshell/em-ls.el (eshell-ls-archive-regexp):
* lisp/eshell/esh-util.el (eshell-tar-regexp):
* lisp/ibuffer.el (ibuffer-compressed-file-name-regexp):
* lisp/info.el (Info-suffix-list):
* lisp/international/mule.el (auto-coding-alist):
* lisp/woman.el (woman-file-regexp, woman-file-compression-regexp):
* lisp/progmodes/etags.el (tags-compression-info-list):
Support xz compression.
2010-09-25 14:42:48 -07:00
Jan D 5e3b9a89ad Fix -Wwrite-strings warnings in fakemail.c.
* fakemail.c: Include stdlib.h for getenv. Remove declaration of
popen, fclose and pclose.
(my_name, fatal, error, put_line): Use const char*
(main): Remove extern getenv, mail_program_name is const char*.
2010-08-11 11:16:35 +02:00
Jan D 988e88ab11 Fix warnings produced by compiling with -Wwrite_strings (i.e. use const char *).
* b2m.c (concat, fatal): Use const char*.
(main): Don't assign labels a string literal.

* ebrowse.c (struct member): filename, def_filename is const.
(struct sym): filename, sfilename is const.
(struct kw): name is const.
(add_sym, yyerror, token_string, insert_keyword, main): Use const char*.

* emacsclient.c (message, sock_err_message, send_to_emacs)
(quote_argument, set_local_socket)
(start_daemon_and_retry_set_socket): Use const char*.

* etags.c (compressor, language, Ada_suffix, Ada_help, Asm_suffixes)
(Asm_help, default_C_suffixes, default_C_help, Cplusplus_suffixes)
(Cplusplus_help, Cjava_suffixes, Cobol_suffixes, Cstar_suffixes)
(Erlang_suffixes, Erlang_help, Forth_suffixes, Forth_help)
(Fortran_suffixes, Fortran_help, HTML_suffixes,  HTML_help)
(Lisp_suffixes, Lisp_help, Lua_suffixes, Lua_help)
(Makefile_filenames, Makefile_help, Objc_suffixes, Objc_help)
(Pascal_suffixes, Pascal_help, Perl_suffixes, Perl_interpreters)
(Perl_help, PHP_suffixes, PHP_help, plain_C_suffixses, PS_suffixes)
(PS_help, Prolog_suffixes, Prolog_help, Python_suffixes, Python_help)
(Scheme_suffixes, Scheme_help, TeX_suffixes, TeX_help, Texinfo_suffixes)
(Texinfo_help, Yacc_suffixes, Yacc_help, auto_help, none_help)
(no_lang_help, print_language_names)
(get_language_from_interpreter, get_language_from_filename)
(init, make_tag, struct C_stab_entry, write_classname, TEX_defenv)
(TEX_decode_env, nocase_tail, savestr, savenstr, fatal, pfatal)
(concat): Use const char*.

* make-docfile.c (error, fatal, scan_c_file, scan_lisp_file): Use
const char *.

* movemail.c (fatal, error, concat): Use const char *.

* pop.c (pop_multi_first, socket_connection, sendline): Use conat char*.

* pop.h (pop_multi_first): Use const char *.
(_ARGS): Remove.

* sorted-doc.c (error, fatal, states): Use const char *.

* update-game-score.c (get_prefix, write_scores, main): Use const char*.
2010-08-11 10:20:34 +02:00
Juanma Barranquero 0e9c8657ca Remove duplicate declarations.
* lib-src/ebrowse.c (usage, version, mark_virtual)
* src/alloc.c (lisp_malloc)
* src/buffer.c (set_buffer_internal, set_buffer_internal_1)
* src/charset.h (emacs_mule_charset)
* src/dispextern.h (inhibit_free_realized_faces, redraw_frame)
  (redraw_garbaged_frames, scroll_cost, update_frame, scrolling)
  (bitch_at_user)
* src/lisp.h (Fcheck_coding_system, Fget_text_property)
  (Qfunction, Qcompletion_ignore_case, QCwidth, QCsize)
2010-08-07 03:10:12 +02:00
Dan Nicolaescu 0613f5d515 emacsclient.c cleanups.
* lib-src/emacsclient.c: Move socket related #includes together with the
rest of the #includes.  Move a WINDOWSNT includes closer together.
(HAVE_CONFIG_H): Remove.
(NO_RETURN): Remove, defined in config.h.
(main): Convert definition to standard C.
2010-08-05 21:09:54 -07:00
Juanma Barranquero 087b38a075 Fix typos in ChangeLogs. 2010-07-29 04:42:53 +02:00
Juanma Barranquero a94a477d07 * make-docfile.c (write_c_args): Warn for old-style empty arglist (). 2010-07-29 04:11:23 +02:00
Juanma Barranquero 35a7804dae * emacsclient.c (getcwd): Fix previous change.
Make getcwd conditional on HAVE_GETCWD and declare with the
  correct POSIX profile (for some reason MinGW headers define
  its 2nd arg as int, not size_t; but getcwd is not used on
  Windows nonetheless).
2010-07-25 05:36:54 +02:00
Juanma Barranquero 361358ea12 Make building under stricter warning flags somewhat cleaner.
Flags used: -Wold-style-declaration -Wunused-function -Wstrict-prototypes

* lib-src/emacsclient.c (getcwd, w32_getenv):
* lib-src/ntlib.h (getlogin, getuid, getegid, getgid): Fix prototypes.

* nt/runemacs.c (set_user_model_id): Fix prototype.

* src/callproc.c (relocate_fd): Set inside #ifndef WINDOWSNT.
* src/dired.c (opendir, readdir): Fix prototypes.
* src/editfns.c (w32_get_internal_run_time): Fix prototypes.
* src/keyboard.c (input_available_signal): Declare inside #ifdef SIGIO.
* src/ndir.h (opendir, readdir, seekdir, closedir): Fix prototypes.
  (telldir): Remove declaration.
* src/ralloc.c (real_morecore, __morecore): Fix prototypes.
* src/sound.c (alsa_sound_perror): Declare inside #ifdef HAVE_ALSA.
* src/syssignal.h (strsignal): Fix prototype.
* src/term.c (tparam): Fix prototype.
  (term_get_fkeys_address, term_get_fkeys_kboard, term_get_fkeys_1)
  (term_get_fkeys): Set inside "#ifndef DOS_NT".
* src/vm-limit.c (check_memory_limits): Fix prototypes of real_morecore
  and __morecore.
* src/w32gui.h (XParseGeometry): Fix prototype.
* src/w32heap.h (get_data_start, get_data_end, init_heap): Fix prototypes.
* src/w32term.c (my_set_focus): Declare inside #if 0.
* src/w32term.h (x_window_to_frame, x_display_info_for_name, w32_term_init)
  (w32_fill_rect, w32_clear_window, init_crit, delete_crit, signal_quit)
  (drain_message_queue, get_next_msg, post_msg, parse_button)
  (ClipboardSequence_Proc): Fix prototypes.
  (wait_for_sync): Remove declaration.
2010-07-25 02:20:51 +02:00
Dan Nicolaescu 68441b90e9 Add NO_RETURN specifiers to functions in lib-src.
* lib-src/update-game-score.c (usage):  Add NO_RETURN specifier.
* lib-src/movemail.c (fatal, pfatal_with_name, pfatal_and_delete):
* lib-src/make-docfile.c (fatal):
* lib-src/hexl.c (usage):
* lib-src/fakemail.c (fatal):
* lib-src/etags.c (fatal, suggest_asking_for_help, pfatal):
* lib-src/emacsclient.c (fatal):
* lib-src/b2m.c (fatal): Likewise.
2010-07-24 10:18:18 -07:00
Juanma Barranquero c4cc8b9a23 Fix typos in ChangeLogs. 2010-07-24 13:53:19 +02:00
Juanma Barranquero 554d39beea * make-docfile.c (write_c_args): Correctly handle prefixes of "defalt". 2010-07-23 15:35:51 +02:00
Juanma Barranquero 7c3320d8b9 Convert some more functions to standard C.
* lib-src/emacsclient.c (get_current_dir_name, w32_get_resource)
  (w32_getenv, w32_set_user_model_id, w32_window_app, w32_execvp)
  (close_winsock, initialize_sockets, w32_find_emacs_process)
  (w32_give_focus):
* lib-src/ntlib.c (getlogin, getuid, getgid, getegid):
* nt/addpm.c (add_registry, main):
* nt/cmdproxy.c (get_env_size):
* nt/ddeclient.c (main):
* nt/runemacs.c (set_user_model_id):
* src/alloc.c (emacs_blocked_free, emacs_blocked_malloc)
  (emacs_blocked_realloc, uninterrupt_malloc):
* src/fringe.c (w32_reset_fringes):
* src/image.c (convert_mono_to_color_image, lookup_rgb_color)
  (init_color_table, XPutPixel, jpeg_resync_to_restart_wrapper):
* src/sound.c (be2hs, do_play_sound):
* src/vm-limit.c (get_lim_data, ret_lim_data):
* src/w32term.c (x_free_frame_resources):
* src/xfaces.c (x_create_gc, x_free_gc):
  Convert definitions to standard C.
2010-07-20 22:21:03 +02:00
Juanma Barranquero a628ad9d97 Fix typos in ChangeLogs. 2010-07-20 13:13:25 +02:00
Andreas Schwab e6cfa7c31f Properly handle C_WARNINGS_SWITCH, PROFILING_CFLAGS, PROFILING_LDFLAGS
* configure.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS)
(PROFILING_LDFLAGS): Substitute, don't add them to CFLAGS/LDFLAGS.
(C_OPTIMIZE_SWITCH): Remove.
(TEMACS_LDFLAGS2): Add ${PROFILING_LDFLAGS}.

* lib-src/Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS)
(PROFILING_LDFLAGS): Set from substitution.
(BASE_CFLAGS): Add  ${C_WARNINGS_SWITCH}.
(ALL_CFLAGS, CPP_CFLAGS): Add ${PROFILING_CFLAGS}.
(LINK_CFLAGS): Add ${PROFILING_LDFLAGS}.

* lwlib/Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS): Set from
substitution.
(ALL_CFLAGS): Add ${C_WARNINGS_SWITCH} and ${PROFILING_CFLAGS}.

* oldXMenu/Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS): Set from
substitution.
(ALL_CFLAGS): Add ${C_WARNINGS_SWITCH} and ${PROFILING_CFLAGS}.

* src/Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS)
(PROFILING_LDFLAGS): Set from substitution.
(ALL_CFLAGS): Add C_WARNINGS_SWITCH and PROFILING_CFLAGS, put
CFLAGS last.
2010-07-12 16:16:38 +02:00
Eli Zaretskii f09e4c6bcd MS-Windows follow-up for 2010-07-12T05:25:46Z!handa@etlken.
makefile.w32-in (lisp2): Change hebrew.el to hebrew.elc.
2010-07-12 12:22:20 +03:00
Andreas Schwab 8966b7575b Use strchr, strrchr instead of index, rindex
* callint.c (Fcall_interactively): Use strchr, strrchr instead of
index, rindex.
* doc.c (get_doc_string, Fsnarf_documentation): Likewise.
* editfns.c (Fuser_full_name, Fformat): Likewise.
* emacs.c (argmatch, sort_args, decode_env_path): Likewise.
* fileio.c (Ffile_symlink_p): Likewise.
* filelock.c (current_lock_owner): Likewise.
* font.c (font_parse_name, font_parse_family_registry): Likewise.
* fontset.c (fontset_pattern_regexp): Likewise.
* lread.c (read1): Likewise.
* sysdep.c (init_system_name): Likewise.
* xfns.c (select_visual): Likewise.
* s/hpux10-20.h (index, rindex): Don't define.
* s/ms-w32.h (index): Likewise.
* s/usg5-4.h: Likewise.

* sed2v2.inp (HAVE_INDEX, HAVE_RINDEX): Don't edit.
(HAVE_STRCHR, HAVE_STRRCHR): Edit to 1.

* emacsclient.c (set_local_socket): Use strchr, strrchr instead of
index, rindex.
* movemail.c (mail_spool_name, popmail): Likewise.
* pop.c (pop_list): Likewise.

* CPP-DEFINES (HAVE_INDEX, HAVE_RINDEX): Remove.

* configure.in: Don't check for index and rindex, check for strchr
and strrchr.  Define strchr and strrchr as index and rindex,
resp., in src/config.h if not available.
2010-07-11 12:31:10 +02:00
Eli Zaretskii 994a7c3beb Fix bug #6603.
makefile.w32-in (obj): Add menu.o, bidi.o, w32uniscrobe.o, and unexw32.o.
2010-07-11 09:39:00 +03:00
Eli Zaretskii c971758df7 Makefile.in ($(DESTDIR)${archlibdir}): Convert spaces to TABs. 2010-07-10 17:29:46 +03:00
Andreas Schwab 91a7f76db4 * make-docfile.c (write_c_args): Restructure scanning loop. 2010-07-09 19:00:04 +02:00
Dan Nicolaescu 0508c67f47 Make make-docfile understand DEFUN arguments written in standard C.
* lib-src/make-docfile.c (write_c_args): Deal with type names in DEFUN
arguments.
2010-07-08 18:09:50 -07:00
Dan Nicolaescu 0216627eb3 Remove leftover P_ macros.
* lib-src/update-game-score.c (P_): Remove macro.
* lib-src/ebrowse.c: Remove include guards.
(P_): Remove macro.
2010-07-07 22:48:57 -07:00
Andreas Schwab 72af86bd8c Replace bcopy, bzero, bcmp by memcpy, memmove, memset, memcmp
* alloc.c (overrun_check_malloc, overrun_check_realloc)
(overrun_check_free, xstrdup, allocate_string)
(allocate_string_data, compact_small_strings, Fmake_string)
(make_unibyte_string, make_multibyte_string)
(make_string_from_bytes, make_specified_string, make_float)
(Fcons, allocate_terminal, allocate_frame, make_pure_string)
(Fgarbage_collect): Replace bcopy, safe_bcopy, bzero, bcmp by
memcpy, memmove, memset, memcmp.
* atimer.c (start_atimer, set_alarm): Likewise.
* buffer.c (clone_per_buffer_values, report_overlay_modification)
(mmap_realloc, init_buffer_once): Likewise.
* callint.c (Fcall_interactively): Likewise.
* callproc.c (Fcall_process, Fcall_process_region, child_setup)
(getenv_internal_1): Likewise.
* casefiddle.c (casify_object): Likewise.
* ccl.c (ccl_driver): Likewise.
* character.c (str_as_multibyte, str_to_multibyte): Likewise.
* charset.c (load_charset_map_from_file)
(load_charset_map_from_file, load_charset_map_from_vector)
(Fdefine_charset_internal): Likewise.
* cm.c (Wcm_clear): Likewise.
* coding.c (decode_eol, decode_coding_object)
(Fset_coding_system_priority, make_subsidiaries): Likewise.
* data.c (Faset): Likewise.
* dired.c (directory_files_internal, file_name_completion_stat):
Likewise.
* dispnew.c (new_glyph_matrix, adjust_glyph_matrix)
(clear_glyph_row, copy_row_except_pointers)
(copy_glyph_row_contents, new_glyph_pool, realloc_glyph_pool)
(save_current_matrix, restore_current_matrix)
(build_frame_matrix_from_leaf_window, mirrored_line_dance)
(mirror_line_dance, scrolling_window): Likewise.
* doc.c (Fsnarf_documentation, Fsubstitute_command_keys):
Likewise.
* doprnt.c (doprnt): Likewise.
* editfns.c (Fuser_full_name, make_buffer_string_both)
(Fmessage_box, Fformat, Ftranspose_regions): Likewise.
* emacs.c (sort_args): Likewise.
* eval.c (Fapply, Ffuncall): Likewise.
* fileio.c (Ffile_name_directory, make_temp_name)
(Fexpand_file_name, search_embedded_absfilename)
(Fsubstitute_in_file_name, Ffile_symlink_p, Finsert_file_contents)
(auto_save_error): Likewise.
* fns.c (Fstring_equal, Fcopy_sequence, concat)
(string_to_multibyte, Fstring_as_unibyte, Fstring_as_multibyte)
(internal_equal, Fclear_string, larger_vector, copy_hash_table)
(Fmake_hash_table): Likewise.
* fringe.c (Fdefine_fringe_bitmap): Likewise.
* ftfont.c (ftfont_text_extents): Likewise.
* getloadavg.c (getloadavg): Likewise.
* image.c (define_image_type, make_image, make_image_cache)
(x_create_x_image_and_pixmap, xbm_image_p)
(w32_create_pixmap_from_bitmap_data, xbm_load, xpm_lookup_color)
(xpm_image_p, x_create_bitmap_from_xpm_data, xpm_load)
(init_color_table, x_build_heuristic_mask, pbm_image_p, pbm_load)
(png_image_p, png_read_from_memory, png_load, jpeg_image_p)
(tiff_image_p, tiff_read_from_memory, gif_image_p)
(gif_read_from_memory, gif_load, svg_image_p, gs_image_p):
Likewise.
* indent.c (scan_for_column, compute_motion): Likewise.
* insdel.c (gap_left, gap_right, make_gap_smaller, copy_text)
(insert_1_both, insert_from_gap, replace_range_2): Likewise.
* intervals.c (reproduce_tree, reproduce_tree_obj): Likewise.
* keyboard.c (echo_char, save_getcjmp, restore_getcjmp)
(kbd_buffer_store_event_hold, apply_modifiers_uncached)
(store_user_signal_events, menu_bar_items, tool_bar_items)
(process_tool_bar_item, append_tool_bar_item)
(read_char_minibuf_menu_prompt, read_key_sequence)
(Fread_key_sequence, Fread_key_sequence_vector, Frecent_keys):
Likewise.
* keymap.c (current_minor_maps, Fdescribe_buffer_bindings):
Likewise.
* lisp.h (STRING_COPYIN): Likewise.
* lread.c (Fload, read1, oblookup): Likewise.
* msdos.c (Frecent_doskeys): Likewise.
* nsfns.m (Fx_create_frame): Likewise.
* nsfont.m (nsfont_open, nsfont_text_extents, ns_glyph_metrics):
Likewise.
* nsimage.m (EmacsImage-initFromSkipXBM:width:height:)
(EmacsImage-initForXPMWithDepth:width:height:flip:length:):
Likewise.
* nsmenu.m (ns_update_menubar): Likewise.
* nsterm.m (ns_draw_fringe_bitmap, ns_term_init): Likewise.
* print.c (print_unwind, printchar, strout, print_string)
(print_error_message): Likewise.
* process.c (conv_lisp_to_sockaddr, set_socket_option)
(Fmake_network_process, Fnetwork_interface_list)
(Fnetwork_interface_info, read_process_output, Fprocess_send_eof)
(init_process): Likewise.
* ralloc.c (resize_bloc, r_alloc_sbrk, r_alloc_init): Likewise.
* regex.c (init_syntax_once, regex_compile, re_compile_fastmap):
Likewise.
* scroll.c (do_scrolling, do_direct_scrolling)
(scrolling_max_lines_saved): Likewise.
* search.c (search_buffer, wordify, Freplace_match): Likewise.
* sound.c (wav_init, au_init, Fplay_sound_internal): Likewise.
* syntax.c (skip_chars, skip_syntaxes): Likewise.
* sysdep.c (child_setup_tty, sys_subshell, emacs_get_tty)
(emacs_set_tty): Likewise.
* term.c (encode_terminal_code, calculate_costs)
(produce_special_glyphs, create_tty_output, init_tty, delete_tty):
Likewise.
* termcap.c (tgetst1, gobble_line): Likewise.
* termhooks.h (EVENT_INIT): Likewise.
* tparam.c (tparam1): Likewise.
* unexalpha.c (unexec): Likewise.
* unexec.c (write_segment): Likewise.
* unexmacosx.c (unexec_write_zero): Likewise.
* w32fns.c (w32_wnd_proc, Fx_create_frame, x_create_tip_frame)
(Fx_file_dialog, Fsystem_move_file_to_trash): Likewise.
* w32font.c (w32font_list_family, w32font_text_extents)
(w32font_list_internal, w32font_match_internal)
(w32font_open_internal, compute_metrics, Fx_select_font):
Likewise.
* w32menu.c (set_frame_menubar, add_menu_item)
(w32_menu_display_help, w32_free_submenu_strings): Likewise.
* w32term.c (XCreateGC, w32_initialize_display_info): Likewise.
* w32uniscribe.c (uniscribe_list_family): Likewise.
* w32xfns.c (get_next_msg, post_msg, prepend_msg): Likewise.
* window.c (make_window, replace_window, set_window_buffer)
(Fsplit_window): Likewise.
* xdisp.c (init_iterator, RECORD_OVERLAY_STRING, reseat_to_string)
(add_to_log, message3, x_consider_frame_title)
(append_space_for_newline, extend_face_to_end_of_line)
(decode_mode_spec_coding, init_glyph_string): Likewise.
* xfaces.c (x_create_gc, get_lface_attributes_no_remap)
(Finternal_copy_lisp_face, Finternal_merge_in_global_face)
(face_attr_equal_p, make_realized_face, make_face_cache)
(free_realized_faces, lookup_named_face, smaller_face)
(face_with_height, lookup_derived_face)
(x_supports_face_attributes_p, Finternal_set_font_selection_order)
(Finternal_set_font_selection_order, realize_default_face)
(compute_char_face, face_at_buffer_position)
(face_for_overlay_string, face_at_string_position, merge_faces):
Likewise.
* xfns.c (xic_create_fontsetname, Fx_create_frame)
(Fx_window_property, x_create_tip_frame)
(Fx_backspace_delete_keys_p): Likewise.
* xfont.c (xfont_list, xfont_match, xfont_list_family)
(xfont_text_extents): Likewise.
* xmenu.c (set_frame_menubar, xmenu_show): Likewise.
* xrdb.c (magic_file_p, x_get_resource): Likewise.
* xselect.c (x_queue_event, x_get_window_property)
(receive_incremental_selection): Likewise.
* xsmfns.c (x_session_check_input): Likewise.
* xterm.c (x_send_scroll_bar_event, SET_SAVED_MENU_EVENT)
(handle_one_xevent, x_check_errors, xim_initialize, x_term_init):
Likewise.
* character.h (BCOPY_SHORT): Removed.
* config.in: Regenerate.
* dispnew.c (safe_bcopy): Only define as dummy if PROFILING.
* emacs.c (main) [PROFILING]: Don't declare
dump_opcode_frequencies.
* lisp.h (safe_bcopy): Remove declaration.
(memset) [!HAVE_MEMSET]: Declare.
(memcpy) [!HAVE_MEMCPY]: Likewise.
(memmove) [!HAVE_MEMMOVE]: Likewise.
(memcmp) [!HAVE_MEMCMP]: Likewise.
* s/ms-w32.h (bzero, bcopy, bcmp, GAP_USE_BCOPY)
(BCOPY_UPWARD_SAFE, BCOPY_DOWNWARD_SAFE, HAVE_BCOPY, HAVE_BCMP):
Don't define.
(HAVE_MEMCMP, HAVE_MEMCPY, HAVE_MEMMOVE, HAVE_MEMSET): Define.
* s/msdos.h (GAP_USE_BCOPY, BCOPY_UPWARD_SAFE)
(BCOPY_DOWNWARD_SAFE): Don't define.
* sysdep.c (memset) [!HAVE_MEMSET]: Define.
(memcpy) [!HAVE_MEMCPY]: Define.
(memmove) [!HAVE_MEMMOVE]: Define.
(memcmp) [!HAVE_MEMCMP]: Define.

* config.nt (HAVE_BCOPY, HAVE_BCMP): Remove undefs.
(HAVE_MEMCPY, HAVE_MEMMOVE, HAVE_MEMSET, HAVE_MEMCMP): Add undefs.

* sed2v2.inp (HAVE_MEMCPY, HAVE_MEMSET): Edit to 1.
(HAVE_BZERO): Don't edit.

* lwlib.c (lwlib_memset, lwlib_bcopy): Remove.
(malloc_widget_value, free_widget_info, allocate_widget_instance)
(lw_separator_p): Replace lwlib_memset, lwlib_bcopy, bzero, bcmp by
memset, memcpy, memcmp.
* lwlib-utils.c (XtApplyToWidgets): Likewise.
* xlwmenu.c (XlwMenuInitialize): Likewise.
* lwlib.h (lwlib_bcopy): Remove declaration.

* ebrowse.c (add_sym, make_namespace): Replace bcopy, bzero by
memcpy, memmove, memset.
* pop.c (pop_retrieve, socket_connection, pop_getline): Likewise.

* CPP-DEFINES (BCOPY_DOWNWARD_SAFE, BCOPY_UPWARD_SAFE)
(GAP_USE_BCOPY, HAVE_BCMP, HAVE_BCOPY, bcmp, bcopy, bzero):
Remove.

* configure.in: Don't check for bcopy, bcmp, bzero.  Don't include
<strings.h> and don't define bcopy, bzero, BCMP in config.h.
2010-07-08 00:18:28 +02:00
Andreas Schwab 1725ae554e Clean up movemail source
* movemail.c: Add MAIL_USE_POP around prototypes.
	Include <string.h> if HAVE_STRING_H.
	(strerror): Only declare if !HAVE_STRERROR.
	(fatal): Make static.
	(error): Likewise.
	(pfatal_with_name): Likewise.
	(pfatal_and_delete). Likewise.
	(concat): Likewise.
	(xmalloc): Likewise.
	(popmail): Likewise.
	(pop_retr): Likewise.
	(mbx_write): Likewise.
	(mbx_delimit_begin): Likewise.
	(mbx_delimit_end): Likewise.
2010-07-06 13:50:35 +02:00
Andreas Schwab e2ad23ef3f * movemail.c: Add MAIL_USE_POP around prototypes. 2010-07-06 13:11:28 +02:00
Dan Nicolaescu b8463cbfbe * lib-src/fakemail.c (action): Convert function definitions to standard C.
(add_a_stream):
* lib-src/test-distrib.c (cool_read):
(main): Likewise.
2010-07-03 23:05:43 -07:00
Eli Zaretskii 1c027a2427 ebrowse.c (check_namespace): Fix indentation. 2010-07-03 18:15:30 +03:00
Andreas Schwab a52a00a3d7 Fix invalid cast
* sorted-doc.c (cmpdoc): Fix signature.
(qsort_compare): Delete.
(main): Remove cast.
2010-07-03 14:11:03 +02:00
Juanma Barranquero 35d99b7220 lib-src/ebrowse.c (match_qualified_namespace_alias): Check for null pointer. 2010-07-03 12:46:27 +02:00
Juanma Barranquero 3a35a84c93 Fix prototypes.
* src/cm.c (evalcost): Fix arg type.
* src/cm.h (evalcost): Fix prototype.
* src/lisp.h (memory_warnings): Fix prototype.

* lib-src/ebrowse.c (match_qualified_namespace_alias):
  Pass sym* to find_namespace, not link*.
* lib-src/emacsclient.c (send_to_emacs, quote_argument): Arg s is HSOCKET.
* lib-src/sorted-doc.c (qsort_compare): New typedef.
  (main): Use it to cast cmpdoc.
2010-07-03 09:44:17 +02:00
Dan Nicolaescu 873fbd0b84 Convert function definitions to standard C.
* lib-src/update-game-score.c: Convert function definitions to standard C.
* lib-src/sorted-doc.c:
* lib-src/profile.c:
* lib-src/pop.c:
* lib-src/movemail.c:
* lib-src/make-docfile.c:
* lib-src/hexl.c:
* lib-src/fakemail.c:
* lib-src/etags.c:
* lib-src/ebrowse.c:
* lib-src/digest-doc.c:
* lib-src/b2m.c: Likewise.
2010-07-02 17:50:23 -07:00
Dan Nicolaescu c532d34963 Convert some prototypes to standard C.
* lib-src/make-docfile.c (xmalloc, xrealloc, concat, readline, fatal):
* lib-src/b2m.c (scan_file, scan_lisp_file, scan_c_file): Convert to
standard C prototypes.

* src/term.c (term_clear_mouse_face, Fidentity):
* src/syssignal.h (signal_handler_t):
* src/lisp.h (memory_warnings):
* src/coding.h (preferred_coding_system):
* src/cm.h (evalcost):
* src/blockinput.h (reinvoke_input_signal): Convert to standard C prototypes.
2010-07-02 15:18:28 -07:00
Jan D 9e892c8d8b Remove __P. 2010-07-02 14:55:51 +02:00
Jan D f57e2426f0 Remove __P and P_ from .c and .m files and definition of P_
* lisp.h:
* atimer.h: Remove define for P_.

* alloc.c: Remove __P and P_ from .c and .m files.
* atimer.c:
* buffer.c:
* callint.c:
* category.c:
* charset.c:
* chartab.c:
* cm.c:
* coding.c:
* composite.c:
* data.c:
* dired.c:
* dispnew.c:
* doc.c:
* editfns.c:
* emacs.c:
* eval.c:
* fileio.c:
* filelock.c:
* fns.c:
* font.c:
* fontset.c:
* frame.c:
* ftfont.c:
* ftxfont.c:
* gmalloc.c:
* gtkutil.c:
* image.c:
* indent.c:
* intervals.c:
* keyboard.c:
* keymap.c:
* lread.c:
* marker.c:
* menu.c:
* minibuf.c:
* print.c:
* process.c:
* scroll.c:
* search.c:
* sound.c:
* strftime.c:
* syntax.c:
* sysdep.c:
* term.c:
* terminal.c:
* textprop.c:
* unexalpha.c:
* w32console.c:
* w32fns.c:
* w32font.c:
* w32menu.c:
* w32term.c:
* w32uniscribe.c:
* window.c:
* xdisp.c:
* xfaces.c:
* xfns.c:
* xfont.c:
* xftfont.c:
* xmenu.c:
* xselect.c:
* xterm.c: Likewise.

* ebrowse.c: Remove P_ and __P.
* etags.c:
* movemail.c:
* pop.c:
* update-game-score.c: Likewise.
2010-07-02 14:19:53 +02:00
Juanma Barranquero 3b3807f859 lib-src/movemail.c (error): Avoid warning when there are no args. 2010-06-24 18:12:35 +02:00
Juanma Barranquero 5fee75d49a Fix Windows makefiles to adapt to lisp/vc reorganization.
* lib-src/makefile.w32-in (lisp2): Fix references to vc/vc-hooks.elc
  and vc/ediff-hook.elc.

* lisp/makefile.w32-in (WINS_BASIC): Include new directory vc.
2010-06-11 23:26:13 +02:00
Juanma Barranquero fff84c22e7 Remove duplicate ChangeLog entries. 2010-06-10 03:04:45 +02:00
Dan Nicolaescu 3085237cdc Remove BSTRING related code, all platforms define it.
* src/s/usg5-4.h (BSTRING): Remove definition.
* src/s/template.h (BSTRING):
* src/s/msdos.h (BSTRING):
* src/s/ms-w32.h (BSTRING):
* src/s/hpux10-20.h (BSTRING):
* src/s/gnu-linux.h (BSTRING):
* src/s/darwin.h (BSTRING):
* src/s/cygwin.h (BSTRING):
* src/s/bsd-common.h (BSTRING):
* src/s/aix4-2.h (BSTRING): Likewise.
* src/sysdep.c: Remove code depending on BSTRING not being defined.

* configure.in: Remove code dealing with BSTRING.

* lib-src/ntlib.h: Remove code dealing with BSTRING.

* nt/config.nt: Remove code depending on BSTRING.
2010-06-06 01:57:39 -07:00
Chong Yidong 0191e222e3 Add --parent-id argument to emacsclient.
* lib-src/emacsclient.c (longopts, decode_options, print_help_and_exit):
New arg `-parent-id'.
(main): Send parent-id to Emacs.

* lisp/server.el (server-process-filter): Receive parent-id argument
from emacsclient.
(server-create-window-system-frame): New arg.  Pass parent-id as
frame parameter.
2010-05-29 19:50:47 -04:00
Glenn Morris 81ac4f3536 Do not preprocess src/Makefile.in.
* configure.in: Do not preprocess src/Makefile.in.
(cpp_undefs, CPP_NEED_TRADITIONAL): Remove.
(AC_EGREP_CPP): Test no longer needed.
* configure: Regenerate.

* config.bat: Do not preprocess src/Makefile.in.

* make-dist: No more Makefile.c files.

* INSTALL, src/README: Makefiles are not preprocessed.

* src/Makefile.in, src/autodeps.mk, src/deps.mk, src/ns.mk:
Convert comments to Makefile format.

* lib-src/Makefile.in (distclean): No more Makefile.c.
* src/Makefile.in (bootstrap-clean): No more Makefile.c.

* admin/notes/cpp: Remove file.

* admin/quick-install-emacs (AVOID): No more Makefile.c files.

* etc/PROBLEMS, etc/MACHINES: Remove details of cpp problems which can
no longer occur.
2010-05-26 22:43:27 -07:00
Jan Djärv 4e3028f8f7 Remove cirsular dependency when using separate build dir (Bug #6246).
* Makefile.in (STAMP_INST_SCRIPTS, STAMP_SCRIPS): New (Bug #6246).
 (all): Depend onSTAMP_INST_SCRIPTS, STAMP_SCRIPS (Bug #6246).
 (stamp-rcs2log, stamp-rcs-checkin, stamp-grep-changelog, stamp-vcdiff):
 New rules (Bug #6246).
 (clean): Remove stamp-* (Bug #6246).
2010-05-22 13:59:09 +02:00
Glenn Morris 2f8d5db917 * lib-src/Makefile.in: Break some long lines. 2010-05-14 18:05:11 -07:00
Glenn Morris 44b031a6b0 Remove unused output variable LIB_SRC_EXTRA_INSTALLABLES.
* configure.in (LIB_SRC_EXTRA_INSTALLABLES): Remove, unused.

* lib-src/Makefile.in (INSTALLABLES): Remove @LIB_SRC_EXTRA_INSTALLABLES@.

* msdos/sed3v2.inp (INSTALLABLES): No more @LIB_SRC_EXTRA_INSTALLABLES@.
2010-05-11 20:06:50 -07:00
Glenn Morris c88b05a9d6 Minor lib-src/Makefile.in edits.
* lib-src/Makefile.in (.m.o): Remove, there are no .m files.
(BASE_CFLAGS): New variable.
(ALL_CFLAGS, LINK_CFLAGS, CPP_CFLAGS): Use $BASE_CFLAGS.
(check): Update the message.
(update-game-score${EXEEXT}): Do not use $MOVE_FLAGS.
2010-05-10 20:18:58 -07:00
Glenn Morris d3b23034e8 Do not preprocess lib-src/Makefile.in
* configure.in: Generate lib-src/Makefile directly, do not run cpp.
* config.bat: Do not run cpp on lib-src/Makefile.in.

* lib-src/Makefile.in: Convert comments to makefile format.

* admin/notes/cpp: lib-src/Makefile not preprocessed.
2010-05-10 20:00:32 -07:00