summaryrefslogtreecommitdiff
path: root/lib-src
Commit message (Expand)AuthorAgeFilesLines
* Spelling fixesPaul Eggert2015-10-211-1/+1
* Unmacroize ebrowse.c and etags.c a bit...* lib-src/ebrowse.c (READ_CHUNK_SIZE): Now an enum constant. (streq, filename_eq, set_flag, has_flag): Now inline functions. (set_flag): First arg is now an address, not an lvalue. All callers changed. (filename_eq, set_flag, has_flag): Rename from FILENAME_EQ, SET_FLAG, HAS_FLAG. All callers changed. * lib-src/etags.c (streq, strcaseeq, strneq, strncaseeq): Now inline functions. Remove asserts that are unnecessary these days (and in some cases were too-generous anyway). Paul Eggert2015-10-122-39/+72
* Use ‘echo’ safely with ‘\’ or leading ‘-’...POSIX says that ‘echo FOO’ produces implementation-defined output if FOO contains leading ‘-’, or ‘\’ anywhere, so don’t assume GNU behavior in that case. * Makefile.in (removenullpaths): Remove. (epaths-force): Rewrite to avoid the need for ‘echo’. (install-etc): Be clearer about escaping the shell metacharacters ‘\’ and ‘$’. * Makefile.in (install-arch-indep, install-etcdoc): * admin/charsets/mapconv, admin/merge-gnulib, admin/merge-pkg-config: * admin/quick-install-emacs, build-aux/gitlog-to-emacslog: * configure.ac, lib-src/rcs2log, make-dist: * src/Makefile.in (lisp.mk): Don’t assume ‘echo’ outputs ‘\’ and leading ‘-’ unscathed. For example, use ‘printf '%s\n' "$foo"’ rather than ‘echo "$foo"’ if $foo can contain arbitrary characters. * lisp/Makefile.in (TAGS): Use ‘ls’, not ‘echo’, to avoid ‘\’ issues. * doc/lispref/two-volume.make (vol1.pdf): * test/etags/make-src/Makefile (web ftp publish): Use ‘printf’ rather than ‘echo -e’. Paul Eggert2015-10-101-9/+11
* Minor quoting fixes in scripts and doc...Prefer straight quotes in random script files, as they are not converted. Prefer grave quotes in a couple of places in the manual that were missed earlier, as these quotes are converted. Paul Eggert2015-09-161-9/+9
* Add -Wswitch to --enable-gcc-warnings...Make --enable-gcc-warnings a bit pickier, by also using -Wswitch. * configure.ac (WERROR_CFLAGS): Don’t add -Wno-switch. * lib-src/etags.c (main, consider_token, C_entries): * src/coding.c (encode_invocation_designation): * src/data.c (Ftype_of): * src/eval.c (Fdefvaralias, default_toplevel_binding) (Fbacktrace__locals, mark_specpdl): * src/lisp.h (record_xmalloc): * src/syntax.c (scan_lists, scan_sexps_forward): * src/window.c (window_relative_x_coord): * src/xdisp.c (push_it, pop_it): * src/xterm.c (xg_scroll_callback, x_check_fullscreen): Error out or do nothing (as appropriate) if a switch statement with an enum value does not cover all of the enum. * src/dispextern.h (struct iterator_stack_entry.u.comp): Remove unused member discovered by using -Wswitch. * src/lisp.h (record_xmalloc): Add a ‘+ 0’ to pacify -Wswitch. * src/vm-limit.c (check_memory_limits): Simplify warning-diagnostic computation by using a table. Paul Eggert2015-09-161-2/+40
* etags ‘fatal’ function is now printf-like...* lib-src/etags.c (fatal): Now printf-like. All callers changed. Also, now static; not clear why it needed to be extern. (verror): New function, with most of the old contents of ‘error’. (fatal, error): Use it. Paul Eggert2015-09-161-11/+21
* Prefer straight quoting in some text files...Mostly this just changes ` to ' in static text. Some exceptions: * INSTALL.REPO: Use curved quotes, as the diagnostic in question typically does that now. * admin/quick-install-emacs (TRY, top level): Use straight quoting in diagnostics. * src/README: Fix working-directory confusion. Paul Eggert2015-09-111-4/+4
* Refix movemail GCC pacification...Problem reported by Ken Brown in: http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00406.html * lib-src/movemail.c (main): Fix previous change. Paul Eggert2015-09-091-5/+2
* Port movemail to RHEL 6 with --enable-gcc-warnings...* lib-src/movemail.c (main): Declare local only if needed. Paul Eggert2015-09-091-2/+4
* Use straight quotes in lib-src diagnostics...These auxiliary programs can’t use Emacs’s text-quoting-style, and it’s too much trouble to redo that mechanism by hand. So just use straight quotes for now. * lib-src/ebrowse.c (main): * lib-src/emacsclient.c (decode_options, main): * lib-src/etags.c (Ada_help, default_C_help, Cplusplus_help) (Forth_help, HTML_help, Lisp_help, Makefile_help, Objc_help) (Perl_help, PHP_help, Python_help, Scheme_help, TeX_help, auto_help) (none_help, print_language_names, print_help, add_regex) (suggest_asking_for_help): * lib-src/make-docfile.c (write_c_args, scan_c_stream): Use straight quotes in diagnostics. Paul Eggert2015-08-274-62/+62
* * admin/admin.el (set-version, set-copyright): Remove deleted files....; * src/emacs,c, lib-src/ntlib.c: Comment updates. Glenn Morris2015-08-151-1/+1
* Remove files used by the old MS-Windows specific build procedure...* nt/configure.bat: Remove everything except the blurb about the new build procedure. * make-dist: Remove references to makefile.w32-in in various directories, and to files in nt/ that were deleted. * etc/NEWS: Mention the fact that the files were dropped. Eli Zaretskii2015-08-151-482/+0
* Don't abort emacsclientw when -a was specified...* lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error out if we are in emacsclientw and -a was specified. Copyright-paperwork-exempt: yes Evgeny Fraimovitch2015-08-021-0/+10
* Get ‘./configure; make -C src emacs’ to work...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. Paul Eggert2015-06-241-1/+1
* Make TAGS files more portable to MS-Windows...* 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. Paul Eggert2015-05-251-9/+0
* Fix a typo in last commit...* 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. Eli Zaretskii2015-05-251-1/+1
* Fix tagging of class members in C-like OO languages...* 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. Eli Zaretskii2015-05-251-19/+79
* Fix last change in etags.c that broke tagging compresed files...* lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix quoting of decompression shell command for MS-Windows/MS-DOS. Eli Zaretskii2015-05-251-0/+5
* Simpilify etags TEX mode scanning...* 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. Paul Eggert2015-05-241-45/+29
* Improve etags I/O error reporting...* 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. Paul Eggert2015-05-241-80/+103
* etags.c: avoid side effects in 'if'...* lib-src/etags.c (process_file_name, Perl_functions) (TEX_decode_env): Hoist side effects into previous statement. Paul Eggert2015-05-241-9/+10
* Fix last change in etags.c, which failed the test suite...* lib-src/etags.c (intoken): Add '$' to the set, as it was there before the last change. Eli Zaretskii2015-05-241-0/+1
* Cleanup etags.c to use locale-independent code...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. Paul Eggert2015-05-231-105/+109
* Fix etags reading of compressed files...* 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. Eli Zaretskii2015-05-231-14/+68
* Change defgeneric so it doesn't completely redefine the function...* 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. Stefan Monnier2015-05-211-4/+4
* Fix slash collapsing in etags on MS-Windows...* 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. Eli Zaretskii2015-05-201-6/+19
* ; * lib-src/etags.c: Comment....Ref: http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00342.html Glenn Morris2015-05-151-2/+2
* Fix tagging of symbols in C enumerations...* 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. Eli Zaretskii2015-05-121-2/+20
* Port --enable-gcc-warnings to GCC 5.1 x86-64...* 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). Paul Eggert2015-04-242-3/+3
* Remove configure's --with-mmdf option...* configure.ac (MAIL_USE_MMDF): Remove. * etc/NEWS: Document this. * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined. Fixes: bug#20308 Paul Eggert2015-04-121-23/+4
* Rename ChangeLogs for gitlog-to-changelog...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]" Paul Eggert2015-04-071-0/+0
* Port etags to -DDEBUG...* 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 *. Paul Eggert2015-03-272-13/+15
* Random minor fixes for movemail...* 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. Paul Eggert2015-03-062-104/+117
* Support daemon mode on MS-Windows (bug#19688)... 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. Mark Laws2015-02-272-10/+82
* Fix previous change's attributionPaul Eggert2015-02-231-1/+1
* Use ${EXEEXT} more uniformly in makefiles...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) Paul Eggert2015-02-232-1/+6
* Spelling fixes...* 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. Paul Eggert2015-02-211-1/+1
* Simplify binary I/O configuration...* 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. Paul Eggert2015-02-192-11/+11
* Fix generation of TAGS from compressed files (Bug#19735)... lib-src/etags.c (process_file_name) [!DOS_NT]: Use "r", not "rb" in the call to 'popen'. Eli Zaretskii2015-02-192-0/+12
* Better support for future plugins...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. Paul Eggert2015-02-122-13/+24
* Fix a couple of AM_V_GEN bugs...* 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. Paul Eggert2015-01-232-0/+17
* Check exit statuses in lib-src/Makefile...* 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'. Paul Eggert2015-01-222-22/+44
* Don't fail if chown or chgrp for 'update-game-score' is unsuccessful....* 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. Ulrich Müller2015-01-222-8/+14
* Allow update-game-score to run sgid instead of suid....* 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. Ulrich Müller2015-01-213-18/+43
* Support Make verbosity levels in w32 targets previously left out... 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). Eli Zaretskii2015-01-162-1/+12
* Give up on -Wsuggest-attribute=const...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. Paul Eggert2015-01-152-12/+6
* Don't say Fnext_read_file_uses_dialog_p is const...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. Paul Eggert2015-01-132-0/+18
* Support const and noreturn DEFUN attributes....* 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. Dmitry Antipov2015-01-132-39/+95
* Port to 32-bit --with-wide-int...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. Paul Eggert2015-01-102-4/+9
* Port to 32-bit Sun C 5.12 sparc...* 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. Paul Eggert2015-01-102-1/+8