[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/cpio-mode 90f1236 61/61: New version with copyright ass
From: |
Stefan Monnier |
Subject: |
[elpa] externals/cpio-mode 90f1236 61/61: New version with copyright assigned to the FSF. |
Date: |
Fri, 11 Jan 2019 15:25:39 -0500 (EST) |
branch: externals/cpio-mode
commit 90f1236afbe765171a9f31ecc759e592635e24f9
Author: Douglas Lewan <address@hidden>
Commit: Douglas Lewan <address@hidden>
New version with copyright assigned to the FSF.
---
DESIGN | 9 +-
Makefile.in | 417 ++++++++++++++++++++++++-----------------
NEWS | 12 +-
QUESTIONS | 5 +-
README | 21 ++-
THANKS | 2 +-
cab-test.el | 15 +-
configure.ac | 6 +-
cpio-affiliated-buffers.el | 25 +--
cpio-bin.el | 32 ++--
cpio-crc.el | 16 +-
cpio-dired-crc-test.el | 20 +-
cpio-dired-odc-test.el | 20 +-
cpio-dired-test.el | 20 +-
cpio-dired.el | 182 ++++++++++++------
cpio-entry-contents-mode.el | 35 ++--
cpio-entry-header.el | 6 +-
cpio-generic-tests.el | 6 +-
cpio-generic.el | 10 +-
cpio-hpbin.el | 6 +-
cpio-hpodc.el | 6 +-
cpio-modes-test.el | 6 +-
cpio-modes.el | 56 +++++-
cpio-newc-tests.el | Bin 3381 -> 3835 bytes
cpio-newc.el | 38 ++--
cpio-odc.el | 35 ++--
cpio-tar.el | 2 +-
cpio-tests.el | 6 +-
cpio-ustar.el | 2 +-
cpio-wanted.el | 6 +-
stamp-h.in | 1 -
test-generic.el | 173 ++++++++++++++++-
test_data/alphabet/Makefile.in | 99 +++++-----
ttt.el | 6 +-
34 files changed, 845 insertions(+), 456 deletions(-)
diff --git a/DESIGN b/DESIGN
index 6019515..63a2cd9 100644
--- a/DESIGN
+++ b/DESIGN
@@ -1,7 +1,8 @@
-# $Id: DESIGN,v 1.7 2019/01/03 21:04:20 doug Exp $
+# $Id: DESIGN,v 1.9 2019/01/07 07:44:33 doug Exp $
#
-# Copyright © 2015, 2017, 2018, 2019 Douglas Lewan, address@hidden
+# Copyright © 2019 Free Software Foundation, Inc.
+#
# All rights reserved.
#
# This program is free software: you can redistribute it and/or modify
@@ -40,8 +41,8 @@ there are the following entry header formats:
• hpbin, the obsolete binary format used by HPUX's cpio.
• hpodc, the portable format used by HPUX's cpio.
-The file cpio.el is the door into the package.
-cpio.el controls loading other files as needed and, as of yet,
+The file cpio-mode.el is the door into the package.
+cpio-mode.el controls loading other files as needed and, as of yet,
implements the high-level presentation and user-interface functions.
Believing in portability, the formats newc, odc and crc will be first
diff --git a/Makefile.in b/Makefile.in
index 1d15993..6e2d796 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,7 +1,7 @@
# -*- mode: makefile; coding: utf-8 -*-
-# $Id: Makefile.in,v 1.4 2019/01/03 20:08:35 doug Exp $
-# Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Douglas Lewan,
address@hidden
+#
+# Copyright © 2019 Free Software Foundation, Inc.
# All rights reserved.
#
# This program is free software: you can redistribute it and/or modify
@@ -16,9 +16,10 @@
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
-PROJECT = @PACKAGE_NAME@
-PROJECT_VERSION = @PACKAGE_VERSION@
+PACKAGE = @PACKAGE_NAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
################################
#
@@ -26,67 +27,89 @@ PROJECT_VERSION = @PACKAGE_VERSION@
#
CFILES =
HFILES =
-OFILES = ${CFILES:.o=.c}
+OFILES =
SHELLS =
-EL_FILES =
-SRC_FILES = Makefile.in
+CPIO_FILES = cpio-bin.el \
+ cpio-crc.el \
+ cpio-dired.el \
+ cpio-entry-contents-mode.el \
+ cpio-entry-header.el \
+ cpio-hpbin.el \
+ cpio-hpodc.el \
+ cpio-mode.el \
+ cpio-newc.el \
+ cpio-odc.el \
+ cpio-tar.el \
+ cpio-ustar.el \
+ cpio-wanted.el
+SUPPORT_FILES = cpio-affiliated-buffers.el \
+ cpio-generic.el \
+ cpio-modes.el
+APP_FILES = ${CPIO_FILES} ${SUPPORT_FILES}
+
+ELC_FILES = ${APP_FILES:.el=.elc}
+
+TEST_FILES = cab-test.el \
+ cpio-modes-test.el \
+ cpio-dired-bin-test.el \
+ cpio-dired-crc-test.el \
+ cpio-dired-odc-test.el \
+ cpio-dired-test.el \
+ cpio-modes-test.el \
+ test-generic.el
+
+SUPPORT_FILES = cpio-affiliated-buffers.el \
+ cpio-generic.el \
+ cpio-modes.el
+
+
+EL_FILES = ${APP_FILES} ${TEST_FILES} ${SUPPORT_FILES}
+LIB_FILES =
+DOC_FILES =
+INFO_FILES =
+
+SRC_FILES = configure \
+ configure.ac \
+ COPYING \
+ DESIGN \
+ install-sh \
+ Makefile.in \
+ NEWS \
+ QUESTIONS \
+ README \
+ stamp-h.in \
+ THANKS \
+ ${EL_FILES}
+
+subdirs = test_data
################################
#
# Where things are
#
+
prefix = @prefix@
-distdir =
${abs_srcdir}/${PACKAGE}-${PACKAGE_VERSION}/test_data/alphabet
+datarootdir = @datarootdir@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+srcdir = @srcdir@
+abs_srcdir = @abs_srcdir@
+abs_top_srcdir = @abs_top_srcdir@
# And where they go
bindir = ${prefix}/bin
-docdir = ${prefix}/share/doc
-exec_prefix = ${prefix}
-execdir = ${exec_prefix}
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-sbindir = ${exec_prefix}/sbin
-
-datarootdir = ${prefix}/share
-datadir = ${datarootdir}
-infodir = ${datarootdir}/info
-sysconfdir = ${prefix}/etc
-sharedstatedir = ${prefix}/com
-localstatdir = ${prefix}/var
-runstatedir = ${localstatdir}/run
-
-includedir = ${prefix}/include
-oldincludedir = /usr/include
+libdir = ${prefix}/lib
+lispdir = ${prefix}/share/emacs/lisp
+installdir = ${lispdir}/cpio-mode
docdir = @docdir@
+dvidir = @infodir@
infodir = @infodir@
-htmldir = ${docdir}
-dvidir = ${docdir}
-pdfdir = ${docdir}
-psdir = ${docdir}
-libdir = ${exec_prefix}/lib
-lispdir =
${prefix}/share/${PROJECT}/${PROJECT_VERSION}/lisp
-localedir = ${datarootdir}/locale
-mandir = ${datarootdir}/man
-man1dir = ${mandir}/man1
-man2dir = ${mandir}/man2
-man3dir = ${mandir}/man3
-man4dir = ${mandir}/man4
-man5dir = ${mandir}/man5
-man6dir = ${mandir}/man6
-man7dir = ${mandir}/man7
-manext = .1
-man1ext = .1
-man2ext = .2
-man3ext = .3
-man4ext = .4
-man5ext = .5
-man6ext = .6
-man7ext = .7
-srcdir = @srcdir@
-abs_srcdir = @abs_srcdir@
-top_srcdir = @top_srcdir@
+sharedir = ${prefix}/share/${PACKAGE}/${PACKAGE_VERSION}
+sharelibdir = ${sharedir}/lib
+sharelispdir = ${sharedir}/lisp
+distdir = ${abs_top_srcdir}/${PACKAGE}-${PACKAGE_VERSION}
################################
#
@@ -95,7 +118,7 @@ top_srcdir = @top_srcdir@
TAR_OPTS = @tar_opts@
TAR_SUFFIX = @tar_suffix@
-TARBALL = ${PROJECT}-${PROJECT_VERSION}-${shell date
+%Y%m%d%H%M%S}.${TAR_SUFFIX}
+TARBALL = ${PACKAGE}-${PACKAGE_VERSION}-${shell date
+%Y%m%d%H%M%S}.${TAR_SUFFIX}
################################
@@ -107,13 +130,17 @@ INSTALL = @INSTALL@
CC = @CC@
CFLAGS =
-
################################
-#
-# Keys for building test data.
-#
-LETTERS = a b c d e f g h i j k l m n o p q r s t u v w x y z
-
+# Taken from emacs' lisp/Makefile.in
+BYTE_COMPILE_EXTRA_FLAGS =
+BIG_STACK_DEPTH = 2200
+BIG_STACK_OPTS = --eval "(setq max-lisp-eval-depth $(BIG_STACK_DEPTH))"
+
+# Set load-prefer-newer for the benefit of the non-bootstrappers.
+BYTE_COMPILE_FLAGS = $(BIG_STACK_OPTS) \
+ --eval '(setq load-prefer-newer t)' $(BYTE_COMPILE_EXTRA_FLAGS)
+# EO stuff from emacs' lisp/Makefile.in
+################################
################################################################
@@ -122,81 +149,73 @@ LETTERS = a b c d e f g h i j k l m n o p q r s t
u v w x y z
# Building
#
-.PHONY: default help all alphabet nonsense check_gnu
+.el.elc: Makefile
+ emacs -Q -batch ${BYTE_COMPILE_FLAGS}
\
+ -l bytecomp -f byte-compile-refresh-preloaded
\
+ --eval="(setq load-path (add-to-list 'load-path
"'"${top_srcdir}"'"))" \
+ -l cpio-mode.el -f batch-byte-compile ${<} ;
default: check_gnu
- @echo "This Makefile has no defaults."
- @echo "Please type one of the archive format targets:"
- @echo " ${MAKE} all"
- @echo " ${MAKE} bin"
- @echo " ${MAKE} crc"
- @echo " ${MAKE} hpbin"
- @echo " ${MAKE} hpodc"
- @echo " ${MAKE} newc"
- @echo " ${MAKE} odc"
- @echo " ${MAKE} tar"
- @echo " ${MAKE} ustar"
- @echo "instead."
-
-help: check_gnu default
-
-nonsense:
- @echo "The target address@hidden does not make sense in this directory."
+ @echo
+ @echo "There is no default action in this Makefile."
+ ${MAKE} help
+
+help: check_gnu
+ @echo "Here are the most important targets in this Makefile:"
+ @echo " make elc"
+ @echo " make install"
+ @echo " make uninstall"
+ @echo " make tags"
+ @echo " make data"
+ @echo " make clean"
+ @echo "Here is a list of all targets:"
+ @echo " make check_cab -- run automated tests of
cpio-affilitated-buffers.el."
+ @echo " make check_copyrights -- scan files for copyrights."
+ @echo " make check_modes -- run automated tests agains
cpio-modes.el."
+ @echo " make clean -- remove byte compiled files."
+ @echo " make data -- create test data for all cpio archive formats."
+ @echo " make dist -- build a distributable tarball."
+ @echo " make distclean -- clean, leaving only distribution files."
+ @echo " make elc -- byte compile cpio-mode."
+ @echo " make help -- present this help."
+ @echo " make install -- install a byte compiled instance of
cpio-mode."
+ @echo " make maintainer-clean -- clean and remove crufty files."
+ @echo " make mostlyclean -- like distclean."
+ @echo " make simple_install -- install the code for cpio-mode."
+ @echo " make tags -- run tags on the cpio-mode source."
+ @echo " make uninstall -- uninstall cpio-mode."
+ @echo " make update_versions -- update the Version: fields in
cpio-mode code."
+ @echo " make version -- print the version of cpio-mode."
+ @echo "The following targets are incomplete, incorrect or just not
implemented:"
+ @echo " X make check -- run automated tests."
+ @echo " X make check_bin -- run automated tests of binary format
handling."
+ @echo " X make check_crc -- run automated tests of crc format
handling."
+ @echo " X make check_newc -- run automated tests of newc format
handling."
+ @echo " X make check_odc -- run automated tests of odc format
handling."
+
+version:
+ @echo ${PACKAGE} ${PACKAGE_VERSION}
+
+all: default
+
+.PHONY: check_gnu elc update_versions data
+
+elc: ${ELC_FILES}
check_gnu:
@${MAKE} --version >/dev/null 2>&1 || ( echo "This makefile requires
GNU Make." && exit 1 )
-.PHONY: alphabet ${LETTERS}
-
-alphabet: check_gnu ${LETTERS}
-
-small_alphabet: check_gnu a b c
-
-${LETTERS}:
- @for i in address@hidden address@hidden@} address@hidden@address@hidden
address@hidden@address@hidden@} address@hidden@address@hidden@address@hidden ;
do \
- > $${i} ;
\
- echo >> $${i} ;
\
- echo $${i} >> $${i} ;
\
- echo >> $${i} ;
\
+update_versions: configure
+ @for f in ${EL_FILES} ; do
\
+ sed -n -E -e 's/^;; Version: (.*)$$/;; Version:
'${PACKAGE_VERSION}'/' -ep < $${f} >$${f}.tmp ; \
+ mv -f $${f}.tmp $${f} ;
\
done
- @if ! [ -d address@hidden@address@hidden@address@hidden ] ; then
\
- mkdir address@hidden@address@hidden@address@hidden ;
\
- fi
-################################
-#
-# Cpio formats
-#
-.PHONY: all bin crc hpbin hpodc newc odc tar ustar
-all: bin crc hpbin hpodc newc odc tar ustar links
-# Yes, these regular expressions are a little brittle,
-# but they work in this directory.
-archives:
- ls -1 -d ? ?? ??? ???? ????? ?????.d | grep -v CVS | cpio -o -H
${archive_format} > alphabet.${archive_format}.cpio
- ls -1 -d a aa aaa aaaa aaaaa aaaaa.d b bb bbb bbbb bbbbb bbbbb.d c cc
ccc cccc ccccc ccccc.d | cpio -o -H ${archive_format} >
alphabet_small.${archive_format}.cpio
- ls -1 -d a aa aaaaa.d b bb | cpio -o -H ${archive_format} >
alphabet_tiny.${archive_format}.cpio
- ls -1 -d a aaaaa.d | cpio -o -H ${archive_format} >
alphabet_mini.${archive_format}.cpio
-
-bin: alphabet
- ${MAKE} address@hidden archives
-crc: alphabet
- ${MAKE} address@hidden archives
-hpbin: alphabet
- ${MAKE} address@hidden archives
-hpodc: alphabet
- ${MAKE} address@hidden archives
-newc: alphabet
- ${MAKE} address@hidden archives
-odc: alphabet
- ${MAKE} address@hidden archives
-tar: alphabet
- ${MAKE} address@hidden archives
-ustar: alphabet
- ${MAKE} address@hidden archives
-
-links: # bin_links crc_links hpbin_links hpodc_links newc_links tar_links
ustar_links
- for i in *.cpio ; do \
- ln -s $${i} `basename $${i} .cpio` ; \
+data:
+ for d in ${subdirs} ; do \
+ cd $${d} ; \
+ ${MAKE} address@hidden ; \
+ cd .. ; \
done
################################
@@ -204,9 +223,35 @@ links: # bin_links crc_links hpbin_links hpodc_links
newc_links tar_links ustar_
# Testing
#
-check: nonsense
-
-installcheck: nonsense
+.PHONY: check check_cab check_bin check_crc check_newc check_odc installcheck
+check: check_cab check_modes # check_bin check_crc check_newc check_odc
+
+file_check:
+ @echo "################################################################"
+ @echo "# "
+ @echo "# Running tests in ${check_file}."
+ @echo "# "
+ emacs -batch -Q -eval "(setq load-path (add-to-list 'load-path
\"${abs_srcdir}\"))" -l ert -l ${check_file} -f ert-run-tests-batch-and-exit
2>&1 | grep -v -e 'Modification-flag cleared' -e 'Wrote /'
+ @echo "# "
+ @echo "# EO tests in ${check_file}."
+ @echo "# "
+ @echo "################################################################"
+ @echo ; echo ; echo
+
+check_cab:
+ make check_file=cab-test.el file_check
+check_modes:
+ make check_file=cpio-modes-test.el file_check
+check_bin:
+ make check_file=cpio-dired-bin-test.el file_check
+check_crc:
+ make check_file=cpio-dired-crc-test.el file_check
+check_newc:
+ make check_file=cpio-dired-test.el file_check
+check_odc:
+ make check_file=cpio-dired-odc-test.el file_check
+
+installcheck: check
.PHONY: check_copyrights
check_copyrights: ${SRC_FILES}
@@ -220,101 +265,129 @@ check_copyrights: ${SRC_FILES}
fi ;
\
done ;
\
exit ${EXIT}
+ pd=`pwd` ;
\
+ for d in ${subdirs} ; do
\
+ cd $${d} ;
\
+ make check_copyrights ;
\
+ cd $${pd} ;
\
+ done
################################
#
# Installation
#
-install: nonsense
+.PHONY: install simple_install
+install: check_gnu uninstall ${ELC_FILES} installdirs
+ ${INSTALL} ${ELC_FILES} ${installdir}
+
+simple_install: check_gnu uninstall installdirs
+ ${INSTALL} ${APP_FILES} ${installdir}
-installdirs: nonsense
+# ${ELC_FILES}: elc
-uninstall: nonsense
+installdirs: check_gnu
+ test -d ${installdir} || mkdir -p ${installdir}
-install-html: nonsense
-install-dvi: nonsense
-install-pdf: nonsense
-install-ps: nonsense
-install-strip: nonsense
+uninstall:
+ rm -rf ${installdir}/*.el ${installdir}/*.elc
+install-html:
+install-dvi:
+install-pdf:
+install-ps:
+install-strip:
+
+configure-default: configure
+ ./configure
################################
#
# Hygiene
#
+.PHONY: clean distclean mostlyclean maintainer-clean
clean:
- -rm *.cpio
- -for l in ${LETTERS} ; do
\
- rm $${l} $${l}$${l} $${l}$${l}$${l} $${l}$${l}$${l}$${l}
$${l}$${l}$${l}$${l}$${l} ; \
- rmdir $${l}$${l}$${l}$${l}$${l}.d ;
\
+ -rm -f *~ ${ELC_FILES}
+ for d in ${subdirs} ; do \
+ cd $${d} ; \
+ ${MAKE} address@hidden ; \
+ cd .. ; \
done
-distclean: clean
- -rm -f *~
-
-mostlyclean: clean
+distclean: check_gnu clean
+ if [ -e ${distdir} ] ; then rm -rf ${distdir} ; fi
+ tb=${TARBALL} ; if [ -e $${tb} ] ; then rm -rf $${tb} ; fi
+ for f in ${PACKAGE}-${PACKAGE_VERSION}-*.${TAR_SUFFIX} ; do \
+ if [ -e "$${f}" ] ; then \
+ rm -rf "$${f}" ; \
+ fi ; \
+ done
-maintainer-clean: distclean
+mostlyclean:
+maintainer-clean:
################################
#
# Documentation
#
+dvi:
+html:
+pdf:
+ps:
+info:
-dvi: nonsense
-
-html: nonsense
-
-pdf: nonsense
-
-ps: nonsense
################################
#
# Distribution
#
-dist: check_gnu distdir
- ${INSTALL} Makefile.in ${distdir}
-
-distdir: check_gnu
- test -d ${distdir} || mkdir -o ${distdir}
+.PHONY: dist distdir dist_subdirs
+dist: check_gnu distdir dist_subdirs
+ tb=${TARBALL} ; cd ${srcdir} && tar ${TAR_OPTS} -f $${tb} ${distdir} &&
cp $${tb} ..
+distdir: check_gnu distclean
+ if [ -e ${distdir} ] ; then rm -rf ${distdir} || exit 1 ; fi ;
\
+ mkdir -p ${distdir} || exit 1 ;
\
+ tar -c -f - ${SRC_FILES} | ( cd ${distdir} ; tar -x -f - )
+dist_subdirs:
+ for d in ${subdirs} ; do \
+ cd $${d} ; \
+ ${MAKE} dist ; \
+ cd ${abs_srcdir} ; \
+ done
################################
#
# Miscellany
#
-info: nonsense
+tags:
+ etags *.el
################
#
# Autoreconfiscation.
#
-${top_srcdir}/configure: ${top_srcdir}/configure.ac # aclocal.m4
- cd '${top_srcdir}' && autoconf
+$(srcdir)/configure: configure.ac # aclocal.m4
+ cd '$(srcdir)' && autoconf
# autoheader might not change config.h.in, so touch a stamp file.
-# ${top_srcdir}/config.h.in: stamp-h.in
-${top_srcdir}/stamp-h.in: ${top_srcdir}/configure.ac # aclocal.m4
- cd '${top_srcdir}' # && autoheader
- echo timestamp > '${top_srcdir}/stamp-h.in'
-
-${top_srcdir}/config.h: ${top_srcdir}/stamp-h
-${top_srcdir}/stamp-h: ${top_srcdir}/config.h.in ${top_srcdir}/config.status
- cd '${top_srcdir}' ; \
+$(srcdir)/config.h.in: stamp-h.in
+$(srcdir)/stamp-h.in: configure.ac # aclocal.m4
+ cd '$(srcdir)' # && autoheader
+ echo timestamp > '$(srcdir)/stamp-h.in'
+
+config.h: stamp-h
+stamp-h: config.h.in config.status
./config.status
-Makefile: Makefile.in ${top_srcdir}/config.status
- cd '${top_srcdir}' ; \
+Makefile: Makefile.in config.status
./config.status
-${top_srcdir}/config.status: ${top_srcdir}/configure
- cd '${top_srcdir}' ; \
+config.status: configure
./config.status --recheck
diff --git a/NEWS b/NEWS
index a80f654..7186b2d 100644
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,7 @@
# -*- outline -*-
#
-# Copyright © 2015, 2018, 2019 Douglas Lewan, address@hidden
+# Copyright © 2019 Free Software Foundation, Inc.
# All rights reserved.
#
# This program is free software: you can redistribute it and/or modify
@@ -18,6 +18,16 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
+* Version 0.16β
+** Copyright assignment to the FSF.
+
+* Version 0.15β
+** Killing the archive buffer now also kills all subordinates.
+** More work on meeting ELPA conventions.
+*** cpio.el is now cpio-mode.el
+*** removed cpio-mode-pkg.el
+
+
* Version 0.14β
** Since this is beta code, the archive file is backed up.
The backup file has a timestamp.
diff --git a/QUESTIONS b/QUESTIONS
index 4457f46..9029cce 100644
--- a/QUESTIONS
+++ b/QUESTIONS
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
-# $Id: QUESTIONS,v 1.5 2018/12/03 00:43:38 doug Exp $
+# $Id: QUESTIONS,v 1.7 2019/01/07 05:27:52 doug Exp $
#
-# Copyright © 2018 Douglas Lewan, address@hidden
+# Copyright © 2019 Free Software Foundation, Inc.
# All rights reserved.
#
# This program is free software: you can redistribute it and/or modify
@@ -59,5 +59,6 @@ Dired related questions:
• How should I handle undo?
Can you undo an entry's deletion?
chown, etc.?
+• Should killing the archive also kill its entry contents buffers?
Package related:
diff --git a/README b/README
index 3766f98..43499ed 100644
--- a/README
+++ b/README
@@ -1,8 +1,8 @@
# -*- mode: org; encoding: utf-8 -*-
-# $Id: README,v 1.11 2019/01/03 21:04:21 doug Exp $
+# $Id: README,v 1.14 2019/01/07 07:44:34 doug Exp $
#
-# Copyright © 2017, 2018, 2019 Douglas Lewan, address@hidden
+# Copyright © 2019 Free Software Foundation, Inc.
# All rights reserved.
#
# This program is free software: you can redistribute it and/or modify
@@ -19,6 +19,14 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
+* Caveat
+This is currenty beta code.
+Please don't do anything critical with it.
+
+That said, the current version /does/ create a backup
+of every archive that it is applied to.
+It is your responsibility to remove those archives.
+They are marked with a date time stamp in the form YYYYmmddHHMMSS.mmm.
* Intent
The intents of cpio-mode are the following:
@@ -61,7 +69,7 @@ However, the internal structure of cpio-mode implements
all of the manipulation code in terms of parsed headers
(which look much like inodes), so adding new formats should be
relatively easy.
-See the documentation in cpio.el
+See the documentation in cpio-mode.el
for a slightly more detailed description of this structure.
You should be able to add a new format if
@@ -152,10 +160,13 @@ you cannot use any automatic invocation of cpio-mode.
One way of doing this is to invoke »emacs -Q«.
(You'll also need »-eval "(setq load-path (add-to-list 'load-path \".\"))"«.
until I figure out the right way to handle loading.)
-Thus a good invocation is
+Thus, a good invocation is
»emacs -Q -eval "(setq load-path (add-to-list 'load-path \".\"))"«
Some recommendations for automatic invocation of cpio-mode can be found
-in the comments near the top of cpio.el.
+in the comments near the top of cpio-mode.el.
+
+And, of course, you must run ./configure
+before trying to run automated tests.
** Internals
- cpio-generic-tests.el provides basic testing of some of the funciton
diff --git a/THANKS b/THANKS
index 187b893..3c021b2 100644
--- a/THANKS
+++ b/THANKS
@@ -1,5 +1,5 @@
#
-# Copyright © 2018 Douglas Lewan, address@hidden
+# Copyright © 2017, 2018, 2019 Douglas Lewan, address@hidden
# All rights reserved.
#
# This program is free software: you can redistribute it and/or modify
diff --git a/cab-test.el b/cab-test.el
index 6e4327f..35d969c 100644
--- a/cab-test.el
+++ b/cab-test.el
@@ -2,7 +2,7 @@
;; COPYRIGHT
-;; Copyright © 2017, 2018, 2019 Douglas Lewan, address@hidden
+;; Copyright © 2019 Free Software Foundation, Inc.
;; All rights reserved.
;;
;; This program is free software: you can redistribute it and/or modify
@@ -18,10 +18,10 @@
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-;; Author: Douglas Lewan <(address@hidden>
-;; Maintainer: -- " --
+;; Author: Douglas Lewan <address@hidden>
+;; Maintainer: Douglas Lewan <address@hidden>
;; Created: 2017 Nov 22
-;; Version: 0.13β
+;; Version: 0.16β
;; Keywords: files
;;; Commentary:
@@ -48,8 +48,13 @@
;;;;;;;;;;;;;;;;
;; Make the byte compiler happy.
-(defvar *cab-parent)
+(defvar *cab-parent*)
+(setq *cab-parent* nil)
+
(defvar *cab-subordinates*)
+(setq *cab-subordinates* nil)
+
+
(declare-function ert-set-test "/usr/share/emacs/24.5/lisp/emacs-lisp/ert.el")
(declare-function ert--signal-should-execution
"/usr/share/emacs/24.5/lisp/emacs-lisp/ert.el")
(declare-function ert-fail "/usr/share/emacs/24.5/lisp/emacs-lisp/ert.el")
diff --git a/configure.ac b/configure.ac
index 7946c23..fa4b4d6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
#
-# Copyright © 2015, 2017, 2018 Douglas Lewan, address@hidden
+# Copyright © 2019 Free Software Foundation, Inc.
# All rights reserved.
#
# This program is free software: you can redistribute it and/or modify
@@ -19,7 +19,7 @@
#
dnl Autoconf requirements
-AC_INIT(cpio-mode, 0.14β, address@hidden)
+AC_INIT(cpio-mode, 0.16β, address@hidden)
AC_PREFIX_DEFAULT(${HOME}/local)
dnl information on the package
@@ -61,8 +61,10 @@ dnl checks for compiler characteristics
dnl checks for library functions
dnl checks for system services
+dnl HEREHERE TODO: test_data/modes/Makefile,
AC_CONFIG_FILES([Makefile
stamp-h
+ test_data/Makefile
test_data/alphabet/Makefile],
[echo timestamp > stamp-h])
AC_OUTPUT
diff --git a/cpio-affiliated-buffers.el b/cpio-affiliated-buffers.el
index a44e1c3..de3d624 100644
--- a/cpio-affiliated-buffers.el
+++ b/cpio-affiliated-buffers.el
@@ -2,7 +2,7 @@
;; COPYRIGHT
-;; Copyright © 2017, 2018, 2019 Douglas Lewan, address@hidden
+;; Copyright © 2019 Free Software Foundation, Inc.
;; All rights reserved.
;;
;; This program is free software: you can redistribute it and/or modify
@@ -19,9 +19,9 @@
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;; Author: Douglas Lewan <address@hidden>
-;; Maintainer: -- " --
+;; Maintainer: Douglas Lewan <address@hidden>
;; Created: 2017 Nov 22
-;; Version: 0.13β
+;; Version: 0.16β
;; Keywords: files
;;; Commentary:
@@ -106,8 +106,9 @@
;; HEREHERE Remove the following test code before publishing cpio-mode.
-(defvar *cab-info-buffer* (get-buffer-create "*cab info*")
+(defvar OBS-*cab-info-buffer* (get-buffer-create "*cab info*")
"A buffer for holding information about affiliated buffers.")
+(setq OBS-*cab-info-buffer* (get-buffer-create "*cab info*"))
(defun OBS-cab-test-kill-buffer-hook ()
"Hook to run when killing a buffer.
@@ -167,7 +168,7 @@ It's not strictly a hook, but it pairs with the above
kill-buffer-hook."
;; Dependencies
;;
(eval-when-compile
- (require 'cl))
+ (require 'cl-lib))
;;
@@ -175,9 +176,15 @@ It's not strictly a hook, but it pairs with the above
kill-buffer-hook."
;;
(defvar *cab-subordinates* ()
"A list of subordinate buffers affiliated with the current buffer.")
+(setq *cab-subordinates* ())
+
+
(make-variable-buffer-local '*cab-subordinates*)
(defvar *cab-parent* nil
"The parent buffer of an affiliated buffer.")
+(setq *cab-parent* nil)
+
+
(make-variable-buffer-local '*cab-parent*)
;;
@@ -250,12 +257,6 @@ CONTRACT: BUFFER and PARENT are buffers."
(let ((fname "cab-kill-buffer-hook")
(buffer (current-buffer)))
(cond ((buffer-live-p (current-buffer))
- ;; (message " Deregistering subordinates: [[%s]]."
*cab-subordinates*)
- (mapc (lambda (b)
- (if (buffer-live-p b)
- (with-current-buffer b
- (makunbound 'cab-parent))))
- *cab-subordinates*)
(if (buffer-live-p *cab-parent*)
(with-current-buffer *cab-parent*
(delete buffer *cab-subordinates*))))
@@ -306,7 +307,7 @@ CAVEAT: This function should disappear as affiliated buffer
code stabilizes."
(mapc (lambda (b)
(with-current-buffer b
(if (boundp '*cab-subordinates*)
- (setq *cab-subordinates* (delete-duplicates
*cab-subordinates*)))))
+ (setq *cab-subordinates* (delete-dups *cab-subordinates*)))))
(buffer-list))))
(defun cab-clean-ruthlessly ()
diff --git a/cpio-bin.el b/cpio-bin.el
index 61fa0f6..83b0d27 100644
--- a/cpio-bin.el
+++ b/cpio-bin.el
@@ -2,7 +2,7 @@
;; COPYRIGHT
;;
-;; Copyright © 2015, 2017, 2018, 2019 Douglas Lewan, address@hidden
+;; Copyright © 2019 Free Software Foundation, Inc.
;; All rights reserved.
;;
;; This program is free software: you can redistribute it and/or modify
@@ -20,9 +20,9 @@
;;
;; Author: Douglas Lewan <address@hidden>
-;; Maintainer: -- " --
+;; Maintainer: Douglas Lewan <address@hidden>
;; Created: 2015 Jan 03
-;; Version: 0.13β
+;; Version: 0.16β
;; Keywords: files
;;; Commentary:
@@ -38,19 +38,19 @@
;;;;;;;;;;;;;;;;
;; Things to make the byte compiler happy.
-(declare-function cpio-entry-name "cpio.el" (attrs))
-(declare-function cpio-ino "cpio.el" (attrs))
-(declare-function cpio-mode-value "cpio.el" (attrs))
-(declare-function cpio-uid "cpio.el" (attrs))
-(declare-function cpio-gid "cpio.el" (attrs))
-(declare-function cpio-nlink "cpio.el" (attrs))
-(declare-function cpio-mtime "cpio.el" (attrs))
-(declare-function cpio-entry-size "cpio.el" (attrs))
-(declare-function cpio-dev-maj "cpio.el" (attrs))
-(declare-function cpio-rdev-maj "cpio.el" (attrs))
-(declare-function cpio-entry-attrs-from-catalog-entry "cpio.el" (entry))
-(declare-function cpio-contents-start "cpio.el" (entry-name))
-(declare-function cpio-entry-attrs "cpio.el" (entry-name))
+(declare-function cpio-entry-name "cpio-mode.el" (attrs))
+(declare-function cpio-ino "cpio-mode.el" (attrs))
+(declare-function cpio-mode-value "cpio-mode.el" (attrs))
+(declare-function cpio-uid "cpio-mode.el" (attrs))
+(declare-function cpio-gid "cpio-mode.el" (attrs))
+(declare-function cpio-nlink "cpio-mode.el" (attrs))
+(declare-function cpio-mtime "cpio-mode.el" (attrs))
+(declare-function cpio-entry-size "cpio-mode.el" (attrs))
+(declare-function cpio-dev-maj "cpio-mode.el" (attrs))
+(declare-function cpio-rdev-maj "cpio-mode.el" (attrs))
+(declare-function cpio-entry-attrs-from-catalog-entry "cpio-mode.el" (entry))
+(declare-function cpio-contents-start "cpio-mode.el" (entry-name))
+(declare-function cpio-entry-attrs "cpio-mode.el" (entry-name))
(defvar *cpio-catalog*)
;; EO things for the byte compiler.
;;;;;;;;;;;;;;;;
diff --git a/cpio-crc.el b/cpio-crc.el
index a74797b..d4f5e6a 100644
--- a/cpio-crc.el
+++ b/cpio-crc.el
@@ -2,7 +2,7 @@
;; COPYRIGHT
;;
-;; Copyright © 2016, 2017, 2018, 2019 Douglas Lewan, address@hidden
+;; Copyright © 2019 Free Software Foundation, Inc.
;; All rights reserved.
;;
;; This program is free software: you can redistribute it and/or modify
@@ -20,9 +20,9 @@
;;
;; Author: Douglas Lewan <address@hidden>
-;; Maintainer: -- " --
+;; Maintainer: Douglas Lewan <address@hidden>
;; Created: 2015 Jan 03
-;; Version: 0.13β
+;; Version: 0.16β
;; Keywords: files
;;; Commentary:
@@ -55,10 +55,10 @@
;; Things to make the byte compiler happy.
(declare-function cg-pad-right "cpio-generic.el")
(declare-function cg-round-up "cpio-generic.el")
-(declare-function cpio-contents "cpio.el" (entry-name &optional
archive-buffer))
-(declare-function cpio-entry-exists-p "cpio.el" (entry-name))
-(declare-function cpio-entry-name "cpio.el" (attrs))
-(declare-function cpio-entry-size "cpio.el" (attrs))
+(declare-function cpio-contents "cpio-mode.el" (entry-name &optional
archive-buffer))
+(declare-function cpio-entry-exists-p "cpio-mode.el" (entry-name))
+(declare-function cpio-entry-name "cpio-mode.el" (attrs))
+(declare-function cpio-entry-size "cpio-mode.el" (attrs))
(declare-function cpio-newc-parse-chksum "cpio-newc.el")
(declare-function cpio-newc-parse-dev-maj "cpio-newc.el")
(declare-function cpio-newc-parse-dev-min "cpio-newc.el")
@@ -74,7 +74,7 @@
(declare-function cpio-newc-parse-rdev-min "cpio-newc.el")
(declare-function cpio-newc-parse-uid "cpio-newc.el")
(declare-function cpio-special-file "cpio-modes.el")
-(declare-function cpio-validate-catalog-entry "cpio.el" (catalog-entry))
+(declare-function cpio-validate-catalog-entry "cpio-mode.el" (catalog-entry))
;; EO things for the byte compiler.
;;;;;;;;;;;;;;;;
diff --git a/cpio-dired-crc-test.el b/cpio-dired-crc-test.el
index e7b16ac..aa99cd4 100644
--- a/cpio-dired-crc-test.el
+++ b/cpio-dired-crc-test.el
@@ -2,7 +2,7 @@
;; COPYRIGHT
-;; Copyright © 2017, 2018, 2019 Douglas Lewan, address@hidden
+;; Copyright © 2019 Free Software Foundation, Inc.
;; All rights reserved.
;;
;; This program is free software: you can redistribute it and/or modify
@@ -19,9 +19,9 @@
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;; Author: Douglas Lewan <address@hidden>
-;; Maintainer: -- " --
+;; Maintainer: Douglas Lewan <address@hidden>
;; Created: 2018 May 16
-;; Version: 0.13β
+;; Version: 0.16β
;; Keywords: files
;;; Commentary:
@@ -36,9 +36,9 @@
(load (concat default-directory "test-generic.el"))
(setq load-path (add-to-list 'load-path default-directory))
-(if (file-exists-p (concat default-directory "cpio.elc"))
- (load (concat default-directory "cpio.elc")))
-(load (concat default-directory "cpio.el"))
+(if (file-exists-p (concat default-directory "cpio-mode.elc"))
+ (load (concat default-directory "cpio-mode.elc")))
+(load (concat default-directory "cpio-mode.el"))
;;;;;;;;;;;;;;;;
;; Things to make the byte compiler happy.
@@ -58,8 +58,8 @@
(defvar cpio-dired-keep-marker-copy-str)
(defvar cpio-dired-keep-marker-rename)
(defvar run-dir)
-(declare-function cpio-catalog "cpio.el")
-(declare-function cpio-contents-buffer-name "cpio.el")
+(declare-function cpio-catalog "cpio-mode.el")
+(declare-function cpio-contents-buffer-name "cpio-mode.el")
(declare-function cpio-dired-add-entry "cpio-dired.el")
(declare-function cpio-dired-buffer-name "cpio-dired.el")
(declare-function cpio-dired-change-marks "cpio-dired.el")
@@ -155,7 +155,7 @@
(declare-function cpio-image-dired-jump-thumbnail-buffer "cpio-dired.el")
(declare-function cpio-image-dired-mark-tagged-entries "cpio-dired.el")
(declare-function cpio-image-dired-tag-entries "cpio-dired.el")
-(declare-function cpio-mode "cpio.el")
+(declare-function cpio-mode "cpio-mode.el")
(declare-function cpio-view-dired-style-buffer "cpio-dired.el")
(declare-function cdmt-global-sub "test-generic.el")
(declare-function cdmt-reset "test-generic.el")
@@ -6783,6 +6783,8 @@ then the entry names will be incorrect."
;; N.B. cdmt-crc- = cpio-dired-mode-test-
(defvar run-dir default-directory)
+(setq run-dir default-directory)
+
(custom-set-variables (list 'cpio-try-names nil))
diff --git a/cpio-dired-odc-test.el b/cpio-dired-odc-test.el
index 083d91b..540eb5e 100644
--- a/cpio-dired-odc-test.el
+++ b/cpio-dired-odc-test.el
@@ -2,7 +2,7 @@
;; COPYRIGHT
-;; Copyright © 2017, 2018, 2019 Douglas Lewan, address@hidden
+;; Copyright © 2019 Free Software Foundation, Inc.
;; All rights reserved.
;;
;; This program is free software: you can redistribute it and/or modify
@@ -19,9 +19,9 @@
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;; Author: Douglas Lewan <address@hidden>
-;; Maintainer: -- " --
+;; Maintainer: Douglas Lewan <address@hidden>
;; Created: 2018 Mar 23
-;; Version: 0.13β
+;; Version: 0.16β
;; Keywords:
;;; Commentary:
@@ -53,9 +53,9 @@
(setq load-path (add-to-list 'load-path default-directory))
-(if (file-exists-p (concat default-directory "cpio.elc"))
- (load (concat default-directory "cpio.elc"))
- (load (concat default-directory "cpio.el")))
+(if (file-exists-p (concat default-directory "cpio-mode.elc"))
+ (load (concat default-directory "cpio-mode.elc"))
+ (load (concat default-directory "cpio-mode.el")))
;;;;;;;;;;;;;;;;
;; Things to make the byte compiler happy.
@@ -80,8 +80,8 @@
(defvar cpio-dired-keep-marker-copy-str)
(defvar cpio-dired-keep-marker-rename)
(defvar run-dir)
-(declare-function cpio-catalog "cpio.el")
-(declare-function cpio-contents-buffer-name "cpio.el")
+(declare-function cpio-catalog "cpio-mode.el")
+(declare-function cpio-contents-buffer-name "cpio-mode.el")
(declare-function cpio-dired-add-entry "cpio-dired.el")
(declare-function cpio-dired-buffer-name "cpio-dired.el")
(declare-function cpio-dired-change-marks "cpio-dired.el")
@@ -176,8 +176,8 @@
(declare-function cpio-image-dired-jump-thumbnail-buffer "cpio-dired.el")
(declare-function cpio-image-dired-mark-tagged-entries "cpio-dired.el")
(declare-function cpio-image-dired-tag-entries "cpio-dired.el")
-(declare-function cpio-mode "cpio.el")
-(declare-function cpio-view-dired-style-buffer "cpio.el")
+(declare-function cpio-mode "cpio-mode.el")
+(declare-function cpio-view-dired-style-buffer "cpio-mode.el")
(declare-function cdmt-global-sub "test-generic.el")
(declare-function cdmt-reset "test-generic.el")
(declare-function cdmt-test-save "test-generic.el")
diff --git a/cpio-dired-test.el b/cpio-dired-test.el
index 81ddf8b..2cc3204 100644
--- a/cpio-dired-test.el
+++ b/cpio-dired-test.el
@@ -2,7 +2,7 @@
;; COPYRIGHT
-;; Copyright © 2017, 2018, 2019 Douglas Lewan, address@hidden
+;; Copyright © 2019 Free Software Foundation, Inc.
;; All rights reserved.
;;
;; This program is free software: you can redistribute it and/or modify
@@ -19,9 +19,9 @@
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;; Author: Douglas Lewan <address@hidden>
-;; Maintainer: -- " --
+;; Maintainer: Douglas Lewan <address@hidden>
;; Created: 2018 Mar 23
-;; Version: 0.13β
+;; Version: 0.16β
;; Keywords:
;;; Commentary:
@@ -60,9 +60,9 @@
(load (concat default-directory "test-generic.el"))
(eval-when-compile
- (if (file-exists-p (concat default-directory "cpio.elc"))
- (load (concat default-directory "cpio.elc")))
- (load (concat default-directory "cpio.el")))
+ (if (file-exists-p (concat default-directory "cpio-mode.elc"))
+ (load (concat default-directory "cpio-mode.elc")))
+ (load (concat default-directory "cpio-mode.el")))
;;;;;;;;;;;;;;;;
;; Things to make the byte compiler happy.
@@ -72,8 +72,8 @@
(defvar cpio-dired-del-marker)
(defvar cpio-dired-keep-marker-copy-str)
(defvar cpio-dired-keep-marker-rename)
-(declare-function cpio-catalog "cpio.el")
-(declare-function cpio-contents-buffer-name "cpio.el")
+(declare-function cpio-catalog "cpio-mode.el")
+(declare-function cpio-contents-buffer-name "cpio-mode.el")
(declare-function cpio-dired-add-entry "cpio-dired.el")
(declare-function cpio-dired-buffer-name "cpio-dired.el")
(declare-function cpio-dired-change-marks "cpio-dired.el")
@@ -168,7 +168,7 @@
(declare-function cpio-image-dired-jump-thumbnail-buffer "cpio-dired.el")
(declare-function cpio-image-dired-mark-tagged-entries "cpio-dired.el")
(declare-function cpio-image-dired-tag-entries "cpio-dired.el")
-(declare-function cpio-mode "cpio.el")
+(declare-function cpio-mode "cpio-mode.el")
(declare-function cpio-view-dired-style-buffer "cpio-dired.el")
(declare-function cdmt-reset "test-generic.el")
(declare-function cdmt-tidy-up-catalog "test-generic.el")
@@ -6783,6 +6783,8 @@ TRAILER!!! (( filename ))
;; N.B. cdmt-newc- = cpio-dired-mode-test-
(defvar run-dir default-directory)
+(setq run-dir default-directory)
+
(custom-set-variables (list 'cpio-try-names nil))
diff --git a/cpio-dired.el b/cpio-dired.el
index b50949f..134cc5a 100644
--- a/cpio-dired.el
+++ b/cpio-dired.el
@@ -2,7 +2,7 @@
;; COPYRIGHT
-;; Copyright © 2017, 2018, 2019 Douglas Lewan, address@hidden
+;; Copyright © 2019 Free Software Foundation, Inc.
;; All rights reserved.
;;
;; This program is free software: you can redistribute it and/or modify
@@ -19,9 +19,9 @@
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;; Author: Douglas Lewan <address@hidden>
-;; Maintainer: -- " --
+;; Maintainer: Douglas Lewan <address@hidden>
;; Created: 2017 Dec 01
-;; Version: 0.13β
+;; Version: 0.16β
;; Keywords: files
;;; Commentary:
@@ -123,53 +123,53 @@ Keep any preceding comments."
(defvar *cpio-catalog-entry-attrs-idx*)
(defvar *cpio-catalog-entry-contents-start-idx*)
(defvar *cpio-catalog-entry-header-start-idx*)
-(declare-function cpio-adjust-trailer "cpio.el")
-(declare-function cpio-catalog "cpio.el")
-(declare-function cpio-contents "cpio.el")
-(declare-function cpio-contents-start "cpio.el")
-(declare-function cpio-create-entry-attrs "cpio.el")
-(declare-function cpio-create-faux-directory-attrs "cpio.el")
-(declare-function cpio-delete-trailer "cpio.el")
-(declare-function cpio-dev-maj "cpio.el")
-(declare-function cpio-dev-maj-to-dev-maj-string "cpio.el")
-(declare-function cpio-dev-min "cpio.el")
-(declare-function cpio-dev-min-to-dev-min-string "cpio.el")
+(declare-function cpio-adjust-trailer "cpio-mode.el")
+(declare-function cpio-catalog "cpio-mode.el")
+(declare-function cpio-contents "cpio-mode.el")
+(declare-function cpio-contents-start "cpio-mode.el")
+(declare-function cpio-create-entry-attrs "cpio-mode.el")
+(declare-function cpio-create-faux-directory-attrs "cpio-mode.el")
+(declare-function cpio-delete-trailer "cpio-mode.el")
+(declare-function cpio-dev-maj "cpio-mode.el")
+(declare-function cpio-dev-maj-to-dev-maj-string "cpio-mode.el")
+(declare-function cpio-dev-min "cpio-mode.el")
+(declare-function cpio-dev-min-to-dev-min-string "cpio-mode.el")
(declare-function cpio-dired-modified-p "cpio-dired.el")
(declare-function cpio-dired-set-modified "cpio-dired.el")
(declare-function cpio-dired-set-unmodified "cpio-dired.el")
-(declare-function cpio-entry "cpio.el")
-(declare-function cpio-entry-attrs "cpio.el")
-(declare-function cpio-entry-contents-start "cpio.el")
-(declare-function cpio-entry-exists-p "cpio.el")
-(declare-function cpio-entry-header-start "cpio.el")
-(declare-function cpio-entry-name "cpio.el")
-(declare-function cpio-entry-name-to-entry-name-string "cpio.el")
-(declare-function cpio-entry-size "cpio.el")
-(declare-function cpio-extract-all "cpio.el")
-(declare-function cpio-filesize-to-filesize-string "cpio.el")
-(declare-function cpio-find-entry "cpio.el")
-(declare-function cpio-gid "cpio.el")
-(declare-function cpio-gid-to-gid-string "cpio.el")
-(declare-function cpio-insert-padded-contents "cpio.el")
-(declare-function cpio-insert-trailer "cpio.el")
-(declare-function cpio-make-header-string "cpio.el")
-(declare-function cpio-mode "cpio.el")
-(declare-function cpio-mode-value "cpio.el")
-(declare-function cpio-move-to-entry "cpio.el")
-(declare-function cpio-mtime "cpio.el")
-(declare-function cpio-mtime-to-mtime-string "cpio.el")
-(declare-function cpio-nlink "cpio.el")
-(declare-function cpio-nlink-to-nlink-string "cpio.el")
-(declare-function cpio-numeric-entry-type "cpio.el")
-(declare-function cpio-set-contents-start "cpio.el")
-(declare-function cpio-set-entry-name "cpio.el")
-(declare-function cpio-set-entry-unmodified "cpio.el")
-(declare-function cpio-set-gid "cpio.el")
-(declare-function cpio-set-mode "cpio.el")
-(declare-function cpio-set-uid "cpio.el")
-(declare-function cpio-sort-catalog "cpio.el")
-(declare-function cpio-uid "cpio.el")
-(declare-function cpio-uid-to-uid-string "cpio.el")
+(declare-function cpio-entry "cpio-mode.el")
+(declare-function cpio-entry-attrs "cpio-mode.el")
+(declare-function cpio-entry-contents-start "cpio-mode.el")
+(declare-function cpio-entry-exists-p "cpio-mode.el")
+(declare-function cpio-entry-header-start "cpio-mode.el")
+(declare-function cpio-entry-name "cpio-mode.el")
+(declare-function cpio-entry-name-to-entry-name-string "cpio-mode.el")
+(declare-function cpio-entry-size "cpio-mode.el")
+(declare-function cpio-extract-all "cpio-mode.el")
+(declare-function cpio-filesize-to-filesize-string "cpio-mode.el")
+(declare-function cpio-find-entry "cpio-mode.el")
+(declare-function cpio-gid "cpio-mode.el")
+(declare-function cpio-gid-to-gid-string "cpio-mode.el")
+(declare-function cpio-insert-padded-contents "cpio-mode.el")
+(declare-function cpio-insert-trailer "cpio-mode.el")
+(declare-function cpio-make-header-string "cpio-mode.el")
+(declare-function cpio-mode "cpio-mode.el")
+(declare-function cpio-mode-value "cpio-mode.el")
+(declare-function cpio-move-to-entry "cpio-mode.el")
+(declare-function cpio-mtime "cpio-mode.el")
+(declare-function cpio-mtime-to-mtime-string "cpio-mode.el")
+(declare-function cpio-nlink "cpio-mode.el")
+(declare-function cpio-nlink-to-nlink-string "cpio-mode.el")
+(declare-function cpio-numeric-entry-type "cpio-mode.el")
+(declare-function cpio-set-contents-start "cpio-mode.el")
+(declare-function cpio-set-entry-name "cpio-mode.el")
+(declare-function cpio-set-entry-unmodified "cpio-mode.el")
+(declare-function cpio-set-gid "cpio-mode.el")
+(declare-function cpio-set-mode "cpio-mode.el")
+(declare-function cpio-set-uid "cpio-mode.el")
+(declare-function cpio-sort-catalog "cpio-mode.el")
+(declare-function cpio-uid "cpio-mode.el")
+(declare-function cpio-uid-to-uid-string "cpio-mode.el")
;; EO byte compiler code.
;;;;;;;;;;;;;;;;
@@ -330,25 +330,39 @@ This is what the do-commands look for, and what the
mark-commands store.")
(defvar cpio-dired-del-marker ?D
"Character used to flag entries for deletion.")
+(setq cpio-dired-del-marker ?D)
+
(defvar cpio-dired-del-str (char-to-string cpio-dired-del-marker)
"In cpio-dired, a string corresponding to cpio-dired-del-marker.")
+(setq cpio-dired-del-str (char-to-string cpio-dired-del-marker))
+
;; HEREHERE dired-keep-marker-copy is customizable.
;; Should it be here too?
(defvar cpio-dired-keep-marker-copy ?C
"Character used to flag entries for copying.")
+(setq cpio-dired-keep-marker-copy ?C)
+
(defvar cpio-dired-keep-marker-copy-str ?C
"In cpio-dired, a string corresponding to cpio-dired-keep-marker-copy.")
+(setq cpio-dired-keep-marker-copy-str ?C)
+
;; HEREHERE dired-keep-marker-rename is customizable.
;; Should it be here too?
(defvar cpio-dired-keep-marker-rename ?R
"Character used to flag entries for renaming.")
+(setq cpio-dired-keep-marker-rename ?R)
+
(defvar cpio-dired-keep-marker-rename-str (char-to-string
cpio-dired-keep-marker-rename)
"In cpio-dired, a string corresponding to cpio-dired-keep-marker-rename.")
+(setq cpio-dired-keep-marker-rename-str (char-to-string
cpio-dired-keep-marker-rename))
+
(defvar cpio-dired-re-inode-size "[0-9 \t]*"
"Regexp for optional initial inode and file size as made by `ls -i -s'.")
+(setq cpio-dired-re-inode-size "[0-9 \t]*")
+
;; These regexps must be tested at beginning-of-line, but are also
;; used to search for next matches, so neither omitting "^" nor
@@ -357,12 +371,20 @@ This is what the do-commands look for, and what the
mark-commands store.")
(defvar cpio-dired-re-mark "^[^ \n]"
"Regexp matching a marked line.
Important: the match ends just after the marker.")
+(setq cpio-dired-re-mark "^[^ \n]")
+
(defvar cpio-dired-re-maybe-mark "^. ")
+(setq cpio-dired-re-maybe-mark "^. ")
+
;; The [^:] part after "d" and "l" is to avoid confusion with the
;; DOS/Windows-style drive letters in directory names, like in "d:/foo".
(defvar cpio-dired-re-dir (concat cpio-dired-re-maybe-mark
cpio-dired-re-inode-size "d[^:]"))
+(setq cpio-dired-re-dir (concat cpio-dired-re-maybe-mark
cpio-dired-re-inode-size "d[^:]"))
+
(defvar cpio-dired-re-sym (concat cpio-dired-re-maybe-mark
cpio-dired-re-inode-size "l[^:]"))
-(defvar cpio-dired-re-exe;; match ls permission string of an executable file
+(setq cpio-dired-re-sym (concat cpio-dired-re-maybe-mark
cpio-dired-re-inode-size "l[^:]"))
+
+(defvar cpio-dired-re-exe ;; match ls permission string of an executable file
(mapconcat (function
(lambda (x)
;; (concat cpio-dired-re-maybe-mark cpio-dired-re-inode-size
x)))
@@ -371,8 +393,22 @@ Important: the match ends just after the marker.")
"-[-r][-w].[-r][-w][xs][-r][-w]."
"-[-r][-w].[-r][-w].[-r][-w][xst]")
"\\|"))
+(setq cpio-dired-re-exe ;; match ls permission string of an executable file
+ (mapconcat (function
+ (lambda (x)
+ ;; (concat cpio-dired-re-maybe-mark cpio-dired-re-inode-size
x)))
+ (concat cpio-dired-re-maybe-mark " " x)))
+ '("-[-r][-w][xs][-r][-w].[-r][-w]."
+ "-[-r][-w].[-r][-w][xs][-r][-w]."
+ "-[-r][-w].[-r][-w].[-r][-w][xst]")
+ "\\|"))
+
(defvar cpio-dired-re-perms "[-bcdlps][-r][-w].[-r][-w].[-r][-w].")
+(setq cpio-dired-re-perms "[-bcdlps][-r][-w].[-r][-w].[-r][-w].")
+
(defvar cpio-dired-re-dot "^.* \\.\\.?/?$")
+(setq cpio-dired-re-dot "^.* \\.\\.?/?$")
+
(defvar cpio-dired-font-lock-keywords
;; cpio-dired-font-lock-keywords is adapted from dired.
(list
@@ -477,12 +513,12 @@ Important: the match ends just after the marker.")
;; permissions, to win generally. -- fx.
;; Fixme: we could also put text properties on the permission
;; fields with keymaps to frob the permissions, somewhat a la XEmacs.
- (list (concat cpio-dired-re-maybe-mark cpio-dired-re-inode-size
- "[-d]....\\(w\\)....") ; group writable
- '(1 cpio-dired-perm-write-face))
- (list (concat cpio-dired-re-maybe-mark cpio-dired-re-inode-size
- "[-d].......\\(w\\).") ; world writable
- '(1 cpio-dired-perm-write-face))
+;;DL (list (concat cpio-dired-re-maybe-mark cpio-dired-re-inode-size
+;;DL "[-d]....\\(w\\)....") ; group writable
+;;DL '(1 cpio-dired-perm-write-face))
+;;DL (list (concat cpio-dired-re-maybe-mark cpio-dired-re-inode-size
+;;DL "[-d].......\\(w\\).") ; world writable
+;;DL '(1 cpio-dired-perm-write-face))
;;
;; Subdirectories.
(list cpio-dired-re-dir
@@ -526,29 +562,44 @@ Important: the match ends just after the marker.")
(defvar cpio-entry-name ()
"Name of the entry whose contents are being edited.")
+(setq cpio-entry-name ())
+
(defconst *cpio-dirline-re* "^..d"
"Regular expression to match an entry for a directory.")
+(setq *cpio-dirline-re* "^..d")
+
(defvar *cpio-dired-copy-history* ()
"History of copies made in cpio-dired-mode.")
+(setq *cpio-dired-copy-history* ())
+
(defvar *cpio-dired-do-chgrp-history* ()
"History of M-x cpio-dired-do-chgrp.")
+(setq *cpio-dired-do-chgrp-history* ())
+
(defvar *cpio-dired-do-chown-history* ()
"History of M-x cpio-dired-do-chown.")
+(setq *cpio-dired-do-chown-history* ())
+
(defvar *cpio-dired-do-rename-history* ()
"History of M-x cpio-dired-do-rename.")
+(setq *cpio-dired-do-rename-history* ())
+
(defvar *cpio-dired-head-offset* 2
"The number of lines in the cpio-dired buffer devoted to the dired-style
header.")
+(setq *cpio-dired-head-offset* 2)
+
(defvar *cpio-dired-buffer* ()
"The [subordinate] buffer used to present the curent catalog
à la dired.")
(setq *cpio-dired-buffer* ())
+
(make-variable-buffer-local '*cpio-dired-buffer*)
@@ -568,6 +619,8 @@ Important: the match ends just after the marker.")
:version "22.1")
(defvar cpio-dired-header-face 'cpio-dired-header
"Face name used for directory headers.")
+(setq cpio-dired-header-face 'cpio-dired-header)
+
(defface cpio-dired-mark
'((t (:inherit font-lock-constant-face)))
@@ -592,6 +645,8 @@ Important: the match ends just after the marker.")
:version "22.1")
(defvar cpio-dired-flagged-face 'cpio-dired-flagged
"Face name used for files flagged for deletion.")
+(setq cpio-dired-flagged-face 'cpio-dired-flagged)
+
(defface cpio-dired-warning
;; Inherit from font-lock-warning-face since with min-colors 8
@@ -613,6 +668,8 @@ Important: the match ends just after the marker.")
:version "22.2")
(defvar cpio-dired-perm-write-face 'cpio-dired-perm-write
"Face name used for permissions of group- and world-writable files.")
+(setq cpio-dired-perm-write-face 'cpio-dired-perm-write)
+
(defface cpio-dired-directory
'((t (:inherit font-lock-function-name-face)))
@@ -621,6 +678,8 @@ Important: the match ends just after the marker.")
:version "22.1")
(defvar cpio-dired-directory-face 'cpio-dired-directory
"Face name used for subdirectories.")
+(setq cpio-dired-directory-face 'cpio-dired-directory)
+
(defface cpio-dired-symlink
'((t (:inherit font-lock-keyword-face)))
@@ -629,6 +688,8 @@ Important: the match ends just after the marker.")
:version "22.1")
(defvar cpio-dired-symlink-face 'cpio-dired-symlink
"Face name used for symbolic links.")
+(setq cpio-dired-symlink-face 'cpio-dired-symlink)
+
(defface cpio-dired-ignored
'((t (:inherit shadow)))
@@ -637,6 +698,8 @@ Important: the match ends just after the marker.")
:version "22.1")
(defvar cpio-dired-ignored-face 'cpio-dired-ignored
"Face name used for files suffixed with `completion-ignored-extensions'.")
+(setq cpio-dired-ignored-face 'cpio-dired-ignored)
+
(defcustom cpio-dired-trivial-filenames dired-trivial-filenames
"Regexp of entries to skip when finding the first meaningful entry of a
directory."
@@ -944,12 +1007,12 @@ This returns the buffer created."
;; No, I do not yet understand why this must be done
;; every time the presentation is updated.
- ;; (with-current-buffer "cpio.el"
+ ;; (with-current-buffer "cpio-mode.el"
;; kill-buffer-hook)
(cab-register buffer archive-buffer)
- ;; (with-current-buffer "cpio.el"
+ ;; (with-current-buffer "cpio-mode.el"
;; kill-buffer-hook)
buffer))
@@ -2057,6 +2120,8 @@ in the active region."
;; % & dired-flag-garbage-entries
(defvar cpio-dired-garbage-entries-regexp dired-garbage-files-regexp
"Regular expression to match in cpio-dired-flag-garbage-entries.")
+(setq cpio-dired-garbage-entries-regexp dired-garbage-files-regexp)
+
(defun cpio-dired-flag-garbage-entries () ;✓✓✓
"Flag for deletion all entries that match
`cpio-dired-garbage-entries-regexp'."
(interactive)
@@ -2136,9 +2201,8 @@ and any affiliated buffers thereof."
(if (y-or-n-p "You've made changes to the archive. Save
first? ")
(cpio-dired-save-archive)))
(with-current-buffer *cab-parent*
- (remove-hook 'kill-buffer-hook 'cab-kill-buffer-hook)
(kill-buffer))
- (remove-hook 'kill-buffer-hook 'cab-kill-buffer-hook)
+ ;; This should be a noop.
(kill-buffer))
(t
(warn "%s(): Archive buffer [[%s]] is not there." fname
(file-name-nondirectory (buffer-file-name *cab-parent*)))
@@ -2931,6 +2995,8 @@ permissions are hidden from view."
;; mode definition
;;
(defvar *cpio-dired-have-made-keymap* nil)
+(setq *cpio-dired-have-made-keymap* nil)
+
(define-derived-mode cpio-dired-mode fundamental-mode "cpio-dired"
"Mode for editing cpio archives in the style of dired."
diff --git a/cpio-entry-contents-mode.el b/cpio-entry-contents-mode.el
index ab7f73c..1a07047 100644
--- a/cpio-entry-contents-mode.el
+++ b/cpio-entry-contents-mode.el
@@ -2,7 +2,7 @@
;; COPYRIGHT
;;
-;; Copyright © 2017, 2018, 2019 Douglas Lewan, address@hidden
+;; Copyright © 2019 Free Software Foundation, Inc.
;; All rights reserved.
;;
;; This program is free software: you can redistribute it and/or modify
@@ -19,9 +19,9 @@
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;; Author: Douglas Lewan <address@hidden>
-;; Maintainer: -- " --
+;; Maintainer: Douglas Lewan <address@hidden>
;; Created: 2017 Dec 06
-;; Version: 0.13β
+;; Version: 0.16β
;; Keywords: files
;;; Commentary:
@@ -97,21 +97,21 @@ If NAME is not given, then use 'aa'."
;; Things to make the byte compiler happy.
(defvar cpio-entry-name)
(defvar *cpio-catalog-entry-contents-start-idx*)
-(declare-function cpio-contents-start "cpio.el")
-(declare-function cpio-delete-archive-entry "cpio.el")
+(declare-function cpio-contents-start "cpio-mode.el")
+(declare-function cpio-delete-archive-entry "cpio-mode.el")
(declare-function cpio-dired-find-entry "cpio-dired.el")
(declare-function cpio-dired-goto-entry "cpio-dired.el")
-(declare-function cpio-entry "cpio.el")
-(declare-function cpio-entry-attrs "cpio.el")
-(declare-function cpio-entry-exists-p "cpio.el")
-(declare-function cpio-entry-header-start "cpio.el")
-(declare-function cpio-insert-padded-contents "cpio.el")
-(declare-function cpio-make-header-string "cpio.el")
-(declare-function cpio-mode "cpio.el")
+(declare-function cpio-entry "cpio-mode.el")
+(declare-function cpio-entry-attrs "cpio-mode.el")
+(declare-function cpio-entry-exists-p "cpio-mode.el")
+(declare-function cpio-entry-header-start "cpio-mode.el")
+(declare-function cpio-insert-padded-contents "cpio-mode.el")
+(declare-function cpio-make-header-string "cpio-mode.el")
+(declare-function cpio-mode "cpio-mode.el")
(declare-function cpio-present-ala-dired "cpio-dired.el")
-(declare-function cpio-set-entry-modified "cpio.el")
-(declare-function cpio-set-entry-size "cpio.el")
-(declare-function cpio-entry-exists-p "cpio.el")
+(declare-function cpio-set-entry-modified "cpio-mode.el")
+(declare-function cpio-set-entry-size "cpio-mode.el")
+(declare-function cpio-entry-exists-p "cpio-mode.el")
(declare-function cpio-dired-goto-entry "cpio-dired.el")
(declare-function cpio-dired-find-entry "cpio-dired.el")
;; EO things for the byte compiler.
@@ -214,6 +214,8 @@ reload the [current] entry contents."
;;
(defvar *cpio-entry-contents-mode-map* (make-sparse-keymap)
"Keymap for cpio-entry-contents-mode.")
+(setq *cpio-entry-contents-mode-map* (make-sparse-keymap))
+
(defun cpio-entry-contents-make-keymap ()
"Define the keys that cpio-entry-contents-mode must override."
@@ -250,7 +252,8 @@ prepared for editing."
(set-auto-mode 'keep-mode-if-same)
(setq *cab-parent* cab-parent)
(setq cpio-entry-name entry-name)
- (setq buffer-file-name local-buffer-file-name)
+ ;; Why was I doing this?
+ ;; (setq buffer-file-name local-buffer-file-name)
(setq cpio-entry-contents-mode t)))
(cpio-entry-contents-make-keymap)
diff --git a/cpio-entry-header.el b/cpio-entry-header.el
index 4b3d6f5..7b02932 100644
--- a/cpio-entry-header.el
+++ b/cpio-entry-header.el
@@ -2,7 +2,7 @@
;; COPYRIGHT
;;
-;; Copyright © 2015, 2018, 2019 Douglas Lewan, address@hidden
+;; Copyright © 2019 Free Software Foundation, Inc.
;; All rights reserved.
;;
;; This program is free software: you can redistribute it and/or modify
@@ -20,9 +20,9 @@
;;
;; Author: Douglas Lewan <address@hidden>
-;; Maintainer: -- " --
+;; Maintainer: Douglas Lewan <address@hidden>
;; Created: 2015 Jan 03
-;; Version: 0.13β
+;; Version: 0.16β
;; Keywords: files
;;; Commentary:
diff --git a/cpio-generic-tests.el b/cpio-generic-tests.el
index 82f28a0..eb08044 100644
--- a/cpio-generic-tests.el
+++ b/cpio-generic-tests.el
@@ -2,7 +2,7 @@
;; COPYRIGHT
;;
-;; Copyright © 2015, 2018, 2019 Douglas Lewan, address@hidden
+;; Copyright © 2019 Free Software Foundation, Inc.
;; All rights reserved.
;;
;; This program is free software: you can redistribute it and/or modify
@@ -19,9 +19,9 @@
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;
;; Author: Douglas Lewan <address@hidden>
-;; Maintainer: -- " --
+;; Maintainer: Douglas Lewan <address@hidden>
;; Created: 2015 Dec 27
-;; Version: 0.13β
+;; Version: 0.15β
;; Keywords:
;;; Commentary:
diff --git a/cpio-generic.el b/cpio-generic.el
index 30289b0..6da6a8e 100644
--- a/cpio-generic.el
+++ b/cpio-generic.el
@@ -2,7 +2,7 @@
;; COPYRIGHT
;;
-;; Copyright © 2015, 2018, 2019 Douglas Lewan, address@hidden
+;; Copyright © 2019 Free Software Foundation, Inc.
;; All rights reserved.
;;
;; This program is free software: you can redistribute it and/or modify
@@ -20,9 +20,9 @@
;;
;; Author: Douglas Lewan <address@hidden>
-;; Maintainer: -- " --
+;; Maintainer: Douglas Lewan <address@hidden>
;; Created: 2015 Apr 23
-;; Version: 0.13β
+;; Version: 0.16β
;; Keywords: files
;;; Commentary:
@@ -73,7 +73,7 @@
(setq *cg-integer-hex-digits* hex-digit-ct)))
*cg-integer-hex-digits*)
-(defun cg-hex-format-pair (pair)
+(defun OBS-cg-hex-format-pair (pair)
"Return a hex formatted representation of PAIR."
(let ((fname "cg-hex-format-pair")
(hex-digit-count (cg-integer-hex-digits))
@@ -82,7 +82,7 @@
(setq formatter (concat formatter formatter))
(format formatter (car pair) (cdr pair))))
-(defun cg-hex-format-triple (triple)
+(defun OBS-cg-hex-format-triple (triple)
"Return a hex formatted representation of TRIPLE."
(let ((fname "cg-hex-format-triple")
(hex-digit-count (cg-integer-hex-digits))
diff --git a/cpio-hpbin.el b/cpio-hpbin.el
index 3ebf294..e7c98cf 100644
--- a/cpio-hpbin.el
+++ b/cpio-hpbin.el
@@ -2,7 +2,7 @@
;; COPYRIGHT
;;
-;; Copyright © 2015, 2018, 2019 Douglas Lewan, address@hidden
+;; Copyright © 2019 Free Software Foundation, Inc.
;; All rights reserved.
;;
;; This program is free software: you can redistribute it and/or modify
@@ -20,9 +20,9 @@
;;
;; Author: Douglas Lewan <address@hidden>
-;; Maintainer: -- " --
+;; Maintainer: Douglas Lewan <address@hidden>
;; Created: 2015 Jan 03
-;; Version: 0.13β
+;; Version: 0.16β
;; Keywords: files
;;; Commentary:
diff --git a/cpio-hpodc.el b/cpio-hpodc.el
index 3340f35..cfa3852 100644
--- a/cpio-hpodc.el
+++ b/cpio-hpodc.el
@@ -2,7 +2,7 @@
;; COPYRIGHT
;;
-;; Copyright © 2015, 2018, 2019 Douglas Lewan, address@hidden
+;; Copyright © 2019 Free Software Foundation, Inc.
;; All rights reserved.
;;
;; This program is free software: you can redistribute it and/or modify
@@ -20,9 +20,9 @@
;;
;; Author: Douglas Lewan <address@hidden>
-;; Maintainer: -- " --
+;; Maintainer: Douglas Lewan <address@hidden>
;; Created: 2015 Jan 03
-;; Version: 0.13β
+;; Version: 0.16β
;; Keywords: files
;;; Commentary:
diff --git a/cpio-modes-test.el b/cpio-modes-test.el
index 5994214..6a7fe0e 100644
--- a/cpio-modes-test.el
+++ b/cpio-modes-test.el
@@ -2,7 +2,7 @@
;; COPYRIGHT
;;
-;; Copyright © 2017, 2018, 2019 Douglas Lewan, address@hidden
+;; Copyright © 2019 Free Software Foundation, Inc.
;; All rights reserved.
;;
;; This program is free software: you can redistribute it and/or modify
@@ -19,9 +19,9 @@
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;; Author: Douglas Lewan <address@hidden>
-;; Maintainer: -- " --
+;; Maintainer: Douglas Lewan <address@hidden>
;; Created: 2017 Nov 28
-;; Version: 0.13β
+;; Version: 0.16β
;; Keywords:
;;; Commentary:
diff --git a/cpio-modes.el b/cpio-modes.el
index 2dc53ab..a506317 100644
--- a/cpio-modes.el
+++ b/cpio-modes.el
@@ -2,7 +2,7 @@
;; COPYRIGHT
;;
-;; Copyright © 2017, 2018, 2019 Douglas Lewan, address@hidden
+;; Copyright © 2019 Free Software Foundation, Inc.
;; All rights reserved.
;;
;; This program is free software: you can redistribute it and/or modify
@@ -19,9 +19,9 @@
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;; Author: Douglas Lewan <address@hidden>
-;; Maintainer: -- " --
+;; Maintainer: Douglas Lewan <address@hidden>
;; Created: 2017 Nov 28
-;; Version: 0.13β
+;; Version: 0.16β
;; Keywords: files
;;; Commentary:
@@ -36,11 +36,11 @@
;; Dependencies
;;
(eval-when-compile
- (require 'cl))
+ (require 'cl-lib))
;;;;;;;;;;;;;;;;
;; Things to make the byte compiler happy.
-(declare-function cpio-mode-value "cpio.el")
+(declare-function cpio-mode-value "cpio-mode.el")
;; EO things for the byte compiler.
;;;;;;;;;;;;;;;;
@@ -126,13 +126,29 @@ fmt, sock, link, block, character, fifo."
(concat file-type user-mode group-mode other-mode)))
(defvar *cpio-modes-link* "l")
+(setq *cpio-modes-link* "l")
+
(defvar *cpio-modes-reg* "-")
+(setq *cpio-modes-reg* "-")
+
(defvar *cpio-modes-dir* "d")
+(setq *cpio-modes-dir* "d")
+
(defvar *cpio-modes-char* "c")
+(setq *cpio-modes-char* "c")
+
(defvar *cpio-modes-block* "b")
+(setq *cpio-modes-block* "b")
+
(defvar *cpio-modes-fifo* "p")
+(setq *cpio-modes-fifo* "p")
+
(defvar *cpio-modes-sock* "s")
+(setq *cpio-modes-sock* "s")
+
(defvar *cpio-modes-unknown* "?")
+(setq *cpio-modes-unknown* "?")
+
(defun cpio-int-mode-to-file-type (int-mode)
"Extract the one character string that expresses the file type from INT-MODE.
@@ -264,6 +280,8 @@ please let me know."
"-")))))
(defun cpio-mode-string-to-int-mode (mode-string)
+ ;; HEREHERE This should do some error checking.
+ ;; It will currently flag an error if MODE-STRING is not long enough.
"Convert an ls -l style mode string to its corresponding integer."
(let* ((fname "cpio-mode-string-to-int-mode")
(bits 0)
@@ -393,6 +411,34 @@ please let me know."
(setq bits (logior bits s-isvtx))))
bits))
+(defun cpio-mode-extractable-p (mode)
+ "Return non-NIL if MODE represents an entry that can be extracted by
cpio-mode.
+That is, a regular file, symbolic link or directory. "
+ (let ((fname "cpio-mode-not-extractable-p"))
+ (or (s-islnk mode)
+ (s-isreg mode)
+ (s-isdir mode))))
+
+(defun cpio-valid-numeric-mode (proposed-mode-num)
+ "Return non-NIL if the PROPOSED-MODE-NUM is a valid numeric file mode."
+ (let ((fname "cpio-valid-numeric-mode"))
+ (/= 0 (logxor proposed-mode-num
+ ;; This list could be pared down a little,
+ ;; but this is more readable.
+ (logand s-ifmt
+ s-ifsock
+ s-iflnk
+ s-ifreg
+ s-ifblk
+ s-ifdir
+ s-ifchr
+ s-ififo
+ s-isuid
+ s-isgid
+ s-isvtx
+ s-irwxu
+ s-irwxg
+ s-irwxo)))))
(provide 'cpio-modes)
;;; cpio-modes ends here
diff --git a/cpio-newc-tests.el b/cpio-newc-tests.el
index d1c5e9b..60d09d0 100644
Binary files a/cpio-newc-tests.el and b/cpio-newc-tests.el differ
diff --git a/cpio-newc.el b/cpio-newc.el
index ae501cf..4752272 100644
--- a/cpio-newc.el
+++ b/cpio-newc.el
@@ -2,7 +2,7 @@
;; COPYRIGHT
;;
-;; Copyright © 2015, 2016, 2017, 2018, 2019 Douglas Lewan, address@hidden
+;; Copyright © 2019 Free Software Foundation, Inc.
;; All rights reserved.
;;
;; This program is free software: you can redistribute it and/or modify
@@ -20,9 +20,9 @@
;;
;; Author: Douglas Lewan <address@hidden>
-;; Maintainer: -- " --
+;; Maintainer: Douglas Lewan <address@hidden>
;; Created: 2015 Jan 03
-;; Version: 0.13β
+;; Version: 0.16β
;; Keywords: files
;;; Commentary:
@@ -52,8 +52,8 @@
;; Dependencies
;;
(eval-when-compile
- (require 'cl))
-(require 'cl)
+ (require 'cl-lib))
+(require 'cl-lib)
;; (condition-case err
;; (require 'cpio-generic)
@@ -66,19 +66,19 @@
;; Things to make the byte compiler happy.
(defvar *cpio-catalog*)
(defvar *cpio-padding-modulus*)
-(declare-function cpio-entry-name "cpio.el")
-(declare-function cpio-ino "cpio.el")
-(declare-function cpio-mode-value "cpio.el")
-(declare-function cpio-uid "cpio.el")
-(declare-function cpio-gid "cpio.el")
-(declare-function cpio-nlink "cpio.el")
-(declare-function cpio-mtime "cpio.el")
-(declare-function cpio-entry-size "cpio.el")
-(declare-function cpio-dev-maj "cpio.el")
-(declare-function cpio-dev-min "cpio.el")
-(declare-function cpio-entry-attrs-from-catalog-entry "cpio.el")
-(declare-function cpio-contents-start "cpio.el")
-(declare-function cpio-entry-attrs "cpio.el")
+(declare-function cpio-entry-name "cpio-mode.el")
+(declare-function cpio-ino "cpio-mode.el")
+(declare-function cpio-mode-value "cpio-mode.el")
+(declare-function cpio-uid "cpio-mode.el")
+(declare-function cpio-gid "cpio-mode.el")
+(declare-function cpio-nlink "cpio-mode.el")
+(declare-function cpio-mtime "cpio-mode.el")
+(declare-function cpio-entry-size "cpio-mode.el")
+(declare-function cpio-dev-maj "cpio-mode.el")
+(declare-function cpio-dev-min "cpio-mode.el")
+(declare-function cpio-entry-attrs-from-catalog-entry "cpio-mode.el")
+(declare-function cpio-contents-start "cpio-mode.el")
+(declare-function cpio-entry-attrs "cpio-mode.el")
;; EO things for the byte compiler.
;;;;;;;;;;;;;;;;
@@ -800,7 +800,7 @@ once the TRAILER is written and padded."
;;
(eval-when-compile
- (require 'cl)) ;For (mapcar*)
+ (require 'cl-lib)) ;For (mapcar*)
(defun cpio-newc-present-header (header-string)
"Parse the HEADER-STRING and present its fields nicely.
That is show their names and octal and decimal values."
diff --git a/cpio-odc.el b/cpio-odc.el
index 8694919..b9485d2 100644
--- a/cpio-odc.el
+++ b/cpio-odc.el
@@ -2,7 +2,7 @@
;; COPYRIGHT
;;
-;; Copyright © 2015, 2018, 2019 Douglas Lewan, address@hidden
+;; Copyright © 2019 Free Software Foundation, Inc.
;; All rights reserved.
;;
;; This program is free software: you can redistribute it and/or modify
@@ -20,9 +20,9 @@
;;
;; Author: Douglas Lewan <address@hidden>
-;; Maintainer: -- " --
+;; Maintainer: Douglas Lewan <address@hidden>
;; Created: 2015 Jan 03
-;; Version: 0.13β
+;; Version: 0.16β
;; Keywords: files
;;; Commentary:
@@ -53,22 +53,19 @@
(defvar *cpio-odc-nlink-field-offset*)
(defvar *cpio-odc-rdev-field-offset*)
(defvar *cpio-odc-uid-field-offset*)
-(declare-function cpio-contents-start "cpio.el")
-(declare-function cpio-dev-maj "cpio.el")
-(declare-function cpio-entry-attrs-from-catalog-entry "cpio.el")
-(declare-function cpio-entry-name "cpio.el")
-(declare-function cpio-entry-size "cpio.el")
-(declare-function cpio-gid "cpio.el")
-(declare-function cpio-ino "cpio.el")
-(declare-function cpio-mode-value "cpio.el")
-(declare-function cpio-mtime "cpio.el")
-(declare-function cpio-nlink "cpio.el")
-(declare-function cpio-rdev-maj "cpio.el")
-(declare-function cpio-uid "cpio.el")
-(declare-function cpio-entry-attrs "cpio.el")
-
-
-
+(declare-function cpio-contents-start "cpio-mode.el")
+(declare-function cpio-dev-maj "cpio-mode.el")
+(declare-function cpio-entry-attrs-from-catalog-entry "cpio-mode.el")
+(declare-function cpio-entry-name "cpio-mode.el")
+(declare-function cpio-entry-size "cpio-mode.el")
+(declare-function cpio-gid "cpio-mode.el")
+(declare-function cpio-ino "cpio-mode.el")
+(declare-function cpio-mode-value "cpio-mode.el")
+(declare-function cpio-mtime "cpio-mode.el")
+(declare-function cpio-nlink "cpio-mode.el")
+(declare-function cpio-rdev-maj "cpio-mode.el")
+(declare-function cpio-uid "cpio-mode.el")
+(declare-function cpio-entry-attrs "cpio-mode.el")
;; EO things for the byte compiler.
;;;;;;;;;;;;;;;;
diff --git a/cpio-tar.el b/cpio-tar.el
index b9d6332..438467d 100644
--- a/cpio-tar.el
+++ b/cpio-tar.el
@@ -2,7 +2,7 @@
;; COPYRIGHT
;;
-;; Copyright © 2015, 2019 Douglas Lewan, address@hidden
+;; Copyright © 2019 Free Software Foundation, Inc.
;; All rights reserved.
;;
;; This program is free software: you can redistribute it and/or modify
diff --git a/cpio-tests.el b/cpio-tests.el
index c2a08cf..c9cef14 100644
--- a/cpio-tests.el
+++ b/cpio-tests.el
@@ -2,7 +2,7 @@
;; COPYRIGHT
;;
-;; Copyright © 2017, 2018, 2019 Douglas Lewan, address@hidden
+;; Copyright © 2019 Free Software Foundation, Inc.
;; All rights reserved.
;;
;; This program is free software: you can redistribute it and/or modify
@@ -19,9 +19,9 @@
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;; Author: Douglas Lewan <address@hidden>
-;; Maintainer: -- " --
+;; Maintainer: Douglas Lewan <address@hidden>
;; Created: 2017 Nov 28
-;; Version: 0.13β
+;; Version: 0.15β
;; Keywords: files
;;; Commentary:
diff --git a/cpio-ustar.el b/cpio-ustar.el
index ba5657c..cef9ec9 100644
--- a/cpio-ustar.el
+++ b/cpio-ustar.el
@@ -2,7 +2,7 @@
;; COPYRIGHT
;;
-;; Copyright © 2015, 2018, 2019 Douglas Lewan, address@hidden
+;; Copyright © 2019 Free Software Foundation, Inc.
;; All rights reserved.
;;
;; This program is free software: you can redistribute it and/or modify
diff --git a/cpio-wanted.el b/cpio-wanted.el
index 10de688..27fbc1d 100644
--- a/cpio-wanted.el
+++ b/cpio-wanted.el
@@ -2,7 +2,7 @@
;; COPYRIGHT
;;
-;; Copyright © 2015, 2018, 2019 Douglas Lewan, address@hidden
+;; Copyright © 2019 Free Software Foundation, Inc.
;; All rights reserved.
;;
;; This program is free software: you can redistribute it and/or modify
@@ -19,9 +19,9 @@
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;; Author: Douglas Lewan <address@hidden>
-;; Maintainer: -- " --
+;; Maintainer: Douglas Lewan <address@hidden>
;; Created: 2015 Dec 26
-;; Version: 0.13β
+;; Version: 0.16β
;; Keywords: files
;;; Commentary:
diff --git a/stamp-h.in b/stamp-h.in
index 26b4080..e69de29 100644
--- a/stamp-h.in
+++ b/stamp-h.in
@@ -1 +0,0 @@
-# $Id: stamp-h.in,v 1.2.4.2 2015/04/23 17:33:00 doug Exp $
diff --git a/test-generic.el b/test-generic.el
index af920ca..47638d0 100644
--- a/test-generic.el
+++ b/test-generic.el
@@ -2,7 +2,7 @@
;; COPYRIGHT
-;; Copyright © 2017, 2018, 2019 Douglas Lewan, address@hidden
+;; Copyright © 2019 Free Software Foundation, Inc.
;; All rights reserved.
;;
;; This program is free software: you can redistribute it and/or modify
@@ -19,9 +19,9 @@
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;; Author: Douglas Lewan (address@hidden)
-;; Maintainer: -- " --
+;; Maintainer: Douglas Lewan <address@hidden>
;; Created: 2018 Nov 19
-;; Version: 0.13β
+;; Version: 0.16β
;; Keywords: files
;;; Commentary:
@@ -40,6 +40,8 @@
(defvar *cdmt-header-re* ()
"Variable to hold the format-specific RE to match a header.")
+(setq *cdmt-header-re* ())
+
;; These indexes don't seem to be used.
;; (defvar *cpio-magic-re-idx* ())
;; (defvar *cpio-mode-re-idx* ())
@@ -52,6 +54,8 @@
;; (defvar *cpio-filename-re-idx* ())
(defvar *cdmt-archive-format* ())
+(setq *cdmt-archive-format* ())
+
(defun cdmt-filter-archive-contents (archive-contents)
@@ -533,6 +537,22 @@ to grab temp- references in sub-directories."
"cpio-chksum-re-idx"
"cpio-filename-re-idx"
"cdmt-archive-format"))
+(setq cdmt-generic-vars (list
+ "cdmt-small-archive"
+ "cdmt-large-archive"
+ "cdmt-header-re"
+
+ "cpio-magic-re-idx"
+ "cpio-mode-re-idx"
+ "cpio-uid-re-idx"
+ "cpio-gid-re-idx"
+ "cpio-nlink-re-idx"
+ "cpio-filesize-re-idx"
+ "cpio-namesize-re-idx"
+ "cpio-chksum-re-idx"
+ "cpio-filename-re-idx"
+ "cdmt-archive-format"))
+
(defun cdmt-convert-vars (format)
"Convert all the uses of FORMAT specific vars to their generic counterparts.
@@ -871,6 +891,153 @@ This function respects narrowing."
(interactive)
(let ((fname "remove-all-debuggers"))
(while (remove-debugger))))
+
+(defun find-unused-symbols ()
+ "Look for unused variables (defvar) and functions (defun) in *.el."
+ (interactive)
+ (let ((fname "find-unused-symbols")
+ (vars ())
+ (funs ())
+ (el-files (directory-files "." nil ".+\\.el" nil))
+ (grep-cmd "egrep")
+ (grep-opts "")
+ (buf (get-buffer-create "*symbols*"))
+ (unused-vars ())
+ (unused-funs ())
+ )
+ ;; (error "%s() is not yet implemented" fname)
+ (with-current-buffer buf (erase-buffer))
+ (setq funs (delete-duplicates (sort (gather-funs el-files) 'string-lessp)
:test 'string-equal))
+ (setq vars (delete-duplicates (sort (gather-vars el-files) 'string-lessp)
:test 'string-equal))
+
+
+ ;; (setq el-files (list "cpio-mode.el"))
+ ;; (setq funs (list "unused-fun" "used-fun"))
+ ;; (setq vars (list "unused-var" "used-var"))
+
+
+ (with-current-buffer buf
+ (insert "Functions found:\n")
+ (mapc (lambda (f)
+ (insert " " f "\n"))
+ funs)
+ )
+ (with-current-buffer buf
+ (insert "Variables found:\n")
+ (mapc (lambda (v)
+ (insert " " v "\n"))
+ vars)
+ )
+ ;; (pop-to-buffer buf)
+ ;; (goto-char (point-min))
+
+ (mapc (lambda (func)
+ (let ((usedp nil))
+ (catch 'out
+ (mapc (lambda (f)
+ (with-current-buffer (find-file-noselect f)
+ (save-excursion
+ (goto-char (point-min))
+ (cond ((re-search-forward (concat "^.+(" func)
(point-max) t)
+ (setq usedp t)
+ (throw 'out t))
+ (t nil)))))
+ el-files))
+ (unless usedp
+ (push func unused-funs))))
+ funs)
+
+ (mapc (lambda (v)
+ (let ((usedp nil))
+ (catch 'out
+ (mapc (lambda (f)
+ (with-current-buffer (find-file-noselect f)
+ (save-excursion
+ (goto-char (point-min))
+ (cond ((re-search-forward (concat
"^[[:blank:]]+.+[[:blank:]]" v) (point-max) t)
+ (setq usedp t)
+ (throw 'out t))
+ (t nil)))))
+ el-files))
+ (unless usedp
+ (push v unused-vars))))
+ vars)
+
+
+
+
+ (with-current-buffer buf
+ (goto-char (point-max))
+ (insert "\nUnused functions:\n")
+ (mapc (lambda (func)
+ (insert (format " %s\n" func)))
+ (sort unused-funs 'string-lessp)))
+
+ (with-current-buffer buf
+ (goto-char (point-max))
+ (insert "\nUnused variables:\n")
+ (mapc (lambda (v)
+ (insert (format " %s\n" v)))
+ (sort unused-vars 'string-lessp)))
+
+ (pop-to-buffer buf)
+ (goto-char (point-min))
+
+ ;; (mapc (lambda (v)
+ ;; (setq grep-cmd (concat grep-cmd " -e '[[:blank:]]+ " v "'")))
+ ;; vars)
+ ;; (mapc (lambda (f)
+ ;; (setq grep-opts (concat grep-opts "-e '[[:blank:]]+(' " f "[[:space:]]"
" ")))
+ ;; funs)
+ ;; (grep grep-cmd)
+ ))
+(defvar unused-var ())
+
+(defun gather-vars (&optional files)
+ "Return a list of variables (defvar) defined in FILES.
+If FILES is NIL, then look in *.el."
+ (unless files (setq files (directory-files "." nil ".+\\.el" nil)))
+ (let ((fname "gather-vars")
+ (results ())
+ (str)
+ )
+ ;; (error "%s() is not yet implemented" fname)
+ (mapc (lambda (f)
+ (with-current-buffer (find-file-noselect f)
+ (save-excursion
+ (widen)
+ (goto-char (point-min))
+ (while (re-search-forward "^\\( \\)?(defvar
\\([[:graph:]]+\\)" (point-max) t)
+ (setq str (match-string-no-properties 2))
+ (while (string-match ")\\'" str)
+ (setq str (substring str 0 -1)))
+ (push str results)))))
+ files)
+ results
+ ))
+
+(defun gather-funs (&optional files)
+ "Return a list of functions (defun) defined in FILES.
+If FILES is NIL, then look in *.el."
+ (unless files (setq files (directory-files "." nil ".+\\.el" nil)))
+ (let ((fname "gather-funs")
+ (results ())
+ (str)
+ )
+ ;; (error "%s() is not yet implemented" fname)
+ (mapc (lambda (f)
+ (with-current-buffer (find-file-noselect f)
+ (save-excursion
+ (widen)
+ (goto-char (point-min))
+ (while (re-search-forward "^(defun \\([[:graph:]]+\\)"
(point-max) t)
+ (setq str (match-string-no-properties 1))
+ (while (string-match ")\\'" str)
+ (setq str (substring str 0 -1)))
+ (push str results)))))
+ files)
+ results
+ ))
(provide 'test-generic)
;;; test-generic.el ends here
diff --git a/test_data/alphabet/Makefile.in b/test_data/alphabet/Makefile.in
index b3712c8..325eb02 100644
--- a/test_data/alphabet/Makefile.in
+++ b/test_data/alphabet/Makefile.in
@@ -1,8 +1,7 @@
# -*- mode: makefile; coding: utf-8 -*-
-# $Id: Makefile.in,v 1.2 2018/12/03 00:43:40 doug Exp $
+# $Id: Makefile.in,v 1.7 2019/01/07 05:27:54 doug Exp $
-# Copyright © 2013, 2014, 2015, 2016, 2017, 2018
-# Douglas Lewan, address@hidden
+# Copyright © 2019 Free Software Foundation, Inc.
# All rights reserved.
#
# This program is free software: you can redistribute it and/or modify
@@ -39,7 +38,7 @@ SRC_FILES = Makefile.in
# Where things are
#
prefix = @prefix@
-distdir =
${abs_srcdir}/${PACKAGE}-${PACKAGE_VERSION}/test_data/alphabet
+distdir =
${top_srcdir}/${PROJECT}-${PROJECT_VERSION}/test_data/alphabet
# And where they go
bindir = ${prefix}/bin
@@ -87,6 +86,7 @@ man6ext = .6
man7ext = .7
srcdir = @srcdir@
abs_srcdir = @abs_srcdir@
+top_srcdir = @top_srcdir@
################################
#
@@ -168,49 +168,22 @@ ${LETTERS}:
# Cpio formats
#
.PHONY: all bin crc hpbin hpodc newc odc tar ustar
-all: bin crc hpbin hpodc newc odc tar ustar
+all: bin crc hpbin hpodc newc odc tar ustar links
# Yes, these regular expressions are a little brittle,
# but they work in this directory.
-bin: alphabet
- ls -1 -d ? ?? ??? ???? ????? ?????.d | grep -v CVS | cpio -o -H
address@hidden > address@hidden
- ls -1 -d a aa aaa aaaa aaaaa aaaaa.d b bb bbb bbbb bbbbb bbbbb.d c cc
ccc cccc ccccc ccccc.d | cpio -o -H address@hidden > address@hidden
- ls -1 -d a aa aaaaa.d b bb | cpio -o -H address@hidden > address@hidden
- ls -1 -d a aaaaa.d | cpio -o -H address@hidden > address@hidden
-crc: alphabet
- ls -1 -d ? ?? ??? ???? ????? ?????.d | grep -v CVS | cpio -o -H
address@hidden > address@hidden
- ls -1 -d a aa aaa aaaa aaaaa aaaaa.d b bb bbb bbbb bbbbb bbbbb.d c cc
ccc cccc ccccc ccccc.d | cpio -o -H address@hidden > address@hidden
- ls -1 -d a aa aaaaa.d b bb | cpio -o -H address@hidden > address@hidden
- ls -1 -d a aaaaa.d | cpio -o -H address@hidden > address@hidden
-hpbin: alphabet
- ls -1 -d ? ?? ??? ???? ????? ?????.d | grep -v CVS | cpio -o -H
address@hidden > address@hidden
- ls -1 -d a aa aaa aaaa aaaaa aaaaa.d b bb bbb bbbb bbbbb bbbbb.d c cc
ccc cccc ccccc ccccc.d | cpio -o -H address@hidden > address@hidden
- ls -1 -d a aa aaaaa.d b bb | cpio -o -H address@hidden > address@hidden
- ls -1 -d a aaaaa.d | cpio -o -H address@hidden > address@hidden
-hpodc: alphabet
- ls -1 -d ? ?? ??? ???? ????? ?????.d | grep -v CVS | cpio -o -H
address@hidden > address@hidden
- ls -1 -d a aa aaa aaaa aaaaa aaaaa.d b bb bbb bbbb bbbbb bbbbb.d c cc
ccc cccc ccccc ccccc.d | cpio -o -H address@hidden > address@hidden
- ls -1 -d a aa aaaaa.d b bb | cpio -o -H address@hidden > address@hidden
- ls -1 -d a aaaaa.d | cpio -o -H address@hidden > address@hidden
-newc: alphabet
- ls -1 -d ? ?? ??? ???? ????? ?????.d | grep -v CVS | cpio -o -H
address@hidden > address@hidden
- ls -1 -d a aa aaa aaaa aaaaa aaaaa.d b bb bbb bbbb bbbbb bbbbb.d c cc
ccc cccc ccccc ccccc.d | cpio -o -H address@hidden > address@hidden
- ls -1 -d a aa aaaaa.d b bb | cpio -o -H address@hidden > address@hidden
- ls -1 -d a aaaaa.d | cpio -o -H address@hidden > address@hidden
-odc: alphabet
- ls -1 -d ? ?? ??? ???? ????? ?????.d | grep -v CVS | cpio -o -H
address@hidden > address@hidden
- ls -1 -d a aa aaa aaaa aaaaa aaaaa.d b bb bbb bbbb bbbbb bbbbb.d c cc
ccc cccc ccccc ccccc.d | cpio -o -H address@hidden > address@hidden
- ls -1 -d a aa aaaaa.d b bb | cpio -o -H address@hidden > address@hidden
- ls -1 -d a aaaaa.d | cpio -o -H address@hidden > address@hidden
-tar: alphabet
- ls -1 -d ? ?? ??? ???? ????? ?????.d | grep -v CVS | cpio -o -H
address@hidden > address@hidden
- ls -1 -d a aa aaa aaaa aaaaa aaaaa.d b bb bbb bbbb bbbbb bbbbb.d c cc
ccc cccc ccccc ccccc.d | cpio -o -H address@hidden > address@hidden
- ls -1 -d a aa aaaaa.d b bb | cpio -o -H address@hidden > address@hidden
- ls -1 -d a aaaaa.d | cpio -o -H address@hidden > address@hidden
-ustar: alphabet
- ls -1 -d ? ?? ??? ???? ????? ?????.d | grep -v CVS | cpio -o -H
address@hidden > address@hidden
- ls -1 -d a aa aaa aaaa aaaaa aaaaa.d b bb bbb bbbb bbbbb bbbbb.d c cc
ccc cccc ccccc ccccc.d | cpio -o -H address@hidden > address@hidden
- ls -1 -d a aa aaaaa.d b bb | cpio -o -H address@hidden > address@hidden
- ls -1 -d a aaaaa.d | cpio -o -H address@hidden > address@hidden
+archives:
+ ls -1 -d ? ?? ??? ???? ????? ?????.d | grep -v CVS | cpio -o -H
${archive_format} > alphabet.${archive_format}.cpio
+ ls -1 -d a aa aaa aaaa aaaaa aaaaa.d b bb bbb bbbb bbbbb bbbbb.d c cc
ccc cccc ccccc ccccc.d | cpio -o -H ${archive_format} >
alphabet_small.${archive_format}.cpio
+ ls -1 -d a aa aaaaa.d b bb | cpio -o -H ${archive_format} >
alphabet_tiny.${archive_format}.cpio
+ ls -1 -d a aaaaa.d | cpio -o -H ${archive_format} >
alphabet_mini.${archive_format}.cpio
+
+bin crc hpbin hpodc newc odc tar ustar: alphabet
+ ${MAKE} address@hidden archives
+
+links: # bin_links crc_links hpbin_links hpodc_links newc_links tar_links
ustar_links
+ for i in *.cpio ; do \
+ ln -s $${i} `basename $${i} .cpio` ; \
+ done
################################
#
@@ -263,6 +236,12 @@ clean:
rm $${l} $${l}$${l} $${l}$${l}$${l} $${l}$${l}$${l}$${l}
$${l}$${l}$${l}$${l}$${l} ; \
rmdir $${l}$${l}$${l}$${l}$${l}.d ;
\
done
+ for i in * ; do
\
+ if [ -L $${i} ] ; then
\
+ rm -f $${i} ;
\
+ fi ;
\
+ done
+
distclean: clean
-rm -f *~
@@ -294,9 +273,7 @@ dist: check_gnu distdir
${INSTALL} Makefile.in ${distdir}
distdir: check_gnu
- test -d ${distdir} || mkdir -o ${distdir}
-
-
+ test -d ${distdir} || mkdir -p ${distdir}
################################
#
@@ -305,3 +282,29 @@ distdir: check_gnu
info: nonsense
+################
+#
+# Autoreconfiscation.
+#
+
+${top_srcdir}/configure: ${top_srcdir}/configure.ac # aclocal.m4
+ cd '${top_srcdir}' && autoconf
+
+# autoheader might not change config.h.in, so touch a stamp file.
+# ${top_srcdir}/config.h.in: stamp-h.in
+${top_srcdir}/stamp-h.in: ${top_srcdir}/configure.ac # aclocal.m4
+ cd '${top_srcdir}' # && autoheader
+ echo timestamp > '${top_srcdir}/stamp-h.in'
+
+${top_srcdir}/config.h: ${top_srcdir}/stamp-h
+${top_srcdir}/stamp-h: ${top_srcdir}/config.h.in ${top_srcdir}/config.status
+ cd '${top_srcdir}' ; \
+ ./config.status
+
+Makefile: Makefile.in ${top_srcdir}/config.status
+ cd '${top_srcdir}' ; \
+ ./config.status
+
+${top_srcdir}/config.status: ${top_srcdir}/configure
+ cd '${top_srcdir}' ; \
+ ./config.status --recheck
diff --git a/ttt.el b/ttt.el
index ace3fc4..ba136ce 100644
--- a/ttt.el
+++ b/ttt.el
@@ -2,7 +2,7 @@
;; COPYRIGHT
-;; Copyright © 2017, 2018, 2019 Douglas Lewan, address@hidden
+;; Copyright © 2019 Free Software Foundation, Inc.
;; All rights reserved.
;;
;; This program is free software: you can redistribute it and/or modify
@@ -19,9 +19,9 @@
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;; Author: Douglas Lewan (address@hidden)
-;; Maintainer: -- " --
+;; Maintainer: Douglas Lewan <address@hidden>
;; Created: 2018 Nov 27
-;; Version: 0.13β
+;; Version: 0.15β
;; Keywords: files
;;; Commentary:
- [elpa] externals/cpio-mode b9cee9d 35/61: Add files via upload, (continued)
- [elpa] externals/cpio-mode b9cee9d 35/61: Add files via upload, Stefan Monnier, 2019/01/11
- [elpa] externals/cpio-mode 50d0df9 56/61: Initial code derived from the previous Makefile., Stefan Monnier, 2019/01/11
- [elpa] externals/cpio-mode e37b7ed 57/61: Version: 0.13β, Stefan Monnier, 2019/01/11
- [elpa] externals/cpio-mode 0fe3abc 37/61: Removed commented out stub debuggers., Stefan Monnier, 2019/01/11
- [elpa] externals/cpio-mode 0c4985a 52/61: Makefile to be replaced by Makefile.in, Stefan Monnier, 2019/01/11
- [elpa] externals/cpio-mode eb7e950 07/61: Create cpio-dired.el, Stefan Monnier, 2019/01/11
- [elpa] externals/cpio-mode 0976f38 49/61: Version 0.12β, Stefan Monnier, 2019/01/11
- [elpa] externals/cpio-mode 12e550e 58/61: Version 0.14β, Stefan Monnier, 2019/01/11
- [elpa] externals/cpio-mode f2bad29 60/61: Moved to cpio-mode.el., Stefan Monnier, 2019/01/11
- [elpa] externals/cpio-mode 38a59a6 59/61: Renamed from cpio.el., Stefan Monnier, 2019/01/11
- [elpa] externals/cpio-mode 90f1236 61/61: New version with copyright assigned to the FSF.,
Stefan Monnier <=
- [elpa] externals/cpio-mode 6c0fa51 38/61: version 0.04, Stefan Monnier, 2019/01/11
- [elpa] externals/cpio-mode f4a1a89 44/61: Version 0.08, Stefan Monnier, 2019/01/11
- [elpa] externals/cpio-mode 4cc60b1 51/61: Version: 0.13β, Stefan Monnier, 2019/01/11
- [elpa] externals/cpio-mode 86b255b 46/61: Version 0.09 -- a little polish, Stefan Monnier, 2019/01/11
- [elpa] externals/cpio-mode 8047799 42/61: Version 0.07 -- fontification, Stefan Monnier, 2019/01/11
- [elpa] externals/cpio-mode 2a01909 34/61: Add files via upload, Stefan Monnier, 2019/01/11
- [elpa] externals/cpio-mode 5a87960 47/61: Version 0.10, Stefan Monnier, 2019/01/13
- [elpa] externals/cpio-mode 889e8fe 41/61: Version 0.06, Stefan Monnier, 2019/01/16