aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2015-10-10 18:03:49 -0700
committerPaul Eggert2015-10-10 18:11:27 -0700
commit29dfca23553b9995a8ec3b50090a652a6a0ecb01 (patch)
treea5d968df7cadd8259e029d89e6150dfe6762cb96
parentec0d4d24fd11b5040de9f7657b486c3b1e743071 (diff)
downloademacs-29dfca23553b9995a8ec3b50090a652a6a0ecb01.tar.gz
emacs-29dfca23553b9995a8ec3b50090a652a6a0ecb01.zip
Use ‘echo’ safely with ‘\’ or leading ‘-’
POSIX says that ‘echo FOO’ produces implementation-defined output if FOO contains leading ‘-’, or ‘\’ anywhere, so don’t assume GNU behavior in that case. * Makefile.in (removenullpaths): Remove. (epaths-force): Rewrite to avoid the need for ‘echo’. (install-etc): Be clearer about escaping the shell metacharacters ‘\’ and ‘$’. * Makefile.in (install-arch-indep, install-etcdoc): * admin/charsets/mapconv, admin/merge-gnulib, admin/merge-pkg-config: * admin/quick-install-emacs, build-aux/gitlog-to-emacslog: * configure.ac, lib-src/rcs2log, make-dist: * src/Makefile.in (lisp.mk): Don’t assume ‘echo’ outputs ‘\’ and leading ‘-’ unscathed. For example, use ‘printf '%s\n' "$foo"’ rather than ‘echo "$foo"’ if $foo can contain arbitrary characters. * lisp/Makefile.in (TAGS): Use ‘ls’, not ‘echo’, to avoid ‘\’ issues. * doc/lispref/two-volume.make (vol1.pdf): * test/etags/make-src/Makefile (web ftp publish): Use ‘printf’ rather than ‘echo -e’.
-rw-r--r--Makefile.in25
-rwxr-xr-xadmin/charsets/mapconv5
-rwxr-xr-xadmin/merge-gnulib6
-rwxr-xr-xadmin/merge-pkg-config6
-rwxr-xr-xadmin/quick-install-emacs34
-rwxr-xr-xbuild-aux/gitlog-to-emacslog10
-rw-r--r--configure.ac158
-rw-r--r--doc/lispref/two-volume.make47
-rwxr-xr-xlib-src/rcs2log20
-rw-r--r--lisp/Makefile.in9
-rw-r--r--lisp/term.el86
-rwxr-xr-xmake-dist24
-rw-r--r--src/Makefile.in2
-rw-r--r--test/etags/make-src/Makefile8
14 files changed, 205 insertions, 235 deletions
diff --git a/Makefile.in b/Makefile.in
index 4ee84f96ad6..1245f76fabf 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -314,8 +314,6 @@ etc-emacsver:
314 ${srcdir}/build-aux/move-if-change emacsver.tex.$$$$ \ 314 ${srcdir}/build-aux/move-if-change emacsver.tex.$$$$ \
315 ${srcdir}/etc/refcards/emacsver.tex 315 ${srcdir}/etc/refcards/emacsver.tex
316 316
317removenullpaths=sed -e 's/^:*//' -e 's/:*$$//g' -e 's/::*/:/g'
318
319# Generate epaths.h from epaths.in. This target is invoked by 'configure'. 317# Generate epaths.h from epaths.in. This target is invoked by 'configure'.
320# See comments in configure.ac for why it is done this way, as opposed 318# See comments in configure.ac for why it is done this way, as opposed
321# to just letting configure generate epaths.h from epaths.in in a 319# to just letting configure generate epaths.h from epaths.in in a
@@ -324,20 +322,18 @@ epaths-force:
324 @for dir in '$(abs_srcdir)' '$(lispdir)' '$(archlibdir)'; do \ 322 @for dir in '$(abs_srcdir)' '$(lispdir)' '$(archlibdir)'; do \
325 case $$dir in \ 323 case $$dir in \
326 *:*) \ 324 *:*) \
327 echo >&2 "Build or installation directory '$$dir'"; \ 325 printf >&2 "Build or installation directory '%s'\\n" "$$dir"; \
328 echo >&2 "cannot contain ':'."; \ 326 echo >&2 "cannot contain ':'."; \
329 exit 1;; \ 327 exit 1;; \
330 esac; \ 328 esac; \
331 done 329 done
332 @(standardlisppath=`echo "${standardlisppath}" | ${removenullpaths}` ; \ 330 @(gamedir='${gamedir}'; \
333 locallisppath=`echo "${locallisppath}" | ${removenullpaths}` ; \
334 buildlisppath=`echo "${buildlisppath}" | ${removenullpaths}` ; \
335 x_default_search_path=`echo ${x_default_search_path}`; \
336 gamedir=`echo ${gamedir}`; \
337 sed < ${srcdir}/src/epaths.in > epaths.h.$$$$ \ 331 sed < ${srcdir}/src/epaths.in > epaths.h.$$$$ \
338 -e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "'"$${standardlisppath}"'";' \ 332 -e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "${standardlisppath}";' \
339 -e 's;\(#.*PATH_SITELOADSEARCH\).*$$;\1 "'"$${locallisppath}"'";' \ 333 -e 's;\(#.*PATH_SITELOADSEARCH\).*$$;\1 "${locallisppath}";' \
340 -e 's;\(#.*PATH_DUMPLOADSEARCH\).*$$;\1 "'"$${buildlisppath}"'";' \ 334 -e 's;\(#.*PATH_DUMPLOADSEARCH\).*$$;\1 "${buildlisppath}";' \
335 -e '/^#define PATH_[^ ]*SEARCH /s/\([":]\):*/\1/g' \
336 -e '/^#define PATH_[^ ]*SEARCH /s/:"/"/' \
341 -e 's;\(#.*PATH_EXEC\).*$$;\1 "${archlibdir}";' \ 337 -e 's;\(#.*PATH_EXEC\).*$$;\1 "${archlibdir}";' \
342 -e 's;\(#.*PATH_INFO\).*$$;\1 "${infodir}";' \ 338 -e 's;\(#.*PATH_INFO\).*$$;\1 "${infodir}";' \
343 -e 's;\(#.*PATH_DATA\).*$$;\1 "${etcdir}";' \ 339 -e 's;\(#.*PATH_DATA\).*$$;\1 "${etcdir}";' \
@@ -577,7 +573,7 @@ install-arch-indep: lisp install-info install-man ${INSTALL_ARCH_INDEP_EXTRA}
577 fi; \ 573 fi; \
578 rm -rf "$${dest}" ; \ 574 rm -rf "$${dest}" ; \
579 umask 022; ${MKDIR_P} "$${dest}" ; \ 575 umask 022; ${MKDIR_P} "$${dest}" ; \
580 echo "Copying $${dir} to $${dest}..." ; \ 576 printf 'Copying %s to %s...\n' "$$dir" "$$dest" ; \
581 (cd $${dir}; tar -chf - . ) \ 577 (cd $${dir}; tar -chf - . ) \
582 | (cd "$${dest}"; umask 022; \ 578 | (cd "$${dest}"; umask 022; \
583 tar -xvf - && cat > /dev/null) || exit 1; \ 579 tar -xvf - && cat > /dev/null) || exit 1; \
@@ -632,7 +628,8 @@ install-etcdoc: src install-arch-indep
632 if [ "`cd ./etc; /bin/pwd`" != "$$exp_etcdocdir" ]; \ 628 if [ "`cd ./etc; /bin/pwd`" != "$$exp_etcdocdir" ]; \
633 then \ 629 then \
634 docfile="DOC"; \ 630 docfile="DOC"; \
635 echo "Copying etc/$${docfile} to $(DESTDIR)${etcdocdir} ..." ; \ 631 printf 'Copying %s to %s ...\n' "etc/$$docfile" \
632 "$(DESTDIR)${etcdocdir}"; \
636 ${INSTALL_DATA} etc/$${docfile} "$(DESTDIR)${etcdocdir}/$${docfile}"; \ 633 ${INSTALL_DATA} etc/$${docfile} "$(DESTDIR)${etcdocdir}/$${docfile}"; \
637 $(set_installuser); \ 634 $(set_installuser); \
638 chown $${installuser} "$(DESTDIR)${etcdocdir}/$${docfile}" || true ; \ 635 chown $${installuser} "$(DESTDIR)${etcdocdir}/$${docfile}" || true ; \
@@ -721,7 +718,7 @@ install-etc:
721 for icon in $${dir}/${EMACS_ICON}[.-]*; do \ 718 for icon in $${dir}/${EMACS_ICON}[.-]*; do \
722 [ -r $${icon} ] || continue ; \ 719 [ -r $${icon} ] || continue ; \
723 ext=`echo "$${icon}" | sed -e 's|.*\.||'`; \ 720 ext=`echo "$${icon}" | sed -e 's|.*\.||'`; \
724 dest=`echo "$${icon}" | sed -e 's|.*/||' -e "s|\.$${ext}$$||" -e 's/$(EMACS_ICON)/emacs/' -e '$(TRANSFORM)'`.$${ext} ; \ 721 dest=`echo "$${icon}" | sed -e 's|.*/||' -e "s|\\.$${ext}\$$||" -e 's/$(EMACS_ICON)/emacs/' -e '$(TRANSFORM)'`.$${ext} ; \
725 ( cd "$${thisdir}"; \ 722 ( cd "$${thisdir}"; \
726 ${INSTALL_DATA} ${iconsrcdir}/$${icon} "$(DESTDIR)${icondir}/$${dir}/$${dest}" ) \ 723 ${INSTALL_DATA} ${iconsrcdir}/$${icon} "$(DESTDIR)${icondir}/$${dir}/$${dest}" ) \
727 || exit 1; \ 724 || exit 1; \
diff --git a/admin/charsets/mapconv b/admin/charsets/mapconv
index 32ba6421a86..3747ae2ad77 100755
--- a/admin/charsets/mapconv
+++ b/admin/charsets/mapconv
@@ -64,7 +64,7 @@ case "$3" in
64 KANJI-DATABASE) 64 KANJI-DATABASE)
65 SOURCE="http://kanji-database.cvs.sourceforge.net/viewvc/*checkout*/kanji-database/kanji-database/data/cns2ucsdkw.txt?revision=1.4";; 65 SOURCE="http://kanji-database.cvs.sourceforge.net/viewvc/*checkout*/kanji-database/kanji-database/data/cns2ucsdkw.txt?revision=1.4";;
66 *) 66 *)
67 echo "Unknown file type: $3"; 67 printf 'Unknown file type: %s\n' "$3"
68 exit 1;; 68 exit 1;;
69esac 69esac
70 70
@@ -147,7 +147,6 @@ elif [ "$3" = "KANJI-DATABASE" ] ; then
147 | sed -e 's/...\(....\) U+\([0-9A-F]*\).*/0x\1 0x\2/' \ 147 | sed -e 's/...\(....\) U+\([0-9A-F]*\).*/0x\1 0x\2/' \
148 | sort | ${AWKPROG} 148 | sort | ${AWKPROG}
149else 149else
150 echo "Invalid arguments: $3" 150 printf 'Invalid arguments: %s\n' "$3"
151 exit 1 151 exit 1
152fi 152fi
153
diff --git a/admin/merge-gnulib b/admin/merge-gnulib
index 963c3a06e1a..818dc1afce9 100755
--- a/admin/merge-gnulib
+++ b/admin/merge-gnulib
@@ -71,7 +71,7 @@ case $gnulib_srcdir in
71esac 71esac
72case $src in 72case $src in
73 -*) 73 -*)
74 echo >&2 "$0: usage: $0 [GNULIB_SRCDIR [SRCDIR]] 74 printf '%s\n' >&2 "$0: usage: $0 [GNULIB_SRCDIR [SRCDIR]]
75 75
76 SRCDIR is the Emacs source directory (default: working directory). 76 SRCDIR is the Emacs source directory (default: working directory).
77 GNULIB_SRCDIR is the Gnulib source directory (default: SRCDIR/../gnulib)." 77 GNULIB_SRCDIR is the Gnulib source directory (default: SRCDIR/../gnulib)."
@@ -79,7 +79,7 @@ case $src in
79esac 79esac
80 80
81test -x "$src"autogen.sh || { 81test -x "$src"autogen.sh || {
82 echo >&2 "$0: '${src:-.}' is not an Emacs source directory." 82 printf '%s\n' >&2 "$0: '${src:-.}' is not an Emacs source directory."
83 exit 1 83 exit 1
84} 84}
85 85
@@ -88,7 +88,7 @@ git clone -- "$GNULIB_URL" "$gnulib_srcdir" ||
88exit 88exit
89 89
90test -x "$gnulib_srcdir"/gnulib-tool || { 90test -x "$gnulib_srcdir"/gnulib-tool || {
91 echo >&2 "$0: '$gnulib_srcdir' is not a Gnulib source directory." 91 printf '%s\n' >&2 "$0: '$gnulib_srcdir' is not a Gnulib source directory."
92 exit 1 92 exit 1
93} 93}
94 94
diff --git a/admin/merge-pkg-config b/admin/merge-pkg-config
index 2ee633d36c1..302937269df 100755
--- a/admin/merge-pkg-config
+++ b/admin/merge-pkg-config
@@ -49,15 +49,15 @@
49 49
50 test -n "$dir" 50 test -n "$dir"
51} || { 51} || {
52 echo >&2 "$0: cannot find pkg.m4" 52 printf >&2 '%s\n' "$0: cannot find pkg.m4"
53 exit 1 53 exit 1
54} 54}
55 55
56test -d m4 || { 56test -d m4 || {
57 echo >&2 "$0: please run this command in the main source directory" 57 printf >&2 '%s\n' "$0: please run this command in the main source directory"
58 exit 1 58 exit 1
59} 59}
60 60
61echo >&2 "$0: copying $dir/pkg.m4 to m4/pkg.m4" 61printf >&2 '%s\n' "$0: copying $dir/pkg.m4 to m4/pkg.m4"
62 62
63cp $dir/pkg.m4 m4 63cp $dir/pkg.m4 m4
diff --git a/admin/quick-install-emacs b/admin/quick-install-emacs
index 55510fb0252..4de7416e3d6 100755
--- a/admin/quick-install-emacs
+++ b/admin/quick-install-emacs
@@ -121,11 +121,11 @@ EOF
121 -[!-]?*) 121 -[!-]?*)
122 # split concatenated single-letter options apart 122 # split concatenated single-letter options apart
123 FIRST="$1"; shift 123 FIRST="$1"; shift
124 set -- `echo $FIRST | sed 's/-\(.\)\(.*\)/-\1 -\2/'` "$@" 124 set -- `printf '%s\n' "$FIRST" | sed 's/-\(.\)\(.*\)/-\1 -\2/'` "$@"
125 ;; 125 ;;
126 -*) 126 -*)
127 echo 1>&2 "$me: unrecognized option '$1'" 127 printf '%s\n' >&2 "$me: unrecognized option '$1'"
128 echo 1>&2 "$TRY" 128 printf '%s\n' >&2 "$TRY"
129 exit 1 129 exit 1
130 ;; 130 ;;
131 *) 131 *)
@@ -140,17 +140,18 @@ case $# in
140 1) BUILD="$1";; 140 1) BUILD="$1";;
141 2) BUILD="$1"; prefix="$2";; 141 2) BUILD="$1"; prefix="$2";;
142 *) 142 *)
143 echo 1>&2 "$USAGE" 143 printf '%s\n' >&2 "$USAGE"
144 echo 1>&2 "$TRY" 144 printf '%s\n' >&2 "$TRY"
145 exit 1 145 exit 1
146 ;; 146 ;;
147esac 147esac
148 148
149if test ! -d "$BUILD"; then 149if test ! -d "$BUILD"; then
150 echo 1>&2 "$me: $BUILD: Build tree not found" 150 printf '%s\n' >&2 "$me: $BUILD: Build tree not found"
151 exit 2 151 exit 2
152elif test ! -r "$BUILD/config.status"; then 152elif test ! -r "$BUILD/config.status"; then
153 echo 1>&2 "$me: $BUILD: Not a proper build tree, config.status not found" 153 printf '%s\n' >&2 \
154 "$me: $BUILD: Not a proper build tree, config.status not found"
154 exit 2 155 exit 2
155fi 156fi
156 157
@@ -160,7 +161,8 @@ get_config_var ()
160 { sed -n "s/^S[[]\"$1\"[]]=\"\([^\"]*\)\"/\1/p" $CONFIG_STATUS | sed q | grep ''; } || 161 { sed -n "s/^S[[]\"$1\"[]]=\"\([^\"]*\)\"/\1/p" $CONFIG_STATUS | sed q | grep ''; } ||
161 { sed -n "s/^s\(.\)@$1@\1\(|#_!!_#|\)*\(.*\)\1.*$/\3/p" $CONFIG_STATUS | sed q | grep ''; } || 162 { sed -n "s/^s\(.\)@$1@\1\(|#_!!_#|\)*\(.*\)\1.*$/\3/p" $CONFIG_STATUS | sed q | grep ''; } ||
162 { 163 {
163 echo 1>&2 "$me: $1: Configuration variable not found in $CONFIG_STATUS" 164 printf '%s\n' >&2 \
165 "$me: $1: Configuration variable not found in $CONFIG_STATUS"
164 exit 4 166 exit 4
165 } 167 }
166} 168}
@@ -172,7 +174,7 @@ test x"$ARCH" = x && { ARCH="`get_config_var host`" || exit 4 ; }
172VERSION=` 174VERSION=`
173 sed -n 's/^AC_INIT(emacs,[ ]*\([^ )]*\).*/\1/p' <$SRC/configure.ac 175 sed -n 's/^AC_INIT(emacs,[ ]*\([^ )]*\).*/\1/p' <$SRC/configure.ac
174` || exit 4 176` || exit 4
175test -n "$VERSION" || { echo >&2 "$me: no version in configure.ac"; exit 4; } 177test -n "$VERSION" || { printf '%s\n' >&2 "$me: no version in configure.ac"; exit 4; }
176 178
177DST_SHARE="$prefix/share/emacs/$VERSION" 179DST_SHARE="$prefix/share/emacs/$VERSION"
178DST_BIN="$prefix/bin" 180DST_BIN="$prefix/bin"
@@ -209,7 +211,7 @@ maybe_mkdir "$DST_INFO"
209PRUNED="" 211PRUNED=""
210if test x"$PRUNE" != xno; then 212if test x"$PRUNE" != xno; then
211 for D in `ls -1t $BUILD/src/emacs-$VERSION.* | sed 1d`; do 213 for D in `ls -1t $BUILD/src/emacs-$VERSION.* | sed 1d`; do
212 echo $REMOVE_CMD $D 214 printf '%s\n' "$REMOVE_CMD $D"
213 PRUNED="$PRUNED $D" 215 PRUNED="$PRUNED $D"
214 done 216 done
215fi 217fi
@@ -219,7 +221,7 @@ test x"$PRUNE" = xonly && exit 0
219maybe_emit_copy () 221maybe_emit_copy ()
220{ 222{
221 if test "$FORCE" = yes || ! cmp -s $1 $2; then 223 if test "$FORCE" = yes || ! cmp -s $1 $2; then
222 echo $LINK_CMD $1 $2 224 printf '%s\n' "$LINK_CMD $1 $2"
223 fi 225 fi
224} 226}
225 227
@@ -240,7 +242,7 @@ for SUBDIR in lisp leim etc lib-src info; do
240 # defaults 242 # defaults
241 SHARED=no 243 SHARED=no
242 FORCED='' 244 FORCED=''
243 AVOID_PAT="`echo "($AVOID)" | tr ' ' '|'`" 245 AVOID_PAT="`printf '%s\n' "($AVOID)" | tr ' ' '|'`"
244 246
245 # Set subdir-specific values 247 # Set subdir-specific values
246 case $SUBDIR in 248 case $SUBDIR in
@@ -255,7 +257,7 @@ for SUBDIR in lisp leim etc lib-src info; do
255 ;; 257 ;;
256 lib-src) 258 lib-src)
257 DST="$DST_LIBEXEC" 259 DST="$DST_LIBEXEC"
258 AVOID_PAT="`echo "($AVOID ($PUBLIC_LIBSRC_BINARIES)\$)" | tr ' ' '|'`" 260 AVOID_PAT="`printf '%s\n' "($AVOID ($PUBLIC_LIBSRC_BINARIES)\$)" | tr ' ' '|'`"
259 ;; 261 ;;
260 info) 262 info)
261 DST="$DST_INFO" 263 DST="$DST_INFO"
@@ -267,10 +269,10 @@ for SUBDIR in lisp leim etc lib-src info; do
267 if [ -d $PFX/$SUBDIR ]; then 269 if [ -d $PFX/$SUBDIR ]; then
268 for DIR in `(cd $PFX/$SUBDIR; find . -type d -print | sed 's@^./@@')`; do 270 for DIR in `(cd $PFX/$SUBDIR; find . -type d -print | sed 's@^./@@')`; do
269 if [ -d $DST/$DIR ]; then 271 if [ -d $DST/$DIR ]; then
270 echo Directory $DST/$DIR exists 272 printf '%s\n' "Directory $DST/$DIR exists"
271 else 273 else
272 echo Directory $DST/$DIR non-existent 274 printf '%s\n' "Directory $DST/$DIR non-existent"
273 if [ "`echo $DIR | egrep -v "$AVOID_PAT"`" ]; then 275 if [ "`printf '%s\n' "$DIR" | grep -Ev "$AVOID_PAT"`" ]; then
274 maybe_mkdir $DST/$DIR 276 maybe_mkdir $DST/$DIR
275 fi 277 fi
276 fi 278 fi
diff --git a/build-aux/gitlog-to-emacslog b/build-aux/gitlog-to-emacslog
index 51ef2a7fc72..3d61ba1e389 100755
--- a/build-aux/gitlog-to-emacslog
+++ b/build-aux/gitlog-to-emacslog
@@ -35,14 +35,14 @@ while [ $# -gt 0 ]; do
35 -f|--force) force=1 ;; 35 -f|--force) force=1 ;;
36 -n|--nmax) nmax="$2"; shift ;; 36 -n|--nmax) nmax="$2"; shift ;;
37 -o|--output) output="$2" ; shift ;; 37 -o|--output) output="$2" ; shift ;;
38 *) echo "Unrecognized argument: $1" >&2; exit 1 ;; 38 *) printf '%s\n' "Unrecognized argument: $1" >&2; exit 1 ;;
39 esac 39 esac
40 shift 40 shift
41done 41done
42 42
43if [ ! -f ChangeLog.$nmax ]; then 43if [ ! -f ChangeLog.$nmax ]; then
44 echo "Can't find ChangeLog.$nmax" >&2 44 printf '%s\n' "Can't find ChangeLog.$nmax" >&2
45 echo "Must be run from the top source directory" >&2 45 printf '%s\n' "Must be run from the top source directory" >&2
46 exit 1 46 exit 1
47fi 47fi
48 48
@@ -52,7 +52,7 @@ fi
52 gen_origin_line=` 52 gen_origin_line=`
53 grep -E '^commit [0-9a-f]+ [(]inclusive[)]' ChangeLog.$nmax 53 grep -E '^commit [0-9a-f]+ [(]inclusive[)]' ChangeLog.$nmax
54 ` || { 54 ` || {
55 echo "ChangeLog.$nmax lacks a 'commit ... (inclusive)' line" >&2 55 printf '%s\n' "ChangeLog.$nmax lacks a 'commit ... (inclusive)' line" >&2
56 exit 1 56 exit 1
57 } 57 }
58 set $gen_origin_line 58 set $gen_origin_line
@@ -63,7 +63,7 @@ fi
63new_origin=`git log --pretty=format:%H 'HEAD^!'` || exit 63new_origin=`git log --pretty=format:%H 'HEAD^!'` || exit
64 64
65if [ -f "$output" ]; then 65if [ -f "$output" ]; then
66 [ ! "$force" ] && echo "$output exists" >&2 && exit 1 66 [ ! "$force" ] && printf '%s\n' "$output exists" >&2 && exit 1
67 rm -f "$output" || exit 1 67 rm -f "$output" || exit 1
68fi 68fi
69 69
diff --git a/configure.ac b/configure.ac
index d537f73c939..90c4e12e7df 100644
--- a/configure.ac
+++ b/configure.ac
@@ -401,7 +401,7 @@ gamegroup=
401case ${with_gameuser} in 401case ${with_gameuser} in
402 no) ;; 402 no) ;;
403 "" | yes) gamegroup=games ;; 403 "" | yes) gamegroup=games ;;
404 :*) gamegroup=`echo "${with_gameuser}" | sed -e "s/://"` ;; 404 :*) gamegroup=${with_gameuser#:} ;;
405 *) gameuser=${with_gameuser} ;; 405 *) gameuser=${with_gameuser} ;;
406esac 406esac
407 407
@@ -1702,15 +1702,17 @@ fi
1702LD_SWITCH_X_SITE_RPATH= 1702LD_SWITCH_X_SITE_RPATH=
1703if test "${x_libraries}" != NONE; then 1703if test "${x_libraries}" != NONE; then
1704 if test -n "${x_libraries}"; then 1704 if test -n "${x_libraries}"; then
1705 LD_SWITCH_X_SITE=-L`echo ${x_libraries} | sed -e "s/:/ -L/g"` 1705 LD_SWITCH_X_SITE=-L`AS_ECHO(["$x_libraries"]) | sed -e 's/:/ -L/g'`
1706 LD_SWITCH_X_SITE_RPATH=-Wl,-rpath,`echo ${x_libraries} | sed -e "s/:/ -Wl,-rpath,/g"` 1706 LD_SWITCH_X_SITE_RPATH=-Wl,-rpath,`
1707 AS_ECHO(["$x_libraries"]) | sed -e 's/:/ -Wl,-rpath,/g'
1708 `
1707 fi 1709 fi
1708 x_default_search_path="" 1710 x_default_search_path=""
1709 x_search_path=${x_libraries} 1711 x_search_path=${x_libraries}
1710 if test -z "${x_search_path}"; then 1712 if test -z "${x_search_path}"; then
1711 x_search_path=/usr/lib 1713 x_search_path=/usr/lib
1712 fi 1714 fi
1713 for x_library in `echo ${x_search_path}: | \ 1715 for x_library in `AS_ECHO(["$x_search_path:"]) | \
1714 sed -e "s/:/ /g" -e p -e "s:/lib[[^ /]]* :/share :g"`; do 1716 sed -e "s/:/ /g" -e p -e "s:/lib[[^ /]]* :/share :g"`; do
1715 x_search_path="\ 1717 x_search_path="\
1716${x_library}/X11/%L/%T/%N%C%S:\ 1718${x_library}/X11/%L/%T/%N%C%S:\
@@ -1729,15 +1731,15 @@ fi
1729AC_SUBST(LD_SWITCH_X_SITE_RPATH) 1731AC_SUBST(LD_SWITCH_X_SITE_RPATH)
1730 1732
1731if test "${x_includes}" != NONE && test -n "${x_includes}"; then 1733if test "${x_includes}" != NONE && test -n "${x_includes}"; then
1732 C_SWITCH_X_SITE="$isystem"`echo ${x_includes} | sed -e "s/:/ $isystem/g"` 1734 C_SWITCH_X_SITE=$isystem`AS_ECHO(["$x_includes"]) | sed -e "s/:/ $isystem/g"`
1733fi 1735fi
1734 1736
1735if test x"${x_includes}" = x; then 1737if test x"${x_includes}" = x; then
1736 bitmapdir=/usr/include/X11/bitmaps 1738 bitmapdir=/usr/include/X11/bitmaps
1737else 1739else
1738 # accumulate include directories that have X11 bitmap subdirectories 1740 # accumulate include directories that have X11 bitmap subdirectories
1739 bmd_acc="dummyval" 1741 bmd_acc=
1740 for bmd in `echo ${x_includes} | sed -e "s/:/ /g"`; do 1742 for bmd in `AS_ECHO(["$x_includes"]) | sed -e 's/:/ /g'`; do
1741 if test -d "${bmd}/X11/bitmaps"; then 1743 if test -d "${bmd}/X11/bitmaps"; then
1742 bmd_acc="${bmd_acc}:${bmd}/X11/bitmaps" 1744 bmd_acc="${bmd_acc}:${bmd}/X11/bitmaps"
1743 fi 1745 fi
@@ -1745,9 +1747,7 @@ else
1745 bmd_acc="${bmd_acc}:${bmd}/bitmaps" 1747 bmd_acc="${bmd_acc}:${bmd}/bitmaps"
1746 fi 1748 fi
1747 done 1749 done
1748 if test ${bmd_acc} != "dummyval"; then 1750 bitmapdir=${bmdacc#:}
1749 bitmapdir=`echo ${bmd_acc} | sed -e "s/^dummyval://"`
1750 fi
1751fi 1751fi
1752 1752
1753test "${with_ns}" = maybe && test "${opsys}" != darwin && with_ns=no 1753test "${with_ns}" = maybe && test "${opsys}" != darwin && with_ns=no
@@ -1777,11 +1777,23 @@ if test "${with_ns}" != no; then
1777 elif test -f $GNUSTEP_CONFIG_FILE; then 1777 elif test -f $GNUSTEP_CONFIG_FILE; then
1778 NS_IMPL_GNUSTEP=yes 1778 NS_IMPL_GNUSTEP=yes
1779 dnl FIXME sourcing this several times in subshells seems inefficient. 1779 dnl FIXME sourcing this several times in subshells seems inefficient.
1780 GNUSTEP_SYSTEM_HEADERS="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_SYSTEM_HEADERS)" 1780 GNUSTEP_SYSTEM_HEADERS=$(
1781 GNUSTEP_SYSTEM_LIBRARIES="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_SYSTEM_LIBRARIES)" 1781 . $GNUSTEP_CONFIG_FILE
1782 AS_ECHO(["$GNUSTEP_SYSTEM_HEADERS"])
1783 )
1784 GNUSTEP_SYSTEM_LIBRARIES=$(
1785 . $GNUSTEP_CONFIG_FILE
1786 AS_ECHO(["$GNUSTEP_SYSTEM_LIBRARIES"])
1787 )
1782 dnl I seemed to need these as well with GNUstep-startup 0.25. 1788 dnl I seemed to need these as well with GNUstep-startup 0.25.
1783 GNUSTEP_LOCAL_HEADERS="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_LOCAL_HEADERS)" 1789 GNUSTEP_LOCAL_HEADERS=$(
1784 GNUSTEP_LOCAL_LIBRARIES="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_LOCAL_LIBRARIES)" 1790 . $GNUSTEP_CONFIG_FILE
1791 AS_ECHO(["$GNUSTEP_LOCAL_HEADERS"])
1792 )
1793 GNUSTEP_LOCAL_LIBRARIES=$(
1794 . $GNUSTEP_CONFIG_FILE
1795 AS_ECHO(["$GNUSTEP_LOCAL_LIBRARIES"])
1796 )
1785 test "x${GNUSTEP_LOCAL_HEADERS}" != "x" && \ 1797 test "x${GNUSTEP_LOCAL_HEADERS}" != "x" && \
1786 GNUSTEP_LOCAL_HEADERS="-I${GNUSTEP_LOCAL_HEADERS}" 1798 GNUSTEP_LOCAL_HEADERS="-I${GNUSTEP_LOCAL_HEADERS}"
1787 test "x${GNUSTEP_LOCAL_LIBRARIES}" != "x" && \ 1799 test "x${GNUSTEP_LOCAL_LIBRARIES}" != "x" && \
@@ -2057,7 +2069,11 @@ if test "$window_system" = none && test "X$with_x" != "Xno"; then
2057 AC_CHECK_PROG(HAVE_XSERVER, X, true, false) 2069 AC_CHECK_PROG(HAVE_XSERVER, X, true, false)
2058 if test "$HAVE_XSERVER" = true || 2070 if test "$HAVE_XSERVER" = true ||
2059 test -n "$DISPLAY" || 2071 test -n "$DISPLAY" ||
2060 test "`echo /usr/lib/libX11.*`" != "/usr/lib/libX11.*"; then 2072 {
2073 for emacs_libX11 in /usr/lib/libX11.*; do break; done
2074 test "$emacs_libX11" != '/usr/lib/libX11.*'
2075 }
2076 then
2061 AC_MSG_ERROR([You seem to be running X, but no X development libraries 2077 AC_MSG_ERROR([You seem to be running X, but no X development libraries
2062were found. You should install the relevant development files for X 2078were found. You should install the relevant development files for X
2063and for the toolkit you want, such as Gtk+ or Motif. Also make 2079and for the toolkit you want, such as Gtk+ or Motif. Also make
@@ -4718,11 +4734,13 @@ CPPFLAGS="$REAL_CPPFLAGS"
4718LIBS="$REAL_LIBS" 4734LIBS="$REAL_LIBS"
4719 4735
4720## Hack to detect a buggy GCC version. 4736## Hack to detect a buggy GCC version.
4721if test "x$GCC" = xyes \ 4737if test "$GCC" = yes && \
4722 && test x"`$CC --version 2> /dev/null | grep 'gcc.* 4.5.0'`" != x \ 4738 $CC --version 2> /dev/null | grep 'gcc.* 4.5.0' >/dev/null; then
4723 && test x"`echo $CFLAGS | grep '\-O@<:@23@:>@'`" != x \ 4739 case $CFLAGS in
4724 && test x"`echo $CFLAGS | grep '\-fno-optimize-sibling-calls'`" = x; then 4740 *-fno-optimize-sibling-calls*) ;;
4725 AC_MSG_ERROR([GCC 4.5.0 has problems compiling Emacs; see etc/PROBLEMS'.]) 4741 *-O@<:@23@:>@*)
4742 AC_MSG_ERROR([GCC 4.5.0 has problems compiling Emacs; see etc/PROBLEMS.]);;
4743 esac
4726fi 4744fi
4727 4745
4728version=$PACKAGE_VERSION 4746version=$PACKAGE_VERSION
@@ -4976,7 +4994,7 @@ LIBS=$SAVE_LIBS
4976if test "${opsys}" = "mingw32"; then 4994if test "${opsys}" = "mingw32"; then
4977 CPPFLAGS="$CPPFLAGS -DUSE_CRT_DLL=1 -I \${abs_top_srcdir}/nt/inc" 4995 CPPFLAGS="$CPPFLAGS -DUSE_CRT_DLL=1 -I \${abs_top_srcdir}/nt/inc"
4978 # Remove unneeded switches from the value of CC that goes to Makefiles 4996 # Remove unneeded switches from the value of CC that goes to Makefiles
4979 CC=`echo $CC | sed -e "s,$GCC_TEST_OPTIONS,,"` 4997 CC=`AS_ECHO(["$CC"]) | sed -e "s,$GCC_TEST_OPTIONS,,"`
4980fi 4998fi
4981 4999
4982case "$opsys" in 5000case "$opsys" in
@@ -5124,7 +5142,8 @@ else
5124 ACL_SUMMARY=no 5142 ACL_SUMMARY=no
5125fi 5143fi
5126 5144
5127echo " 5145emacs_standard_dirs='Standard dirs'
5146AS_ECHO(["
5128Configured for '${canonical}'. 5147Configured for '${canonical}'.
5129 5148
5130 Where should the build process find the source code? ${srcdir} 5149 Where should the build process find the source code? ${srcdir}
@@ -5133,18 +5152,9 @@ Configured for '${canonical}'.
5133 Should Emacs use a relocating allocator for buffers? ${REL_ALLOC} 5152 Should Emacs use a relocating allocator for buffers? ${REL_ALLOC}
5134 Should Emacs use mmap(2) for buffer allocation? $use_mmap_for_buffers 5153 Should Emacs use mmap(2) for buffer allocation? $use_mmap_for_buffers
5135 What window system should Emacs use? ${window_system} 5154 What window system should Emacs use? ${window_system}
5136 What toolkit should Emacs use? ${USE_X_TOOLKIT}" 5155 What toolkit should Emacs use? ${USE_X_TOOLKIT}
5137 5156 Where do we find X Windows header files? ${x_includes:-$emacs_standard_dirs}
5138if test -n "${x_includes}"; then 5157 Where do we find X Windows libraries? ${x_libraries:-$emacs_standard_dirs}"])
5139echo " Where do we find X Windows header files? ${x_includes}"
5140else
5141echo " Where do we find X Windows header files? Standard dirs"
5142fi
5143if test -n "${x_libraries}"; then
5144echo " Where do we find X Windows libraries? ${x_libraries}"
5145else
5146echo " Where do we find X Windows libraries? Standard dirs"
5147fi
5148 5158
5149optsep= 5159optsep=
5150emacs_config_features= 5160emacs_config_features=
@@ -5174,57 +5184,53 @@ done
5174AC_DEFINE_UNQUOTED(EMACS_CONFIG_FEATURES, "${emacs_config_features}", 5184AC_DEFINE_UNQUOTED(EMACS_CONFIG_FEATURES, "${emacs_config_features}",
5175 [Summary of some of the main features enabled by configure.]) 5185 [Summary of some of the main features enabled by configure.])
5176 5186
5177echo " Does Emacs use -lXaw3d? ${HAVE_XAW3D}" 5187AS_ECHO([" Does Emacs use -lXaw3d? ${HAVE_XAW3D}
5178echo " Does Emacs use -lXpm? ${HAVE_XPM}" 5188 Does Emacs use -lXpm? ${HAVE_XPM}
5179echo " Does Emacs use -ljpeg? ${HAVE_JPEG}" 5189 Does Emacs use -ljpeg? ${HAVE_JPEG}
5180echo " Does Emacs use -ltiff? ${HAVE_TIFF}" 5190 Does Emacs use -ltiff? ${HAVE_TIFF}
5181echo " Does Emacs use a gif library? ${HAVE_GIF} $LIBGIF" 5191 Does Emacs use a gif library? ${HAVE_GIF} $LIBGIF
5182echo " Does Emacs use a png library? ${HAVE_PNG} $LIBPNG" 5192 Does Emacs use a png library? ${HAVE_PNG} $LIBPNG
5183echo " Does Emacs use -lrsvg-2? ${HAVE_RSVG}" 5193 Does Emacs use -lrsvg-2? ${HAVE_RSVG}
5184echo " Does Emacs use cairo? ${USE_CAIRO}" 5194 Does Emacs use cairo? ${USE_CAIRO}
5185echo " Does Emacs use imagemagick? ${HAVE_IMAGEMAGICK}" 5195 Does Emacs use imagemagick? ${HAVE_IMAGEMAGICK}
5186 5196 Does Emacs support sound? ${HAVE_SOUND}
5187echo " Does Emacs support sound? ${HAVE_SOUND}" 5197 Does Emacs use -lgpm? ${HAVE_GPM}
5188 5198 Does Emacs use -ldbus? ${HAVE_DBUS}
5189echo " Does Emacs use -lgpm? ${HAVE_GPM}" 5199 Does Emacs use -lgconf? ${HAVE_GCONF}
5190echo " Does Emacs use -ldbus? ${HAVE_DBUS}" 5200 Does Emacs use GSettings? ${HAVE_GSETTINGS}
5191echo " Does Emacs use -lgconf? ${HAVE_GCONF}" 5201 Does Emacs use a file notification library? ${NOTIFY_SUMMARY}
5192echo " Does Emacs use GSettings? ${HAVE_GSETTINGS}" 5202 Does Emacs use access control lists? ${ACL_SUMMARY}
5193echo " Does Emacs use a file notification library? ${NOTIFY_SUMMARY}" 5203 Does Emacs use -lselinux? ${HAVE_LIBSELINUX}
5194echo " Does Emacs use access control lists? ${ACL_SUMMARY}" 5204 Does Emacs use -lgnutls? ${HAVE_GNUTLS}
5195echo " Does Emacs use -lselinux? ${HAVE_LIBSELINUX}" 5205 Does Emacs use -lxml2? ${HAVE_LIBXML2}
5196echo " Does Emacs use -lgnutls? ${HAVE_GNUTLS}" 5206 Does Emacs use -lfreetype? ${HAVE_FREETYPE}
5197echo " Does Emacs use -lxml2? ${HAVE_LIBXML2}" 5207 Does Emacs use -lm17n-flt? ${HAVE_M17N_FLT}
5198 5208 Does Emacs use -lotf? ${HAVE_LIBOTF}
5199echo " Does Emacs use -lfreetype? ${HAVE_FREETYPE}" 5209 Does Emacs use -lxft? ${HAVE_XFT}
5200echo " Does Emacs use -lm17n-flt? ${HAVE_M17N_FLT}" 5210 Does Emacs directly use zlib? ${HAVE_ZLIB}
5201echo " Does Emacs use -lotf? ${HAVE_LIBOTF}" 5211 Does Emacs use toolkit scroll bars? ${USE_TOOLKIT_SCROLL_BARS}
5202echo " Does Emacs use -lxft? ${HAVE_XFT}" 5212"])
5203echo " Does Emacs directly use zlib? ${HAVE_ZLIB}"
5204
5205echo " Does Emacs use toolkit scroll bars? ${USE_TOOLKIT_SCROLL_BARS}"
5206echo
5207 5213
5208if test -n "${EMACSDATA}"; then 5214if test -n "${EMACSDATA}"; then
5209 echo " Environment variable EMACSDATA set to: $EMACSDATA" 5215 AS_ECHO([" Environment variable EMACSDATA set to: $EMACSDATA"])
5210fi 5216fi
5211if test -n "${EMACSDOC}"; then 5217if test -n "${EMACSDOC}"; then
5212 echo " Environment variable EMACSDOC set to: $EMACSDOC" 5218 AS_ECHO([" Environment variable EMACSDOC set to: $EMACSDOC"])
5213fi 5219fi
5214 5220
5215echo 5221echo
5216 5222
5217if test "$HAVE_NS" = "yes"; then 5223if test "$HAVE_NS" = "yes"; then
5218 echo 5224 echo
5219 echo "You must run \"${MAKE-make} install\" in order to test the built application. 5225 AS_ECHO(["You must run \"${MAKE-make} install\" in order to test the built application.
5220The installed application will go to nextstep/Emacs.app and can be 5226The installed application will go to nextstep/Emacs.app and can be
5221run or moved from there." 5227run or moved from there."])
5222 if test "$EN_NS_SELF_CONTAINED" = "yes"; then 5228 if test "$EN_NS_SELF_CONTAINED" = "yes"; then
5223 echo "The application will be fully self-contained." 5229 echo "The application will be fully self-contained."
5224 else 5230 else
5225 echo "The lisp resources for the application will be installed under ${prefix}. 5231 AS_ECHO(["The lisp resources for the application will be installed under ${prefix}.
5226You may need to run \"${MAKE-make} install\" with sudo. The application will fail 5232You may need to run \"${MAKE-make} install\" with sudo. The application will fail
5227to run if these resources are not installed." 5233to run if these resources are not installed."])
5228 fi 5234 fi
5229 echo 5235 echo
5230fi 5236fi
@@ -5238,10 +5244,12 @@ if test "${opsys}" = "cygwin"; then
5238fi 5244fi
5239 5245
5240# Remove any trailing slashes in these variables. 5246# Remove any trailing slashes in these variables.
5241[test "${prefix}" != NONE && 5247case $prefix in
5242 prefix=`echo "${prefix}" | sed 's,\([^/]\)/*$,\1,'` 5248 */) prefix=`AS_DIRNAME(["$prefix."])`;;
5243test "${exec_prefix}" != NONE && 5249esac
5244 exec_prefix=`echo "${exec_prefix}" | sed 's,\([^/]\)/*$,\1,'`] 5250case $exec_prefix in
5251 */) exec_prefix=`AS_DIRNAME(["$exec_prefix."])`;;
5252esac
5245 5253
5246if test "$HAVE_NS" = "yes"; then 5254if test "$HAVE_NS" = "yes"; then
5247 if test "$NS_IMPL_GNUSTEP" = yes; then 5255 if test "$NS_IMPL_GNUSTEP" = yes; then
@@ -5319,7 +5327,7 @@ dnl is not yet set, sigh. Or we could use ../$srcdir/src/.gdbinit,
5319dnl or a symlink? 5327dnl or a symlink?
5320AC_CONFIG_COMMANDS([src/.gdbinit], [ 5328AC_CONFIG_COMMANDS([src/.gdbinit], [
5321if test ! -f src/.gdbinit && test -f "$srcdir/src/.gdbinit"; then 5329if test ! -f src/.gdbinit && test -f "$srcdir/src/.gdbinit"; then
5322 echo "source $ac_abs_top_srcdir/src/.gdbinit" > src/.gdbinit 5330 AS_ECHO(["source $ac_abs_top_srcdir/src/.gdbinit"]) > src/.gdbinit
5323fi 5331fi
5324]) 5332])
5325 5333
diff --git a/doc/lispref/two-volume.make b/doc/lispref/two-volume.make
index 64799d8fc04..bdcdb2f4fdd 100644
--- a/doc/lispref/two-volume.make
+++ b/doc/lispref/two-volume.make
@@ -26,9 +26,9 @@ tex2 = sed '/^@setfilename/a\
26 26
27# elisp.texi specially defines \tocreadfilename when VOL1 or VOL2 is 27# elisp.texi specially defines \tocreadfilename when VOL1 or VOL2 is
28# set, so we can use our premade .toc's. 28# set, so we can use our premade .toc's.
29# 29#
30vol1.pdf: elisp1med-fns-ready elisp1med-aux-ready elisp1med-toc-ready 30vol1.pdf: elisp1med-fns-ready elisp1med-aux-ready elisp1med-toc-ready
31 @echo -e "\f Final TeX run for volume 1..." 31 @printf '\f Final TeX run for volume 1...\n'
32 cp elisp1med-toc-ready elisp1-toc-ready.toc 32 cp elisp1med-toc-ready elisp1-toc-ready.toc
33 cp elisp1med-fns-ready vol1.fns 33 cp elisp1med-fns-ready vol1.fns
34 cp elisp1med-aux-ready vol1.aux 34 cp elisp1med-aux-ready vol1.aux
@@ -42,27 +42,27 @@ vol2.pdf: elisp2med-fns-ready elisp2med-aux-ready elisp2med-toc-ready
42 $(tex2) 42 $(tex2)
43 43
44# intermediate toc files. 44# intermediate toc files.
45# 45#
46# vol1 toc: volume 1, page break, volume 2 (with II: prepended). 46# vol1 toc: volume 1, page break, volume 2 (with II: prepended).
47elisp1med-toc-ready: elisp1med-init elisp2med-init 47elisp1med-toc-ready: elisp1med-init elisp2med-init
48 echo '@unnchapentry{@b{Volume 1}}{10001}{vol1}{}' >$@ 48 echo '@unnchapentry{@b{Volume 1}}{10001}{vol1}{}' >$@
49 cat elisp1med-toc >>$@ 49 cat elisp1med-toc >>$@
50 echo '@page' >>$@ 50 echo '@page' >>$@
51 echo '@unnchapentry{@b{Volume 2}}{10001}{vol2}{}' >>$@ 51 echo '@unnchapentry{@b{Volume 2}}{10001}{vol2}{}' >>$@
52 sed 's/{\([^}]*\)}$$/{II:\1}/' elisp2med-toc >>$@ 52 sed 's/{\([^}]*\)}$$/{II:\1}/' elisp2med-toc >>$@
53# 53#
54# vol2 toc: volume 1 (with I: prepended), page break, volume 2. 54# vol2 toc: volume 1 (with I: prepended), page break, volume 2.
55elisp2med-toc-ready: elisp1med-init elisp2med-init 55elisp2med-toc-ready: elisp1med-init elisp2med-init
56 echo '@unnchapentry{@b{Volume 1}}{10001}{vol1}{}' >$@ 56 echo '@unnchapentry{@b{Volume 1}}{10001}{vol1}{}' >$@
57 sed 's/{\([^}]*\)}$$/{I:\1}/' elisp1med-toc >>$@ 57 sed 's/{\([^}]*\)}$$/{I:\1}/' elisp1med-toc >>$@
58 echo '@page' >>$@ 58 echo '@page' >>$@
59 echo '@unnchapentry{@b{Volume 2}}{10001}{vol2}{}' >>$@ 59 echo '@unnchapentry{@b{Volume 2}}{10001}{vol2}{}' >>$@
60 cat elisp2med-toc >>$@ 60 cat elisp2med-toc >>$@
61 61
62 62
63# intermediate aux files. 63# intermediate aux files.
64# 64#
65# append vol2's fixed aux to normal vol1. 65# append vol2's fixed aux to normal vol1.
66elisp1med-aux-ready: elisp2med-aux-vol-added 66elisp1med-aux-ready: elisp2med-aux-vol-added
67 cat elisp1med-aux $< >$@ 67 cat elisp1med-aux $< >$@
68# 68#
@@ -78,7 +78,7 @@ elisp2med-aux-vol-added: elisp2med-init
78 sed 's/-pg}{\(.*\)}$$/-pg}{\1, vol.@tie2}/' elisp2med-aux >$@ 78 sed 's/-pg}{\(.*\)}$$/-pg}{\1, vol.@tie2}/' elisp2med-aux >$@
79 79
80# intermediate index (fns) file. 80# intermediate index (fns) file.
81# 81#
82elisp1med-fns-ready: elisp1med-fn-vol-added elisp2med-fn-vol-added 82elisp1med-fns-ready: elisp1med-fn-vol-added elisp2med-fn-vol-added
83 cat elisp2med-fn-vol-added >>vol1.fn 83 cat elisp2med-fn-vol-added >>vol1.fn
84 texindex vol1.fn 84 texindex vol1.fn
@@ -103,17 +103,17 @@ elisp2med-fn-vol-added: elisp2med-init
103# ----------------------------------------------------------------------------- 103# -----------------------------------------------------------------------------
104 104
105# intermediate TeX runs. 105# intermediate TeX runs.
106# 106#
107# this generates what would be the final versions -- except the page 107# this generates what would be the final versions -- except the page
108# numbers aren't right. The process of adding the I: and II: changes 108# numbers aren't right. The process of adding the I: and II: changes
109# the page breaks, so a few index entries, at least are wrong. (In 109# the page breaks, so a few index entries, at least are wrong. (In
110# 2007, x-meta-keysym in vol.II ended up on page 374 when the index had 110# 2007, x-meta-keysym in vol.II ended up on page 374 when the index had
111# it on page 375 from the initial run.) 111# it on page 375 from the initial run.)
112# 112#
113# So, we start all over again, from these fns/aux/toc files. 113# So, we start all over again, from these fns/aux/toc files.
114# 114#
115elisp1med-init: elisp1-fns-ready elisp1-aux-ready elisp1init-toc-ready $(texinfodir)/texinfo.tex 115elisp1med-init: elisp1-fns-ready elisp1-aux-ready elisp1init-toc-ready $(texinfodir)/texinfo.tex
116 @echo -e "\f Intermediate TeX run for volume 1..." 116 @printf '\f Intermediate TeX run for volume 1...\n'
117 cp elisp1init-toc-ready elisp1-toc-ready.toc 117 cp elisp1init-toc-ready elisp1-toc-ready.toc
118 cp elisp1-fns-ready vol1.fns 118 cp elisp1-fns-ready vol1.fns
119 cp elisp1-aux-ready vol1.aux 119 cp elisp1-aux-ready vol1.aux
@@ -134,26 +134,26 @@ elisp2med-init: elisp2-fns-ready elisp2-aux-ready elisp2init-toc-ready $(texinfo
134 134
135 135
136# initial toc files. 136# initial toc files.
137# 137#
138# vol1 toc: volume 1, page break, volume 2 (with II: prepended). 138# vol1 toc: volume 1, page break, volume 2 (with II: prepended).
139elisp1init-toc-ready: elisp1-init elisp2-init 139elisp1init-toc-ready: elisp1-init elisp2-init
140 echo '@unnchapentry{@b{Volume 1}}{10001}{vol1}{}' >$@ 140 echo '@unnchapentry{@b{Volume 1}}{10001}{vol1}{}' >$@
141 cat elisp1-toc >>$@ 141 cat elisp1-toc >>$@
142 echo '@page' >>$@ 142 echo '@page' >>$@
143 echo '@unnchapentry{@b{Volume 2}}{10001}{vol2}{}' >>$@ 143 echo '@unnchapentry{@b{Volume 2}}{10001}{vol2}{}' >>$@
144 sed 's/{\([^}]*\)}$$/{II:\1}/' elisp2-toc >>$@ 144 sed 's/{\([^}]*\)}$$/{II:\1}/' elisp2-toc >>$@
145# 145#
146# vol2 toc: volume 1 (with I: prepended), page break, volume 2. 146# vol2 toc: volume 1 (with I: prepended), page break, volume 2.
147elisp2init-toc-ready: elisp1-init elisp2-init 147elisp2init-toc-ready: elisp1-init elisp2-init
148 echo '@unnchapentry{@b{Volume 1}}{10001}{vol1}{}' >$@ 148 echo '@unnchapentry{@b{Volume 1}}{10001}{vol1}{}' >$@
149 sed 's/{\([^}]*\)}$$/{I:\1}/' elisp1-toc >>$@ 149 sed 's/{\([^}]*\)}$$/{I:\1}/' elisp1-toc >>$@
150 echo '@page' >>$@ 150 echo '@page' >>$@
151 echo '@unnchapentry{@b{Volume 2}}{10001}{vol2}{}' >>$@ 151 echo '@unnchapentry{@b{Volume 2}}{10001}{vol2}{}' >>$@
152 cat elisp2-toc >>$@ 152 cat elisp2-toc >>$@
153 153
154 154
155# initial aux files. 155# initial aux files.
156# 156#
157# append vol2's fixed aux to normal vol1. The initial runs saved 157# append vol2's fixed aux to normal vol1. The initial runs saved
158# elisp1-aux and elisp2-aux. 158# elisp1-aux and elisp2-aux.
159elisp1-aux-ready: elisp2-aux-vol-added 159elisp1-aux-ready: elisp2-aux-vol-added
@@ -171,7 +171,7 @@ elisp2-aux-vol-added: elisp2-init
171 sed 's/-pg}{\(.*\)}$$/-pg}{\1, vol.@tie2}/' elisp2-aux >$@ 171 sed 's/-pg}{\(.*\)}$$/-pg}{\1, vol.@tie2}/' elisp2-aux >$@
172 172
173# initial index (fns) file. 173# initial index (fns) file.
174# 174#
175# Append other volume's index entries to this one's. 175# Append other volume's index entries to this one's.
176# Index entries in this volume will then take precedence. 176# Index entries in this volume will then take precedence.
177elisp1-fns-ready: elisp1-fn-vol-added elisp2-fn-vol-added 177elisp1-fns-ready: elisp1-fn-vol-added elisp2-fn-vol-added
@@ -195,14 +195,14 @@ elisp2-fn-vol-added: elisp2-init
195 195
196 196
197# initial TeX runs. 197# initial TeX runs.
198# 198#
199# We use the .fn, .aux, and .toc files created here in subsequent 199# We use the .fn, .aux, and .toc files created here in subsequent
200# processing. The page numbers generated here will not be correct yet, 200# processing. The page numbers generated here will not be correct yet,
201# but we run texindex and TeX a second time just to get them closer. 201# but we run texindex and TeX a second time just to get them closer.
202# Otherwise it might take even longer for them to converge. 202# Otherwise it might take even longer for them to converge.
203# 203#
204elisp1-init: elisp.texi 204elisp1-init: elisp.texi
205 @echo -e "\f Initial TeX run for volume 1..." 205 @printf '\f Initial TeX run for volume 1...\n'
206 rm -f vol1.aux vol1.toc 206 rm -f vol1.aux vol1.toc
207 $(tex1) 207 $(tex1)
208 texindex vol1.?? 208 texindex vol1.??
@@ -220,17 +220,16 @@ elisp2-init: elisp.texi
220 touch $@ 220 touch $@
221 221
222# COPYING CONDITIONS 222# COPYING CONDITIONS
223# 223#
224# This file is free software: you can redistribute it and/or modify 224# This file is free software: you can redistribute it and/or modify
225# it under the terms of the GNU General Public License as published by 225# it under the terms of the GNU General Public License as published by
226# the Free Software Foundation, either version 3 of the License, or 226# the Free Software Foundation, either version 3 of the License, or
227# (at your option) any later version. 227# (at your option) any later version.
228# 228#
229# This file is distributed in the hope that it will be useful, 229# This file is distributed in the hope that it will be useful,
230# but WITHOUT ANY WARRANTY; without even the implied warranty of 230# but WITHOUT ANY WARRANTY; without even the implied warranty of
231# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 231# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
232# GNU General Public License for more details. 232# GNU General Public License for more details.
233# 233#
234# You should have received a copy of the GNU General Public License 234# You should have received a copy of the GNU General Public License
235# along with this file. If not, see <http://www.gnu.org/licenses/>. 235# along with this file. If not, see <http://www.gnu.org/licenses/>.
236
diff --git a/lib-src/rcs2log b/lib-src/rcs2log
index d1bd3693183..4ee303d03a1 100755
--- a/lib-src/rcs2log
+++ b/lib-src/rcs2log
@@ -130,7 +130,8 @@ do
130 case $1 in 130 case $1 in
131 -n) case ${2?}${3?}${4?} in 131 -n) case ${2?}${3?}${4?} in
132 *"$tab"* | *"$nl"*) 132 *"$tab"* | *"$nl"*)
133 echo >&2 "$0: -n '$2' '$3' '$4': tabs, newlines not allowed" 133 printf '%s\n' >&2 \
134 "$0: -n '$2' '$3' '$4': tabs, newlines not allowed"
134 exit 1;; 135 exit 1;;
135 esac 136 esac
136 login=$2 137 login=$2
@@ -140,7 +141,7 @@ do
140 # If $2 is not tab-separated, use colon for separator. 141 # If $2 is not tab-separated, use colon for separator.
141 case ${2?} in 142 case ${2?} in
142 *"$nl"*) 143 *"$nl"*)
143 echo >&2 "$0: -u '$2': newlines not allowed" 144 printf '%s\n' >&2 "$0: -u '$2': newlines not allowed"
144 exit 1;; 145 exit 1;;
145 *"$tab"*) 146 *"$tab"*)
146 t=$tab;; 147 t=$tab;;
@@ -149,7 +150,7 @@ do
149 esac 150 esac
150 case $2 in 151 case $2 in
151 *"$t"*"$t"*"$t"*) 152 *"$t"*"$t"*"$t"*)
152 echo >&2 "$0: -u '$2': too many fields" 153 printf '%s\n' >&2 "$0: -u '$2': too many fields"
153 exit 1;; 154 exit 1;;
154 *"$t"*"$t"*) 155 *"$t"*"$t"*)
155 uf="[^$t]*$t" # An unselected field, followed by a separator. 156 uf="[^$t]*$t" # An unselected field, followed by a separator.
@@ -161,7 +162,7 @@ do
161 expr "X$2" : "$uf$uf$sf" 162 expr "X$2" : "$uf$uf$sf"
162 `;; 163 `;;
163 *) 164 *)
164 echo >&2 "$0: -u '$2': not enough fields" 165 printf '%s\n' >&2 "$0: -u '$2': not enough fields"
165 exit 1;; 166 exit 1;;
166 esac 167 esac
167 shift;; 168 shift;;
@@ -186,9 +187,9 @@ do
186 --version) 187 --version)
187 set $Id 188 set $Id
188 rcs2logVersion=$3 189 rcs2logVersion=$3
189 echo >&2 "rcs2log (GNU Emacs) $rcs2logVersion$nl$Copyright" 190 printf '%s\n' >&2 "rcs2log (GNU Emacs) $rcs2logVersion$nl$Copyright"
190 exit 0;; 191 exit 0;;
191 -*) echo >&2 "Usage: $0 [OPTION]... [FILE ...]$nl$Help" 192 -*) printf '%s\n' >&2 "Usage: $0 [OPTION]... [FILE ...]$nl$Help"
192 case $1 in 193 case $1 in
193 --help) exit 0;; 194 --help) exit 0;;
194 *) exit 1;; 195 *) exit 1;;
@@ -303,7 +304,8 @@ case $rlogfile in
303 esac 304 esac
304 if test ! -d "$repository" 305 if test ! -d "$repository"
305 then 306 then
306 echo >&2 "$0: $repository: bad repository (see CVS/Repository)" 307 printf '%s\n' >&2 \
308 "$0: $repository: bad repository (see CVS/Repository)"
307 exit 1 309 exit 1
308 fi 310 fi
309 pository=$repository;; 311 pository=$repository;;
@@ -330,7 +332,7 @@ case $rlogfile in
330 T?*) 332 T?*)
331 rlog_options=-r`expr "$CVSTAG" : 'T\(.*\)'`;; 333 rlog_options=-r`expr "$CVSTAG" : 'T\(.*\)'`;;
332 *) 334 *)
333 echo >&2 "$0: invalid CVS/Tag"; exit 1;; 335 printf '%s\n' >&2 "$0: invalid CVS/Tag"; exit 1;;
334 esac 336 esac
335 fi;; 337 fi;;
336 esac 338 esac
@@ -595,7 +597,7 @@ case $hostname in
595 hostname=`( 597 hostname=`(
596 hostname || uname -n || uuname -l || cat /etc/whoami 598 hostname || uname -n || uuname -l || cat /etc/whoami
597 ) 2>/dev/null` || { 599 ) 2>/dev/null` || {
598 echo >&2 "$0: cannot deduce hostname" 600 printf '%s\n' >&2 "$0: cannot deduce hostname"
599 exit 1 601 exit 1
600 } 602 }
601 603
diff --git a/lisp/Makefile.in b/lisp/Makefile.in
index 15d4d37f7ba..ed1246b0cf4 100644
--- a/lisp/Makefile.in
+++ b/lisp/Makefile.in
@@ -221,7 +221,7 @@ lisptagsfiles2 = $(srcdir)/*/*.el
221lisptagsfiles3 = $(srcdir)/*/*/*.el 221lisptagsfiles3 = $(srcdir)/*/*/*.el
222lisptagsfiles4 = $(srcdir)/*/*/*/*.el 222lisptagsfiles4 = $(srcdir)/*/*/*/*.el
223 223
224## The echo | sed | xargs is to stop the command line getting too long 224## The ls | sed | xargs is to stop the command line getting too long
225## on MS Windows, when the MSYS Bash passes it to a MinGW compiled 225## on MS Windows, when the MSYS Bash passes it to a MinGW compiled
226## etags. It might be better to use find in a similar way to 226## etags. It might be better to use find in a similar way to
227## compile-main. But maybe this is not even necessary any more now 227## compile-main. But maybe this is not even necessary any more now
@@ -229,10 +229,9 @@ lisptagsfiles4 = $(srcdir)/*/*/*/*.el
229TAGS: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) 229TAGS: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4)
230 rm -f $@ 230 rm -f $@
231 touch $@ 231 touch $@
232 echo $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) | \ 232 ls $(lisptagsfiles1) $(lisptagsfiles2) \
233 sed -e 's,$(srcdir)/[^ ]*loaddefs[^ ]*,,g' \ 233 $(lisptagsfiles3) $(lisptagsfiles4) | \
234 -e 's,$(srcdir)/ldefs-boot[^ ]*,,' \ 234 sed -e '/loaddefs/d; /\/ldefs-boot/d; /esh-groups\.el/d' | \
235 -e 's,$(srcdir)/[^ ]*esh-groups.el[^ ]*,,' | \
236 xargs $(XARGS_LIMIT) "$(ETAGS)" -a -o $@ 235 xargs $(XARGS_LIMIT) "$(ETAGS)" -a -o $@
237 236
238 237
diff --git a/lisp/term.el b/lisp/term.el
index e5ae5530ce9..41577c90301 100644
--- a/lisp/term.el
+++ b/lisp/term.el
@@ -245,86 +245,48 @@
245;; ---------------------------------------- 245;; ----------------------------------------
246;; 246;;
247;; Notice: for directory/host/user tracking you need to have something 247;; Notice: for directory/host/user tracking you need to have something
248;; like this in your shell startup script ( this is for tcsh but should 248;; like this in your shell startup script (this is for a POSIXish shell
249;; be quite easy to port to other shells ) 249;; like Bash but should be quite easy to port to other shells)
250;; 250;;
251;; ---------------------------------------- 251;; ----------------------------------------
252;; 252;;
253;; 253;; # Set HOSTNAME if not already set.
254;; set os = `uname` 254;; : ${HOSTNAME=$(uname -n)}
255;; set host = `hostname`
256;; set date = `date`
257;; 255;;
258;; # su does not change this but I'd like it to 256;; # su does not change this but I'd like it to
259;; 257;;
260;; set user = `whoami` 258;; USER=$(whoami)
261;; 259;;
262;; # ... 260;; # ...
263;; 261;;
264;; if ( eterm =~ $TERM ) then 262;; case $TERM in
265;; 263;; eterm*)
266;; echo --------------------------------------------------------------
267;; echo Hello $user
268;; echo Today is $date
269;; echo We are on $host running $os under Emacs term mode
270;; echo --------------------------------------------------------------
271;;
272;; setenv EDITOR emacsclient
273;;
274;; # Notice: $host and $user have been set before to 'hostname' and 'whoami'
275;; # this is necessary because, f.e., certain versions of 'su' do not change
276;; # $user, YMMV: if you don't want to fiddle with them define a couple
277;; # of new variables and use these instead.
278;; # NOTICE that there is a space between "AnSiT?" and $whatever NOTICE
279;;
280;; # These are because we want the real cwd in the messages, not the login
281;; # time one !
282;;
283;; set cwd_hack='$cwd'
284;; set host_hack='$host'
285;; set user_hack='$user'
286;; 264;;
287;; # Notice that the ^[ character is an ESC, not two chars. You can 265;; printf '%s\n' \
288;; # get it in various ways, for example by typing 266;; -------------------------------------------------------------- \
289;; # echo -e '\033' > escape.file 267;; "Hello $user" \
290;; # or by using your favorite editor 268;; "Today is $(date)" \
269;; "We are on $HOSTNAME running $(uname) under Emacs term mode" \
270;; --------------------------------------------------------------
291;; 271;;
292;; foreach temp (cd pushd) 272;; export EDITOR=emacsclient
293;; alias $temp "$temp \!* ; echo 'AnSiTc' $cwd_hack"
294;; end
295;; alias popd 'popd ;echo "AnSiTc" $cwd'
296;; 273;;
297;; # Every command that can modify the user/host/directory should be aliased 274;; # The \033 stands for ESC.
298;; # as follows for the tracking mechanism to work. 275;; # There is a space between "AnSiT?" and $whatever.
299;; 276;;
300;; foreach temp ( rlogin telnet rsh sh ksh csh tcsh zsh bash tcl su ) 277;; cd() { command cd "$@"; printf '\033AnSiTc %s\n' "$PWD"; }
301;; alias $temp "$temp \!* ; echo 'AnSiTh' $host_hack ; \ 278;; pushd() { command pushd "$@"; printf '\033AnSiTc %s\n' "$PWD"; }
302;; echo 'AnSiTu' $user_hack ;echo 'AnSiTc' $cwd_hack" 279;; popd() { command popd "$@"; printf '\033AnSiTc %s\n' "$PWD"; }
303;; end
304;; 280;;
305;; # Start up & use color ls 281;; printf '\033AnSiTc %s\n' "$PWD"
282;; printf '\033AnSiTh %s\n' "$HOSTNAME"
283;; printf '\033AnSiTu %s\n' "$USER"
306;; 284;;
307;; echo "AnSiTh" $host 285;; eval $(dircolors $HOME/.emacs_dircolors)
308;; echo "AnSiTu" $user 286;; esac
309;; echo "AnSiTc" $cwd
310;;
311;; # some housekeeping
312;;
313;; unset cwd_hack
314;; unset host_hack
315;; unset user_hack
316;; unset temp
317;;
318;; eval `/bin/dircolors /home/marco/.emacs_dircolors`
319;; endif
320;; 287;;
321;; # ... 288;; # ...
322;; 289;;
323;; # Let's not clutter user space
324;;
325;; unset os
326;; unset date
327;;
328;; 290;;
329 291
330;;; Original Commentary: 292;;; Original Commentary:
diff --git a/make-dist b/make-dist
index 79db904a2c8..48a2836fa0a 100755
--- a/make-dist
+++ b/make-dist
@@ -110,7 +110,7 @@ while [ $# -gt 0 ]; do
110 ;; 110 ;;
111 111
112 "--help") 112 "--help")
113 echo "Usage: ${progname} [options]" 113 printf '%s\n' "Usage: ${progname} [options]"
114 echo "" 114 echo ""
115 echo " --bzip2 use bzip2 instead of gzip" 115 echo " --bzip2 use bzip2 instead of gzip"
116 echo " --clean-up delete staging directories when done" 116 echo " --clean-up delete staging directories when done"
@@ -128,7 +128,7 @@ while [ $# -gt 0 ]; do
128 ;; 128 ;;
129 129
130 * ) 130 * )
131 echo "${progname}: Unrecognized argument: $1" >&2 131 printf '%s\n' "${progname}: Unrecognized argument: $1" >&2
132 exit 1 132 exit 1
133 ;; 133 ;;
134 esac 134 esac
@@ -137,9 +137,9 @@ done
137 137
138### Make sure we're running in the right place. 138### Make sure we're running in the right place.
139if [ ! -d src -o ! -f src/lisp.h -o ! -d lisp -o ! -f lisp/subr.el ]; then 139if [ ! -d src -o ! -f src/lisp.h -o ! -d lisp -o ! -f lisp/subr.el ]; then
140 echo "${progname}: Can't find 'src/lisp.h' and 'lisp/subr.el'." >&2 140 printf '%s\n' "${progname}: Can't find 'src/lisp.h' and 'lisp/subr.el'." >&2
141 echo "${progname} must be run in the top directory of the Emacs" >&2 141 printf '%s\n' "${progname} must be run in the top directory of the Emacs" >&2
142 echo "distribution tree. cd to that directory and try again." >&2 142 printf '%s\n' "distribution tree. cd to that directory and try again." >&2
143 exit 1 143 exit 1
144fi 144fi
145 145
@@ -155,7 +155,7 @@ then
155 /*) ;; 155 /*) ;;
156 *) 156 *)
157 if [ ! -f "$EMACS" ]; then 157 if [ ! -f "$EMACS" ]; then
158 echo "$0: You must set the EMACS environment variable " \ 158 printf '%s\n' "$0: You must set the EMACS environment variable " \
159 "to an absolute file name." 2>&1 159 "to an absolute file name." 2>&1
160 exit 1 160 exit 1
161 fi;; 161 fi;;
@@ -168,7 +168,8 @@ version=`
168 sed -n 's/^AC_INIT(GNU Emacs,[ ]*\([^ ,)]*\).*/\1/p' <configure.ac 168 sed -n 's/^AC_INIT(GNU Emacs,[ ]*\([^ ,)]*\).*/\1/p' <configure.ac
169` || version= 169` || version=
170if [ ! "${version}" ]; then 170if [ ! "${version}" ]; then
171 echo "${progname}: can't find current Emacs version in './src/emacs.c'" >&2 171 printf '%s\n' \
172 "${progname}: can't find current Emacs version in './src/emacs.c'" >&2
172 exit 1 173 exit 1
173fi 174fi
174 175
@@ -195,7 +196,7 @@ fi
195### Make sure the subdirectory is available. 196### Make sure the subdirectory is available.
196tempparent="make-dist.tmp.$$" 197tempparent="make-dist.tmp.$$"
197if [ -d ${tempparent} ]; then 198if [ -d ${tempparent} ]; then
198 echo "${progname}: staging directory '${tempparent}' already exists. 199 printf '%s\n' "${progname}: staging directory '${tempparent}' already exists.
199Perhaps a previous invocation of '${progname}' failed to clean up after 200Perhaps a previous invocation of '${progname}' failed to clean up after
200itself. Check that directories whose names are of the form 201itself. Check that directories whose names are of the form
201'make-dist.tmp.NNNNN' don't contain any important information, remove 202'make-dist.tmp.NNNNN' don't contain any important information, remove
@@ -530,7 +531,7 @@ for subdir in . etc leim lib lib-src lisp lwlib msdos nt src; do
530done 531done
531 532
532if [ "${newer}" ]; then 533if [ "${newer}" ]; then
533 echo "Removing files older than $newer" 534 printf '%s\n' "Removing files older than $newer"
534 ## We remove .elc files unconditionally, on the theory that anyone picking 535 ## We remove .elc files unconditionally, on the theory that anyone picking
535 ## up an incremental distribution already has a running Emacs to byte-compile 536 ## up an incremental distribution already has a running Emacs to byte-compile
536 ## them with. 537 ## them with.
@@ -544,8 +545,9 @@ find ${tempparent} \( -name '*~' -o -name '#*#' -o -name '.*ignore' -o -name '=*
544if [ "${make_tar}" = yes ]; then 545if [ "${make_tar}" = yes ]; then
545 echo "Looking for $default_gzip" 546 echo "Looking for $default_gzip"
546 found=0 547 found=0
547 temppath=`echo $PATH | sed -e 's/^:/.:/' -e 's/::/:.:/g' -e 's/:$/:./' \ 548 temppath=`printf '%s\n' "$PATH" |
548 -e 's/:/ /g'` 549 sed -e 's/^:/.:/' -e 's/::/:.:/g' -e 's/:$/:./' -e 's/:/ /g'
550 `
549 for dir in ${temppath}; do 551 for dir in ${temppath}; do
550 [ -x ${dir}/$default_gzip ] || continue 552 [ -x ${dir}/$default_gzip ] || continue
551 found=1; break 553 found=1; break
diff --git a/src/Makefile.in b/src/Makefile.in
index 1fb770d6657..f73575938d3 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -443,7 +443,7 @@ all: emacs$(EXEEXT) $(OTHER_FILES)
443shortlisp = 443shortlisp =
444lisp.mk: $(lispsource)/loadup.el 444lisp.mk: $(lispsource)/loadup.el
445 @rm -f $@ 445 @rm -f $@
446 ${AM_V_GEN}( echo "shortlisp = \\"; \ 446 ${AM_V_GEN}( printf 'shortlisp = \\\n'; \
447 sed -n 's/^[ \t]*(load "\([^"]*\)".*/\1/p' $< | \ 447 sed -n 's/^[ \t]*(load "\([^"]*\)".*/\1/p' $< | \
448 sed -e 's/$$/.elc \\/' -e 's/\.el\.elc/.el/'; \ 448 sed -e 's/$$/.elc \\/' -e 's/\.el\.elc/.el/'; \
449 echo "" ) > $@ 449 echo "" ) > $@
diff --git a/test/etags/make-src/Makefile b/test/etags/make-src/Makefile
index daf605d0016..016c633d791 100644
--- a/test/etags/make-src/Makefile
+++ b/test/etags/make-src/Makefile
@@ -15,7 +15,7 @@ ERLSRC=gs_dialog.erl lines.erl lists.erl
15FORTHSRC=test-forth.fth 15FORTHSRC=test-forth.fth
16FSRC=entry.for entry.strange_suffix entry.strange 16FSRC=entry.for entry.strange_suffix entry.strange
17HTMLSRC=softwarelibero.html index.shtml algrthms.html software.html 17HTMLSRC=softwarelibero.html index.shtml algrthms.html software.html
18JAVASRC=AWTEMul.java KeyEve.java SMan.java SysCol.java TG.java 18JAVASRC=AWTEMul.java KeyEve.java SMan.java SysCol.java TG.java
19LUASRC=allegro.lua 19LUASRC=allegro.lua
20MAKESRC=Makefile 20MAKESRC=Makefile
21OBJCSRC=Subprocess.h Subprocess.m PackInsp.h PackInsp.m 21OBJCSRC=Subprocess.h Subprocess.m PackInsp.h PackInsp.m
@@ -120,9 +120,9 @@ rsyncfromfly:
120 rsync --exclude "*~" --exclude core --exclude etags -zauRv fly:gnu/etags/ ../.. 120 rsync --exclude "*~" --exclude core --exclude etags -zauRv fly:gnu/etags/ ../..
121 121
122web ftp publish: 122web ftp publish:
123 @-echo -e \\ttesting with debugging enabled...; $(MAKE) quiettest 123 @-printf '\ttesting with debugging enabled...\n'; $(MAKE) quiettest
124 @-echo -e \\ttesting standalone...; $(MAKE) standalone quiettest 124 @-printf '\ttesting standalone...\n'; $(MAKE) standalone quiettest
125 @-echo -e \\ttesting fast versions...; $(MAKE) fastetags fastctags quiettest 125 @-printf '\ttesting fast versions...\n'; $(MAKE) fastetags fastctags quiettest
126 @$(MAKE) /home/www/pub/etags.c.gz 126 @$(MAKE) /home/www/pub/etags.c.gz
127 @$(MAKE) /home/www/pub/software/unix/etags.tar.gz 127 @$(MAKE) /home/www/pub/software/unix/etags.tar.gz
128 128