1. 01 Apr, 2013 1 commit
  2. 13 Mar, 2013 1 commit
    • Paul Eggert's avatar
      File synchronization fixes. · 47d7532e
      Paul Eggert authored
      * admin/CPP-DEFINES (BSD_SYSTEM, HAVE_FSYNC): Remove.
      * admin/merge-gnulib (GNULIB_MODULES): Add fsync, fdatasync.
      * configure.ac (BSD_SYSTEM, BSD_SYSTEM_AHB): Remove; no longer needed.
      (fsync): Remove check; now done by gnulib.
      * lib/fdatasync.c, lib/fsync.c, m4/fdatasync.m4, m4/fsync.m4:
      New files, from gnulib.
      * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
      * lib-src/Makefile.in (LIB_FDATASYNC): New macro.
      (emacsclient${EXEEXT}): Use it.
      * lib-src/emacsclient.c (main): Use fdatasync, not fsync, since we don't
      care about metadata.  Keep trying if interrupted.
      * lib-src/movemail.c (main, popmail): Don't worry about BSD_SYSTEM, since
      fsync is available everywhere (or there is a substitute).  Don't
      report an error if fsync returns EINVAL.
      * nt/inc/ms-w32.h (fdatasync): New macro, suggested by Eli Zaretskii.
      * src/Makefile.in (LIB_FDATASYNC): New macro.
      (LIBES): Use it.
      * src/conf_post.h (BSD_SYSTEM, BSD_SYSTEM_AHB): Remove; no longer needed.
      * src/fileio.c (Fwrite_region, write_region_inhibit_fsync):
      Don't worry about HAVE_FSYNC, since a substitute fsync is
      available if the system lacks one.
      (Fwrite_regin): Retry fsync if interrupted.
      
      Fixes: debbugs:13944
      47d7532e
  3. 25 Feb, 2013 1 commit
    • Paul Eggert's avatar
      Simplify data_start configuration. · 1ddc2bd6
      Paul Eggert authored
      This is a followon simplification to the fix for Bug#13650.
      * admin/CPP-DEFINES (DATA_START, ORDINARY_LINK): Remove.
      * configure.ac (CRT_DIR, LIB_STANDARD, START_FILES, DATA_START)
      (LD_FIRSTFLAG, ORDINARY_LINK, LIB_GCC): Remove.
      (AC_CHECK_HEADERS_ONCE): Remove sys/resource.h, as it's
      not always needed.
      (HAVE_DATA_START): New macro.
      * etc/PROBLEMS (LIBS_SYSTEM, LIBS_MACHINE, LIBS_STANDARD): Remove.
      Remove legacy-systems section, as this stuff is no longer
      applicable with current linking strategies.
      * src/Makefile.in (LD_FIRSTFLAG, LIB_GCC, CRT_DIR, LIB_STANDARD)
      (START_FILES): Remove.  All uses removed.
      (otherobj): Remove $(VMLIMIT_OBJ), as it's now first.
      (ALLOBJS): Move here from autodeps.mk, and with VMLIMITS_OBJ first.
      (buildobj.h): Use it.
      ($(ALLOBJS)): Depend on globals.h.
      (temacs$(EXEEXT)): Use $(ALLOBJS).
      * src/autodeps.mk (ALLOBJS): Move to Makefile.in.
      * src/deps.mk (vm-limit.o):
      * src/makefile.w32-in ($(BLD)/vm-limit.$(O)):
      Do not depend on mem-limits.h.
      * src/emacs.c (__do_global_ctors, __do_global_ctors_aux)
      (__do_global_dtors, __CTOR_LIST__, __DTOR_LIST__)
      [__GNUC__ && !ORDINARY_LINK]: Remove.
      * src/mem-limits.h, src/pre-crt0.c: Remove.
      * src/unexaix.c, src/unexcoff.c: Don't include mem-limits.h.
      * src/unexcoff.c (etext): New decl.
      (make_hdr): Use it instead of start_of_data.
      * src/vm-limit.c: Move most of mem-limits.h's contents here.
      (data_start): New decl.  It's OK if this is approximate,
      so simplify-away some unnecessary exactness.
      (POINTER): Remove; all uses removed.
      (data_space_start): Now char *, to avoid casts.
      (exceeds_lisp_ptr): New function, replacing the old
      EXCEEDS_LISP_PTR macro.  All uses changed.
      (check_memory_limits): Simplify and remove casts.
      (start_of_data) [!CANNOT_DUMP || !SYSTEM_MALLOC]: Remove.
      (memory_warnings): Use data_start instead of start_of_data.
      
      Fixes: debbugs:13783
      1ddc2bd6
  4. 01 Jan, 2013 1 commit
  5. 29 Dec, 2012 1 commit
    • Andreas Schwab's avatar
      Properly configure GNUstep libraries · 2550c6e4
      Andreas Schwab authored
      * configure.ac (TEMACS_LDFLAGS2): Don't define.
      (LIBS_GNUSTEP): Set for GNUstep and substitute.
      (LD_SWITCH_SYSTEM_TEMACS): Don't set for GNUstep.
      
      * src/Makefile.in (TEMACS_LDFLAGS2): Remove.
      (LIBS_GNUSTEP): Define.
      (LIBES): Add $(LIBS_GNUSTEP).
      (temacs$(EXEEXT)): Use $(LDFLAGS) instead of $(TEMACS_LDFLAGS2).
      2550c6e4
  6. 16 Dec, 2012 1 commit
    • Romain Francoise's avatar
      Add support for preserving ACL entries of files. · 7c3d167f
      Romain Francoise authored
      	* configure.ac (acl): New option.
      	(HAVE_POSIX_ACL): Test for POSIX ACL support.  This is typically
      	provided by libacl on GNU/Linux.
      
      	* fileio.c (Ffile_acl, Fset_file_acl): New functions.
      	(Fcopy_file): Change last arg to `preserve_extended_attributes'
      	and copy ACL entries of file in addition to SELinux context if
      	set.
      	(syms_of_fileio): Add `file-acl' and `set-file-acl'.
      
      	* Makefile.in (LIBACL_LIBS): New macro.
      	(LIBES): Use it.
      
      	* files.el (file-extended-attributes)
      	(set-file-extended-attributes): New functions.
      	(backup-buffer): Use them to handle both SELinux context and ACL
      	entries.
      	(backup-buffer-copy): Work with an alist of extended attributes,
      	rather than an SELinux context.
      	(basic-save-buffer-2): Ditto.
      
      	* files.texi (File Attributes): Document ACL support and new
      	`file-acl' function.
      	(Changing Files): Mention argument name change of `copy-file' and
      	document new function `set-file-acl'.
      7c3d167f
  7. 10 Dec, 2012 3 commits
    • Daniel Colascione's avatar
      Move fix for bug#12993 to trunk · 78f9ea87
      Daniel Colascione authored
      78f9ea87
    • Rüdiger Sonderfeld's avatar
      Support filesystem notification through inotify on GNU/Linux. · 81606b10
      Rüdiger Sonderfeld authored
       configure.ac (inotify): New option.
       (HAVE_INOTIFY): Test for inotify.
      
       src/termhooks.h (enum event_kind) [HAVE_INOTIFY]: Add
       FILE_NOTIFY_EVENT.
       src/lisp.h (syms_of_inotify) [HAVE_INOTIFY]: Add prototype.
       src/keyboard.c (Qfile_inotify) [HAVE_INOTIFY]: New variable.
       (syms_of_keyboard): DEFSYM it.
       (kbd_buffer_get_event) [HAVE_INOTIFY]: Generate FILE_NOTIFY_EVENT.
       (make_lispy_event): Support FILE_NOTIFY_EVENT by generating
       Qfile_inotify events.
       (keys_of_keyboard) [HAVE_INOTIFY]: Bind file-inotify events in
       special-event-map to inotify-handle-event.
       src/emacs.c (main) [HAVE_INOTIFY]: Call syms_of_inotify.
       src/Makefile.in (base_obj): Add inotify.o.
       src/inotify.c: New file.
      
       lisp/subr.el (inotify-event-p, inotify-handle-event): New functions.
      
       test/automated/inotify-test.el: New test.
      81606b10
    • Daniel Colascione's avatar
      1cf1bbd5
  8. 14 Nov, 2012 1 commit
    • Paul Eggert's avatar
      Use faccessat, not access, when checking file permissions. · 73dcdb9f
      Paul Eggert authored
      This fixes a bug that has been present in Emacs since its creation.
      It was reported by Chris Torek in 1983 even before GNU Emacs existed,
      which must set some sort of record.  (Torek's bug report was against
      a predecessor of GNU Emacs, but GNU Emacs happened to have the
      same common flaw.)  See Torek's Usenet posting
      "setuid/setgid programs & Emacs" Article-I.D.: sri-arpa.858
      Posted: Fri Apr  8 14:18:56 1983.
      * .bzrignore: Add lib/fcntl.h.
      * configure.ac (euidaccess): Remove check; gnulib does this for us now.
      (gl_FCNTL_O_FLAGS): Define a dummy version.
      * lib/at-func.c, lib/euidaccess.c, lib/faccessat.c, lib/fcntl.in.h:
      * lib/getgroups.c, lib/group-member.c, lib/root-uid.h:
      * lib/xalloc-oversized.h, m4/euidaccess.m4, m4/faccessat.m4:
      * m4/fcntl_h.m4, m4/getgroups.m4, m4/group-member.m4:
      New files, from gnulib.
      * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
      * admin/merge-gnulib (GNULIB_MODULES): Add faccessat.
      (GNULIB_TOOL_FLAGS): Avoid at-internal, fchdir, malloc-posix,
      openat-die, openat-h, save-cwd.  Do not avoid fcntl-h.
      Omit gnulib's m4/fcntl-o.m4.
      * nt/inc/ms-w32.h (AT_FDCWD, AT_EACCESS): New symbols.
      (access): Remove.
      (faccessat): New macro.
      * src/Makefile.in (LIB_EACCESS): New macro.
      (LIBES): Use it.
      * src/callproc.c (init_callproc):
      * src/charset.c (init_charset):
      * src/fileio.c (check_existing, check_executable, check_writable)
      (Ffile_readable_p):
      * src/lread.c (openp, load_path_check):
      * src/process.c (allocate_pty):
      * src/xrdb.c (file_p):
      Use effective UID when checking permissions, not real UID.
      * src/callproc.c (init_callproc):
      * src/charset.c (init_charset):
      * src/lread.c (load_path_check, init_lread):
      Test whether directories are accessible, not merely whether they exist.
      * src/conf_post.h (GNULIB_SUPPORT_ONLY_AT_FDCWD): New macro.
      * src/fileio.c (check_existing, check_executable, check_writable)
      (Ffile_readable_p):
      Use symbolic names instead of integers for the flags, as they're
      portable now.
      (check_writable): New arg AMODE.  All uses changed.
      Set errno on failure.
      (Ffile_readable_p): Use faccessat, not stat + open + close.
      (Ffile_writable_p): No need to call check_existing + check_writable.
      Just call check_writable and then look at errno.  This saves a syscall.
      dir should never be nil; replace an unnecessary runtime check
      with an eassert.  When checking the parent directory of a nonexistent
      file, check that the directory is searchable as well as writable, as
      we can't create files in unsearchable directories.
      (file_directory_p): New function, which uses 'stat' on most platforms
      but faccessat with D_OK (for efficiency) if WINDOWSNT.
      (Ffile_directory_p, Fset_file_times): Use it.
      (file_accessible_directory_p): New function, which uses a single
      syscall for efficiency.
      (Ffile_accessible_directory_p): Use it.
      * src/xrdb.c (file_p): Use file_directory_p.
      * src/lisp.h (file_directory_p, file_accessible_directory_p): New decls.
      * src/lread.c (openp): When opening a file, use fstat rather than
      stat, as that avoids a permissions race.  When not opening a file,
      use file_directory_p rather than stat.
      (dir_warning): First arg is now a usage string, not a format.
      Use errno.  All uses changed.
      * src/nsterm.m (ns_term_init): Remove unnecessary call to file-readable
      that merely introduced a race.
      * src/process.c, src/sysdep.c, src/term.c: All uses of '#ifdef O_NONBLOCK'
      changed to '#if O_NONBLOCK', to accommodate gnulib O_* style,
      and similarly for the other O_* flags.
      * src/w32.c (sys_faccessat): Rename from sys_access and switch to
      faccessat's API.  All uses changed.
      * src/xrdb.c: Do not include <sys/stat.h>; no longer needed.
      (magic_db): Rename from magic_file_p.
      (magic_db, search_magic_path): Return an XrmDatabase rather than a
      char *, so that we don't have to test for file existence
      separately from opening the file for reading.  This removes a race
      fixes a permission-checking problem, and simplifies the code.
      All uses changed.
      (file_p): Remove; no longer needed.
      
      Fixes: debbugs:12632
      73dcdb9f
  9. 19 Oct, 2012 2 commits
    • Paul Eggert's avatar
      Undo faccessat change. · f0a80175
      Paul Eggert authored
      f0a80175
    • Paul Eggert's avatar
      Use faccessat, not access, when checking file permissions. · e752e0b0
      Paul Eggert authored
      * .bzrignore: Add lib/fcntl.h.
      * configure.ac (euidaccess): Remove check; gnulib does this for us now.
      (gl_FCNTL_O_FLAGS): Define a dummy version.
      * lib/at-func.c, lib/euidaccess.c, lib/faccessat.c, lib/fcntl.in.h:
      * lib/getgroups.c, lib/group-member.c, lib/root-uid.h:
      * lib/xalloc-oversized.h, m4/euidaccess.m4, m4/faccessat.m4:
      * m4/fcntl_h.m4, m4/getgroups.m4, m4/group-member.m4:
      New files, from gnulib.
      * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
      * admin/merge-gnulib (GNULIB_MODULES): Add faccessat.
      (GNULIB_TOOL_FLAGS): Avoid at-internal, fchdir, malloc-posix,
      openat-die, openat-h, save-cwd.  Do not avoid fcntl-h.
      Omit gnulib's m4/fcntl-o.m4.
      * nt/inc/ms-w32.h (AT_FDCWD, AT_EACCESS): New symbols.
      (access): Remove.
      (faccessat): New macro.
      * src/Makefile.in (LIB_EACCESS): New macro.
      (LIBES): Use it.
      * src/callproc.c (init_callproc):
      * src/charset.c (init_charset):
      * src/fileio.c (check_existing, check_executable):
      * src/lread.c (openp, load_path_check):
      * src/process.c (allocate_pty):
      * src/xrdb.c (file_p):
      Use faccessat, not access or euidaccess.  Use symbolic names
      instead of integers for the flags, as they're portable now.
      * src/charset.c, src/xrdb.c: Include <fcntl.h>, for the new flags used.
      * src/fileio.c (Ffile_readable_p):
      Use faccessat, not stat + open + close.
      (file_directory_p): New function, which uses 'stat' on most places
      but 'access' (for efficiency) if WINDOWSNT.
      * src/fileio.c (Ffile_directory_p, Fset_file_times):
      * src/xrdb.c (file_p): Use file_directory_p.
      * src/lisp.h (file_directory_p): New decl.
      * src/lread.c (openp): When opening a file, use fstat rather than
      stat, as that avoids a permissions race.  When not opening a file,
      use file_directory_p rather than stat.
      * src/process.c, src/sysdep.c, src/term.c: All uses of '#ifdef O_NONBLOCK'
      changed to '#if O_NONBLOCK', to accommodate gnulib O_* tyle.
      * src/w32.c (sys_faccessat): Rename from sys_access and switch to
      faccessat's API.  All uses changed.
      
      Fixes: debbugs:12632
      e752e0b0
  10. 08 Oct, 2012 2 commits
  11. 27 Sep, 2012 1 commit
  12. 17 Sep, 2012 1 commit
    • Daniel Colascione's avatar
      Implement cygw32 · 0fda9b75
      Daniel Colascione authored
      Here, we use the generic window-system configuration system we just
      implemented to support the w32 window-system in the mainline build
      under Cygwin.  (Previously, the w32 window system could only be
      compiled as part of the NT-native Emacs build process.)
      
      The changes in this patch need to be applied atomically in order to
      avoid breaking Emacs.  The changes include:
      
        - Changes throughout the Lisp and C code to not assume that
            NT Emacs and the w32 window system are synonymous.
      
        - Wiring up the regular select(2) event loop to Windows messages
      
        - Cleaning up the w32 drag-and-drop receiving code.
      
        - Exposing Cygwin path conversion functions to elisp.
      
        - Unicode file dialog support when compiling for Cygwin.
      
        - Splitting the w32 term lisp initialization code into code
          applicable to any w32 window-system and code specific to
          system-type windows-nt.
      
        - Integrating the old and new w32 code into the build system.
      0fda9b75
  13. 16 Sep, 2012 2 commits
    • Glenn Morris's avatar
    • Glenn Morris's avatar
      Increase compartmentalization of Nextstep builds rules, · 83da1b55
      Glenn Morris authored
      and store Emacs version number in fewer versioned files.
      
      * configure.ac (ns_appsrc): Use relative names.
      (ns_frag): Remove.
      (Info-gnustep.plist, Emacs.desktop, Info.plist, InfoPlist.strings)
      (nextstep/Makefile): Generate these nextstep files.
      (SUBDIR_MAKEFILES): Add nextstep.
      
      * Makefile.in (clean, distclean, bootstrap-clean): Add nextstep.
      
      * make-dist (nextstep/templates): Add directory.
      (nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj): Remove.
      (nextstep/Cocoa/Emacs.base/Contents)
      (nextstep/GNUstep/Emacs.base/Resources): Update contents.
      
      * .bzrignore: Add some nextstep files.
      
      * admin/admin.el (set-version): No more need to set nextstep versions.
      (set-copyright): Update for moved nextstep files.
      
      * nextstep/Makefile.in: New file.
      * nextstep/templates: New directory.
      * nextstep/templates/Emacs.desktop.in, nextstep/templates/Info-gnustep.plist.in:
      * nextstep/templates/Info.plist.in, nextstep/templates/InfoPlist.strings.in:
      Move here from...
      83da1b55
  14. 02 Sep, 2012 1 commit
  15. 01 Sep, 2012 1 commit
    • Daniel Colascione's avatar
      Refactor window-system configuration · 17a2cbbd
      Daniel Colascione authored
      This change streamlines the window system selection code in
      configure.in and moves many common function declarations from
      window-specific headers to frame.h.  It introduces a new TERM_HEADER
      macro in config.h: we set this macro to the right header to use for
      the window system for which we're compiling Emacs and have source
      files include it indirectly.  This way, we don't have to teach every
      file about every window system.
      17a2cbbd
  16. 26 Aug, 2012 1 commit
  17. 25 Aug, 2012 1 commit
    • Paul Eggert's avatar
      On assertion failure, print backtrace if available. · f4a681b0
      Paul Eggert authored
      Merge from gnulib, incorporating:
      2012-08-24 execinfo: port to FreeBSD
      2012-08-22 execinfo: new module
      * admin/merge-gnulib (GNULIB_MODULES): Add execinfo.
      * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
      * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4: New files.
      * src/alloc.c [ENABLE_CHECKING]: Include <execinfo.h>.
      (die) [ENABLE_CHECKING]: Print a backtrace if available.
      * src/Makefile.in (LIB_EXECINFO): New macro.
      (LIBES): Use it.
      f4a681b0
  18. 22 Aug, 2012 1 commit
  19. 20 Aug, 2012 1 commit
  20. 10 Aug, 2012 1 commit
  21. 01 Aug, 2012 1 commit
    • Glenn Morris's avatar
      Remove src/s/msdos.h · fe3cc771
      Glenn Morris authored
      * msdos/sed2v2.inp (MSDOS, DOS_NT, FLOAT_CHECK_DOMAIN)
      (HAVE_INVERSE_HYPERBOLIC, DEVICE_SEP, IS_DIRECTORY_SEP, IS_ANY_SEP)
      (INTERNAL_TERMINAL, NULL_DEVICE, SEPCHAR, USER_FULL_NAME)
      (_setjmp, _longjmp): Move here from src/s/msdos.h.
      (config_opsysfile, config_machfile): Remove.
      * msdos/sed1v2.inp (M_FILE, S_FILE): Remove.
      * msdos/mainmake.v2 (TAGS tags): Remove src/s/msdos.h.
      
      * src/s/msdos.h: Remove file.
      * src/conf_post.h [MSDOS]: New section, moved from s/msdos.h.
      * src/Makefile.in (S_FILE): Remove.
      (config_h): Remove S_FILE.
      fe3cc771
  22. 31 Jul, 2012 1 commit
  23. 30 Jul, 2012 2 commits
    • Glenn Morris's avatar
      Use an include file in configure.ac's AH_BOTTOM · b429a4ee
      Glenn Morris authored
      * configure.ac (AH_BOTTOM): Use an include file, so that the
      contents do not get processed by autoheader.  Eg this prevents undefs
      being commented out, and is the recommended technique from the
      autoconf manual.
      
      * src/conf_post.h: New, split from configure.ac's AH_BOTTOM.
      
      * src/Makefile.in (config_h): Add conf_post.h.
      * src/makefile.w32-in (CONFIG_H): Add conf_post.h.
      b429a4ee
    • Paul Eggert's avatar
      Update .PHONY listings in makefiles. · 0aee6912
      Paul Eggert authored
      0aee6912
  24. 06 Jul, 2012 1 commit
    • Glenn Morris's avatar
      * src/Makefile.in (emacs$(EXEEXT)): Don't check for load-path shadows. · 8eb876e2
      Glenn Morris authored
      It has nothing to do with building Emacs, and no-one is likely to be
      paying attention to the result.  The CANNOT_DUMP branch was pointless,
      since it sets EMACSLOADPATH=$(lispsource) it is impossible for there
      to ever be any shadows.  The EMACSLOADPATH setting was probably necessary
      for emacs to work at all when uninstalled, given the way init_lread
      works for the CANNOT_DUMP case.  Since -batch implies -q, in the
      non-CANNOT_DUMP branch, any shadows could only come from site-lisp
      files.
      8eb876e2
  25. 26 Jun, 2012 1 commit
  26. 22 Jun, 2012 1 commit
  27. 03 Jun, 2012 1 commit
    • Ulrich Müller's avatar
      Workaround dumping problem on PaX-enabled Linux kernels · c71232db
      Ulrich Müller authored
      * configure.in (PAXCTL): Check for paxctl.
      
      * src/Makefile.in (PAXCTL): Define.
      (temacs$(EXEEXT)): Disable memory randomization for the temacs
      binary via PaX flags if the paxctl utility is available.
      (emacs$(EXEEXT), bootstrap-emacs$(EXEEXT)):
      Restore PaX flags to their default.
      
      Fixes: debbugs:11398
      c71232db
  28. 22 May, 2012 1 commit
    • Paul Eggert's avatar
      Remove src/m/*. · 34374650
      Paul Eggert authored
      * configure.in: Remove all mention of src/m/*.
      (machine, machfile, M_FILE, config_machfile, and_machfile): Remove.
      All uses removed.
      (BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG)
      (BITS_PER_LONG_LONG): Move to src/lisp.h.
      * lib/makefile.w32-in: Remove dependencies on
      $(EMACS_ROOT)/src/m/intel386.h.
      * make-dist: Don't make links to src/m.
      * admin/CPP-DEFINES: Do not mention src/m/*.h.
      (BITS_PER_EMACS_INT, BITS_PER_LONG, BITS_PER_CHAR)
      (BITS_PER_SHORT, BITS_PER_INT): Remove.
      * admin/MAINTAINERS: Remove src/m/.
      * lib-src/makefile.w32-in: Remove dependencies on
      $(EMACS_ROOT)/src/m/intel386.h.
      * msdos/mainmake.v2 (TAGS tags): Don't look at $(CURDIR)/src/m/intel386.h.
      * nt/config.nt: Do not include "m/intel386.h"; file was removed.
      (BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG):
      Move to src/lisp.h.
      (EMACS_INT_MAX): New macro.
      This directory predates autoconf and is no longer needed nowadays.
      Move its few remaining bits of functionality to where they're needed.
      * src/m/README, src/m/alpha.h, src/m/amdx86-64.h, src/m/ia64.h, src/m/ibmrs6000.h:
      * src/m/ibms390x.h, src/m/intel386.h, src/m/m68k.h, src/m/macppc.h:
      * src/m/sparc.h, src/m/template.h: Remove.
      * src/Makefile.in (M_FILE): Remove.  All uses removed.
      * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS):
      * src/lisp.h (USE_LSB_TAG):
      * src/mem-limits.h (EXCEEDS_LISP_PTR):
      Use VAL_MAX, not VALBITS, in #if.
      * src/lisp.h (EMACS_INT_MAX): New macro, useful in #if.
      (EMACS_UINT): Define unconditionally now.
      (BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG)
      (BITS_PER_EMACS_INT): New constants, replacing
      what used to be in config.h, but not useful in #if.
      (GCTYPEBITS, VALBITS): Define unconditionally, since m/* files don't
      define them any more.
      (VAL_MAX): New macro.
      (VALMASK): Use it.
      * src/puresize.h (PURESIZE_RATIO): Use EMACS_INT_MAX, not
      BITS_PER_EMACS_INT, in #if.
      * src/s/aix4-2.h (BROKEN_FIONREAD, BROKEN_SIGAIO, BROKEN_SIGPTY)
      (BROKEN_SIGPOLL): Move here from m/ibmrs6000.h, which was removed.
      * src/s/gnu-linux.h (ULIMIT_BREAK_VALUE) [__i386__]:
      * src/s/ms-w32.h (DATA_START):
      Move here from removed file m/intel386.h.
      * src/s/gnu.h (NLIST_STRUCT): Remove undef; 'configure' does this.
      * src/s/irix6-5.h (_LP64): Remove; lisp.h no longer needs this.
      34374650
  29. 12 May, 2012 1 commit
    • Glenn Morris's avatar
      Let configure test for a suitable mkdir -p · 3fe7cdc8
      Glenn Morris authored
      * configure.in (AC_PROG_MKDIR_P): Call it, to set MKDIR_P.
      (MKDEPDIR): Use $MKDIR_P.
      
      * Makefile.in (MKDIR_P): New, set by configure.
      (mkdir): Use $MKDIR_P.
      
      * doc/emacs/Makefile.in (MKDIR_P): New, set by configure.
      (mkinfodir): Use $MKDIR_P.
      
      * doc/lispintro/Makefile.in (MKDIR_P): New, set by configure.
      (mkinfodir): Use $MKDIR_P.
      
      * doc/lispref/Makefile.in (MKDIR_P): New, set by configure.
      (mkinfodir): Use $MKDIR_P.
      
      * doc/misc/Makefile.in (MKDIR_P): New, set by configure.
      (mkinfodir): Use $MKDIR_P.
      
      * src/Makefile.in (MKDIR_P): New, set by configure.
      
      * src/ns.mk (${ns_appdir}, ${ns_appbindir}Emacs): Use $MKDIR_P.
      3fe7cdc8
  30. 01 May, 2012 2 commits
  31. 11 Apr, 2012 1 commit
    • Glenn Morris's avatar
      Repurpose C_SWITCH_X_SYSTEM as GNUSTEP_CFLAGS · 2f097256
      Glenn Morris authored
      This is the only thing left that uses it.
      
      * configure.in (GNUSTEP_CFLAGS): Rename from C_SWITCH_X_SYSTEM.
      
      * src/Makefile.in (GNUSTEP_CFLAGS): Rename from C_SWITCH_X_SYSTEM.
      
      * lwlib/Makefile.in (C_SWITCH_X_SYSTEM): Remove.
      (ALL_CFLAGS): Remove C_SWITCH_X_SYSTEM.
      
      * oldXMenu/Makefile.in (C_SWITCH_X_SYSTEM): Remove.
      (ALL_CFLAGS): Remove C_SWITCH_X_SYSTEM.
      
      * msdos/sedlibmk.inp, msdos/sed1v2.inp:
      GNUSTEP_CFLAGS replaces C_SWITCH_X_SYSTEM.
      2f097256
  32. 09 Apr, 2012 2 commits
    • Glenn Morris's avatar
      Rename leim/Makefile's BUILT_EMACS to EMACS · 935396c0
      Glenn Morris authored
      * leim/Makefile.in (EMACS): Rename from BUILT_EMACS.
      (RUN_EMACS, compile-main): Update for this change.
      
      * src/Makefile.in ($(leimdir)/leim-list.el):
      Pass EMACS rather than BUILT_EMACS.
      935396c0
    • Paul Eggert's avatar
      configure: new option --enable-gcc-warnings · b8df54ff
      Paul Eggert authored
      I have been using this change for many months in my private copy
      of Emacs, and have used it to find several bugs.  It's mature
      enough to publish now.
      * Makefile.in (GNULIB_MODULES): Add warnings, manywarnings.
      * configure.in: Support --enable-gcc-warnings, in the style of
      other GNU packages such as coreutils.
      (C_WARNINGS_SWITCH): Remove, replacing with...
      (WARN_CFLAGS, GNULIB_WARN_CFLAGS): New variable.
      (PKG_CHECK_MODULES, C_SWITCH_X_SITE): Use -isystem rather than -I,
      when including system files with GCC.
      * etc/NEWS: Mention --enable-gcc-warnings.
      * lib/Makefile.am (AM_CFLAGS): New macro.
      * m4/manywarnings.m4, m4/warnings.m4: New files, from gnulib.
      * lib-src/Makefile.in (C_WARNINGS_SWITCH): Remove.
      (WARN_CFLAGS, WERROR_CFLAGS): New macros.
      (BASE_CFLAGS): Use new macros rather than old.
      * lwlib/Makefile.in (C_WARNINGS_SWITCH): Remove.
      (WARN_CFLAGS, WERROR_CFLAGS): New macros.
      (ALL_CFLAGS): Use new macros rather than old.
      * oldXMenu/Makefile.in (C_WARNINGS_SWITCH): Remove.
      (WARN_CFLAGS, WERROR_CFLAGS): New macros.
      (ALL_CFLAGS): Use new macros rather than old.
      * src/Makefile.in (C_WARNINGS_SWITCH): Remove.
      (WARN_CFLAGS, WERROR_CFLAGS): New macros.
      (ALL_CFLAGS): Use new macros rather than old.
      * src/process.c: Ignore -Wstrict-overflow to work around GCC bug 52904.
      * src/regex.c: Ignore -Wstrict-overflow.  If !emacs, also ignore
      -Wunused-but-set-variable, -Wunused-function, -Wunused-macros,
      -Wunused-result, -Wunused-variable.  This should go away once
      the Emacs and Gnulib regex code is merged.
      (xmalloc, xrealloc): Now static.
      b8df54ff