aboutsummaryrefslogtreecommitdiffstats
path: root/lib-src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Get ‘./configure; make -C src emacs’ to workPaul Eggert2015-06-241-1/+1
| | | | | | Without this fix, lib/fcntl.h isn't built in time (Bug#20894). * lib-src/Makefile.in (../lib/libgnu.a): * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
* Make TAGS files more portable to MS-WindowsPaul Eggert2015-05-251-9/+0
| | | | | | | | * etc/NEWS: Document this. * lib-src/etags.c (readline_internal) [DOS_NT]: Don't treat CRs differently from GNUish hosts. * lisp/progmodes/etags.el (etags-goto-tag-location): Adjust STARTPOS to account for the skipped CRs in dos-style files.
* Fix a typo in last commitEli Zaretskii2015-05-251-1/+1
| | | | | | | | | | | * lib-src/etags.c (C_entries): Fix a typo. * test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5: * test/etags/CTAGS.good: Update due to the change in etags.c.
* Fix tagging of class members in C-like OO languagesEli Zaretskii2015-05-251-19/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | * lib-src/etags.c (longopts): Add new option --class-qualify and its shorthand -Q. (print_help): Add help text for --class-qualify. (main): Add handling of -Q. (consider_token, C_entries) <omethodparm>: Append argument types to Objective C methods only if --class-qualify was specified. Qualify C++, Objective C, and Java class members with their class names only if --class-qualify was specified. (C_entries): If --class-qualify was not specified, remove the namespace and class qualifiers from tag names of C++ methods. This allows to use etags.el as xref back-end without the tag-symbol-match-p method, which greatly increases the number of potentially false positives. (Bug#20629) * doc/man/etags.1: Update to document the new --class-qualify option. * test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5: * test/etags/CTAGS.good: Update due to changes in etags.c.
* Fix last change in etags.c that broke tagging compresed filesEli Zaretskii2015-05-251-0/+5
| | | | | * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix quoting of decompression shell command for MS-Windows/MS-DOS.
* Simpilify etags TEX mode scanningPaul Eggert2015-05-241-45/+29
| | | | | | | | * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp): Remove static vars. (TeX_commands): Deduce escapes here instead. (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed. This removes the need for a reset_input call.
* Improve etags I/O error reportingPaul Eggert2015-05-241-80/+103
| | | | | | | | | | | | | | | | | | | * lib-src/etags.c: Don't include sys/types.h and sys/stat.h; no longer needed. (infilename): New static var. (process_file_name): Don't call 'stat'. Instead, just open the file for reading and report any errors. Don't bother making a copy of the file argument; it's not needed. Be more careful to use the failing errno when reporting an error. Quote the real name better (though no perfectly) when passing it to the shell. (reset_input): New function, which reports I/O errors. All uses of 'rewind' changed to use this function. (perhaps_more_input): New function, which also checks for I/O errors. All uses of 'feof' changed to use this function. (analyze_regex): Report an error if fclose fails. (readline_internal): Report an error if getc fails. (etags_mktmp): Return an error if close fails.
* etags.c: avoid side effects in 'if'Paul Eggert2015-05-241-9/+10
| | | | | * lib-src/etags.c (process_file_name, Perl_functions) (TEX_decode_env): Hoist side effects into previous statement.
* Fix last change in etags.c, which failed the test suiteEli Zaretskii2015-05-241-0/+1
| | | | | * lib-src/etags.c (intoken): Add '$' to the set, as it was there before the last change.
* Cleanup etags.c to use locale-independent codePaul Eggert2015-05-231-105/+109
| | | | | | | | | | | | | | | | | Although this doesn't alter behavior (as etags doesn't use setlocale), the new version is more clearly locale-independent and the executable is a bit smaller on my platform. * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX. Include <c-ctype.h> instead of <ctype.h>. (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk) (begtk, midtk): Remove; no longer needed. (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove. All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit, c_islower, c_tolower, respectively. (notinname, begtoken, intoken, endtoken): Rewrite as functions instead of macros, and initialize the tables at compile-time rather than at run-time.
* Fix etags reading of compressed filesEli Zaretskii2015-05-231-14/+68
| | | | | | | | | | | | | | | | * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define. Include fcntl.h, for O_CLOEXEC. (process_file_name): Don't use 'popen', whose streams cannot be rewound. Instead, uncompress the file to a temporary file, created by 'etags_mktmp', and read from that as usual. (etags_mktmp): New function. * test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5: Update to be consistent with latest changes in etags.c regarding reading compressed files.
* Change defgeneric so it doesn't completely redefine the functionStefan Monnier2015-05-211-4/+4
| | | | | | | | | | * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away previously defined methods. (cl-generic-define-method): Let-bind purify-flag instead of using `fset'. (cl--generic-prefill-dispatchers): Only define during compilation. (cl-method-qualifiers): Remove redundant alias. (help-fns-short-filename): Silence byte-compiler. * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
* Fix slash collapsing in etags on MS-WindowsEli Zaretskii2015-05-201-6/+19
| | | | | | | * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the MS-Windows code from the Posix code, and support collapsing both forward- and back-slashes on MS-Windows. Fixes a regression found by the test suite.
* ; * lib-src/etags.c: Comment.Glenn Morris2015-05-151-2/+2
| | | | Ref: http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00342.html
* Fix tagging of symbols in C enumerationsEli Zaretskii2015-05-121-2/+20
| | | | | | | | | * lib-src/etags.c (consider_token): Don't tag symbols in expressions that assign values to enum constants. See http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html for details. (C_entries): Reset fvdef to fvnone after processing a preprocessor conditional and after a comma outside of parentheses.
* Port --enable-gcc-warnings to GCC 5.1 x86-64Paul Eggert2015-04-242-3/+3
| | | | | | | | | | | | | | | | | | | | * lib-src/ebrowse.c (dump_sym): * lib-src/hexl.c (main): * src/ccl.c (ccl_driver): * src/character.c (string_escape_byte8): * src/dbusbind.c (xd_retrieve_arg, xd_add_watch): * src/gnutls.c (Fgnutls_boot): * src/gtkutil.c (xg_check_special_colors): * src/image.c (x_build_heuristic_mask): * src/print.c (safe_debug_print, print_object): * src/term.c (produce_glyphless_glyph): * src/xdisp.c (get_next_display_element) (produce_glyphless_glyph): * src/xterm.c (x_draw_glyphless_glyph_string_foreground): Don't use a signed format to print an unsigned integer, or vice versa. GCC 5.1's new -Wformat-signedness option warns about this. * src/image.c (png_load_body, jpeg_load_body): Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
* Remove configure's --with-mmdf optionPaul Eggert2015-04-121-23/+4
| | | | | | | * configure.ac (MAIL_USE_MMDF): Remove. * etc/NEWS: Document this. * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined. Fixes: bug#20308
* Rename ChangeLogs for gitlog-to-changelogPaul Eggert2015-04-071-0/+0
| | | | | | | | | | | | | This patch was implemented via the following shell commands: find * -name ChangeLog | sed 's,.*,git mv & &.1, s, lisp/ChangeLog\.1$, lisp/ChangeLog.17, s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09, s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3, s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2, s, src/ChangeLog\.1$, src/ChangeLog.13,' | sh git commit -am"[this commit message]"
* Port etags to -DDEBUGPaul Eggert2015-03-272-13/+15
| | | | | | | | | | * etags.c (xnew, xrnew) [DEBUG]: Don't include chkmalloc.h, which is not part of Emacs and is typically not installed. Instead, just invoke xmalloc and xrealloc as usual. Problem reported by Nicolas Richard in: http://bugs.gnu.org/20191#20 (xrnew): Avoid no-longer-needed cast to 'char *'. (xrealloc): First arg is now void *, not char *.
* Random minor fixes for movemailPaul Eggert2015-03-062-104/+117
| | | | | | | | | | | | | | | | | | | | | | | * movemail.c: Include <stdbool.h> and <signal.h>. (waitpid) [WINDOWSNT]: New macro. (wait) [WINDOWSNT]: Remove. (main, popmail, pop_retr, mbx_write, mbx_delimit_begin) (mbx_delimit_end): Use bool for boolean. (main): Simplify #if usage a bit. (main): Don't assume EOF == -1. Prefer 'return' to 'exit'. Don't possibly unlink lockname twice, as that's a race condition. Set SIGCHLD to SIG_DFL to work around SysV misfeature. Check for fork failure. Use waitpid, not wait, to avoid a race condition in the unlikely case where we start up with a child. (NOTOK, OK): Remove, in favor of plain boolean. (popmail, pop_retr): Don't get confused about errno, e.g., ferror need not set errno. (popmail): Use fclose (mbf), not close (fileno (mbf)), to also detect any stream-related errors (e.g., memory exhaustion). (pop_retr): Report pop errors separately, since caller now does errno reporting. (mbx_write, mbx_delimit_begin, mbx_delimit_end): Check < 0, not == EOF, as it's a bit faster and (in theory) pickier.
* Support daemon mode on MS-Windows (bug#19688)Mark Laws2015-02-272-10/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | src/emacs.c <w32_daemon_event> [WINDOWSNT]: New global var. (main) [WINDOWSNT]: Initialize it to NULL. Create the event to signal clients we are ready for connections. (Fdaemon_initialized): Use DAEMON_RUNNING. [WINDOWSNT]: MS-Windows specific code to signal clients we are ready for connections. src/lisp.h (DAEMON_RUNNING): New macro, encapsulates Posix and MS-Windows conditions for running in daemon mode. src/minibuf.c (read_minibuf): Use DAEMON_RUNNING. src/keyboard.c (kbd_buffer_get_event): Use DAEMON_RUNNING. src/dispnew.c (init_display) [WINDOWSNT]: Initialize frames/terminal even in daemon mode. nt/inc/ms-w32.h (W32_DAEMON_EVENT): New macro. lib-src/emacsclient.c (decode_options) [WINDOWSNT]: Don't reject empty arguments for --alternate-editor. (print_help_and_exit) [WINDOWSNT]: Don't refrain from advertising empty arguments for --alternate-editor. (start_daemon_and_retry_set_socket) [WINDOWSNT]: MS-Windows specific code to start Emacs in daemon mode and wait for it to be ready for client connections. lisp/server.el (server-process-filter): Force GUI frames on MS-Windows in daemon mode, even if a TTY frame was requested. lisp/frameset.el (frameset-keep-original-display-p): Don't assume windows-nt cannot be in daemon mode. lisp/frame.el (window-system-for-display): Don't assume windows-nt cannot be in daemon mode.
* Fix previous change's attributionPaul Eggert2015-02-231-1/+1
|
* Use ${EXEEXT} more uniformly in makefilesPaul Eggert2015-02-232-1/+6
| | | | | | | | When porting Emacs to run on NaCl, we need to make sure that we always call it with the proper extension (.nexe in this case) during the build. * leim/Makefile.in, lib-src/Makefile.in, lisp/Makefile.in (EMACS): Append ${EXEEXT}. (tiny change)
* Spelling fixesPaul Eggert2015-02-211-1/+1
| | | | | | | | * lisp/cedet/semantic/doc.el (semantic-documentation-comment-preceding-tag): Rename from semantic-documentation-comment-preceeding-tag. All uses changed. Leave an obsolete alias behind. * src/lisp.h (DEFINE_NON_NIL_Q_SYMBOL_MACROS): Rename from DEFINE_NONNIL_Q_SYMBOL_MACROS. All uses changed.
* Simplify binary I/O configurationPaul Eggert2015-02-192-11/+11
| | | | | | | | | | | | * lib-src/etags.c: Include <sysstdio.h> rather than <stdio.h>. (process_file_name, analyze_regex): Use FOPEN_BINARY rather than hard-coded "b". * src/lread.c (Fload): Prefer FOPEN_TEXT and FOPEN_BINARY to #ifdef DOS_NT. * src/sysstdio.h: Add copyright notice. Include <fcntl.h>. (FOPEN_BINARY, FOPEN_TEXT): New macros. * src/xfaces.c (Fx_load_color_file): Use FOPEN_TEXT, since POSIX doesn't guarantee that "t" will work.
* Fix generation of TAGS from compressed files (Bug#19735)Eli Zaretskii2015-02-192-0/+12
| | | | | lib-src/etags.c (process_file_name) [!DOS_NT]: Use "r", not "rb" in the call to 'popen'.
* Better support for future pluginsPaul Eggert2015-02-122-13/+24
| | | | | | | | | | | | See the thread containing: http://lists.gnu.org/archive/html/emacs-devel/2015-02/msg00720.html * lib-src/make-docfile.c (write_globals): Generate code that #defines Qxxx macros other than Qnil only if DEFINE_NONNIL_Q_SYMBOL_MACROS. Qnil is safe to define even in plugins, since it must be zero for other reasons. * src/lisp.h (DEFINE_LISP_SYMBOL): New macro, replacing and simplifying DEFINE_LISP_SYMBOL_BEGIN / DEFINE_LISP_SYMBOL_END. All uses changed. (DEFINE_NONNIL_Q_SYMBOL_MACROS): New macro, defaulting to true.
* Fix a couple of AM_V_GEN bugsPaul Eggert2015-01-232-0/+17
| | | | | | | | * admin/unidata/Makefile.in (unifiles): Use AM_V_at instead of AM_V_GEN, since this doesn't generate a file. * lib-src/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0, am__v_GEN_1) (AM_V_at, am__v_at_, am__v_at_0, am__v_at_1): New macros, copied from ../src/Makefile.in.
* Check exit statuses in lib-src/MakefilePaul Eggert2015-01-222-22/+44
| | | | | | | * Makefile.in ($(DESTDIR)${archlibdir}, install, uninstall) (mostlyclean, clean, distclean, extraclean): Check exit statuses more carefully. Reindent to fit in 80 chars. (bootstrap-clean maintainer-clean): Remove unnecessary 'true'.
* Don't fail if chown or chgrp for 'update-game-score' is unsuccessful.Ulrich Müller2015-01-222-8/+14
| | | | | | * lib-src/Makefile.in ($(DESTDIR)${archlibdir}): Don't fail if the chown or chgrp command is unsuccessful; the 'update-game-score' program has a fallback for this at runtime.
* Allow update-game-score to run sgid instead of suid.Ulrich Müller2015-01-213-18/+43
| | | | | | | | | | | | | | | | | | * configure.ac (gamegroup): New AC_SUBST. (--with-gameuser): Allow to specify a group instead of a user. In the default case, check at configure time if a 'games' user exists. * lib-src/update-game-score.c: Allow the program to run sgid instead of suid, in order to match common practice for most games. (main): Check if we are running sgid. Pass appropriate file permission bits to 'write_scores'. (write_scores): New 'mode' argument, instead of hardcoding 0644. (get_prefix): Update error message. * lib-src/Makefile.in (gamegroup): New variable, set by configure. ($(DESTDIR)${archlibdir}): Handle both suid or sgid when installing the 'update-game-score' program. * lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score): Allow the 'update-game-score' helper program to run suid or sgid.
* Support Make verbosity levels in w32 targets previously left outEli Zaretskii2015-01-162-1/+12
| | | | | | | | | | | | | nt/Makefile.in (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, AM_V_RC) (am__v_RC_, am__v_RC_0, am__v_RC_1): New macros. (addpm${EXEEXT}, ddeclient${EXEEXT}, cmdproxy${EXEEXT}) (runemacs${EXEEXT}): Use $(AM_V_CCLD). (emacs.res, ../src/emacs.res): Use $(AM_V_RC). lib-src/Makefile.in (AM_V_RC, am__v_RC_, am__v_RC_0, am__v_RC_1): New macros. (emacsclient.res): Use $(AM_V_RC).
* Give up on -Wsuggest-attribute=constPaul Eggert2015-01-152-12/+6
| | | | | | | | | | | | | | | | The attribute doesn't help performance significantly, and the warning seems to be more trouble than it's worth. See the thread at: http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00361.html * configure.ac (WERROR_CFLAGS): Don't use -Wsuggest-attribute=const. * lib-src/make-docfile.c (write_globals): Remove special hack for Fnext_read_file_uses_dialog_p. * src/decompress.c (Fzlib_available_p): * src/gnutls.c (Fgnutls_available_p): * src/gtkutil.h (xg_uses_old_file_dialog): * src/xdisp.c (Ftool_bar_height): * src/xmenu.c (popup_activated): No longer const, since it's not const on at lest some configurations, and we shouldn't lie to the compiler.
* Don't say Fnext_read_file_uses_dialog_p is constPaul Eggert2015-01-132-0/+18
| | | | | | | | | | | | | | It's const only if a windowing system is not used; don't say it's const otherwise. See: http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00310.html * lib-src/make-docfile.c (write_globals): Add a special hack for Fnext_read_file_uses_dialog_p. * src/fileio.c (next_read_file_uses_dialog_p): Remove. Move guts back to ... (Fnext_read_file_uses_dialog_p): ... here. Don't declare as const, as make-docfile.c now has a special case for this function. This is an ugly hack, but it's better than lying to the compiler.
* Support const and noreturn DEFUN attributes.Dmitry Antipov2015-01-132-39/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | * lib-src/make-docfile.c (struct global): New field 'flags'. (DEFUN_noreturn, DEFUN_const): New enum bitfields. (add_global): Now return pointer to global. (write_globals): Add _Noreturn and ATTRIBUTE_CONST attributes if requested by global's flags. (stream_match): New function. (scan_c_stream): Recognize 'attributes:' of DEFUN. * src/callint.c (Finteractive): * src/character.c (Fcharacterp, Fmax_char): * src.data.c (Feq, Fnull, Fconsp, Fatom, Flistp, Fnlistp, Fsymbolp) (Fstringp, Fchar_or_string_p, Fintegerp, Fnatnump, Fnumberp) (Ffloatp, Fbyteorder): * src/decompress.c (Fzlib_available_p): * src/fns.c (Fidentity): * src/frame.c (Fframe_windows_min_size): * src/gnutls.c (Fgnutls_error_p, Fgnutls_available_p): * src/window.c (Fwindow__sanitize_window_sizes): * src/xdisp.c (Ftool_bar_height): * src/xfaces.c (Fface_attribute_relative_p): Add const attribute. * src/emacs.c (Fkill_emacs): * src/eval.c (Fthrow): * src/keyboard.c (Ftop_level, Fexit_recursive_edit) (Fabor_recursive_edit): Add noreturn attribute.
* Port to 32-bit --with-wide-intPaul Eggert2015-01-102-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | Prefer symbol indexes to struct Lisp_Symbol * casted and then widened, as the latter had trouble with GCC on Fedora 21 when configured --with-wide-int and when used in static initializers. * lib-src/make-docfile.c (write_globals): Define and use symbols like iQnil (a small integer, like 0) rather than aQnil (an address constant). * src/alloc.c (garbage_collect_1, which_symbols): * src/lread.c (init_obarray): Prefer builtin_lisp_symbol when it can be used. * src/dispextern.h (struct image_type.type): * src/font.c (font_property_table.key): * src/frame.c (struct frame_parm_table.sym): * src/keyboard.c (scroll_bar_parts, struct event_head): * src/xdisp.c (struct props.name): Use the index of a builtin symbol rather than its address. All uses changed. * src/lisp.h (TAG_SYMPTR, XSYMBOL_INIT): Remove, replacing with ... (TAG_SYMOFFSET, SYMBOL_INDEX): ... new macros that deal with symbol indexes rather than pointers, and which work better on MSB hosts because they shift right before tagging. All uses changed. (DEFINE_LISP_SYMBOL_BEGIN, DEFINE_LISP_SYMBOL_END): No longer noops on wide-int hosts, since they work now. (builtin_lisp_symbol): New function.
* Port to 32-bit Sun C 5.12 sparcPaul Eggert2015-01-102-1/+8
| | | | | | * make-docfile.c (close_emacs_globals): Align lispsym to GCALIGNMENT. The alignment is required on all platforms; it just happens to have been properly aligned on the previous platforms we tested.
* 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.