changeset: 5491:06dd936cde16
parent: 5030:422b4b4fb2a6
user: Ben Wing <ben(a)xemacs.org>
date: Fri Feb 19 22:13:17 2010 -0600
files: lib-src/ChangeLog lib-src/digest-doc.c lib-src/emacs.csh lib-src/hexl.c
lib-src/sorted-doc.c lib-src/vcdiff
description:
Merge some stuff in lib-src
-------------------- ChangeLog entries follow: --------------------
lib-src/ChangeLog addition:
2010-02-19 Ben Wing <ben(a)xemacs.org>
* digest-doc.c:
* digest-doc.c (main):
* emacs.csh:
* hexl.c:
* hexl.c (Gabryelski):
* hexl.c (main):
* hexl.c (usage):
* sorted-doc.c:
* sorted-doc.c (fatal):
* sorted-doc.c (xstrdup):
* sorted-doc.c (main):
* vcdiff:
Merge up to FSF 23.1.92.
diff -r 422b4b4fb2a6 -r 06dd936cde16 lib-src/ChangeLog
--- a/lib-src/ChangeLog Thu Feb 11 19:33:50 2010 -0500
+++ b/lib-src/ChangeLog Fri Feb 19 22:13:17 2010 -0600
@@ -1,3 +1,19 @@
+2010-02-19 Ben Wing <ben(a)xemacs.org>
+
+ * digest-doc.c:
+ * digest-doc.c (main):
+ * emacs.csh:
+ * hexl.c:
+ * hexl.c (Gabryelski):
+ * hexl.c (main):
+ * hexl.c (usage):
+ * sorted-doc.c:
+ * sorted-doc.c (fatal):
+ * sorted-doc.c (xstrdup):
+ * sorted-doc.c (main):
+ * vcdiff:
+ Merge up to FSF 23.1.92.
+
2010-02-11 Vin Shelton <acs(a)xemacs.org>
* winclient.c: Bump connection retries to 20 because some people
diff -r 422b4b4fb2a6 -r 06dd936cde16 lib-src/digest-doc.c
--- a/lib-src/digest-doc.c Thu Feb 11 19:33:50 2010 -0500
+++ b/lib-src/digest-doc.c Fri Feb 19 22:13:17 2010 -0600
@@ -1,20 +1,52 @@
-/* Give this program DOCSTR.mm.nn as standard input
- and it outputs to standard output
- a file of nroff output containing the doc strings.
+/* Give this program DOC-mm.nn.oo as standard input and it outputs to
+ standard output a file of nroff output containing the doc strings.
- See also sorted-doc.c, which produces similar output
- but in texinfo format and sorted by function/variable name. */
+Copyright (C) 1987, 1994, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+ 2008, 2009, 2010 Free Software Foundation, Inc.
+
+This file is part of XEmacs.
+
+XEmacs is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+XEmacs is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with XEmacs. If not, see <
http://www.gnu.org/licenses/>.
+
+
+See also sorted-doc.c, which produces similar output
+but in texinfo format and sorted by function/variable name. */
+
+/* Synced up with: GNU 23.1.92. */
+/* Synced by: Ben Wing, 2-17-10. */
#ifdef emacs
#include <config.h>
#endif
#include <stdio.h>
+#ifdef WIN32_NATIVE
+#include <fcntl.h> /* for O_BINARY */
+#include <io.h> /* for setmode */
+#endif
+
int
main (int argc, char **argv)
{
register int ch;
register int notfirst = 0;
+
+#ifdef WIN32_NATIVE
+ /* DOC is a binary file. */
+ if (!isatty (fileno (stdin)))
+ setmode (fileno (stdin), O_BINARY);
+#endif
printf (".TL\n");
printf ("Command Summary for XEmacs\n");
@@ -50,3 +82,6 @@
}
return 0;
}
+
+/* arch-tag: 2ba2c9b0-4157-4eba-bd9f-967e3677e35f
+ (do not change this comment) */
diff -r 422b4b4fb2a6 -r 06dd936cde16 lib-src/emacs.csh
--- a/lib-src/emacs.csh Thu Feb 11 19:33:50 2010 -0500
+++ b/lib-src/emacs.csh Fri Feb 19 22:13:17 2010 -0600
@@ -1,25 +1,34 @@
-# This defines a csh command named `edit' which resumes an
-# existing Emacs or starts a new one if none exists.
-# One way or another, any arguments are passed to Emacs to specify files
-# (provided you have loaded `resume.el').
-# - Michael DeCorte
+### emacs.csh
-# These are the possible values of $whichjob
-# 1 = new ordinary emacs (the -nw is so that it doesn't try to do X)
-# 2 = resume emacs
-# 3 = new emacs under X (-i is so that you get a reasonable icon)
-# 4 = resume emacs under X
-# 5 = new emacs under suntools
-# 6 = resume emacs under suntools
-# 7 = new emacs under X and suntools - doesn't make any sense, so use X
-# 8 = resume emacs under X and suntools - doesn't make any sense, so use X
+## Add legal notice if non-trivial amounts of code are added.
+
+## Author: Michael DeCorte
+
+### Commentary:
+
+# Synced up with: GNU 23.1.92.
+# Synced by: Ben Wing, 2-17-10.
+
+## This file is obsolete. Use emacsclient -a instead.
+
+## This defines a csh command named `edit' which resumes an
+## existing Emacs or starts a new one if none exists.
+## One way or another, any arguments are passed to Emacs to specify files
+## (provided you have loaded `resume.el').
+
+## These are the possible values of $whichjob
+## 1 = new ordinary emacs (the -nw is so that it doesn't try to do X)
+## 2 = resume emacs
+## 3 = new emacs under X (-i is so that you get a reasonable icon)
+## 4 = resume emacs under X
set EMACS_PATTERN="^\[[0-9]\] . Stopped ............ $EMACS"
alias edit 'set emacs_command=("emacs -nw \!*" "fg %emacs"
"emacs -i \!* &"\
- "emacsclient \!* &" "emacstool \!* &" "emacsclient \!*
&" "emacs -i \!* &"\
"emacsclient \!* &") ; \
jobs >! $HOME/.jobs; grep "$EMACS_PATTERN" < $HOME/.jobs >&
/dev/null; \
@ isjob = ! $status; \
@ whichjob = 1 + $isjob + $?DISPLAY * 2 + $?WINDOW_PARENT * 4; \
test -S ~/.emacs_server && emacsclient \!* \
|| echo `pwd` \!* >! ~/.emacs_args && eval $emacs_command[$whichjob]'
+
+# arch-tag: 433d58df-15b9-446f-ad37-f0393e3a23d4
diff -r 422b4b4fb2a6 -r 06dd936cde16 lib-src/hexl.c
--- a/lib-src/hexl.c Thu Feb 11 19:33:50 2010 -0500
+++ b/lib-src/hexl.c Fri Feb 19 22:13:17 2010 -0600
@@ -1,6 +1,32 @@
-/* Synched up with: FSF 19.28. */
+/* Convert files for Emacs Hexl mode.
+ Copyright (C) 1989, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
+ 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010 Ben Wing.
+Author: Keith Gabryelski
+(according to authors.el)
+
+This file is not considered part of XEmacs.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <
http://www.gnu.org/licenses/>. */
+
+/* Synced up with: GNU 23.1.92. */
+/* Synced by: Ben Wing, 2-17-10. */
+
+#ifdef HAVE_CONFIG_H
#include <config.h>
+#endif
#include <stdio.h>
#include <ctype.h>
@@ -37,25 +63,25 @@
register long address;
char string[18];
FILE *fp;
-
+
progname = *argv++; --argc;
-
+
/*
- ** -hex hex dump
- ** -oct Octal dump
- ** -group-by-8-bits
- ** -group-by-16-bits
- ** -group-by-32-bits
- ** -group-by-64-bits
- ** -iso iso character set.
- ** -big-endian Big Endian
- ** -little-endian Little Endian
- ** -un || -de from hexl format to binary.
- ** -- End switch list.
- ** <filename> dump filename
- ** - (as filename == stdin)
- */
-
+ ** -hex hex dump
+ ** -oct Octal dump
+ ** -group-by-8-bits
+ ** -group-by-16-bits
+ ** -group-by-32-bits
+ ** -group-by-64-bits
+ ** -iso iso character set.
+ ** -big-endian Big Endian
+ ** -little-endian Little Endian
+ ** -un || -de from hexl format to binary.
+ ** -- End switch list.
+ ** <filename> dump filename
+ ** - (as filename == stdin)
+ */
+
while (*argv && *argv[0] == '-' && (*argv)[1])
{
/* A switch! */
@@ -117,7 +143,7 @@
}
else
{
- (void) fprintf (stderr, "%s: invalid switch: \"%s\".\n",
progname,
+ fprintf (stderr, "%s: invalid switch: \"%s\".\n", progname,
*argv);
usage ();
}
@@ -145,7 +171,8 @@
char buf[18];
#ifdef WIN32_NATIVE
- _setmode (_fileno (stdout), O_BINARY);
+ if (!isatty (_fileno (stdout)))
+ _setmode (_fileno (stdout), O_BINARY);
#endif
for (;;)
{
@@ -188,7 +215,8 @@
else
{
#ifdef WIN32_NATIVE
- _setmode (_fileno (fp), O_BINARY);
+ if (!isatty (_fileno (stdout)))
+ _setmode (_fileno (stdout), O_BINARY);
#endif
address = 0;
string[0] = ' ';
@@ -210,7 +238,7 @@
else
{
if (!i)
- (void) printf ("%08lx: ", address);
+ printf ("%08lx: ", address);
if (iso_flag)
string[i+1] =
@@ -218,7 +246,7 @@
else
string[i+1] = (c < 0x20 || c >= 0x7F) ? '.' : c;
- (void) printf ("%02x", c);
+ printf ("%02x", c);
}
if ((i&group_by) == group_by)
@@ -237,15 +265,20 @@
}
if (fp != stdin)
- (void) fclose (fp);
+ fclose (fp);
} while (*argv != NULL);
- return 0;
+ return EXIT_SUCCESS;
}
void
usage (void)
{
fprintf (stderr, "Usage: %s [-de] [-iso]\n", progname);
- exit (1);
+ exit (EXIT_FAILURE);
}
+
+/* arch-tag: 20e04fb7-926e-4e48-be86-64fe869ecdaa
+ (do not change this comment) */
+
+/* hexl.c ends here */
diff -r 422b4b4fb2a6 -r 06dd936cde16 lib-src/sorted-doc.c
--- a/lib-src/sorted-doc.c Thu Feb 11 19:33:50 2010 -0500
+++ b/lib-src/sorted-doc.c Fri Feb 19 22:13:17 2010 -0600
@@ -1,19 +1,42 @@
-/* Give this program DOCSTR.mm.nn as standard input
- and it outputs to standard output
- a file of texinfo input containing the doc strings.
-
- This version sorts the output by function name.
- */
+/* Give this program DOC-mm.nn.oo as standard input and it outputs to
+ standard output a file of texinfo input containing the doc strings.
-/* Synched up with: FSF 19.28. */
+Copyright (C) 1989, 1992, 1994, 1996, 1999, 2000, 2001, 2002, 2003,
+ 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+This file is part of GNU Emacs.
+
+GNU Emacs is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+GNU Emacs is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Emacs. If not, see <
http://www.gnu.org/licenses/>. */
+
+/* Synced up with: GNU 23.1.92. */
+/* Synced by: Ben Wing, 2-17-10. */
+
+/* This version sorts the output by function name. */
+
+#ifdef HAVE_CONFIG_H
#include <config.h>
+#endif
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h> /* for qsort() and malloc() */
#include <string.h>
static void *xmalloc (size_t);
+#ifdef WIN32_NATIVE
+#include <fcntl.h> /* for O_BINARY */
+#include <io.h> /* for setmode */
+#endif
#define NUL '\0'
#define MARKER '\037'
@@ -55,7 +78,7 @@
fatal (char *s1, char *s2)
{
error (s1, s2);
- exit (1);
+ exit (EXIT_FAILURE);
}
/* Like malloc but get fatal error if memory is exhausted. */
@@ -70,11 +93,11 @@
}
static char *
-strsav (char *str)
+xstrdup (char *str)
{
- char *buf = (char *) xmalloc (strlen (str) + 1);
- strcpy (buf, str);
- return buf;
+ char *buf = xmalloc (strlen (str) + 1);
+ (void) strcpy (buf, str);
+ return (buf);
}
/* Comparison function for qsort to call. */
@@ -104,13 +127,20 @@
register DOCSTR *dp = NULL; /* allocated DOCSTR */
register LINE *lp = NULL; /* allocated line */
register char *bp = 0; /* ptr inside line buffer */
- /* int notfirst = 0; / * set after read something */
register enum state state = WAITING; /* state at start */
int cnt = 0; /* number of DOCSTRs read */
- DOCSTR *docs = 0; /* chain of allocated DOCSTRS */
+ DOCSTR *docs = NULL; /* chain of allocated DOCSTRS */
char buf[512]; /* line buffer */
-
+
+#ifdef DOS_NT
+ /* DOC is a binary file. */
+ if (!isatty (fileno (stdin)))
+ setmode (fileno (stdin), O_BINARY);
+#endif
+
+ bp = buf;
+
while (1) /* process one char at a time */
{
/* this char from the DOCSTR file */
@@ -158,7 +188,7 @@
bp = buf;
state = DESC_GET;
}
-
+
/* process gets */
if (state == NAME_GET || state == DESC_GET)
@@ -170,7 +200,7 @@
else /* saving and changing state */
{
*bp = NUL;
- bp = strsav (buf);
+ bp = xstrdup (buf);
if (state == NAME_GET)
dp->name = bp;
@@ -205,10 +235,13 @@
printf ("\\input texinfo @c -*-texinfo-*-\n");
printf ("@setfilename ../info/summary\n");
printf ("@settitle Command Summary for XEmacs\n");
+ printf ("@finalout\n");
printf ("@unnumbered Command Summary for XEmacs\n");
printf ("@table @asis\n");
printf ("\n");
printf ("@iftex\n");
+ /* #### XEmacs note: FSF 23.1.92 is missing the = sign below.
+ Which is correct? */
printf ("@global@let@ITEM=@item\n");
printf ("@def@item{@filbreak@vskip5pt@ITEM}\n");
printf ("@font@tensy cmsy10 scaled @magstephalf\n");
@@ -246,12 +279,20 @@
putchar ('\n');
}
printf("@end display\n");
- if ( i%200 == 0 && i != 0 ) printf("@end table\n\n@table @asis\n");
+ /* Try to avoid a save size overflow in the TeX output
+ routine. */
+ if (i%100 == 0 && i > 0 && i != cnt)
+ printf("\n@end table\n@table @asis\n");
}
printf ("@end table\n");
printf ("@bye\n");
}
- return 0;
+ return EXIT_SUCCESS;
}
+
+/* arch-tag: ce28f204-1e70-4b34-8210-3d54a5662071
+ (do not change this comment) */
+
+/* sorted-doc.c ends here */
diff -r 422b4b4fb2a6 -r 06dd936cde16 lib-src/vcdiff
--- a/lib-src/vcdiff Thu Feb 11 19:33:50 2010 -0500
+++ b/lib-src/vcdiff Fri Feb 19 22:13:17 2010 -0600
@@ -1,23 +1,43 @@
-#!/bin/sh
-#
+#! /bin/sh
+
# Enhanced sccs diff utility for use with vc mode.
# This version is more compatible with rcsdiff(1).
-#
-# !Id: vcdiff,v 1.4 1993/12/03 09:29:18 eggert Exp !
-#
+
+# Copyright (C) 1992, 1993, 1995, 1997, 2001, 2002, 2003, 2004, 2005,
+# 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+# Author: Paul Eggert
+# (according to authors.el)
+
+# This file is part of XEmacs.
+
+# XEmacs is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# XEmacs is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with XEmacs. If not, see <
http://www.gnu.org/licenses/>.
+
# Modified by: vladimir(a)Eng.Sun.COM on 95-06-07
# * Made sure that file arguments are specifed as s.<filename>.
-# * Switched the assignments to $f inside the 3rd and 4th case statements of
-# the first for-loop
-# * Removed the incorrect initialization of sid1 before the first for-loop.
-#
+
+# Synced up with: GNU 23.1.92.
+# Synced by: Ben Wing, 2-17-10.
+
DIFF="diff"
usage="$0: Usage: vcdiff [--brief] [-q] [-r<sid1>] [-r<sid2>] [diffopts]
sccsfile..."
-PATH=$PATH:/usr/ccs/bin:/usr/sccs # common SCCS hangouts
+# Now that we use `sccs get' rather than just `get', we don't need this.
+# PATH=$PATH:/usr/ccs/bin:/usr/sccs:/usr/xpg4/bin # common SCCS hangouts
-echo=
+echo="echo"
sid1= sid2=
for f
@@ -31,14 +51,14 @@
echo=:;;
-r?*)
case $sid1 in
- -r*)
- sid2=$f
+ '')
+ sid1=$f
;;
*)
case $sid2 in
- ?*) echo "$usage" >&2; exit 2 ;;
+ ?*) echo "$usage" >&2; exit 2 ;;
esac
- sid1=$f
+ sid2=$f
;;
esac
;;
@@ -67,31 +87,32 @@
for f
do
- s=2
-
- # For files under SCCS control, fixup the file name to be the s. filename
- if [ -d SCCS ]; then
- if [ $f = `echo $f | sed -e 's|SCCS/s.||'` ]; then
- f="SCCS/s.$f"
- fi
- fi
+ s=2
+
+ # For files under SCCS control, fixup the file name to be the
+ # s. filename
+ if [ -d SCCS ]; then
+ if [ $f = `echo $f | sed -e 's|SCCS/s.||'` ]; then
+ f="SCCS/s.$f"
+ fi
+ fi
case $f in
s.* | */s.*)
if
- rev1=/tmp/geta$$
- get -s -p -k $sid1 "$f" > $rev1 &&
+ rev1=`mktemp /tmp/geta.XXXXXXXX`
+ sccs get -s -p -k $sid1 "$f" > $rev1 &&
case $sid2 in
'')
workfile=`expr " /$f" : '.*/s.\(.*\)'`
;;
*)
- rev2=/tmp/getb$$
- get -s -p -k $sid2 "$f" > $rev2
+ rev2=`mktemp /tmp/getb.XXXXXXXX`
+ sccs get -s -p -k $sid2 "$f" > $rev2
workfile=$rev2
esac
then
- $echo $DIFF $options $sid1 $sid2 $workfile >&2
+ $echo $DIFF $options $rev1 $workfile >&2
$DIFF $options $rev1 $workfile
s=$?
fi
@@ -104,3 +125,5 @@
then status=$s
fi
done
+
+# arch-tag: 4344ba3a-bcbe-4f77-971c-f43c1606953a
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches