aboutsummaryrefslogtreecommitdiffstats
path: root/lib-src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Use 0 for QnilPaul Eggert2015-01-052-0/+13
| | | | | | | | | | | | | | | | | | | | Fixes Bug#15880. If USE_LSB_TAG, arrange for the representation of Qnil to be zero so that NILP (x) is equivalent to testing whether x is 0 at the machine level. The overall effects of this and the previous patch shrink the size of the text segment by 2.3% and speeds up compilation of all the .elc files by about 0.5% on my platform, which is Fedora 20 x86-64. * lib-src/make-docfile.c (compare_globals): * src/lisp.h (lisp_h_XPNTR, lisp_h_XSYMBOL, lisp_h_XUNTAG) (make_lisp_symbol) [USE_LSB_TAG]: Symbols now tag the difference from lispsym, not the pointer. (lisp_h_XUNTAGBASE, TAG_SYMPTR): New macros. (Lisp_Int0, Lisp_Int1, Lisp_Symbol, Lisp_Misc, Lisp_String, Lisp_Cons): Renumber so that Lisp_Symbol is 0, so that Qnil is zero. (XSYMBOL): New forward decl. (XUNTAGBASE): New function. (XUNTAG): Use it.
* Compute C decls for DEFSYMs automaticallyPaul Eggert2015-01-052-76/+226
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes Bug#15880. This patch also makes Q constants (e.g., Qnil) constant addresses from the C point of view. * make-docfile.c: Revamp to generate table of symbols, too. Include <stdbool.h>. (xstrdup): New function. (main): Don't process the same file twice. (SYMBOL): New constant in enum global_type. (struct symbol): Turn 'value' member into a union, either v.value for int or v.svalue for string. All uses changed. (add_global): New arg svalue, which overrides value, so that globals can have a string value. (close_emacs_global): New arg num_symbols; all uses changed. Output lispsym decl. (write_globals): Output symbol globals too. Output more ATTRIBUTE_CONST, now that Qnil etc. are C constants. Output defsym_name table. (scan_c_file): Move most of guts into ... (scan_c_stream): ... new function. Scan for DEFSYMs and record symbols found. Don't read past EOF if file doesn't end in newline. * alloc.c, bidi.c, buffer.c, bytecode.c, callint.c, casefiddle: * casetab.c, category.c, ccl.c, charset.c, chartab.c, cmds.c, coding.c: * composite.c, data.c, dbusbind.c, decompress.c, dired.c, dispnew.c: * doc.c, editfns.c, emacs.c, eval.c, fileio.c, fns.c, font.c, fontset.c: * frame.c, fringe.c, ftfont.c, ftxfont.c, gfilenotify.c, gnutls.c: * image.c, inotify.c, insdel.c, keyboard.c, keymap.c, lread.c: * macfont.m, macros.c, minibuf.c, nsfns.m, nsfont.m, nsimage.m: * nsmenu.m, nsselect.m, nsterm.m, print.c, process.c, profiler.c: * search.c, sound.c, syntax.c, term.c, terminal.c, textprop.c, undo.c: * window.c, xdisp.c, xfaces.c, xfns.c, xftfont.c, xmenu.c, xml.c: * xselect.c, xsettings.c, xterm.c: Remove Q vars that represent symbols (e.g., Qnil, Qt, Qemacs). These names are now defined automatically by make-docfile. * alloc.c (init_symbol): New function. (Fmake_symbol): Use it. (c_symbol_p): New function. (valid_lisp_object_p, purecopy): Use it. * alloc.c (marked_pinned_symbols): Use make_lisp_symbol instead of make_lisp_ptr. (garbage_collect_1): Mark lispsym symbols. (CHECK_ALLOCATED_AND_LIVE_SYMBOL): New macro. (mark_object): Use it. (sweep_symbols): Sweep lispsym symbols. (symbol_uses_obj): New function. (which_symbols): Use it. Work for lispsym symbols, too. (init_alloc_once): Initialize Vpurify_flag here; no need to wait, since Qt's address is already known now. (syms_of_alloc): Add lispsym count to symbols_consed. * buffer.c (init_buffer_once): Compare to Qnil, not to make_number (0), when testing whether storage is all bits zero. * dispextern (struct image_type): * font.c (font_property_table): * frame.c (struct frame_parm_table, frame_parms): * keyboard.c (scroll_bar_parts, struct event_head): * xdisp.c (struct props): Use XSYMBOL_INIT (Qfoo) and struct Lisp_Symbol * rather than &Qfoo and Lisp_Object *, since Qfoo is no longer an object whose address can be taken. All uses changed. * eval.c (run_hook): New function. Most uses of Frun_hooks changed to use it, so that they no longer need to take the address of a Lisp sym. (syms_of_eval): Don't use DEFSYM on Vrun_hooks, as it's a variable. * frame.c (syms_of_frame): Add defsyms for the frame_parms table. * keyboard.c (syms_of_keyboard): Don't DEFSYM Qmenu_bar here. DEFSYM Qdeactivate_mark before the corresponding var. * keymap.c (syms_of_keymap): Use DEFSYM for Qmenu_bar and Qmode_line instead of interning their symbols; this avoids duplicates. (LISP_INITIALLY, TAG_PTR) (DEFINE_LISP_SYMBOL_BEGIN, DEFINE_LISP_SYMBOL_END, XSYMBOL_INIT): New macros. (LISP_INITIALLY_ZERO): Use it. (enum symbol_interned, enum symbol_redirect, struct Lisp_Symbol) (EXFUN, DEFUN_ARGS_MANY, DEFUN_ARGS_UNEVALLED, DEFUN_ARGS_*): Move decls up, to avoid forward uses. Include globals.h earlier, too. (make_lisp_symbol): New function. (XSETSYMBOL): Use it. (DEFSYM): Now just a placeholder for make-docfile. * lread.c (DEFINE_SYMBOLS): Define, for globals.h. (intern_sym): New function, with body taken from old intern_driver. (intern_driver): Use it. Last arg is now Lisp integer, not ptrdiff_t. All uses changed. (define_symbol): New function. (init_obarray): Define the C symbols taken from lispsym. Use plain DEFSYM for Qt and Qnil. * syntax.c (init_syntax_once): No need to worry about Qchar_table_extra_slots.
* 'temacs -nw' should not call missing functionsPaul Eggert2015-01-042-2/+7
| | | | | | | | | | | | Without this patch, "temacs -nw" fails with the diagnostic "emacs: Symbol's function definition is void: frame-windows-min-size" and messes up the tty's state. * lib-src/make-docfile.c (write_globals): Declare Fframe_windows_min_size with ATTRIBUTE_CONST, too. Sort. * src/frame.c (Fframe_windows_min_size): New placeholder function. (syms_of_frame): Define it. * src/window.c (Fwindow__sanitize_window_sizes): New placeholder. (syms_of_window): Define it.
* # ChangeLog fixesGlenn Morris2015-01-041-3/+13
|
* Less 'make' chatter for lib-srcPaul Eggert2015-01-032-2/+7
| | | | * Makefile.in (blessmail): Less 'make' chatter here.
* Fix copyright years by handPaul Eggert2015-01-011-1/+1
| | | | | | These are dates that admin/update-copyright did not update, or updated incorrectly. Also, back out the copyright-date change to doc/misc/texinfo.tex, as upstream hasn't updated that date yet.
* Update copyright year to 2015Paul Eggert2015-01-0116-17/+17
| | | | Run admin/update-copyright.
* Fix compilation of lib-src executables on MS-Windows.Eli Zaretskii2014-12-272-6/+14
| | | | | | | | lib-src/Makefile.in (etags_libs, ebrowse${EXEEXT}, profile${EXEEXT}) (make-docfile${EXEEXT}, movemail${EXEEXT}) (update-game-score${EXEEXT}): Put $(NTLIB) before $(LOADLIBES), since GCC sometimes calls stpcpy when it sees strcpy, under optimization switches. Reported by Dani Moncayo <dmoncayo@gmail.com>.
* Prefer stpcpy to strcatPaul Eggert2014-12-255-57/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * admin/merge-gnulib (GNULIB_MODULES): Add stpcpy. * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. * lib/stpcpy.c, m4/stpcpy.m4: New files, from gnulib. * lib-src/ebrowse.c (sym_scope_1, operator_name, open_file): * lib-src/emacsclient.c (get_server_config, set_local_socket) (start_daemon_and_retry_set_socket): * lib-src/etags.c (main, C_entries, relative_filename): * lib-src/pop.c (sendline): * lib-src/update-game-score.c (main): * lwlib/xlwmenu.c (resource_widget_value): * src/callproc.c (child_setup): * src/dbusbind.c (xd_signature_cat): * src/doc.c (get_doc_string, Fsnarf_documentation): * src/editfns.c (Fuser_full_name): * src/frame.c (xrdb_get_resource): * src/gtkutil.c (xg_get_file_with_chooser): * src/tparam.c (tparam1): * src/xfns.c (xic_create_fontsetname): * src/xrdb.c (gethomedir, get_user_db, get_environ_db): * src/xsmfns.c (smc_save_yourself_CB): Rewrite to avoid the need for strcat, typically by using stpcpy and/or lispstpcpy. strcat tends to be part of O(N**2) algorithms. * src/doc.c (sibling_etc): * src/xrdb.c (xdefaults): Now a top-level static constant.
* ChangeLog fixesGlenn Morris2014-12-241-0/+4
|
* Spelling fixesPaul Eggert2014-12-131-4/+4
| | | | | | | | | | | | | All uses changed. * lib-src/etags.c (analyze_regex): Rename from analyse_regex. * lisp/cedet/semantic/lex-spp.el: (semantic-lex-spp-analyzer-do-replace): Rename from semantic-lex-spp-anlyzer-do-replace. * lisp/emacs-lisp/cconv.el (cconv--analyze-use): Rename from cconv--analyse-use. (cconv--analyze-function): Rename from cconv--analyse-function. (cconv-analyze-form): Rename from cconv-analyse-form. * src/regex.c (analyze_first): Rename from analyze_first.
* Remove lib-src/grep-changelogGlenn Morris2014-12-133-274/+7
| | | | | | | | | | | | | | | | | | | | | Ref: http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00145.html * lib-src/grep-changelog: Remove file. * lib-src/Makefile.in (INSTALLABLE_SCRIPTS): Remove. (all, install, uninstall): Remove INSTALLABLE_SCRIPTS. * doc/man/grep-changelog.1: Remove file. * make-dist: No more lib-src/grep-changelog. * INSTALL: No longer mention grep-changelog. * admin/quick-install-emacs (PUBLIC_LIBSRC_SCRIPTS): Remove, and all uses. * admin/authors.el (authors-valid-file-names): Add grep-changelog. * etc/NEWS: Mention this.
* Various minor details accumulated over timeStefan Monnier2014-12-081-2/+2
| | | | | | | | | * lisp/info.el (Info-mode-map): Remove left-over binding. * lisp/net/tramp.el (tramp-handle-make-symbolic-link): Mark unused arg. * lisp/obsolete/gulp.el (gulp-create-m-p-alist): Remove unused var `mnt-tm'. * lisp/progmodes/gud.el (gud-gdb-completions): Remove unused var `start'. * lisp/url/url-http.el (url-http-activate-callback): Make debug more verbose. * src/process.c: Whitespace and line-break nitpicks.
* Merge branch 'emacs-24'.Paul Eggert2014-11-281-7/+0
|\
| * .gitignore cleanup.Paul Eggert2014-11-171-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * .gitignore: Merge contents of subsidiary files and organize the result so as to avoid duplication. Remove no-longer needed entries. * admin/charsets/.gitignore, admin/unidata/.gitignore: * doc/lispintro/.gitignore, etc/.gitignore, leim/.gitignore: * leim/ja-dic/.gitignore, lib-src/.gitignore, lisp/.gitignore: * lisp/calc/.gitignore, lisp/calendar/.gitignore: * lisp/cedet/.gitignore, lisp/emulation/.gitignore: * lisp/erc/.gitignore, lisp/eshell/.gitignore, lisp/gnus/.gitignore: * lisp/international/.gitignore, lisp/language/.gitignore: * lisp/leim/.gitignore, lisp/leim/quail/.gitignore: * lisp/mail/.gitignore, lisp/mh-e/.gitignore, lisp/net/.gitignore: * lisp/nxml/.gitignore, lisp/obsolete/.gitignore: * lisp/play/.gitignore, lisp/progmodes/.gitignore: * lisp/term/.gitignore, lisp/textmodes/.gitignore: * lisp/url/.gitignore, nt/.gitignore, src/.gitignore: Remove; no longer needed.
* | * lib-src/Makefile.in (emacsclient.res): Fix yesterday's thinko.Glenn Morris2014-11-232-1/+5
| |
* | Further reduce number of versioned files storing Emacs version number.Glenn Morris2014-11-222-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (comma_version, comma_space_version) [mingw32]: New output variables. (nt/emacs.rc, nt/emacsclient.rc) [mingw32]: New output files. * make-dist: Update nt/ for *.rc -> *.rc.in changes. * nt/emacs.rc.in, nt/emacsclient.rc.in: Rename from nt/emacs.rc, emacsclient.rc. Let configure generate the real files, and set the version numbers. * lib-src/Makefile.in (emacsclient.res): Update deps for nt/emacsclient.rc now being in the build directory, not the source directory. * nt/Makefile.in (distclean): Delete *.rc. (emacs.res): Update deps for nt/emacsclient.rc now being in the build directory, not the source directory. * admin/admin.el (set-version): No more need to update nt/*.rc. * admin/authors.el (authors-renamed-files-alist): Add .rc.in files.
* | Add some .ico dependencies to Makefile .res rulesGlenn Morris2014-11-222-1/+5
| | | | | | | | | | | | * lib-src/Makefile.in (emacsclient.res): Add dependency on icons/emacs.ico. * nt/Makefile.in (emacs.res): Add dependency on icons/hand.cur.
* | Merge from emacs-24Stefan Monnier2014-10-201-2/+2
|\ \ | |/
* | Merge from emacs-24; up to 2014-07-28T06:28:15Z!dmantipov@yandex.ruGlenn Morris2014-10-201-0/+4
|\ \ | |/
| * Add 24.4 release ChangeLog entriesemacs-24.4Glenn Morris2014-10-201-0/+4
| |
* | movemail: don't dump core if the current time is outlandishPaul Eggert2014-09-232-11/+19
| | | | | | | | | | | | | | * movemail.c (popmail): Check for mbx_delimit_begin failure. (mbx_delimit_begin): Fail if the current time is so outlandish that localtime would fail or asctime would have undefined behavior. Use strftime to avoid asctime undefined behavior.
* | Fix typo in previous change's ChangeLog.Paul Eggert2014-09-011-1/+1
| |
* | --enable-silent-warnings now suppresses more chatter.Paul Eggert2014-09-012-13/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * INSTALL, etc/NEWS: Document this. * lib-src/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_) (am__v_CC_0, am__v_CC_1, AM_V_CCLD, am__v_CCLD_, am__v_CCLD_0) (am__v_CCLD_1): New macros, taken from Automake. (regex.o, etags${EXEEXT}, ctags${EXEEXT}, ebrowse${EXEEXT}) (profile${EXEEXT}, make-docfile${EXEEXT}, movemail${EXEEXT}) (pop.o, emacsclient${EXEEXT}, emacsclientw${EXEEXT}) (emacsclientw${EXEEXT}, ntlib.o, hexl${EXEEXT}) (update-game-score${EXEEXT}): Use them. * lwlib/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_) (am__v_CC_0, am__v_CC_1): New macros, taken from Automake. (.c.o): Use them. * oldXMenu/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_) (am__v_CC_0, am__v_CC_1): New macros, taken from Automake. (.c.o): Use them. * src/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_) (am__v_CC_0, am__v_CC_1, AM_V_CCLD, am__v_CCLD_, am__v_CCLD_0) (am__v_CCLD_1): New macros, taken from Automake. (.c.o, .m.o, temacs$(EXEEXT)): Use them.
* | * etags.c (emacs_strchr, emacs_strrchr): Remove.Paul Eggert2014-08-312-56/+23
| | | | | | | | | | All uses replaced by strchr and strrchr, which are on all target platforms now.
* | Use "b" flag more consistently; avoid "t".Paul Eggert2014-07-152-7/+9
| | | | | | | | | | | | | | * make-docfile.c (READ_TEXT): Remove; all uses replaced by "r". (READ_BINARY): Remove; all uses replaced by "rb". Fixes: debbugs:18006
* | Use binary-io module, O_BINARY, and "b" flag.Paul Eggert2014-07-145-80/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * admin/merge-gnulib (GNULIB_MODULES): Add binary-io. It was already present implicitly; this just makes the dependence explicit. * lib-src/etags.c, lib-src/hexl.c, lib-src/make-docfile.c: Include binary-io.h instead of fcntl.h and/or io.h. (main): Use set_binary_mode or SET_BINARY in place of handcrafted code. * lib-src/etags.c (main) [DOS_NT]: * lib-src/movemail.c (main) [WINDOWSNT]: Don't mess with _fmode. * lib-src/etags.c (main, process_file_name, analyse_regex): Use fopen/popen's "b" flag instead. * lib-src/movemail.c (main, popmail): Use open/lk_open/mkostemp's O_BINARY instead. * src/callproc.c (create_temp_file): Use mkostemp's O_BINARY flag. * src/emacs.c [MSDOS]: * src/emacs.c (main) [DOS_NT]: Don't mess with _fmode. (main) [MSDOS]: Use SET_BINARY instead of setmode. * src/minibuf.c: Include binary-io.h instead of fcntl.h. (read_minibuf_noninteractive): Use set_binary_mode instead of handcrafted code. Don't call emacs_set_tty if emacs_get_tty failed. * src/sysdep.c, src/systty.h (emacs_get_tty): Return int, not void. * src/sysdep.c (emacs_open, emacs_pipe): Use O_BINARY. * src/w32.c (pipe2): Adjust eassert to include O_BINARY. Fixes: debbugs:18006
* | * make-docfile.c: Simplify a bit, to simplify further refactoring.Paul Eggert2014-07-132-65/+70
| | | | | | | | | | | | | | | | | | | | | | (outfile): Remove static var. All uses changed to use stdout, since it's always stdout anyway. While we're at it, prefer putchar/puts/fputs to printf when there are no format strings. (main): Use freopen rather than fopen, so that stdout is reused. Move O_BINARY stuff after the freopen, so it affects the reopened file. (write_c_args): Omit first arg, since it's always stdout now. All uses changed.
* | Merge from emacs-24; up to 2014-06-22T05:00:14Z!dmantipov@yandex.ruGlenn Morris2014-07-122-0/+7
|\ \ | |/
| * * etags.c (Lisp_functions): Also record cl-defun etc.Paul Eggert2014-07-122-0/+7
| | | | | | | | Fixes: debbugs:17965
* | 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:18Z!rgm@gnu.orgGlenn 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:20Z!rgm@gnu.orgGlenn 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:30Z!eggert@cs.ucla.eduPaul 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:17Z!rgm@gnu.orgJuanma 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:26Z!monnier@iro.umontreal.caPaul Eggert2014-04-162-2/+7
|\ \ | |/