1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-23 07:19:15 +00:00
Commit Graph

1212 Commits

Author SHA1 Message Date
Eli Zaretskii
25c51af3a9 Adapt MS-Windows build to import of filemode.c from gnulib.
nt/inc/sys/stat.h (S_ISUID, S_ISGID, S_ISVTX, S_IRGRP, S_IROTH)
 (S_IWGRP, S_IWOTH, S_IXGRP, S_IXOTH, S_ISSOCK, S_ISLNK, S_ISCTG)
 (S_ISDOOR, S_ISMPB, S_ISMPC, S_ISNWK, S_ISPORT, S_ISWHT)
 (S_TYPEISMQ, S_TYPEISSEM, S_TYPEISSHM, S_TYPEISTMO): Define.
 (lstat): Define to stat.
 lib/makefile.w32-in ($(BLD)/filemode.$(O)): Move from
 src/makefile.w32-in and adapt.  Depend on stamp_BLD.
 (GNULIBOBJS): Add $(BLD)/filemode.$(O).
 src/makefile.w32-in ($(BLD)/filemode.$(O)): Move recipe to
 lib/makefilw.w32-in.
 ($(BLD)/dired.$(O)): Depend on $(EMACS_ROOT)/lib/filemode.h.
 (GLOBAL_SOURCES): Remove filemode.c.
 (OBJ1): Remove $(BLD)/filemode.$(O).
 lib-src/makefile.w32-in ($(BLD)/ctags.$(O), $(BLD)/emacsclient.$(O))
 ($(BLD)/etags.$(O), $(BLD)/movemail.$(O), $(BLD)/ntlib.$(O)):
 Depend on $(EMACS_ROOT)/nt/inc/sys/stat.h.
2011-02-21 22:00:19 +02:00
Paul Eggert
5c185672d6 Import filemode module from gnulib. 2011-02-21 09:56:37 -08:00
Eli Zaretskii
e1e6b4fb85 Followup for 2011-02-20T18:50:26Z!eliz@gnu.org.
lib/makefile.w32-in ($(BLD)/md5.$(O)): Don't depend on
 $(EMACS_ROOT)/nt/inc/sys/stat.h.
2011-02-20 23:09:45 +02:00
Paul Eggert
6cac9cb117 * configure.in (C_WARNINGS_SWITCH): Do not prepend -Wno-pointer-sign. 2011-02-20 11:46:08 -08:00
Paul Eggert
2763cfc268 Merge from mainline. 2011-02-20 11:31:01 -08:00
Christoph Scholtes
32159fc37e Fix the MS-Windows build due to import of md5 from gnulib.
src/makefile.w32-in: Remove md5.$(O).
 ($(BLD)/md5.$(O)): Remove prerequisites, moved to
 lib/makefile.w32-in.
 ($(BLD)/fns.$(O)): Depend on $(EMACS_ROOT)/lib/md5.h and on stamp_BLD.
 lib/makefile.w32-in ($(BLD)/md5.$(O)): New recipe, moved from
 src/makefile.w32-in.
2011-02-20 20:50:26 +02:00
Paul Eggert
5fa4ac767c Import filemode module from gnulib.
* .bzrignore: Add lib/sys/.
* Makefile.in (GNULIB_MODULES): Add filemode.
* lib/Makefile.am (MOSTLYCLEANDIRS): New macro.
* lib/filemode.c: Renamed from src/filemode.c and regenerated
from gnulib.  This adds support for some more file types, e.g.,
Cray DMF migrated files.
* lisp/emacs-lisp/find-gc.el (find-gc-source-files): Remove filemode.c.
* lib/filemode.h, lib/sys_stat.in.h, m4/filemode.m4, m4/st_dm_mode.m4:
* m4/sys_stat_h.m4: New files, generated from gnulib.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4:
Regenerate.

2011-02-20  Paul Eggert  <eggert@cs.ucla.edu>
2011-02-20 02:51:50 -08:00
Paul Eggert
61353ac8cd Merge: Import crypto/md5 and stdint modules from gnulib. 2011-02-20 00:48:52 -08:00
Eli Zaretskii
219463da10 Fix generation of auto-dependency files in lib/.
.bzrignore: Add lib/deps/.
 config.bat: Generate *.Po files in lib/deps.
 msdos/sedlibmk.inp (CONFIG_CLEAN_VPATH_FILES): Fix editing of *-clean
 rules.
 msdos/depfiles.bat: New file.
