summaryrefslogtreecommitdiff
path: root/lib-src
Commit message (Collapse)AuthorAgeFilesLines
* Spelling fixesPaul Eggert2015-10-211-1/+1
|
* Unmacroize ebrowse.c and etags.c a bitPaul Eggert2015-10-122-39/+72
| | | | | | | | | | | | | * 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).
* Use ‘echo’ safely with ‘\’ or leading ‘-’Paul Eggert2015-10-101-9/+11
| | | | | | | | | | | | | | | | | | | | | | 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’.
* Minor quoting fixes in scripts and docPaul Eggert2015-09-161-9/+9
| | | | | | 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.
* Add -Wswitch to --enable-gcc-warningsPaul Eggert2015-09-161-2/+40
| | | | | | | | | | | | | | | | | | | | | | 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.
* etags ‘fatal’ function is now printf-likePaul Eggert2015-09-161-11/+21
| | | | | | | * 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.
* Prefer straight quoting in some text filesPaul Eggert2015-09-111-4/+4
| | | | | | | | | 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.
* Refix movemail GCC pacificationPaul Eggert2015-09-091-5/+2
| | | | | | 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.
* Port movemail to RHEL 6 with --enable-gcc-warningsPaul Eggert2015-09-091-2/+4
| | | | * lib-src/movemail.c (main): Declare local only if needed.
* Use straight quotes in lib-src diagnosticsPaul Eggert2015-08-274-62/+62
| | | | | | | | | | | | | | | 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.
* * admin/admin.el (set-version, set-copyright): Remove deleted files.Glenn Morris2015-08-151-1/+1
| | | | ; * src/emacs,c, lib-src/ntlib.c: Comment updates.
* Remove files used by the old MS-Windows specific build procedureEli Zaretskii2015-08-151-482/+0
| | | | | | | | | | * 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.
* Don't abort emacsclientw when -a was specifiedEvgeny Fraimovitch2015-08-021-0/+10
| | | | | | | * 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
* 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.