headers: make check of system header explicit
[gnulib.git] / ChangeLog
index 93416b4..4985741 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,437 @@
+2010-01-01  Eric Blake  <ebb9@byu.net>
+
+       headers: make check of system header explicit
+       * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
+       gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
+       ourselves.
+       * m4/search_h.m4 (gl_SEARCH_H): Likewise.
+       * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
+       * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
+       * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
+       internals.
+       * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
+       missing.
+       Suggested by Bruno Haible.
+
+2010-01-01  Jim Meyering  <meyering@redhat.com>
+
+       ChangeLog: tweak to eliminate unnecessary copyright line
+       * ChangeLog: Remove a copyright line that was mistakenly updated
+       by today's update-copyright run.  Reported by Eric Blake.
+
+       test-update-copyright: don't let envvar setting cause test failure
+       * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
+
+2010-01-01  Bruno Haible  <bruno@clisp.org>
+
+       localename: Avoid gcc warning.
+       * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
+       function if it is not used.
+
+2010-01-01  Jim Meyering  <meyering@redhat.com>
+
+       update nearly all FSF copyright year lists to include 2010
+       Use the same procedure as for 2009, outlined in
+       http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
+
+       version-etc: set COPYRIGHT_YEAR to 2010
+       * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
+
+2009-12-31  Eric Blake  <ebb9@byu.net>
+
+       doc: correct availability of cygwin 1.5.x getopt
+       * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
+       variables.
+       * doc/posix-functions/opterr.texi (opterr): Likewise.
+       * doc/posix-functions/optind.texi (optind): Likewise.
+       * doc/posix-functions/optopt.texi (optopt): Likewise.
+       * doc/posix-functions/tzname.texi (tzname): Likewise.
+
+       openat: update maintainer
+       * modules/openat (Maintainer): Add myself.
+
+       utimens: avoid shadowing warning
+       * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
+       buffers into one, to avoid shadowing, as well as avoiding a
+       redundant stat.
+       Reported by Jim Meyering.
+
+       test-dup2: avoid compiler warning
+       * tests/test-dup2.c (is_inheritable): Only define if used.
+
+2010-01-01  Bruno Haible  <bruno@clisp.org>
+
+       vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
+       * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
+       defined, use wctomb instead of wcrtomb.
+
+2010-01-01  Bruno Haible  <bruno@clisp.org>
+
+       iconv: Reject native Solaris iconv.
+       * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
+       * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
+
+2009-12-31  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-signal.c (main): Remove test of 'SIG'.
+
+2009-12-31  Bruno Haible  <bruno@clisp.org>
+
+       spawn: Fix incomplete fix.
+       * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
+       posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
+       warnings for GNULIB_POSIXCHECK again.
+       Reported by Eric Blake.
+
+2009-12-31  Bruno Haible  <bruno@clisp.org>
+
+       Avoid namespace pollution on glibc systems.
+       * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
+       * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
+       * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
+       glibc systems.
+
+2009-12-31  Bruno Haible  <bruno@clisp.org>
+
+       * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
+       (gl_REPLACE_WCHAR_H): Turn into a no-op.
+       * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
+       * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
+       * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
+       * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
+       * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
+
+2009-12-31  Bruno Haible  <bruno@clisp.org>
+
+       * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
+       gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
+       afterwards.
+
+2009-12-31  Bruno Haible  <bruno@clisp.org>
+
+       * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
+       SYS_UTSNAME_H.
+
+2009-12-31  Bruno Haible  <bruno@clisp.org>
+
+       spawn: Fix misapplied patch.
+       * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
+       posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
+       warnings for GNULIB_POSIXCHECK.
+
+2009-12-31  Bruno Haible  <bruno@clisp.org>
+
+       times: Update after sys_times changed.
+       * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
+       * modules/times (Files): Add it.
+       (configure.ac): Invoke gl_FUNC_TIMES.
+
+2009-12-31  Bruno Haible  <bruno@clisp.org>
+
+       Use AC_C_INLINE where necessary.
+       * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
+       * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
+       * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
+       * m4/mbchar.m4 (gl_MBCHAR): Likewise.
+       * m4/mbfile.m4 (gl_MBFILE): Likewise.
+       * m4/mbiter.m4 (gl_MBITER): Likewise.
+       * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
+       * m4/stat.m4 (gl_FUNC_STAT): Likewise.
+       * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
+       * modules/u64 (configure.ac): Likewise.
+
+2009-12-31  Bruno Haible  <bruno@clisp.org>
+
+       Use AC_C_INLINE instead of module 'inline' where possible.
+       * modules/inline (Description): Clarify purpose.
+       * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
+       * modules/count-one-bits (Depends-on): Remove inline.
+       * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
+       * modules/openat (Depends-on): Remove inline.
+       * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
+       instead of depending on module 'inline'.
+       * modules/filevercmp (Depends-on, configure.ac): Likewise.
+       * modules/unicase/cased (Depends-on, configure.ac): Likewise.
+       * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
+       * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
+       * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
+       * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
+       * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
+       * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
+       * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
+       * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
+       * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
+       * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
+       * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
+       * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
+       * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
+       * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
+       * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
+       * modules/unictype/property-alphabetic (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-ascii-hex-digit (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-bidi-arabic-digit (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-bidi-block-separator (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-bidi-boundary-neutral (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-bidi-common-separator (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-bidi-control (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-bidi-embedding-or-override (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-bidi-eur-num-separator (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-bidi-european-digit (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-bidi-left-to-right (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-bidi-other-neutral (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-bidi-segment-separator (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-bidi-whitespace (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-combining (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-composite (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-currency-symbol (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
+       * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-default-ignorable-code-point (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-deprecated (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-diacritic (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-extender (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-format-control (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-hex-digit (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-hyphen (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-id-continue (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-id-start (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-ideographic (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-ids-binary-operator (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-ids-trinary-operator (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-ignorable-control (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-iso-control (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-join-control (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-line-separator (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-logical-order-exception (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-lowercase (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
+       * modules/unictype/property-non-break (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-not-a-character (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-numeric (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-other-alphabetic (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-other-default-ignorable-code-point
+       (Depends-on, configure.ac): Likewise.
+       * modules/unictype/property-other-grapheme-extend (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-other-id-continue (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-other-id-start (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-other-math (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-paired-punctuation (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-paragraph-separator (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-pattern-white-space (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-private-use (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-punctuation (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-radical (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-sentence-terminal (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
+       * modules/unictype/property-terminal-punctuation (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-titlecase (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-unassigned-code-value (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-unified-ideograph (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-uppercase (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-variation-selector (Depends-on,
+       configure.ac): Likewise.
+       * modules/unictype/property-white-space (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-xid-continue (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-xid-start (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/property-zero-width (Depends-on, configure.ac):
+       Likewise.
+       * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
+       * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
+       Likewise.
+
+2009-12-31  Bruno Haible  <bruno@clisp.org>
+
+       Remove unnecessary AC_C_INLINE invocation.
+       * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
+       since 2009-08-21.
+
+2009-12-31  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: don't require explicit gpg_key_ID in cfg.mk
+       * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
+       With this change, we can all remove the gpg_key_ID = ... definition
+       from our respective cfg.mk files.
+
+       maint.mk: create announcement template in ~/, not in /tmp
+       * top/maint.mk (emit_upload_commands): Adjust.
+       (release-prep): Emit into ~/announce-..., not /tmp/announce-...
+       Remove temporary file, .ci-msg.
+
+2009-12-31  Eric Blake  <ebb9@byu.net>
+
+       link-warning: always build headers with link warnings
+       * modules/arpa_inet (Makefile.am): Always build replacement
+       header.
+       * modules/ctype (Makefile.am): Likewise.
+       * modules/dirent (Makefile.am): Likewise.
+       * modules/inttypes (Makefile.am): Likewise.
+       * modules/langinfo (Makefile.am): Likewise.
+       * modules/locale (Makefile.am): Likewise.
+       * modules/spawn (Makefile.am): Likewise.
+       * modules/sys_file (Makefile.am): Likewise.
+       * modules/sys_ioctl (Makefile.am): Likewise.
+       * modules/sys_select (Makefile.am): Likewise.
+       * modules/sys_socket (Makefile.am): Likewise.
+       * modules/sys_times (Makefile.am): Likewise.
+       * modules/sys_utsname (Makefile.am): Likewise.
+       * modules/sys_wait (Makefile.am): Likewise.
+       * modules/wchar (Makefile.am): Likewise.
+       * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
+       (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
+       * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
+       * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
+       * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
+       Likewise.
+       * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
+       * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
+       * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
+       Likewise.
+       * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
+       Likewise.
+       * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
+       * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
+       (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
+       * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
+       * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
+       * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
+       (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
+       * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
+       (gl_WCHAR_H_DEFAULTS): Likewise.
+
+2009-12-31  Eric Blake  <ebb9@byu.net>
+
+       signal, spawn: use link warnings
+       * lib/signal.in.h (sigset_t): Make unconditional.
+       (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
+       (sigpending, sigprocmask, sigaction): Add link warnings.
+       * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
+       (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
+       (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
+       (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
+       (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
+       (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
+       (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
+       (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
+       (posix_spawn_file_actions_destroy)
+       (posix_spawn_file_actions_addopen)
+       (posix_spawn_file_actions_addclose)
+       (posix_spawwn_file_actions_adddup2): Likewise.
+       * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
+       * tests/test-signal.c (main): Enhance test.
+
+       spawn: improve wrapper support
+       * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
+       (gl_SPAWN_H_DEFAULTS): New defaults.
+       * modules/spawn (Makefile.am): Substitute them.
+       * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
+       Only declare if missing or broken.
+
+       sys_times, sys_utsname: use include_next
+       * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
+       header.
+       (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
+       * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
+       (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
+       * modules/sys_times (Depends-on): Add include_next.
+       (Makefile.am): Substitute additional values.
+       * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
+       * lib/sys_times.in.h (includes): Include native header, if
+       available.
+       * lib/sys_utsname.in.h (includes): Likewise.
+       * tests/test-sys_times.c (main): Enhance test.
+
+       fdutimensat: revert prior patch
+       * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
+       utimens.h.
+       Reported by Bruno Haible.
+
 2009-12-30  Eric Blake  <ebb9@byu.net>
 
        sys_wait: drop link-warning dependency
            --with-packager=Gentoo \
            --with-packager-bug-report=http://bugs.gentoo.org/ \
            --with-packager-version="patchset 1.6"
-         $ ./src/ls --version | head -n3
+         $ ./src/ls --version | head -n2
          ls (GNU coreutils) 7.1-dirty
          Packaged by Gentoo (patchset 1.6)
-         Copyright (C) 2009 Free Software Foundation, Inc.
        Note that the bug reporting info via --help doesn't show up because
        coreutils uses its own custom emit_bug_reporting_address() implementation
        in src/system.h.  If it didn't, it'd look like:
        coding: utf-8
        End:
 
-       Copyright (C) 1997-2009 Free Software Foundation, Inc.
+       Copyright (C) 1997-2010 Free Software Foundation, Inc.
 
        Copying and distribution of this file, with or without
        modification, are permitted provided the copyright notice