2011-02-19 18:53:10 +02:00
Eli Zaretskii
152be435b9 Update .bzrignore for files produced by the MS-DOS build.
.bzrignore: Ignore cxxdefs.h and lib/*.in-h files.
2011-02-19 18:12:18 +02:00
Eli Zaretskii
9d9d12cdf3 Initial version of fix for the MS-DOS build, not yet tested.
config.bat: Configure in `lib'.
 msdos/sedlibmk.inp: New file.
 msdos/sedlibcf.inp: New file.
 msdos/sed1v2.inp (NS_OBJC_OBJ): Edit to empty.
 (@true): Edit to "@rem".
 (move-if-change): Edit to "update".
 (echo): Edit to "djecho".
 (cd $(lib) && ...): Edit to "$(MAKE) -C ...".
 msdos/mainmake.v2 (version): Remove, no longer needed (config.in
 defines VERSION).
 (all): Add lib.
 (lib): New target and recipe.
 (lib-src): Depend on lib.
 (src): Depend on lib and lib-src.
 (clean, mostlyclean, distclean, maintainer-clean, extraclean)
 (bootstrap-clean): Recurse into lib.
 msdos/sed2v2.inp: Remove workaround for the "#if ! HAVE_MKTIME ||
 BROKEN_MKTIME" stuff -- it's no longer in src/config.in.
 (HAVE_ATTRIBUTE_ALIGNED, HAVE_C99_STRTOLD, HAVE_DECL_GETENV)
 (HAVE__BOOL): Edit to 1.
 (VERSION, inline, restrict): Edit for DJGPP.
 src/s/msdos.h (strtold): Define to _strtold.
 admin/admin.el (set-version): Add msdos/sed2v2.inp.
2011-02-19 17:57:35 +02:00
Paul Eggert
5f90be1bb7 Import simpler crypto/md5 module from gnulib, plus stdint module.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4:
* src/config.in: Regenerate.
* lib/md5.c, lib/md5.h: Regenerate with simpler version, which
assumes C99-style <stdint.h>, supplied by the stdint module.
* lib/stdint.in.h, m4/longlong.m4, m4/stdint.m4: New files,
generated from gnulib.
* src/deps.mk (fns.o): Do not depend on md5.h, fixing a typo in
the earlier patch.
2011-02-18 23:28:29 -08:00
Paul Eggert
942f733fd1 Import crypto/md5 module from gnulib.
* Makefile.in (MAKEFILE_MODULES): Add crypto/md5.
* admin/notes/copyright: Remove src/md5.c and src/md5.h as
special cases.
* src/Makefile.in (base_obj): Remove md5.o, since this file
is in lib now.
* src/deps.mk (md5.o): Remove.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4:
Regenerate.
* lib/md5.c: Regenerate.  This renames the file from src/md5.c,
and adds some porting improvements from gnulib.
* lib/md5.h: Regenerate, likwise; rename from src/md5.h.
* m4/md5.m4: New file, from gnulib.

2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
2011-02-18 00:07:03 -08:00
Paul Eggert
37b3d30244 Merge from mainline. 2011-02-17 23:44:39 -08:00
Paul Eggert
7d315eb678 Import IRIX 6.5 getloadavg fixes from gnulib.
* configure, lib/getloadavg.c, m4/getloadavg.m4: Regenerate.
2011-02-17 23:41:43 -08:00
Paul Eggert
0ca2f89e09 Merge from mainline. 2011-02-15 17:35:20 -08:00
Paul Eggert
1f5d53eb53 Import getloadavg module from gnulib. 2011-02-15 16:33:44 -08:00
Paul Eggert
5740d4abab Merge from mainline. 2011-02-15 16:21:32 -08:00
Paul Eggert
7127b760ae * install-sh: Update to scriptversion 2011-01-19.21. 2011-02-15 16:19:57 -08:00
Paul Eggert
9502925a79 Merge from proposed getloadavg simplifications in gnulib.
* configure, lib/Makefile.in, src/config.in: Regenerate.
* lib/getloadavg.c, lib/stdlib.in.h, m4/getloadavg.m4: New
versions from gnulib.

2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
2011-02-14 22:40:12 -08:00
Paul Eggert
fae95934b8 Merge from mainline. 2011-02-14 21:41:07 -08:00
Paul Eggert
bb55f713d2 Merge from gnulib. 2011-02-14 20:53:29 -08:00
Glenn Morris
57e96f8e22 * make-dist: Exclude generated file src/globals.h. 2011-02-12 18:04:18 -08:00
Paul Eggert
be6d99804b Merge from mainline. 2011-02-09 23:04:56 -08:00
Paul Eggert
6ffb2c0ceb Undo my previous commit, as per Stefan. 2011-02-09 19:56:30 -08:00
Paul Eggert
102252aa03 New file lib/ChangeLog, with entries moved from ChangeLog 2011-02-09 19:32:03 -08:00
Paul Eggert
988c07dff2 * arg-nonnull.h, c++defs.h, warn-on-use.h: Fix licenses. 2011-02-09 19:16:11 -08:00
Stefan Monnier
ccded26c1e * lisp/progmodes/sh-script.el (sh-font-lock-open-heredoc): Fix case
of here-doc that immediately follows a comment.
* .bzrignore: Ignore globals.h and related stamp.
* test/indent/shell.sh:
* test/indent/shell.rc: New files.
2011-02-09 13:59:55 -05:00
Paul Eggert
caf825516a Sync texinfo.tex and sed-related fixes from gnulib. 2011-02-08 17:40:01 -08:00
Tom Tromey
00b3c7ac85 Make globals.h a generated header
* configure: Rebuild.
	* configure.in (NS_OBJC_OBJ): New subst.
lib-src
	* make-docfile.c: Unconditionally include stdlib.h.
	(generate_globals): New global.
	(xrealloc): New function.
	(main): Handle '-g'.  Call start_globals, write_globals.
	(scan_file): Conditionally call put_filename.
	(start_globals): New function.
	(struct global): New.
	(num_globals, globals): New globals.
	(add_global, compare_globals, write_globals): New functions.
	(scan_c_file): Update for "-g".
	(scan_lisp_file): Fail if "-g".
	(enum global_type): New.
src
	* Makefile.in (NS_OBJC_OBJ): New variable.
	(base_obj): Rename from 'obj'.
	(obj): New variable.
	(globals.h, gl-stamp, $(obj)): New targets.
	(GLOBAL_SOURCES): New variable.
	* globals.h: Remove.
	* nsselect.m (Vselection_alist): Define.  Reverts part of
	2011-01-19T22:11:33Z!jan.h.d@swipnet.se.
	* buffer.c: Don't use "no_cell" for name of kill-buffer-hook's
	variable.
	* xselect.c (Vselection_alist): Define.  Reverts part of 2011-01-19T23:32:42Z!eggert@cs.ucla.edu.
2011-02-08 14:42:56 -07:00
Paul Eggert
79ab4b7f0e Import getloadavg module from gnulib. 2011-02-07 23:05:03 -08:00
Paul Eggert
595785701d gnulib: allow multiple gnulib generated replacements to coexist
This defines a few preprocessor symbols that should not affect Emacs.
* lib/getopt.in.h, lib/time.in.h, lib/unistd.in.h: Regenerate
via "make sync-from-gnulib".
2011-02-06 17:01:26 -08:00
Paul Eggert
e765a38829 gnulib: undo previous change 2011-02-06 14:13:03 -08:00
Paul Eggert
91ccade49b gnulib: adjust to upstream _HEADERS change 2011-02-06 00:28:30 -08:00
Paul Eggert
d67985d3f9 sync from gnulib to remove HAVE_STDBOOL_H 2011-02-04 21:07:22 -08:00
Paul Eggert
5dc7a1d2c4 * lib/ignore-value.h: New file. 2011-02-03 13:38:34 -08:00
Paul Eggert
67342916c9 allow C code to suppress warnings about ignored return values 2011-02-03 11:29:35 -08:00
Chong Yidong
14beddf471 Merge changes from emacs-23 branch 2011-01-31 18:54:50 -05:00
Eli Zaretskii
70b0d280eb Fix the MS-Windows build broken by 2011-01-30T23:34:18Z!eggert@cs.ucla.edu and 2011-01-31T08:15:13Z!eggert@cs.ucla.edu.
lib/makefile.w32-in (GNULIBOBJS): Add $(BLD)/strftime.$(O) and
 $(BLD)/time_r.$(O).
 ($(BLD)/dtoastr.$(O)): Depend on $(EMACS_ROOT)/src/s/ms-w32.h and
 $(EMACS_ROOT)/src/m/intel386.h.
 ($(BLD)/strftime.$(O)): 
 ($(BLD)/time_r.$(O)): Define prerequisites.
 src/makefile.w32-in (OBJ2): Remove strftime.$(O).
 ($(BLD)/strftime.$(O)): Remove prerequisites.
 lib-src/makefile.w32-in (VERSION): Don't define, defined on nt/config.nt.
 (ECLIENT_CFLAGS): Remove -DVERSION.
 ($(BLD)/emacsclient.$(O)): Don't depend on makefile.w32-in.
 nt/config.nt (VERSION): Uncomment definition.
 (restrict): Define.
 nt/inc/stdbool.h: New file.
 admin/admin.el (set-version): Remove lib-src/makefile.w32-in.  Add
 nt/config.nt.
2011-01-31 21:36:08 +02:00
Paul Eggert
16fab14354 src/emacs.c now gets version number from configure.in 2011-01-31 00:12:52 -08:00
Paul Eggert
16c3e636a6 strftime: import from gnulib 2011-01-30 15:34:18 -08:00
Paul Eggert
3de84ad9c4 gnulib: import mktime and move-if-change fixes from gnulib
* configure: Regenerate from the following.

2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>

mktime: clarify long_int width checking
* lib/mktime.c (long_int_is_wide_enough): Move this assertion to
the top level, to make it clearer that the assumption about
long_int width is being checked.  See
<http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.

2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>

TYPE_MAXIMUM: avoid theoretically undefined behavior
* lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
negative number, which the C Standard says has undefined behavior.
In practice this is not a problem, but might as well do it by the book.
Reported by Rich Felker and Eric Blake; see
<http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
* m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
* lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.

mktime: #undef mktime before #defining it
* lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.

mktime: systematically normalize tm_isdst comparisons
* lib/mktime.c (isdst_differ): New function.
(__mktime_internal): Use it systematically for all isdst comparisons.
This completes the fix for libc BZ #6723, and removes the need for
normalizing tm_isdst.  See
<http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
(not_equal_tm) [DEBUG]: Use isdst_differ here, too.

mktime: fix some integer overflow issues and sidestep the rest

This was prompted by a bug report by Benjamin Lindner for MinGW
<http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
His bug is due to signed integer overflow (0 - INT_MIN), and I
I scanned through mktime.c looking for other integer overflow
problems, fixing all the bugs I found.

Although the C Standard says the resulting code is still not safe
in the presence of integer overflow, in practice it should be good
enough for all real-world two's-complement implementations, except
for debugging environments that deliberately trap on integer
overflow (e.g., gcc -ftrapv).

* lib/mktime.c (WRAPV): New macro.
(SHR): Also check that long_int and time_t shift right in the
usual way, before using the fast-but-unportable method.
(TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
used.  The code already assumed two's complement, so there's
no need to test for alternatives.  All uses removed.
(TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
the C standard.  Problem reported by Rich Felker in
<http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
(twos_complement_arithmetic): Also check long_int and time_t.
(time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
(guess_time_tm, ranged_convert, __mktime_internal): Use them.
(__mktime_internal): Avoid integer overflow with unary subtraction
in two instances where -1 - X is an adequate replacement for -X,
since the calculations are approximate.

2011-01-29  Eric Blake  <eblake@redhat.com>

mktime: avoid infinite loop
* m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
type; behavior is still undefined but portable to all known targets.
Reported by Rich Felker.

2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>

mktime: avoid problems on NetBSD 5 / i386
* lib/mktime.c (long_int): New type.  This works around a problem
on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
but time_t is 64 bits, and where I expect the existing code is
wrong in some cases.
(leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
(ydhms_diff): Bring back the compile-time check for wide-enough
year and yday.

mktime: fix misspelling in comment
* lib/mktime.c (__mktime_internal): Fix misspelling in comment.
This merges all recent glibc changes of importance.

2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

move-if-change: cope with concurrent mv of identical file.
* move-if-change (CMPPROG): Accept environment
variable as an override for `cmp'.
(usage): Document CMPPROG.
Adjust comparison to drop stdout.  Cope with failure of mv if
the target file exists and is identical to the source, for
parallel builds.
Report from H.J. Lu against binutils in PR binutils/12283.
2011-01-30 11:22:02 -08:00
Eli Zaretskii
f915f0f7c8 Fix the MS-Windows build broken by 2011-01-17T19:01:01Z!eggert@cs.ucla.edu and emacs-23/2010-05-21T19:51:48Z!acm@muc.de.
lib/makefile.w32-in:
 lib/getopt_.h: New files.
 src/s/ms-w32.h (HAVE_MKTIME): Remove.
 src/makefile.w32-in (LOCAL_FLAGS): Add -I../lib.
 (GNULIB): New variable.
 (LIBS): Add $(GNULIB).
 $(TEMACS): Depend on $(GNULIB).
 <top-level>: Fix font-lock disrupted by a lone `"'.
 src/makefile.w32-in (LOCAL_FLAGS): Add -I../lib.
 (GETOPTOBJS, GETOPTDEPS): Remove targets.
 (MOVEMAILOBJS): Replace $(GETOPTOBJS) with ../lib/$(BLD)/libgnu.$(A).
 ($(BLD)/movemail.exe): Depend on ../lib/getopt.h.
 (ECLIENTOBJS, ETAGSOBJ, CTAGSOBJ, EBROWSEOBJ): Replace getopt.o
 and getopt1.o with ../lib/$(BLD)/libgnu.$(A).
 (clean): Don't remove getopt.h.
 (getopt.h, $(BLD)/getopt.$(O), $(BLD)/getopt1.$(O)): Remove targets.
 ($(BLD)/ctags.$(O), $(BLD)/etags.$(O)): Replace getopt.h with
 $(EMACS_ROOT)/lib/getopt.h.
 nt/makefile.w32-in (all-other-dirs-nmake, all-other-dirs-gmake)
 (bootstrap-nmake, bootstrap-gmake, bootstrap-clean-nmake)
 (bootstrap-clean-gmake, clean-other-dirs-nmake)
 (clean-other-dirs-gmake, cleanall-other-dirs-nmake)
 (cleanall-other-dirs-gmake, distclean-other-dirs-nmake)
 (distclean-other-dirs-gmake, maintainer-clean-other-dirs-nmake)
 (maintainer-clean-other-dirs-gmake): Recurse into ../lib as well.
 nt/configure.bat: Create lib/makefile.
 nt/config.nt (HAVE_MKTIME, BROKEN_MKTIME): Remove.
 (HAVE_ATTRIBUTE_ALIGNED, HAVE_C99_STRTOLD, HAVE_DECL_GETENV)
 (HAVE_DECL_LOCALTIME_R, HAVE_WCHAR_T, PACKAGE, VERSION, inline)
 (_GL_UNUSED, _UNUSED_PARAMETER_): Add definitions, for gnulib.
2011-01-29 14:36:11 +02:00
Paul Eggert
c7e95b9146 improve fix for MS-DOS file name clash
* Makefile.in (DOS_gnulib_comp.m4): Renamed from DOS-gnulib-comp.m4,
for portability to POSIX make.  Reported by Bruno Haible.
(sync-from-gnulib): Copy gl-comp.m4 (if present) back to
gnulib-comp.m4 before running gnulib-tool, to prevent old gnulib
files from accumulating as garbage.  Also reported by Bruno Haible.
2011-01-27 16:25:24 -08:00
Chong Yidong
37f7b7843a * configure.in: Test existence of xaw3d library, not just the header (Bug#7642).
* configure: Regenerate.
2011-01-27 15:49:48 -05:00
Paul Eggert
125c3718c2 fix two m4/gnulib-*.m4 file names that clashed under MS-DOS 2011-01-26 23:24:57 -08:00
Glenn Morris
95df8112a0 Refill some long/short copyright headers. 2011-01-26 00:36:39 -08:00
Glenn Morris
73b0cd5003 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
Glenn Morris
0b5c5d8291 * README: Add a note about ranges in copyright years.
(See current maintain.info.)
2011-01-24 20:03:31 -08:00
Glenn Morris
4004ef4661 * configure.in: Set CANNOT_DUMP on ia64 hpux (port from emacs-23). 2011-01-24 19:55:12 -08:00