aboutsummaryrefslogtreecommitdiffstats
path: root/lib-src
Commit message (Collapse)AuthorAgeFilesLines
* lib-src/Makefile trivial simplificationsGlenn Morris2014-06-252-23/+30
| | | | | | | | | | * lib-src/Makefile.in (blessmail): Depend on lisp/mail/blessmail.el. Use $<, $@. (regex.o, etags${EXEEXT}, ctags${EXEEXT}, ebrowse${EXEEXT}) (profile${EXEEXT}, make-docfile${EXEEXT}, movemail${EXEEXT}) (pop.o, emacsclient${EXEEXT}, emacsclientw${EXEEXT}, ntlib.o) (hexl${EXEEXT}, update-game-score${EXEEXT}, emacsclient.res): Use $<. (ctags${EXEEXT}): Add $srcdir to dependency rather than using VPATH.
* Omit redundant extern decls.Paul Eggert2014-06-173-5/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most of this patch is from Dmitry Antipov, in: http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00263.html * configure.ac (WERROR_CFLAGS): Add -Wredundant-decls. * lib-src/emacsclient.c (getenv): Remove decl. * lib-src/make-docfile.c (write_globals): Add ATTRIBUTE_CONST for Fbyteorder, Ftool_bar_height, Fmax_char, Fidentity. * lwlib/lwlib-Xm.c (lw_motif_widget_p, xm_update_one_value) (xm_create_dialog, xm_destroy_instance, xm_popup_menu) (xm_set_keyboard_focus, xm_set_main_areas): Remove decls. * src/commands.h (update_mode_lines): * src/frame.h (Qbackground_color, Qforeground_color) (x_set_menu_bar_lines): * src/ftfont.c (ftfont_font_format): * src/intervals.h (Qkeymap, Qfont): * src/keyboard.c (timer_check, safe_run_hooks, Qregion_extract_function): * src/lisp.h (Ffboundp, Qnil, Qt, Qlambda, Qintegerp, Qwholenump) (Qsymbolp, Qlisp, Qconsp, Qstringp, Qarrayp, Qbufferp, Qmarkerp) (Qvectorp, Qbuffer_or_string_p, Qchar_table_p, Qvector_or_char_table_p) (Qfloatp, Qnumberp, Qfont_spec, Qfont_entity, Qfont_object) (Fbyteorder, wrong_type_argument, Fmax_char, syms_of_composite) (Fidentity, extract_float, init_display, syms_of_display, Qdisplay): (Qimage, Qbox, redisplay_preserve_echo_area, char_table_ref) (char_table_set, char_table_translate, Qautoload, Qbottom, Qtop) (Qvisible, Qfont, Qfront_sticky, Qrear_nonsticky, init_sigio) (Qtool_bar, Qheader_line): * src/macros.c (Fexecute_kbd_macro): * src/xdisp.c (Ftool_bar_height, Ftool_bar_height): * src/xterm.c (x_delete_terminal, XSetIMValues): * src/xterm.h (x_set_window_size, x_query_color, x_get_focus_frame) (x_implicitly_set_name, popup_activated) (widget_store_internal_border): Remove redundant decls. * src/frame.c [USE_X_TOOLKIT]: Include widget.h. * src/keyboard.c (Fexit_recursive_edit, Fabort_recursive_edit): Remove _Noreturn, as make-docfile now does that for us. * src/lisp.h (DEFUN): Don't declare fnname here; rely on make-docfile. (Qregion_extract_function): New decl. * src/window.c, src/xfns.c: Include menu.h.
* Makefile commentsGlenn Morris2014-06-151-1/+1
|
* Explicitly set LDFLAGS in some sub-MakefilesGlenn Morris2014-06-152-1/+8
| | | | | | * lib-src/Makefile.in (LDFLAGS): Explicitly set via configure. * nt/Makefile.in (LDFLAGS): Explicitly set via configure.
* Fix MS-Windows build broken by latest Makefile.in changes.Eli Zaretskii2014-06-152-0/+5
| | | | | | nt/Makefile.in (CPPFLAGS): Define. lib-src/Makefile.in (CPPFLAGS): Define.
* Use `make -C' rather than `cd && make'Glenn Morris2014-06-142-1/+4
| | | | | | | | | | | | * Makefile.in: Use `make -C' rather than `cd && make' throughout. * lib-src/Makefile.in (../lib/libgnu.a): Use `make -C' rather than `cd && make'. * lisp/Makefile.in (leim, semantic): Use `make -C' rather than `cd && make'. * lwlib/Makefile.in ($(globals_h)): Use `make -C' rather than `cd && make'. * src/Makefile.in: Use `make -C' rather than `cd && make' throughout.
* Parallelize clean rules using GNU make featuresGlenn Morris2014-06-142-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in: (submake_template): New definition. (mostlyclean_dirs, clean_dirs, distclean_dirs, maintainer_clean_dirs): New variables. (mostlyclean, clean, distclean, bootstrap-clean, maintainer-clean) (extraclean): Define using each subdirectory as a prequisite. * lib/Makefile.am (bootstrap-clean): * doc/emacs/Makefile.in (bootstrap-clean): * doc/lispintro/Makefile.in (bootstrap-clean): * doc/lispref/Makefile.in (bootstrap-clean): * doc/misc/Makefile.in (bootstrap-clean): * lib-src/Makefile.in (bootstrap-clean): * lwlib/Makefile.in (bootstrap-clean): * nextstep/Makefile.in (bootstrap-clean): * nt/Makefile.in (bootstrap-clean): * oldXMenu/Makefile.in (bootstrap-clean): New rules, for symmetry/simplicity. * lwlib/Makefile.in (mostlyclean, clean, distclean, maintainer-clean): * oldXMenu/Makefile.in (mostlyclean, clean, distclean, maintainer-clean, tags): Declare as PHONY.
* With GNU make, MFLAGS is not neededGlenn Morris2014-06-132-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (CC, CFLAGS, LDFLAGS, CPPFLAGS, abs_top_srcdir): Remove, no longer used. (lib, lib-src, lisp, nt, src, blessmail, install-arch-dep) (install-nt, install-strip, uninstall, uninstall-nt) (mostlyclean, clean, distclean, bootstrap-clean) (maintainer-clean, extraclean, TAGS, tags, check, $(DOCS)): ($(INSTALL_DOC), $(UNINSTALL_DOC), info, bootstrap, check-declare): GNU make automatically passes command-line arguments to sub-makes. * admin/unidata/Makefile.in (${DSTDIR}/charprop.el): GNU make automatically passes command-line arguments to sub-makes. * lib-src/Makefile.in (../lib/libgnu.a): GNU make automatically passes command-line arguments to sub-makes. * lisp/Makefile.in ($(lisp)/cus-load.el, $(lisp)/finder-inf.el) (autoloads, $(lisp)/subdirs.el, compile-main, leim, semantic, compile) (compile-always): GNU make automatically passes command-line arguments to sub-makes. * lwlib/Makefile.in ($(globals_h)): GNU make automatically passes command-line arguments to sub-makes. * src/Makefile.in ($(leimdir)/leim-list.el, $(srcdir)/macuvs.h) ($(lispsource)/international/charprop.el) ($(libsrc)/make-docfile$(EXEEXT), $(lwlibdir)/liblw.a) ($(oldXMenudir)/libXMenu11.a, ns-app, .el.elc) ($(lispsource)/loaddefs.el, bootstrap-emacs$(EXEEXT)): GNU make automatically passes command-line arguments to sub-makes. * test/automated/Makefile.in (compile-main): GNU make automatically passes command-line arguments to sub-makes.
* Minor fixes for MS-Windows MinGW64 build.Eli Zaretskii2014-05-262-1/+4
| | | | | | src/w32.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Define only if undefined. lib-src/ntlib.h (lseek): Don't redirect to _lseek.
* Merge from emacs-24; up to 2014-05-26T10:21:[email protected]Glenn Morris2014-05-252-16/+53
|\
| * Fix rcs2log problems with CVS.Paul Eggert2014-05-202-16/+53
| | | | | | | | | | | | | | | | | | 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.
* | Remove dependencies on getdelim and getline.Paul Eggert2014-05-182-166/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Port ctags+etags build to Sun C 5.12.Paul Eggert2014-05-183-8/+21
| | | | | | | | | | | | | | | | | | | | | | * .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.
* | Merge from emacs-24; up to 2014-05-08T03:34:[email protected]Glenn Morris2014-05-071-1/+1
|\|
| * * src/keyboard.c (Frecursive_edit): Ensure inc&dec of command_loop_levelSamuel Bronson2014-05-061-1/+1
| | | | | | | | | | | | are matched. Fixes: debbugs:17413
* | Merge from emacs-24; up to 2014-05-04T21:18:[email protected]Paul Eggert2014-05-042-4/+5
|\|
| * Handle systems without WCONTINUED consistently.Paul Eggert2014-05-032-4/+5
| | | | | | | | | | | | | | | | | | * 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
* | Merge from emacs-24; up to 2014-05-01T10:21:[email protected]Juanma Barranquero2014-04-302-2/+7
|\|
| * * lib-src/Makefile.in ($(DESTDIR)${archlibdir}): Avoid non-portable "`\" nestingGlenn Morris2014-04-292-2/+7
| | | | | | | | Fixes: debbugs:17339
* | Merge from emacs-24; up to 2014-04-16T15:28:[email protected]Paul Eggert2014-04-162-2/+7
|\|
| * Fix the MSDOS build.Eli Zaretskii2014-04-162-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Reduce duplication in lib-src etags/ctags rulesGlenn Morris2014-03-222-11/+17
| | | | | | | | | | * lib-src/Makefile.in (etags_deps, etags_args): New, to reduce duplication. (etags${EXEEXT}, ctags${EXEEXT}): Use etags_deps, etags_args.
* | Use $@ more in lib-src/Makefile.inGlenn Morris2014-03-222-11/+16
| | | | | | | | | | | | | | * 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 $@.
* | * lib-src/Makefile.in (../lib/libgnu.a): Explicitly pass MFLAGS.Glenn Morris2014-03-222-1/+3
| |
* | Remove lib-src/test-distrib.c and relatedGlenn Morris2014-03-224-97/+8
|/ | | | | | | | | | | | | | | | | | 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.
* lib-src/emacsclient.c (main): #ifdef out previous change on Windows.Juanma Barranquero2014-03-102-0/+6
|
* Fix emacsclient terminal corruption when in background.Paul Eggert2014-03-092-3/+23
| | | | | | | | | | | * 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
* */ChangeLog: Trivial fixes.Juanma Barranquero2014-03-031-14/+10
|
* Fix emacsclient's handling of SIGCONT.Paul Eggert2014-02-252-3/+8
| | | | | | * emacsclient.c (handle_sigcont): Cancel the continue only if tty. Fixes: debbugs:16883
* Fix typos in Changelogs.Juanma Barranquero2014-02-131-1/+1
|
* Document 2014-01-22T19:02:[email protected] better.Paul Eggert2014-01-231-5/+19
|
* Fix MS-Windows build in lib-src broken by last commit.Eli Zaretskii2014-01-222-0/+11
| | | | | lib-src/update-game-score.c (write_scores) [WINDOWSNT]: Use chmod instead of fchmod.
* Fix miscellaneous update-game-score bugs.Paul Eggert2014-01-222-12/+20
| | | | | | | | | | | | * 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.
* Unduplicate the lib-src/ and etc/ ChangeLogsGlenn Morris2014-01-211-590/+11
| | | | * lisp/emacs-lisp/authors.el (authors-valid-file-names): Related additions.
* ChangeLog fixesGlenn Morris2014-01-211-1/+1
|
* update-game-score fixes for -m and integer overflowPaul Eggert2014-01-192-85/+169
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* ChangeLog fixesGlenn Morris2014-01-161-3/+3
|
* Spelling fixes.Paul Eggert2014-01-151-1/+1
|
* Spelling fixes.Paul Eggert2014-01-042-2/+8
| | | | | | | | * 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.
* Fix copyright years by hand.Paul Eggert2014-01-011-2/+1
| | | | | These are dates that admin/update-copyright did not update, or updated incorrectly.
* Update copyright year to 2014 by running admin/update-copyright.Paul Eggert2014-01-0118-19/+19
|
* Use bool for boolean, focusing on headers.Paul Eggert2013-12-146-359/+362
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Prefer tail calls.Paul Eggert2013-11-133-7/+9
| | | | | | | | | * 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.
* Avoid non-portable "` ... \"...\" ... `" nestingGlenn Morris2013-10-242-1/+5
| | | | | | | | * 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.
* Fix whitespace in previous Makefile.in changesGlenn Morris2013-10-231-1/+2
|
* Attempt at a fix for mingw CPPFLAGSGlenn Morris2013-10-232-0/+5
| | | | | | | | | | | | * 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.
* Progress towards allowing installation in directories with whitespaceGlenn Morris2013-10-232-24/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Make building in directories with whitespace possibleGlenn Morris2013-10-222-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* * lib-src/make-docfile.c (search_lisp_doc_at_eol): Use int rather than charGlenn Morris2013-10-092-1/+6
| | | | | | with getc. Fixes: debbugs:15481
* A simpler, centralized INLINE.Paul Eggert2013-09-202-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.