summaryrefslogtreecommitdiff
path: root/source/t/xfig
diff options
context:
space:
mode:
Diffstat (limited to 'source/t/xfig')
-rw-r--r--source/t/xfig/xfig-3.2.4-mkstemp.diff331
-rw-r--r--source/t/xfig/xfig-3.2.5c.paths.diff20
-rw-r--r--source/t/xfig/xfig-3.2.5c.skip.missing.html.manpage.diff10
-rw-r--r--source/t/xfig/xfig.3.2.3d-international-std-fonts.diff49
-rw-r--r--source/t/xfig/xfig.3.2.3d-xcolor.diff10
-rw-r--r--source/t/xfig/xfig.3.2.3d-xim.diff33
-rw-r--r--source/t/xfig/xfig.3.2.4-gcc4.diff11
-rw-r--r--source/t/xfig/xfig.3.2.4-locale.diff117
-rw-r--r--source/t/xfig/xfig.3.2.4-null.diff64
-rw-r--r--source/t/xfig/xfig.3.2.4-quiet.diff183
-rw-r--r--source/t/xfig/xfig.3.2.4-urw-fonts.diff152
-rw-r--r--source/t/xfig/xfig.3.2.4.diff530
-rwxr-xr-xsource/t/xfig/xfig.SlackBuild33
-rw-r--r--source/t/xfig/xfig.docs.location.diff11
-rw-r--r--source/t/xfig/xfig.fig.ad.diff27
-rw-r--r--source/t/xfig/xfig.no.pdf.ref.diff22
-rw-r--r--source/t/xfig/xfig.no.xfig_ref_en.pdf.diff14
-rw-r--r--source/t/xfig/xfig.png14.nodither.diff11
18 files changed, 63 insertions, 1565 deletions
diff --git a/source/t/xfig/xfig-3.2.4-mkstemp.diff b/source/t/xfig/xfig-3.2.4-mkstemp.diff
deleted file mode 100644
index cf6bf228..00000000
--- a/source/t/xfig/xfig-3.2.4-mkstemp.diff
+++ /dev/null
@@ -1,331 +0,0 @@
---- xfig.3.2.4/f_readeps.c
-+++ xfig.3.2.4/f_readeps.c 2003-05-06 12:07:54.000000000 +0200
-@@ -258,7 +258,7 @@
- char buf[300];
- FILE *tmpfp, *pixfile, *gsfile;
- char *psnam, *driver;
-- int status, wid, ht, nbitmap;
-+ int status, wid, ht, nbitmap, fd;
- char tmpfile[PATH_MAX],
- pixnam[PATH_MAX],
- errnam[PATH_MAX],
-@@ -274,8 +274,12 @@
- /* re-open the pipe */
- close_picfile(file, filetype);
- file = open_picfile(file, &filetype, PIPEOK, pixnam);
-- sprintf(tmpfile, "%s/%s%06d", TMPDIR, "xfig-eps", getpid());
-- if ((tmpfp = fopen(tmpfile, "wb")) == NULL) {
-+ snprintf(tmpfile, sizeof(tmpfile), "%s/xfig-eps.XXXXXX", TMPDIR);
-+ if ((fd = mkstemp(tmpfile)) == -1 || (tmpfp = fdopen(fd, "wb")) == NULL) {
-+ if (fd != -1) {
-+ unlink(tmpfile);
-+ close(fd);
-+ }
- file_msg("Couldn't open tmp file %s, %s", tmpfile, strerror(errno));
- return False;
- }
-@@ -284,9 +288,21 @@
- fclose(tmpfp);
- }
- /* make name /TMPDIR/xfig-pic.pix */
-- sprintf(pixnam, "%s/%s%06d.pix", TMPDIR, "xfig-pic", getpid());
-+ snprintf(pixnam, sizeof(pixnam), "%s/xfig-pic.XXXXXX", TMPDIR);
-+ if ((fd = mkstemp(pixnam)) == -1) {
-+ file_msg("Couldn't open tmp file %s, %s", pixnam, strerror(errno));
-+ return False;
-+ }
-+ close(fd);
-+
- /* and file name for any error messages from gs */
-- sprintf(errnam, "%s/%s%06d.err", TMPDIR, "xfig-pic", getpid());
-+ snprintf(errnam, sizeof(errnam), "%s/xfig-picerr.XXXXXX", TMPDIR);
-+ if ((fd = mkstemp(errnam)) == -1) {
-+ file_msg("Couldn't open tmp file %s, %s", errnam, strerror(errno));
-+ return False;
-+ }
-+ close(fd);
-+
- /* generate gs command line */
- /* for monochrome, use pbm */
- if (tool_cells <= 2 || appres.monochrome) {
---- xfig.3.2.4/f_readgif.c
-+++ xfig.3.2.4/f_readgif.c 2003-05-06 11:56:53.000000000 +0200
-@@ -75,7 +75,7 @@
- char buf[BUFLEN],pcxname[PATH_MAX];
- FILE *giftopcx;
- struct Cmap localColorMap[MAX_COLORMAP_SIZE];
-- int i, stat, size;
-+ int i, stat, size, fd;
- int useGlobalColormap;
- unsigned int bitPixel, red, green, blue;
- unsigned char c;
-@@ -172,7 +172,13 @@
- /* now call giftopnm and ppmtopcx */
-
- /* make name for temp output file */
-- sprintf(pcxname, "%s/%s%06d.pix", TMPDIR, "xfig-pcx", getpid());
-+ snprintf(pcxname, sizeof(pcxname), "%s/xfig-pcx.XXXXXX", TMPDIR);
-+ if ((fd = mkstemp(pcxname)) == -1) {
-+ file_msg("Cannot create temporary file\n");
-+ return FileInvalid;
-+ }
-+ close(fd);
-+
- /* make command to convert gif to pcx into temp file */
- sprintf(buf, "giftopnm | ppmtopcx > %s 2> /dev/null", pcxname);
- if ((giftopcx = popen(buf,"w" )) == 0) {
---- xfig.3.2.4/f_readppm.c
-+++ xfig.3.2.4/f_readppm.c 2003-05-06 11:56:53.000000000 +0200
-@@ -33,10 +33,16 @@
- {
- char buf[BUFLEN],pcxname[PATH_MAX];
- FILE *giftopcx;
-- int stat, size;
-+ int stat, size, fd;
-
- /* make name for temp output file */
-- sprintf(pcxname, "%s/%s%06d.pix", TMPDIR, "xfig-pcx", getpid());
-+ snprintf(pcxname, sizeof(pcxname), "%s/xfig-pcx.XXXXXX", TMPDIR);
-+ if ((fd = mkstemp(pcxname)) == -1) {
-+ file_msg("Cannot open temp file %s: %s\n", pcxname, strerror(errno));
-+ return FileInvalid;
-+ }
-+ close(fd);
-+
- /* make command to convert gif to pcx into temp file */
- sprintf(buf, "ppmtopcx > %s 2> /dev/null", pcxname);
- if ((giftopcx = popen(buf,"w" )) == 0) {
---- xfig.3.2.4/f_readtif.c
-+++ xfig.3.2.4/f_readtif.c 2003-05-06 11:56:53.000000000 +0200
-@@ -32,11 +32,16 @@
- {
- char buf[2*PATH_MAX+40],pcxname[PATH_MAX];
- FILE *tiftopcx;
-- int stat;
-+ int stat, fd;
-
- /* make name for temp output file */
-- sprintf(pcxname, "%s/%s%06d.pix", TMPDIR, "xfig-pcx", getpid());
--
-+ snprintf(pcxname, sizeof(pcxname), "%s/xfig-pcx.XXXXXX", TMPDIR);
-+ if ((fd = mkstemp(pcxname)) == -1) {
-+ file_msg("Cannot open temp file %s: %s\n", pcxname, strerror(errno));
-+ return FileInvalid;
-+ }
-+ close(fd);
-+
- /* make command to convert tif to pnm then to pcx into temp file */
- /* for some reason, tifftopnm requires a file and can't work in a pipe */
- sprintf(buf, "tifftopnm %s 2> /dev/null | ppmtopcx > %s 2> /dev/null",
---- xfig.3.2.4/f_util.c
-+++ xfig.3.2.4/f_util.c 2003-05-06 12:13:22.000000000 +0200
-@@ -902,14 +902,20 @@
- char *name;
- {
- char line[RC_BUFSIZ+1], *tok;
-+ int fd;
-
- /* make a temp filename in the user's home directory so we
- can just rename it to .xfigrc after creating it */
-- sprintf(tmpname, "%s/%s%06d", userhome, "xfig-xfigrc", getpid());
-- tmpf = fopen(tmpname,"wb");
-- if (tmpf == 0) {
-- file_msg("Can't make temporary file for .xfigrc - error: %s",strerror(errno));
-- return -1;
-+ snprintf(tmpname, sizeof(tmpname), "%s/xfig-xfigrc.XXXXXX", userhome);
-+
-+ if ((fd = mkstemp(tmpname)) == -1 || (tmpf = fdopen(fd, "wb")) == NULL) {
-+ file_msg("Can't make temporary file for .xfigrc - error: %s",
-+ strerror(errno));
-+ if (fd != -1) {
-+ unlink(tmpname);
-+ close(fd);
-+ }
-+ return -1;
- }
- /* read the .xfigrc file and write all to temp file except file names */
- xfigrc = fopen(xfigrc_name,"r");
---- xfig.3.2.4/main.c
-+++ xfig.3.2.4/main.c 2003-05-06 11:56:53.000000000 +0200
-@@ -621,8 +621,10 @@
- update_figs = False;
-
- /* get the TMPDIR environment variable for temporary files */
-- if ((TMPDIR = getenv("XFIGTMPDIR"))==NULL)
-- TMPDIR = "/tmp";
-+ if ((TMPDIR = getenv("XFIGTMPDIR"))==NULL) {
-+ if ((TMPDIR = getenv("TMPDIR")) == NULL)
-+ TMPDIR = "/tmp";
-+ }
-
- /* first check args to see if user wants to scale the figure as it is
- read in and make sure it is a resonable (positive) number */
-@@ -1631,7 +1633,14 @@
- if (userhome != NULL && *strcpy(cut_buf_name, userhome) != '\0') {
- strcat(cut_buf_name, "/.xfig");
- } else {
-- sprintf(cut_buf_name, "%s/xfig%06d", TMPDIR, getpid());
-+ int fd;
-+ sprintf(cut_buf_name, "%s/xfig.XXXXXX", TMPDIR);
-+ if ((fd = mkstemp(cut_buf_name)) == -1) {
-+ fprintf(stderr, "Can't create temporary file for cut_buff: %s\n",
-+ strerror(errno));
-+ exit(0);
-+ }
-+ close(fd);
- }
- }
-
---- xfig.3.2.4/mode.c
-+++ xfig.3.2.4/mode.c 2003-05-06 11:56:53.000000000 +0200
-@@ -93,7 +93,7 @@
-
- int cur_exp_lang; /* gets initialized in main.c */
- Boolean batch_exists = False;
--char batch_file[32];
-+char batch_file[PATH_MAX];
-
- /*******************************************************************/
- /* If you change the order of the lang_items[] you must change the */
---- xfig.3.2.4/u_print.c
-+++ xfig.3.2.4/u_print.c 2003-05-06 12:18:47.000000000 +0200
-@@ -85,9 +85,16 @@
- char syspr[2*PATH_MAX+200];
- char tmpfile[PATH_MAX];
- char *name;
-+ int fd;
-
-- sprintf(tmpfile, "%s/%s%06d", TMPDIR, "xfig-print", getpid());
-+ snprintf(tmpfile, sizeof(tmpfile), "%s/xfig-print.XXXXXX", TMPDIR);
- warnexist = False;
-+ if ((fd = mkstemp(tmpfile)) == -1) {
-+ file_msg("Can't open temp file %s: %s\n", tmpfile, strerror(errno));
-+ return;
-+ }
-+ close(fd);
-+
- init_write_tmpfile();
- if (write_file(tmpfile, False)) {
- end_write_tmpfile();
-@@ -166,14 +173,21 @@
- char tmp_name[PATH_MAX];
- char tmp_fig_file[PATH_MAX];
- char *outfile, *name, *real_lang;
-+ int fd;
-
- /* if file exists, ask if ok */
- if (!ok_to_write(file, "EXPORT"))
- return (1);
-
-- sprintf(tmp_fig_file, "%s/%s%06d", TMPDIR, "xfig-fig", getpid());
-- /* write the fig objects to a temporary file */
-+ snprintf(tmp_fig_file, sizeof(tmp_fig_file), "%s/xfig-fig.XXXXXX", TMPDIR);
- warnexist = False;
-+ if ((fd = mkstemp(tmp_fig_file)) == -1) {
-+ file_msg("Can't open temp file %s: %s\n", tmp_fig_file,
-+ strerror(errno));
-+ return 1;
-+ }
-+ close(fd);
-+
- init_write_tmpfile();
- if (write_file(tmp_fig_file, False)) {
- end_write_tmpfile();
-@@ -491,10 +505,16 @@
- char errfname[PATH_MAX];
- FILE *errfile;
- char str[400];
-- int status;
-+ int status, fd;
-
- /* make temp filename for any errors */
-- sprintf(errfname, "%s/xfig-export%06d.err", TMPDIR, getpid());
-+ snprintf(errfname, sizeof(errfname), "%s/xfig-export.XXXXXX", TMPDIR);
-+ if ((fd = mkstemp(errfname)) == -1) {
-+ file_msg("Can't open temp file %s: %s\n", errfname, strerror(errno));
-+ return 1;
-+ }
-+ close(fd);
-+
- /* direct any output from fig2dev to this file */
- strcat(command, " 2> ");
- strcat(command, errfname);
---- xfig.3.2.4/w_print.c
-+++ xfig.3.2.4/w_print.c 2003-05-06 12:20:46.000000000 +0200
-@@ -289,9 +289,10 @@
- Widget w;
- {
- FILE *infp,*outfp;
-- char tmp_exp_file[32];
-+ char tmp_exp_file[PATH_MAX];
- char str[255];
- char backgrnd[10], grid[80];
-+ int fd;
-
- if (writing_batch || emptyfigure_msg(print_msg))
- return;
-@@ -300,11 +301,20 @@
- /* this could happen if the user presses the button too fast */
- writing_batch = True;
-
-- /* make a temporary name to write the batch stuff to */
-- sprintf(batch_file, "%s/%s%06d", TMPDIR, "xfig-batch", getpid());
- /* make a temporary name to write this figure to */
-- sprintf(tmp_exp_file, "%s/%s%06d", TMPDIR, "xfig-exp", getpid());
-- batch_exists = True;
-+ snprintf(tmp_exp_file, sizeof(tmp_exp_file), "%s/xfig-exp.XXXXXX",
-+ TMPDIR);
-+
-+ if (batch_exists != True) {
-+ /* make a temporary name to write the batch stuff to */
-+ sprintf(batch_file, "%s/xfig-batch.XXXXXX", TMPDIR);
-+ if ((fd = mkstemp(batch_file)) == -1) {
-+ file_msg("Error creating temporary file");
-+ return;
-+ }
-+ close(fd);
-+ batch_exists = True;
-+ }
- if (!print_popup)
- create_print_panel(w);
-
-@@ -317,6 +327,12 @@
- /* make a #rrggbb string from the background color */
- make_rgb_string(export_background_color, backgrnd);
-
-+ if ((fd = mkstemp(tmp_exp_file)) == -1) {
-+ file_msg("Error creating temporary file");
-+ return;
-+ }
-+ close(fd);
-+
- /* get grid params and assemble into fig2dev parm */
- get_grid_spec(grid, print_grid_minor_text);
-
---- xfig.3.2.4/w_srchrepl.c
-+++ xfig.3.2.4/w_srchrepl.c 2003-05-06 11:56:53.000000000 +0200
-@@ -795,7 +795,7 @@
- char *cmd;
- char str[300];
- FILE *fp;
-- int len, i;
-+ int len, i, fd;
- Boolean done = FALSE;
- static int lines = 0;
-
-@@ -811,9 +811,12 @@
- }
- lines = 0;
-
-- sprintf(filename, "%s/xfig-spell.%d", TMPDIR, (int)getpid());
-- fp = fopen(filename, "w");
-- if (fp == NULL) {
-+ snprintf(filename, sizeof(filename), "%s/xfig-spell.XXXXXX", TMPDIR);
-+ if ((fd = mkstemp(filename)) == -1 || (fp = fdopen(fd, "w")) == NULL) {
-+ if (fd != -1) {
-+ unlink(filename);
-+ close(fd);
-+ }
- file_msg("Can't open temporary file: %s: %s\n", filename, strerror(errno));
- } else {
- /* locate all text objects and write them to file fp */
diff --git a/source/t/xfig/xfig-3.2.5c.paths.diff b/source/t/xfig/xfig-3.2.5c.paths.diff
new file mode 100644
index 00000000..7c998c6d
--- /dev/null
+++ b/source/t/xfig/xfig-3.2.5c.paths.diff
@@ -0,0 +1,20 @@
+--- ./Imakefile.orig 2012-08-09 12:14:15.000000000 -0500
++++ ./Imakefile 2013-09-18 17:26:47.819436479 -0500
+@@ -45,7 +45,7 @@
+ XCOMM different tree than the "correct" tree that your X system expects. The usual
+ XCOMM purpose of DESTDIR is to test an install process by installing in a benign area.
+
+-XCOMM XAPPLOADDIR = /home/user/xfig
++XAPPLOADDIR = /etc/X11/app-defaults
+
+ XCOMM Comment out the following definition for XAW3D if you don't to want to use
+ XCOMM the 3d Athena Widget Set
+@@ -174,7 +174,7 @@
+
+ XCOMM XFIGDOCDIR tells where the html and pdf documentation should go
+ XCOMM XFIGDOCDIR = $(DOCDIR)/xfig
+-XFIGDOCDIR = /usr/local/xfig/doc
++XFIGDOCDIR = /usr/doc/xfig-3.2.5c
+
+ XCOMM MANDIR tells where the standard man pages should go (no need to change it
+ XCOMM if you want the man pages installed in the standard place on your system
diff --git a/source/t/xfig/xfig-3.2.5c.skip.missing.html.manpage.diff b/source/t/xfig/xfig-3.2.5c.skip.missing.html.manpage.diff
new file mode 100644
index 00000000..a09cbe43
--- /dev/null
+++ b/source/t/xfig/xfig-3.2.5c.skip.missing.html.manpage.diff
@@ -0,0 +1,10 @@
+--- ./Imakefile.orig 2012-08-09 12:14:15.000000000 -0500
++++ ./Imakefile 2013-09-18 17:20:15.875449009 -0500
+@@ -428,7 +428,6 @@
+ echo Copying pdf and html files to $(DESTDIR)$(XFIGDOCDIR) ; \
+ if [ -d $(DESTDIR)$(XFIGDOCDIR)/html ]; then set +x; \
+ else (set -x; $(MKDIRHIER) $(DESTDIR)$(XFIGDOCDIR)/html ); fi ; \
+- $(INSTALL) -m 644 -c xfig_man.html $(DESTDIR)$(XFIGDOCDIR) ; \
+ $(INSTALL) -m 644 -c xfig_ref_en.pdf $(DESTDIR)$(XFIGDOCDIR) ; \
+ $(INSTALL) -m 644 -c xfig-howto.pdf $(DESTDIR)$(XFIGDOCDIR) ; \
+ if [ -d html ]; then \
diff --git a/source/t/xfig/xfig.3.2.3d-international-std-fonts.diff b/source/t/xfig/xfig.3.2.3d-international-std-fonts.diff
deleted file mode 100644
index 5dbdc2e6..00000000
--- a/source/t/xfig/xfig.3.2.3d-international-std-fonts.diff
+++ /dev/null
@@ -1,49 +0,0 @@
-diff -ru xfig.3.2.3d.orig/main.c xfig.3.2.3d/main.c
---- xfig.3.2.3d.orig/main.c 2001-01-25 22:49:19.000000000 +0100
-+++ xfig.3.2.3d/main.c 2003-05-09 11:58:41.000000000 +0200
-@@ -259,18 +259,36 @@
- XtOffset(appresPtr, always_use_fontset), XtRBoolean, (caddr_t) & false},
- {"fixedFontSet", "FontSet", XtRFontSet, sizeof(XFontSet),
- XtOffset(appresPtr, fixed_fontset), XtRString,
-- (caddr_t) "-*-times-medium-r-normal--16-*-*-*-*-*-*-*,"
-- "-*-*-medium-r-normal--16-*-*-*-*-*-*-*,*--16-*" },
-+ (caddr_t) "-URW-Nimbus Roman No9 L-medium-r-normal--34-*-*-*-*-*-*-*,"
-+ "-kochi-mincho-medium-r-normal--34-*-*-*-*-*-jisx0208.1983-0,"
-+ "-baekmukttf-batang-medium-r-normal--34-*-*-*-*-*-ksc5601.1987-0,"
-+ "-*-times-medium-r-normal--34-*-*-*-*-*-*-*,"
-+ "-*-*-medium-r-normal--34-*-*-*-*-*-*-*,*--34-*"
-+ "-*-times-medium-r-normal--16-*-*-*-*-*-*-*,"
-+ "-*-*-medium-r-normal--16-*-*-*-*-*-*-*,*--16-*"
-+ },
- {"normalFontSet", "NormalFontSet", XtRFontSet, sizeof(XFontSet),
- XtOffset(appresPtr, normal_fontset), XtRString,
-- (caddr_t) "-*-times-medium-r-normal--16-*-*-*-*-*-*-*,"
-- "-*-*-medium-r-normal--16-*-*-*-*-*-*-*,"
-- "-*-*-*-r-*--16-*-*-*-*-*-*-*" },
-+ (caddr_t) "-URW-Nimbus Roman No9 L-medium-r-normal--34-*-*-*-*-*-*-*,"
-+ "-kochi-mincho-medium-r-normal--34-*-*-*-*-*-jisx0208.1983-0,"
-+ "-baekmukttf-batang-medium-r-normal--34-*-*-*-*-*-ksc5601.1987-0,"
-+ "-*-times-medium-r-normal--34-*-*-*-*-*-*-*,"
-+ "-*-*-medium-r-normal--34-*-*-*-*-*-*-*,"
-+ "-*-*-*-r-*--34-*-*-*-*-*-*-*"
-+ "-*-times-medium-r-normal--16-*-*-*-*-*-*-*,"
-+ "-*-*-medium-r-normal--16-*-*-*-*-*-*-*,*--16-*"
-+ },
- {"boldFontSet", "BoldFontSet", XtRFontSet, sizeof(XFontSet),
- XtOffset(appresPtr, bold_fontset), XtRString,
-- (caddr_t) "-*-times-bold-r-normal--16-*-*-*-*-*-*-*,"
-- "-*-*-bold-r-normal--16-*-*-*-*-*-*-*,"
-- "-*-*-*-r-*--16-*-*-*-*-*-*-*" },
-+ (caddr_t) "-URW-Nimbus Roman No9 L-bold-r-normal--34-*-*-*-*-*-*-*,"
-+ "-kochi-gothic-medium-r-normal--34-*-*-*-*-*-jisx0208.1983-0,"
-+ "-baekmukttf-dotum-medium-r-normal--34-*-*-*-*-*-ksc5601.1987-0,"
-+ "-*-times-bold-r-normal--34-*-*-*-*-*-*-*,"
-+ "-*-*-bold-r-normal--34-*-*-*-*-*-*-*,"
-+ "-*-*-*-r-*--34-*-*-*-*-*-*-*"
-+ "-*-times-medium-r-normal--16-*-*-*-*-*-*-*,"
-+ "-*-*-medium-r-normal--16-*-*-*-*-*-*-*,*--16-*"
-+ },
- {"fontSetSize", "FontSetSize", XtRInt, sizeof(int),
- XtOffset(appresPtr, fontset_size), XtRImmediate, (caddr_t)0 },
- {"inputStyle", "InputStyle", XtRString, sizeof(char *),
-
diff --git a/source/t/xfig/xfig.3.2.3d-xcolor.diff b/source/t/xfig/xfig.3.2.3d-xcolor.diff
deleted file mode 100644
index 11be8a56..00000000
--- a/source/t/xfig/xfig.3.2.3d-xcolor.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- w_color.c
-+++ w_color.c
-@@ -1288,6 +1288,7 @@
-
- create_cell(indx, color)
- int indx;
-+ XColor color;
- {
- char labl[5];
-
diff --git a/source/t/xfig/xfig.3.2.3d-xim.diff b/source/t/xfig/xfig.3.2.3d-xim.diff
deleted file mode 100644
index 918d00d9..00000000
--- a/source/t/xfig/xfig.3.2.3d-xim.diff
+++ /dev/null
@@ -1,33 +0,0 @@
---- xfig.3.2.3d/d_text.c
-+++ xfig.3.2.3d/d_text.c
-@@ -1485,6 +1485,7 @@
- int i;
- XVaNestedList preedit_att, status_att;
- XPoint spot;
-+ char *modifier_list;
-
- preferred_style = style_notuseful;
- if (strncasecmp(appres.xim_input_style, "OverTheSpot", 3) == 0)
-@@ -1501,6 +1502,10 @@
- if (preferred_style == style_notuseful) return;
-
- if (appres.DEBUG) fprintf(stderr, "initialize_input_method()...\n");
-+
-+ if((modifier_list = XSetLocaleModifiers("")) == NULL) {
-+ /* printf("Warning: XSetLocaleModifiers() failed.\n"); */
-+ }
-
- xim_im = XOpenIM(XtDisplay(w), NULL, NULL, NULL);
- if (xim_im == NULL) {
-@@ -1517,7 +1522,10 @@
- if (xim_style == 0) xim_style = style_root;
- }
- }
-- if (xim_style != preferred_style) {
-+ if (xim_style != preferred_style
-+ && *modifier_list != '\0'
-+ && ! strstr(modifier_list,"@im=local")
-+ && ! strstr(modifier_list,"@im=none")) {
- fprintf(stderr, "xfig: this input-method doesn't support %s input style\n",
- appres.xim_input_style);
- if (xim_style == 0) {
diff --git a/source/t/xfig/xfig.3.2.4-gcc4.diff b/source/t/xfig/xfig.3.2.4-gcc4.diff
deleted file mode 100644
index d8b8597f..00000000
--- a/source/t/xfig/xfig.3.2.4-gcc4.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- w_color.c
-+++ w_color.c 2005/08/31 10:42:32
-@@ -1057,7 +1057,7 @@
- {
- F_compound *c;
- int i, count;
-- char buf[10];
-+ char buf[11];
-
- /* keep array of counts of each color */
- for (i=0; i<num_usr_cols; i++)
diff --git a/source/t/xfig/xfig.3.2.4-locale.diff b/source/t/xfig/xfig.3.2.4-locale.diff
deleted file mode 100644
index 5bb9f925..00000000
--- a/source/t/xfig/xfig.3.2.4-locale.diff
+++ /dev/null
@@ -1,117 +0,0 @@
---- main.c
-+++ main.c 2006-07-31 17:56:25.000000000 +0200
-@@ -62,6 +62,7 @@
- #ifdef I18N
- #include <X11/keysym.h>
- #include <locale.h>
-+#include <langinfo.h>
- #endif /* I18N */
-
- /* EXPORTS */
-@@ -709,11 +710,6 @@ main(argc, argv)
- }
- }
-
--#ifdef I18N
-- setlocale(LC_ALL, "");
-- XtSetLanguageProc(NULL, NULL, NULL);
--#endif /* I18N */
--
- /*
- * save the command line arguments
- */
-@@ -807,6 +803,10 @@ main(argc, argv)
- }
-
- #ifdef I18N
-+ if (NULL == strcasestr(nl_langinfo(CODESET),"ANSI") &&
-+ NULL == strcasestr(nl_langinfo(CODESET),"ISO-8859-1"))
-+ appres.international = True;
-+
- /************************************************************/
- /* if the international option has been set, set the locale */
- /************************************************************/
-@@ -1523,6 +1523,11 @@ setup_visual(argc_p, argv, args)
- */
- tool = XtAppInitialize (&tool_app, "Fig", options, XtNumber (options), argc_p, argv,
- (String *) NULL, args, 0);
-+#ifdef I18N
-+ setlocale(LC_ALL, "");
-+ setlocale(LC_NUMERIC, "C");
-+ XtSetLanguageProc(tool_app, NULL, NULL);
-+#endif /* I18N */
- /* save important info */
- tool_d = XtDisplay(tool);
- tool_s = XtScreen(tool);
---- u_print.c
-+++ u_print.c 2006-11-16 12:45:46.000000000 +0000
-@@ -15,6 +15,7 @@
- *
- */
-
-+#include <locale.h>
- #include "fig.h"
- #include "resources.h"
- #include "mode.h"
-@@ -75,6 +76,7 @@ char *shell_protect_string(string)
- return(buf);
- }
-
-+void
- print_to_printer(printer, backgrnd, mag, print_all_layers, grid, params)
- char printer[];
- char *backgrnd;
-@@ -111,6 +113,8 @@ print_to_printer(printer, backgrnd, mag,
- name = shell_protect_string(cur_filename);
-
- #ifdef I18N
-+ /* set the numeric locale to C so we set decimal points for numbers */
-+ setlocale(LC_NUMERIC, "C");
- sprintf(tmpcmd, "%s %s -L ps -z %s -m %f %s -n %s",
- fig2dev_cmd, appres.international ? appres.fig2dev_localize_option : "",
- #else
-@@ -119,6 +123,10 @@ print_to_printer(printer, backgrnd, mag,
- #endif /* I18N */
- paper_sizes[appres.papersize].sname, mag/100.0,
- appres.landscape ? "-l xxx" : "-p xxx", name);
-+#ifdef I18N
-+ /* reset to original locale */
-+ setlocale(LC_NUMERIC, "");
-+#endif /* I18N */
-
- if (appres.correct_font_size)
- strcat(tmpcmd," -F ");
-@@ -223,9 +231,13 @@ print_to_file(file, lang, mag, xoff, yof
-
- /* start with the command, language and internationalization, if applicable */
- #ifdef I18N
-+ /* set the numeric locale to C so we set decimal points for numbers */
-+ setlocale(LC_NUMERIC, "C");
- sprintf(prcmd, "%s %s -L %s -m %f ",
- fig2dev_cmd, appres.international ? appres.fig2dev_localize_option : "",
- real_lang, mag/100.0);
-+ /* reset to original locale */
-+ setlocale(LC_NUMERIC, "");
- #else
- sprintf(prcmd, "%s -L %s -m %f ", fig2dev_cmd, real_lang, mag/100.0);
- #endif /* I18N */
-@@ -324,6 +336,8 @@ print_to_file(file, lang, mag, xoff, yof
- strcat(tmp_name,"_t");
- /* make it automatically input the postscript/pdf part (-p option) */
- #ifdef I18N
-+ /* set the numeric locale to C so we set decimal points for numbers */
-+ setlocale(LC_NUMERIC, "C");
- sprintf(prcmd, "%s %s -L %s -E %d -p %s -m %f ",
- fig2dev_cmd, appres.international ? appres.fig2dev_localize_option : "",
- #else
-@@ -332,6 +346,10 @@ print_to_file(file, lang, mag, xoff, yof
- #endif /* I18N */
- !strcmp(lang,"pstex")? "pstex_t": "pdftex_t",
- appres.encoding, outfile, mag/100.0);
-+#ifdef I18N
-+ /* reset to original locale */
-+ setlocale(LC_NUMERIC, "");
-+#endif /* I18N */
- /* add the -D +list if user doesn't want all layers printed */
- if (!print_all_layers)
- strcat(prcmd, layers);
diff --git a/source/t/xfig/xfig.3.2.4-null.diff b/source/t/xfig/xfig.3.2.4-null.diff
deleted file mode 100644
index 46120af1..00000000
--- a/source/t/xfig/xfig.3.2.4-null.diff
+++ /dev/null
@@ -1,64 +0,0 @@
---- w_dir.c
-+++ w_dir.c 2004-03-22 12:17:21.000000000 +0000
-@@ -126,6 +126,8 @@
- {
- XawListReturnStruct *ret_struct = (XawListReturnStruct *) call_data;
-
-+ if (!ret_struct)
-+ return;
- strcpy(CurrentSelectionName, ret_struct->string);
- FirstArg(XtNstring, CurrentSelectionName);
- if (browse_up) {
-@@ -160,6 +162,8 @@
- {
- XawListReturnStruct *ret_struct = (XawListReturnStruct *) call_data;
-
-+ if (!ret_struct)
-+ return;
- strcpy(CurrentSelectionName, ret_struct->string);
- DoChangeDir(CurrentSelectionName);
- }
---- w_library.c
-+++ w_library.c 2004-03-22 12:19:10.000000000 +0000
-@@ -461,6 +461,8 @@
- int new_obj;
- XawListReturnStruct *ret_struct = (XawListReturnStruct *) call_data;
-
-+ if (!ret_struct)
-+ return;
- new_obj = ret_struct->list_index;
- if (icons_made) {
- /* unhighlight the current view icon */
---- w_srchrepl.c
-+++ w_srchrepl.c 2004-03-22 12:20:38.000000000 +0000
-@@ -894,6 +894,8 @@
- {
- XawListReturnStruct *ret_struct = (XawListReturnStruct *) call_data;
-
-+ if (!ret_struct)
-+ return;
- /* save the selected word */
- strcpy(selected_word, ret_struct->string);
- /* copy the word to the correct_word ascii widget */
---- w_style.c
-+++ w_style.c 2004-03-22 12:13:00.000000000 +0000
-@@ -585,7 +585,8 @@
-
- XawListReturnStruct *ret_struct = (XawListReturnStruct *) call_data;
-
-- current_family = ret_struct->list_index;
-+ if (ret_struct)
-+ current_family = ret_struct->list_index;
- current_style = -1;
- style_update ();
- }
-@@ -598,7 +599,8 @@
- {
- XawListReturnStruct *ret_struct = (XawListReturnStruct *) call_data;
-
-- current_style = ret_struct->list_index;
-+ if (ret_struct)
-+ current_style = ret_struct->list_index;
- style_update ();
- cur_updatemask = set_style (&current_family_set[current_family].style[current_style]);
-
diff --git a/source/t/xfig/xfig.3.2.4-quiet.diff b/source/t/xfig/xfig.3.2.4-quiet.diff
deleted file mode 100644
index 36086eaf..00000000
--- a/source/t/xfig/xfig.3.2.4-quiet.diff
+++ /dev/null
@@ -1,183 +0,0 @@
---- main.c
-+++ main.c 2004-08-25 14:21:34.000000000 +0200
-@@ -1018,6 +1018,11 @@
- setup_sizes(init_canv_wd, init_canv_ht);
- }
-
-+ (void) init_tool_menus();
-+ (void) init_tool_style_panel();
-+ (void) init_tool_ind_pannel();
-+ (void) init_tool_canvas();
-+
- (void) init_main_menus(tool_form, arg_filename);
- (void) init_msg(tool_form);
- (void) init_mousefun(tool_form);
---- w_canvas.c
-+++ w_canvas.c 2004-08-25 14:20:40.000000000 +0200
-@@ -173,6 +173,13 @@
- ~Meta<Key>:EventCanv()\n\
- <Expose>:ExposeCanv()\n";
-
-+void
-+init_tool_canvas(void)
-+{
-+ XtAppAddActions(tool_app, canvas_actions, XtNumber(canvas_actions));
-+}
-+
-+int
- init_canvas(tool)
- Widget tool;
- {
-@@ -193,7 +200,6 @@
- canvas_middlebut_proc = null_proc;
- canvas_rightbut_proc = null_proc;
- canvas_kbd_proc = canvas_locmove_proc = null_proc;
-- XtAppAddActions(tool_app, canvas_actions, XtNumber(canvas_actions));
- XtAugmentTranslations(canvas_sw,
- XtParseTranslationTable(canvas_translations));
- #ifndef NO_COMPKEYDB
-@@ -204,13 +210,14 @@
- }
-
- /* at this point, the canvas widget is realized so we can get the window from it */
--
-+void
- setup_canvas()
- {
- init_grid();
- reset_clip_window();
- }
-
-+void
- canvas_selected(tool, event, params, nparams)
- Widget tool;
- XButtonEvent *event;
---- w_canvas.h
-+++ w_canvas.h 2004-08-25 14:21:18.000000000 +0200
-@@ -35,9 +35,12 @@
- extern void toggle_show_borders();
- extern void clear_canvas();
-
--extern canvas_selected();
-+extern void canvas_selected();
- extern void paste_primary_selection();
-
-+extern void init_tool_canvas(void);
-+extern int init_canvas(Widget tool);
-+
- extern int clip_xmin, clip_ymin, clip_xmax, clip_ymax;
- extern int clip_width, clip_height;
- extern int cur_x, cur_y;
---- w_cmdpanel.c
-+++ w_cmdpanel.c 2004-08-25 14:26:00.000000000 +0200
-@@ -204,6 +204,13 @@
-
- /* command panel */
- void
-+init_tool_menus(void)
-+{
-+ /* add actions to position the menus if the user uses an accelerator */
-+ XtAppAddActions(tool_app, menu_actions, XtNumber(menu_actions));
-+}
-+
-+void
- init_main_menus(tool, filename)
- Widget tool;
- char *filename;
-@@ -212,6 +219,7 @@
- Widget beside = NULL;
- DeclareArgs(11);
-
-+
- FirstArg(XtNborderWidth, 0);
- NextArg(XtNcolormap, tool_cm);
- NextArg(XtNdefaultDistance, 0);
-@@ -246,8 +254,6 @@
- filename_balloon_trigger, (XtPointer) name_panel);
- XtAddEventHandler(name_panel, LeaveWindowMask, False,
- filename_unballoon, (XtPointer) name_panel);
-- /* add actions to position the menus if the user uses an accelerator */
-- XtAppAddActions(tool_app, menu_actions, XtNumber(menu_actions));
- refresh_view_menu();
- }
-
---- w_cmdpanel.h
-+++ w_cmdpanel.h 2004-08-25 14:10:45.000000000 +0200
-@@ -33,6 +33,8 @@
- extern int num_main_menus();
- extern Widget create_menu_item();
- extern void refresh_view_menu();
-+extern void init_tool_menus(void);
-+extern void init_main_menus(Widget tool, char* filename);
-
- /* def for menu */
-
---- w_indpanel.c
-+++ w_indpanel.c 2004-08-25 14:12:57.000000000 +0200
-@@ -476,6 +476,12 @@
- static ind_sw_info upd_sw_info, upd_set_sw_info, upd_clr_sw_info, upd_tog_sw_info;
-
- void
-+init_tool_ind_pannel(void)
-+{
-+ XtAppAddActions(tool_app, ind_actions, XtNumber(ind_actions));
-+}
-+
-+void
- init_ind_panel(tool)
- Widget tool;
- {
-@@ -626,8 +632,6 @@
- ind_box = XtCreateManagedWidget("ind_box", boxWidgetClass, ind_panel,
- Args, ArgCount);
-
-- XtAppAddActions(tool_app, ind_actions, XtNumber(ind_actions));
--
- for (i = 0; i < NUM_IND_SW; ++i) {
- sw = &ind_switches[i];
- sw->panel = (Widget) NULL; /* not created yet */
---- w_indpanel.h
-+++ w_indpanel.h 2004-08-25 14:14:07.000000000 +0200
-@@ -34,6 +34,9 @@
- extern void wheel_inc_zoom(), wheel_dec_zoom();
- #endif /* WHEELMOUSE */
-
-+extern void init_tool_ind_pannel(void);
-+extern void init_ind_panel(Widget tool);
-+
- /* size of buttons in indicator panel */
- #define DEF_IND_SW_HT 34
- #define DEF_IND_SW_WD 64
---- w_style.c
-+++ w_style.c 2004-08-25 14:05:33.000000000 +0200
-@@ -759,6 +759,12 @@
- /**********************************/
-
- void
-+init_tool_style_panel(void)
-+{
-+ XtAppAddActions (tool_app, style_actions, XtNumber (style_actions));
-+}
-+
-+void
- init_manage_style_panel (void)
- {
- char buf[50];
-@@ -966,7 +972,6 @@
- XtAddCallback (style_close_style, XtNcallback,
- (XtCallbackProc) close_style, (XtPointer) NULL);
-
-- XtAppAddActions (tool_app, style_actions, XtNumber (style_actions));
- style_update ();
- }
-
---- w_style.h
-+++ w_style.h 2004-08-25 14:06:27.000000000 +0200
-@@ -14,6 +14,7 @@
- *
- */
-
-+extern void init_tool_style_panel(void);
- extern void init_manage_style_panel(void);
- extern void setup_manage_style_panel(void);
- extern void popup_manage_style_panel(void);
diff --git a/source/t/xfig/xfig.3.2.4-urw-fonts.diff b/source/t/xfig/xfig.3.2.4-urw-fonts.diff
deleted file mode 100644
index 396dead5..00000000
--- a/source/t/xfig/xfig.3.2.4-urw-fonts.diff
+++ /dev/null
@@ -1,152 +0,0 @@
---- u_fonts.c
-+++ u_fonts.c 2005-10-06 18:55:22.000000000 +0200
-@@ -21,7 +21,9 @@
-
- /* X11 font names */
-
--struct _xfstruct x_fontinfo[NUM_FONTS] = {
-+struct _xfstruct x_fontinfo[NUM_FONTS];
-+
-+struct _xfstruct x_adobe_fontinfo[NUM_FONTS] = {
- {"-*-times-medium-r-normal--", (struct xfont*) NULL},
- {"-*-times-medium-i-normal--", (struct xfont*) NULL},
- {"-*-times-bold-r-normal--", (struct xfont*) NULL},
-@@ -59,6 +61,44 @@
- {"-*-itc zapf dingbats-*-*-*--", (struct xfont*) NULL},
- };
-
-+struct _xfstruct x_urw_fontinfo[NUM_FONTS] = {
-+ {"-URW-*Nimbus Roman No9 L-medium-r-normal--", (struct xfont*) NULL}, /* Times-Roman */
-+ {"-URW-*Nimbus Roman No9 L-medium-i-normal--", (struct xfont*) NULL}, /* Times-Italic */
-+ {"-URW-*Nimbus Roman No9 L-bold-r-normal--", (struct xfont*) NULL}, /* Times-Bold */
-+ {"-URW-*Nimbus Roman No9 L-bold-i-normal--", (struct xfont*) NULL}, /* Times-BoldItalic */
-+ {"-URW-*Gothic L-medium-r-normal--", (struct xfont*) NULL}, /* AvantGarde-Book */
-+ {"-URW-*Gothic L-medium-o-normal--", (struct xfont*) NULL}, /* AvantGarde-BookOblique */
-+ {"-URW-*Gothic L-*bold-r-normal--", (struct xfont*) NULL}, /* AvantGarde-Demi */
-+ {"-URW-*Gothic L-*bold-o-normal--", (struct xfont*) NULL}, /* AvantGarde-DemiOblique */
-+ {"-URW-*Bookman L-medium-r-normal--", (struct xfont*) NULL}, /* Bookman-Light */
-+ {"-URW-*Bookman L-medium-i-normal--", (struct xfont*) NULL}, /* Bookman-LightItalic */
-+ {"-URW-*Bookman L-*bold-r-normal--", (struct xfont*) NULL}, /* Bookman-Demi */
-+ {"-URW-*Bookman L-*bold-i-normal--", (struct xfont*) NULL}, /* Bookman-DemiItalic */
-+ {"-URW-*Nimbus Mono L-medium-r-normal--", (struct xfont*) NULL}, /* Courier */
-+ {"-URW-*Nimbus Mono L-medium-o-normal--", (struct xfont*) NULL}, /* Courier-Oblique */
-+ {"-URW-*Nimbus Mono L-bold-r-normal--", (struct xfont*) NULL}, /* Courier-Bold */
-+ {"-URW-*Nimbus Mono L-bold-o-normal--", (struct xfont*) NULL}, /* Courier-BoldOblique */
-+ {"-URW-*Nimbus Sans L-medium-r-normal--", (struct xfont*) NULL}, /* Helvetica */
-+ {"-URW-*Nimbus Sans L-medium-o-normal--", (struct xfont*) NULL}, /* Helvetica-Oblique */
-+ {"-URW-*Nimbus Sans L-bold-r-normal--", (struct xfont*) NULL}, /* Helvetica-Bold */
-+ {"-URW-*Nimbus Sans L-bold-o-normal--", (struct xfont*) NULL}, /* Helvetica-BoldOblique */
-+ {"-URW-*Nimbus Sans L-medium-r-condensed--", (struct xfont*) NULL}, /* Helvetica-Narrow */
-+ {"-URW-*Nimbus Sans L-medium-o-condensed--", (struct xfont*) NULL}, /* Helvetica-Narrow-Oblique */
-+ {"-URW-*Nimbus Sans L-bold-r-condensed--", (struct xfont*) NULL}, /* Helvetica-Narrow-Bold */
-+ {"-URW-*Nimbus Sans L-bold-o-condensed--", (struct xfont*) NULL}, /* Helvetica-Narrow-BoldOblique */
-+ {"-URW-*Century Schoolbook L-medium-r-normal--", (struct xfont*) NULL}, /* NewCenturySchlbk-Roman */
-+ {"-URW-*Century Schoolbook L-medium-i-normal--", (struct xfont*) NULL}, /* NewCenturySchlbk-Italic */
-+ {"-URW-*Century Schoolbook L-bold-r-normal--", (struct xfont*) NULL}, /* NewCenturySchlbk-Bold */
-+ {"-URW-*Century Schoolbook L-bold-i-normal--", (struct xfont*) NULL}, /* NewCenturySchlbk-BoldItalic */
-+ {"-URW-*Palladio L-medium-r-normal--", (struct xfont*) NULL}, /* Palatino-Roman */
-+ {"-URW-*Palladio L-medium-i-normal--", (struct xfont*) NULL}, /* Palatino-Italic */
-+ {"-URW-*Palladio L-bold-r-normal--", (struct xfont*) NULL}, /* Palatino-Bold */
-+ {"-URW-*Palladio L-bold-i-normal--", (struct xfont*) NULL}, /* Palatino-BoldItalic */
-+ {"-URW-*Standard Symbols L-medium-r-normal--", (struct xfont*) NULL}, /* Symbol */
-+ {"-URW-*Chancery L-medium-i-normal--", (struct xfont*) NULL}, /* ZapfChancery-MediumItalic */
-+ {"-URW-*Dingbats-medium-r-normal--", (struct xfont*) NULL}, /* ZapfDingbats */
-+};
-+
- /* Use the following font names for any font that doesn't exist in the table above.
- * These come with the Open Group X distribution so they should be a common set.
- *
---- u_fonts.h
-+++ u_fonts.h 2005-10-06 19:19:30.000000000 +0200
-@@ -32,9 +32,6 @@
-
- extern int psfontnum();
- extern int latexfontnum();
--extern struct _xfstruct x_fontinfo[], x_backup_fontinfo[];
--extern struct _fstruct ps_fontinfo[];
--extern struct _fstruct latex_fontinfo[];
-
- /* element of linked list for each font
- The head of list is for the different font NAMES,
-@@ -61,5 +58,12 @@
- * sizes */
- };
-
-+extern struct _xfstruct x_fontinfo[];
-+extern struct _xfstruct x_urw_fontinfo[];
-+extern struct _xfstruct x_adobe_fontinfo[];
-+extern struct _xfstruct x_backup_fontinfo[];
-+extern struct _fstruct ps_fontinfo[];
-+extern struct _fstruct latex_fontinfo[];
-+
- int x_fontnum();
- #endif /* U_FONTS_H */
---- w_drawprim.c
-+++ w_drawprim.c 2005-10-06 19:12:02.000000000 +0200
-@@ -99,6 +99,22 @@
- appres.buttonFont, appres.normalFont);
- button_font = XLoadQueryFont(tool_d, appres.normalFont);
- }
-+
-+ /*
-+ * Check for URW fonts, if not found use Adobe fonts
-+ */
-+ strcpy(template,x_urw_fontinfo[0].template);
-+ strcat(template,"0-0-*-*-*-*-");
-+ if (strstr(template,"ymbol") == NULL && strstr(template,"ingbats") == NULL)
-+ strcat(template,"ISO8859-*");
-+ else
-+ strcat(template,"*-*");
-+ if ((fontlist = XListFonts(tool_d, template, 1, &count)) == (char**)0)
-+ memcpy(&x_fontinfo, &x_adobe_fontinfo, sizeof(struct _xfstruct) * NUM_FONTS);
-+ else
-+ memcpy(&x_fontinfo, &x_urw_fontinfo, sizeof(struct _xfstruct) * NUM_FONTS);
-+ XFreeFontNames(fontlist);
-+
- /*
- * Now initialize the font structure for the X fonts corresponding to the
- * Postscript fonts for the canvas. OpenWindows can use any LaserWriter
-@@ -119,8 +135,8 @@
- strcpy(template,x_fontinfo[0].template); /* nope, check for font size 0 */
- strcat(template,"0-0-*-*-*-*-");
- /* add ISO8859 (if not Symbol font or ZapfDingbats) to font name */
-- if (strstr(template,"symbol") == NULL &&
-- strstr(template,"zapf dingbats") == NULL)
-+ if (strstr(template,"ymbol") == NULL &&
-+ strstr(template,"ingbats") == NULL)
- strcat(template,"ISO8859-*");
- else
- strcat(template,"*-*");
-@@ -139,8 +155,8 @@
- strcpy(template,x_fontinfo[f].template);
- strcat(template,"*-*-*-*-*-*-");
- /* add ISO8859 (if not Symbol font or ZapfDingbats) to font name */
-- if (strstr(template,"symbol") == NULL &&
-- strstr(template,"zapf dingbats") == NULL)
-+ if (strstr(template,"ymbol") == NULL &&
-+ strstr(template,"ingbats") == NULL)
- strcat(template,"ISO8859-*");
- else
- strcat(template,"*-*");
-@@ -287,8 +303,8 @@
- /* attach pointsize to font name */
- strcat(template,"%d-*-*-*-*-*-");
- /* add ISO8859 (if not Symbol font or ZapfDingbats) to font name */
-- if (strstr(template,"symbol") == NULL &&
-- strstr(template,"zapf dingbats") == NULL)
-+ if (strstr(template,"ymbol") == NULL &&
-+ strstr(template,"ingbats") == NULL)
- strcat(template,"ISO8859-*");
- else
- strcat(template,"*-*");
-@@ -299,8 +315,8 @@
- strcpy(template,x_backup_fontinfo[fnum].template);
- strcat(template,"%d-*-*-*-*-*-");
- /* add ISO8859 (if not Symbol font or ZapfDingbats) to font name */
-- if (strstr(template,"symbol") == NULL &&
-- strstr(template,"zapf dingbats") == NULL)
-+ if (strstr(template,"ymbol") == NULL &&
-+ strstr(template,"ingbats") == NULL)
- strcat(template,"ISO8859-*");
- else
- strcat(template,"*-*");
diff --git a/source/t/xfig/xfig.3.2.4.diff b/source/t/xfig/xfig.3.2.4.diff
deleted file mode 100644
index 821243a6..00000000
--- a/source/t/xfig/xfig.3.2.4.diff
+++ /dev/null
@@ -1,530 +0,0 @@
---- Fig-color.ad
-+++ Fig-color.ad 2008-04-13 20:50:28.000000000 +0200
-@@ -76,6 +76,12 @@ Fig*MenuButton*background: gray83
- ! in the color editor popup
- Fig*mixedEdit.background: gray83
-
-+Fig*mode_panel.background: gray67
-+Fig*mode_panel*topShadow:: white
-+Fig*mode_panel*bottomShadow: gray17
-+Fig*mode_panel*topShadowPixel: white
-+Fig*mode_panel*bottomShadowPixel: gray17
-+
- Fig*cancel.background: gray88
- Fig*dismiss.background: gray88
- Fig*commands*background: gray88
-@@ -85,12 +91,35 @@ Fig*horizontal.background: gray88
-
- Fig*topruler.background: gray95
- Fig*sideruler.background: gray95
-+Fig*topruler.foreground: black
-+Fig*sideruler.foreground: black
-
- ! file panel and scrollbar
-
- Fig*FigList*background: gray95
- Fig*List*background: gray95
--Fig*Scrollbar.background: gray95
-+Fig*Scrollbar.background: gray77
-+Fig*Scrollbar.foreground: gray37
-+Fig*ScrollbarBackground: gray67
-+Fig*ScrollbarForeground: gray37
-+
-+Fig*horizontal.shadowWidth: 2
-+Fig*horizontal.topShadowPixel: gray95
-+Fig*horizontal.bottomShadowPixel: gray37
-+Fig*horizontal.topShadow: gray95
-+Fig*horizontal.bottomShadow: gray37
-+
-+Fig*Scrollbar.shadowWidth: 2
-+Fig*Scrollbar.topShadow: gray95
-+Fig*Scrollbar.bottomShadow: gray37
-+Fig*Scrollbar.topShadowPixel: gray95
-+Fig*Scrollbar.bottomShadowPixel: gray37
-+
-+Fig*stdColor.shadowWidth: 2
-+Fig*stdColor.topShadow: gray95
-+Fig*stdColor.bottomShadow: gray37
-+Fig*stdColor.topShadowPixel: gray95
-+Fig*stdColor.bottomShadowPixel: gray37
-
- Fig*Label.background: gray80
- Fig*ind_box.background: gray80
---- Fig.ad
-+++ Fig.ad 2008-04-13 20:50:28.000000000 +0200
-@@ -10,6 +10,8 @@ Fig.version: 3.2.4
-
- Fig*AllowShellResize: false
-
-+Fig.inches: false
-+
- ! Image editor - can edit imported image
- Fig.image_editor: xv
-
-@@ -20,7 +22,7 @@ Fig.ghostscript: gs
- ! This is for viewing the xfig html reference.
- ! For netscape, this command will open the help pages in a running netscape,
- ! or start a new netscape if one isn't already running
--Fig.browser: netscape -remote 'openFile(%f)' || netscape %f
-+Fig.browser: /usr/bin/firefox %f
-
- ! pdfviewer - put your favorite pdf viewer here.
- ! This is for viewing the xfig how-to guide and man pages
-@@ -99,60 +101,62 @@ Fig.internalborderwidth: 1
- ! I include both for compatibility. Be sure to change both values when
- ! modifying them.
-
-- Fig*horizontal.shadowWidth: 0
-- Fig*horizontal.topShadowPixel: black
-- Fig*horizontal.bottomShadowPixel: white
-- Fig*horizontal.topShadow: black
-- Fig*horizontal.bottomShadow: white
-+Fig*horizontal.shadowWidth: 0
-+Fig*horizontal.topShadowPixel: black
-+Fig*horizontal.bottomShadowPixel: white
-+Fig*horizontal.topShadow: black
-+Fig*horizontal.bottomShadow: white
-
- ! the following is done so the widget set doesn't try to make shades of
- ! the scrollbar shadows (even though the width is 0 it takes more colors)
-- Fig*Scrollbar.shadowWidth: 0
-- Fig*Scrollbar.topShadow: black
-- Fig*Scrollbar.bottomShadow: white
-- Fig*Scrollbar.topShadowPixel: black
-- Fig*Scrollbar.bottomShadowPixel: white
-+
-+Fig*Scrollbar.shadowWidth: 0
-+Fig*Scrollbar.topShadow: black
-+Fig*Scrollbar.bottomShadow: white
-+Fig*Scrollbar.topShadowPixel: black
-+Fig*Scrollbar.bottomShadowPixel: white
-
- ! this is for the standard color buttons in the color panel
-- Fig*stdColor.shadowWidth: 2
-- Fig*stdColor.topShadow: black
-- Fig*stdColor.bottomShadow: white
-- Fig*stdColor.topShadowPixel: black
-- Fig*stdColor.bottomShadowPixel: white
-+
-+Fig*stdColor.shadowWidth: 2
-+Fig*stdColor.topShadow: black
-+Fig*stdColor.bottomShadow: white
-+Fig*stdColor.topShadowPixel: black
-+Fig*stdColor.bottomShadowPixel: white
-
- ! turn off any shadows for the user color cells
-- Fig*colorMemory.shadowWidth: 0
-+Fig*colorMemory.shadowWidth: 0
-
- ! You may need or want to adjust the highlight thickness for the mode
- ! and indicator panels depending on the results. If it is too thick
- ! it will erase part of the button graphics.
-- Fig*mode_panel*highlightThickness: 1
-- Fig*ind_panel.ind_box.button_form.button.highlightThickness: 1
-+Fig*mode_panel*highlightThickness: 1
-+Fig*ind_panel.ind_box.button_form.button.highlightThickness: 1
- ! Same for the popup panels from the indicator panel
-- Fig*set_indicator_panel*Command.highlightThickness: 1
-+Fig*set_indicator_panel*Command.highlightThickness: 1
-
- ! If you use the 3D Athena widget set and the small icons for the mode panel
- ! (because you have a small screen; see Imakefile) you may want to reduce
- ! the shadow width to 1 or 0. Uncomment the following in that case:
--! Fig*mode_panel*shadowWidth: 1
-+Fig*mode_panel*shadowWidth: 1
-
- ! The following is for the update marker in the upper-right corner of the
- ! indicator buttons. You may not want any highlight thickness because
- ! the boxes are so small.
-- Fig*ind_panel.ind_box.button_form.update.highlightThickness: 0
-+Fig*ind_panel.ind_box.button_form.update.highlightThickness: 1
-
- ! This sets the shadows for the spinner arrows
-- Fig*spinup.shadowWidth: 2
-- Fig*spindown.shadowWidth: 2
-+Fig*spinup.shadowWidth: 0
-+Fig*spindown.shadowWidth: 0
-
- ! This gets rid of that funny black line that sometimes borders the canvas
-
-- Fig*canvas.shadowWidth: 0
-+Fig*canvas.shadowWidth: 0
-
- !if on monochrome server, or no Fig-color app-defaults file
- ! This background resource shows between the buttons like a border
-- Fig*mode_panel.background: black
-- Fig*mode_panel.foreground: black
-+Fig*mode_panel.background: black
-+Fig*mode_panel.foreground: black
-
- ! Specify a private Compose key database file. If this resource contains a "/"
- ! then the wired-in name of the xfig global directory won't be prefixed to it.
---- Imakefile
-+++ Imakefile 2008-04-13 20:52:35.000000000 +0200
-@@ -49,7 +49,7 @@ XCOMM Redefine the following if your PNG
- XCOMM are in different places
-
- PNGLIBDIR = $(USRLIBDIR)
--PNGINC = -I/usr/local/include
-+PNGINC = -I/usr/include
-
- XCOMM If don't want JPEG support, comment out the #define USEJPEG line
- XCOMM Uncomment the #define for USEJPEG if you want to be able to import
-@@ -68,8 +68,8 @@ XCOMM You must have version 5b or newer
-
- #ifdef USEJPEG
- #ifdef USEINSTALLEDJPEG
--JPEGLIBDIR = /usr/local/lib
--JPEGINC = -I/usr/include/X11
-+JPEGLIBDIR = /usr/lib
-+JPEGINC = -I/usr/include
- #else
- JPEGLIBDIR = ../jpeg
- JPEGINC = -I$(JPEGLIBDIR)
-@@ -87,8 +87,8 @@ XCOMM in /contrib/libraries.
- XCOMM Change XPMLIBDIR if necessary to point to the xpm library (libXpm)
- XCOMM Change XPMINC if necessary to point to the include file for xpm (xpm.h)
-
--XCOMM #define USEXPM
--XCOMM #define USEXPM_ICON
-+#define USEXPM
-+#define USEXPM_ICON
-
- #ifdef USEXPM
- XPMLIBDIR = $(USRLIBDIR)
-@@ -105,17 +105,20 @@ XCOMM the 3d Athena Widget Set (highly r
- XCOMM Then be sure to change the XAW3DINC to point to the directory where your
- XCOMM 3D Athena widget headers are located
-
--XCOMM #define XAW3D
-+#define XAW3D
-
- #ifdef XAW3D
- XAW3DINC = -I/usr/include/X11/Xaw3d
- DUSEXAW3D = -DXAW3D
- XAWLIB = -lXaw3d
-+#else
-+XAWSRC = SmeBSB.c SimpleMenu.c
-+XAWOBJ = SmeBSB.o SimpleMenu.o
- #endif
-
- XCOMM Uncomment the following if you have a wheel mouse. See docs for description.
-
--XCOMM #define WHEELMOUSE
-+#define WHEELMOUSE
-
- #ifdef WHEELMOUSE
- DUSEWHEELMOUSE = -DWHEELMOUSE
-@@ -154,7 +157,7 @@ XCOMM uncomment the following line if yo
- XCOMM inline functions. With the "INLINE" keyword, you should notice that
- XCOMM the display will be a bit faster in complex figures
-
--XCOMM USEINLINE = -DUSE_INLINE
-+USEINLINE = -DUSE_INLINE
-
- XCOMM use (and change) the following if you want the multi-key data base file
- XCOMM somewhere other than the standard X11 library directory
-@@ -166,7 +169,7 @@ XFIGLIBDIR = $(LIBDIR)/xfig
-
- XCOMM XFIGDOCDIR tells where the html and pdf documentation should go
- XCOMM XFIGDOCDIR = $(DOCDIR)/xfig
--XFIGDOCDIR = /usr/share/doc/xfig
-+XFIGDOCDIR = /usr/share/doc/packages/xfig
-
- XCOMM MANDIR tells where the standard man pages should go (no need to change it
- XCOMM if you want the man pages installed in the standard place on your system
-@@ -200,7 +203,7 @@ XCOMM instead.
- XCOMM Add `-DCACHE_SIZE_LIMIT=xxxx' where xxxx is the cache size in kilobytes.
- XCOMM A cache size of zero turns caching off.
-
--CACHE = -DCACHE_BITMAPS -DCACHE_SIZE_LIMIT=300
-+CACHE = -DCACHE_BITMAPS -DCACHE_SIZE_LIMIT=512 -DMAXNUMPTS=50000 -DBSDLPR
-
- XCOMM For SYSV systems with BSD-style printer command which use lpr instead of
- XCOMM lp (SGI is one such machine), add -DBSDLPR to the DEFINES variable
-@@ -214,6 +217,7 @@ XCOMM number of vertices.
- XCOMM If you want a compiler other than "cc", define it here
-
- XCOMM CC = /opt/SUNWspro/bin/cc
-+CC = gcc
-
- XCOMM *****************************************************
- XCOMM *****************************************************
-@@ -234,7 +238,7 @@ DEPLIBJPEG = $(JPEGLIBDIR)/libjpeg.a
- #endif /* USEJPEG */
-
- #ifdef I18N
--I18N_DEFS = -DI18N -DSETLOCALE
-+I18N_DEFS = -DI18N
- I18N_SRC = w_i18n.c
- I18N_OBJ = w_i18n.o
- #endif
-@@ -304,7 +308,7 @@ XFIGSRC = d_arc.c d_arcbox.c d_box.c d_e
- w_export.c w_file.c w_fontbits.c w_fontpanel.c w_grid.c w_icons.c \
- w_indpanel.c w_library.c w_modepanel.c w_mousefun.c w_msgpanel.c \
- w_print.c w_rottext.c w_rulers.c w_setup.c w_style.c w_util.c w_zoom.c \
-- $(I18N_SRC) SmeCascade.c SmeBSB.c SimpleMenu.c
-+ $(I18N_SRC) SmeCascade.c $(XAWSRC)
-
- XFIGOBJ = d_arc.o d_arcbox.o d_box.o d_ellipse.o d_picobj.o \
- d_subspline.o d_line.o d_regpoly.o d_spline.o d_text.o \
-@@ -326,7 +330,7 @@ XFIGOBJ = d_arc.o d_arcbox.o d_box.o d_e
- w_export.o w_file.o w_fontbits.o w_fontpanel.o w_grid.o w_icons.o \
- w_indpanel.o w_library.o w_modepanel.o w_mousefun.o w_msgpanel.o \
- w_print.o w_rottext.o w_rulers.o w_setup.o w_style.o w_util.o w_zoom.o \
-- $(I18N_OBJ) SmeCascade.o SmeBSB.o SimpleMenu.o
-+ $(I18N_OBJ) SmeCascade.o $(XAWOBJ)
-
- XCOMM Other dependencies should be handled by "make depend"
-
---- e_addpt.c
-+++ e_addpt.c 2008-04-13 20:50:28.000000000 +0200
-@@ -52,6 +52,7 @@ point_adding_selected()
- force_nopositioning();
- force_anglegeom();
- constrained = MOVE_ARB;
-+ reset_action_on();
- }
-
- static void
---- e_align.c
-+++ e_align.c 2008-04-13 20:50:28.000000000 +0200
-@@ -63,6 +63,7 @@ align_selected()
- canvas_middlebut_proc = init_align_canvas;
- canvas_rightbut_proc = null_proc;
- set_cursor(pick15_cursor);
-+ reset_action_on();
- }
-
- /* align objects to the whole canvas */
---- e_arrow.c
-+++ e_arrow.c 2008-04-13 20:50:28.000000000 +0200
-@@ -47,6 +47,7 @@ arrow_head_selected()
- canvas_middlebut_proc = point_search_middle;
- canvas_rightbut_proc = null_proc;
- set_cursor(pick9_cursor);
-+ reset_action_on();
- }
-
- static void
---- e_break.c
-+++ e_break.c 2008-04-13 20:50:28.000000000 +0200
-@@ -43,6 +43,7 @@ break_selected()
- canvas_middlebut_proc = object_search_middle;
- canvas_rightbut_proc = null_proc;
- set_cursor(pick15_cursor);
-+ reset_action_on();
- }
-
- static void
-@@ -82,8 +83,10 @@ init_break(p, type, x, y, px, py, loc_ta
- list_delete_compound(&objects.compounds, cur_c);
- tail(&objects, &object_tails);
- append_objects(&objects, cur_c, &object_tails);
-+#if 0
- /* add the depths from this compound */
- add_compound_depth(cur_c);
-+#endif
- toggle_markers_in_compound(cur_c);
- set_tags(cur_c, loc_tag);
- set_action(F_BREAK);
---- e_convert.c
-+++ e_convert.c 2008-04-13 20:50:28.000000000 +0200
-@@ -47,6 +47,7 @@ convert_selected()
- canvas_middlebut_proc = null_proc;
- canvas_rightbut_proc = point_search_right;
- set_cursor(pick15_cursor);
-+ reset_action_on();
- }
-
- static void
---- e_deletept.c
-+++ e_deletept.c 2008-04-13 20:50:28.000000000 +0200
-@@ -43,6 +43,7 @@ delete_point_selected()
- canvas_middlebut_proc = null_proc;
- canvas_rightbut_proc = null_proc;
- set_cursor(pick9_cursor);
-+ reset_action_on();
- }
-
- static void
---- e_flip.c
-+++ e_flip.c 2008-04-13 20:50:28.000000000 +0200
-@@ -61,6 +61,7 @@ flip_ud_selected()
- setcenter = 0;
- setanchor = 0;
- flip_selected();
-+ reset_action_on();
- }
-
- void
-@@ -76,6 +77,7 @@ flip_lr_selected()
- setcenter = 0;
- setanchor = 0;
- flip_selected();
-+ reset_action_on();
- }
-
- static void
---- e_movept.c
-+++ e_movept.c 2008-04-13 20:50:28.000000000 +0200
-@@ -80,6 +80,7 @@ move_point_selected()
- canvas_rightbut_proc = null_proc;
- set_cursor(pick9_cursor);
- force_anglegeom();
-+ reset_action_on();
- }
-
- static void
---- e_rotate.c
-+++ e_rotate.c 2008-04-13 20:50:28.000000000 +0200
-@@ -94,6 +94,7 @@ rotate_selected()
- canvas_middlebut_proc = object_search_middle;
- canvas_rightbut_proc = set_unset_center;
- set_cursor(pick15_cursor);
-+ reset_action_on();
- }
-
- static void
---- e_update.c
-+++ e_update.c 2008-04-13 20:50:28.000000000 +0200
-@@ -64,6 +64,7 @@ update_selected()
- set_cursor(pick9_cursor);
- /* manage on the update buttons */
- manage_update_buts();
-+ reset_action_on();
- }
-
- static int
---- fig.h
-+++ fig.h 2008-04-13 20:50:28.000000000 +0200
-@@ -26,6 +26,7 @@ extern char *my_strdup();
- #if defined(ultrix) || defined(__bsdi__) || defined(Mips) || defined(apollo)
- #include <sys/types.h> /* for stat structure */
- #endif
-+#include <sys/param.h>
- #include <sys/stat.h>
-
- #if defined(__convex__) && defined(__STDC__)
---- mode.h
-+++ mode.h 2008-04-13 20:50:28.000000000 +0200
-@@ -19,7 +19,7 @@
- #define MODE_H
-
- #define F_NULL 0
--#define FIRST_DRAW_MODE F_CIRCLE_BY_RAD
-+#define FIRST_DRAW_MODE F_CIRCLE_BY_RAD
- #define F_CIRCLE_BY_RAD 1
- #define F_CIRCLE_BY_DIA 2
- #define F_ELLIPSE_BY_RAD 3
-@@ -38,7 +38,7 @@
- #define F_PICOBJ 16
- #define F_PLACE_LIB_OBJ 17
-
--#define FIRST_EDIT_MODE F_GLUE
-+#define FIRST_EDIT_MODE F_GLUE
- #define F_GLUE 30
- #define F_BREAK 31
- #define F_SCALE 32
---- w_canvas.c
-+++ w_canvas.c 2008-04-13 20:50:28.000000000 +0200
-@@ -536,6 +536,7 @@ reset_click_counter(widget, closure, eve
-
- /* clear the canvas - this can't be called to clear a pixmap, only a window */
-
-+void
- clear_canvas()
- {
- /* clear the splash graphic if it is still on the screen */
---- w_canvas.h
-+++ w_canvas.h 2008-04-13 20:50:28.000000000 +0200
-@@ -33,6 +33,7 @@ extern void toggle_show_balloons();
- extern void toggle_show_lengths();
- extern void toggle_show_vertexnums();
- extern void toggle_show_borders();
-+extern void clear_canvas();
-
- extern void canvas_selected();
- extern void paste_primary_selection();
---- w_menuentry.c
-+++ w_menuentry.c 2008-04-13 20:50:28.000000000 +0200
-@@ -170,7 +170,8 @@ Region region;
- gc = entry->sme_bsb.norm_gray_gc;
- }
-
-- if (entry->sme_bsb.label != NULL) {
-+/* if (entry->sme_bsb.label != NULL) { */
-+ if (entry->sme_bsb.label == XtName((Widget)(entry))) {
- int x_loc = entry->sme_bsb.left_margin;
- int len = strlen(entry->sme_bsb.label);
- char * label = entry->sme_bsb.label;
---- w_srchrepl.c
-+++ w_srchrepl.c 2008-04-13 20:50:28.000000000 +0200
-@@ -56,7 +56,6 @@ There is currently no way to undo replac
- #include "w_util.h"
- #include "u_create.h"
- #include <stdarg.h>
--
- #define MAX_MISSPELLED_WORDS 200
- #define SEARCH_WIDTH 496 /* width of search message and results */
-
---- w_util.c
-+++ w_util.c 2008-04-13 20:50:28.000000000 +0200
-@@ -1102,7 +1102,7 @@ check_action_on()
- finish_text_input(0,0,0);/* finish up any text input */
- else {
- if (cur_mode == F_PLACE_LIB_OBJ)
-- cancel_place_lib_obj();
-+ cancel_place_lib_obj(0, 0, 0);
- else {
- put_msg("Finish (or cancel) the current operation before changing modes");
- beep();
---- Doc/xfig.html
-+++ Doc/xfig.html 2008-04-13 20:50:28.000000000 +0200
-@@ -848,6 +848,20 @@ between all buttons and panels (default
- </DL>
- <P>
-
-+<B>-international</B>
-+
-+<DL COMPACT>
-+<DT><DD>
-+Switch on international support (mainly Japanese
-+and Korean), users of ISO Latin 1 (ISO-8859-1)
-+probably should not use this, therefore the international
-+support is switched off by default for locales using ISO-8859-1*
-+codesets. For all other locales this option is already used
-+by default.
-+</DL>
-+
-+<P>
-+
-
- <B>-jpeg</B>[<B>_quality</B>]
-
-@@ -2208,6 +2222,7 @@ inches boolean true
- -metric (false)
- installowncmap boolean false -installowncmap
- internalborderwidth integer 1 -internalBW
-+international boolean false -international
- jpeg_quality integer 75 -jpeg_quality
- justify boolean false -left (false),
- -right (true)
---- Doc/xfig.man
-+++ Doc/xfig.man 2008-04-13 20:50:28.000000000 +0200
-@@ -531,6 +531,15 @@ Use lines of width
- between all buttons and panels (default = 1).
- .\"-------
- .At
-+.BR \-international
-+.Ap
-+Switch on international support (mainly Japanese and Korean),
-+users of ISO Latin 1 (ISO-8859-1) probably should not use this,
-+therefore the international support is switched off by default
-+for locales using ISO-8859-1* codesets. For all other locales this
-+option is already used by default.
-+.\"-------
-+.At
- .BR \-jpeg [ _quality ]
- .I quality
- .Ap
diff --git a/source/t/xfig/xfig.SlackBuild b/source/t/xfig/xfig.SlackBuild
index 00145d31..41f23f12 100755
--- a/source/t/xfig/xfig.SlackBuild
+++ b/source/t/xfig/xfig.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2007, 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2007, 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,8 +21,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=3.2.4
-BUILD=${BUILD:-5}
+VERSION=3.2.5c
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -50,40 +50,29 @@ mkdir -p $PKG $TMP
cd $TMP
rm -rf xfig.$VERSION
-tar xvf $CWD/xfig.$VERSION.full.tar.bz2 || exit 1
+tar xvf $CWD/xfig.$VERSION.full.tar.xz || exit 1
cd xfig.$VERSION || exit 1
chown -R root:root .
find . \
- \( -perm 2775 -o -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) -o \
+ \( -perm 700 -type d \) \
-exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) -o \
+ \( -perm 700 -type f \) \
-exec chmod 644 {} \;
-zcat $CWD/xfig-3.2.4-mkstemp.diff.gz | patch -E -p1 --verbose || exit 1
-zcat $CWD/xfig.3.2.3d-international-std-fonts.diff.gz | patch -E -p1 --verbose || exit 1
-zcat $CWD/xfig.3.2.3d-xcolor.diff.gz | patch -E -p0 --verbose || exit 1
-zcat $CWD/xfig.3.2.3d-xim.diff.gz | patch -E -p1 --verbose || exit 1
-zcat $CWD/xfig.3.2.4-gcc4.diff.gz | patch -E -p0 --verbose || exit 1
-zcat $CWD/xfig.3.2.4-locale.diff.gz | patch -E -p0 --verbose || exit 1
-zcat $CWD/xfig.3.2.4-null.diff.gz | patch -E -p0 --verbose || exit 1
-zcat $CWD/xfig.3.2.4-quiet.diff.gz | patch -E -p0 --verbose || exit 1
-zcat $CWD/xfig.3.2.4-urw-fonts.diff.gz | patch -E -p0 --verbose || exit 1
-zcat $CWD/xfig.3.2.4.diff.gz | patch -E -p0 --verbose || exit 1
+zcat $CWD/xfig-3.2.5c.skip.missing.html.manpage.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/xfig-3.2.5c.paths.diff.gz | patch -p1 --verbose || exit 1
# Eliminate menu choice for non-distributed (redundant) PDF documentation:
zcat $CWD/xfig.no.pdf.ref.diff.gz | patch -E -p1 --verbose || exit 1
# Don't install PDF reference manual because the HTML manual is the same thing
# (and also includes a Japanese translation):
zcat $CWD/xfig.no.xfig_ref_en.pdf.diff.gz | patch -E -p1 --verbose || exit 1
-# Use Firefox and xpdf, not netscape and acroread:
zcat $CWD/xfig.fig.ad.diff.gz | patch -E -p1 --verbose || exit 1
-zcat $CWD/xfig.docs.location.diff.gz | patch -E -p1 --verbose || exit 1
-# Drop a call to a function no longer included in libpng-1.4.0 (by default,
-# anyway) to see if it really matters.
-zcat $CWD/xfig.png14.nodither.diff.gz | patch -p1 --verbose || exit 1
xmkmf || exit 1
-make $NUMJOBS || make || exit 1
+make all $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
make install.man DESTDIR=$PKG || exit 1
make install.libs DESTDIR=$PKG || exit 1
diff --git a/source/t/xfig/xfig.docs.location.diff b/source/t/xfig/xfig.docs.location.diff
deleted file mode 100644
index 78385c06..00000000
--- a/source/t/xfig/xfig.docs.location.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./Imakefile.orig 2007-02-19 03:29:55.000000000 -0600
-+++ ./Imakefile 2007-02-19 03:32:49.000000000 -0600
-@@ -169,7 +169,7 @@
-
- XCOMM XFIGDOCDIR tells where the html and pdf documentation should go
- XCOMM XFIGDOCDIR = $(DOCDIR)/xfig
--XFIGDOCDIR = /usr/share/doc/packages/xfig
-+XFIGDOCDIR = /usr/doc/xfig-3.2.4
-
- XCOMM MANDIR tells where the standard man pages should go (no need to change it
- XCOMM if you want the man pages installed in the standard place on your system
diff --git a/source/t/xfig/xfig.fig.ad.diff b/source/t/xfig/xfig.fig.ad.diff
index a6a763a1..a6082acc 100644
--- a/source/t/xfig/xfig.fig.ad.diff
+++ b/source/t/xfig/xfig.fig.ad.diff
@@ -1,30 +1,11 @@
---- ./Fig.ad.orig 2007-02-19 03:01:42.000000000 -0600
-+++ ./Fig.ad 2007-02-19 03:05:49.000000000 -0600
-@@ -22,16 +22,24 @@
- ! This is for viewing the xfig html reference.
- ! For netscape, this command will open the help pages in a running netscape,
- ! or start a new netscape if one isn't already running
--Fig.browser: /usr/bin/firefox %f
-+! Fig.browser: netscape -remote 'openFile(%f)' || netscape %f
-+! This example might work the same for SeaMonkey:
-+! Fig.browser: seamonkey -remote 'openFile(%f)' || seamonkey %f
-+! By default, let's try Firefox:
-+Fig.browser: firefox %f
-
- ! pdfviewer - put your favorite pdf viewer here.
- ! This is for viewing the xfig how-to guide and man pages
--Fig.pdfviewer: acroread %f
-+! Fig.pdfviewer: acroread %f
-+! Fig.pdfviewer: kpdf %f
-+Fig.pdfviewer: xpdf %f
-
+--- ./Fig.ad.orig 2012-02-16 14:21:34.000000000 -0600
++++ ./Fig.ad 2013-09-18 17:39:13.523412641 -0500
+@@ -34,7 +34,7 @@
! Spell check program - put your favorite spelling check program here.
! It must write the misspelled words to standard output.
-Fig.spellcheckcommand: spell %f
-+! Fig.spellcheckcommand: spell %f
-+! Fig.spellcheckcommand: aspell -a %f
-+Fig.spellcheckcommand: aspell -a %f
++Fig.spellcheckcommand: aspell -a %f
! delay before spinner automatically counts when pressed (milliseconds)
Fig.spinner_delay: 1000
diff --git a/source/t/xfig/xfig.no.pdf.ref.diff b/source/t/xfig/xfig.no.pdf.ref.diff
index 5e694ab8..ab6c80b6 100644
--- a/source/t/xfig/xfig.no.pdf.ref.diff
+++ b/source/t/xfig/xfig.no.pdf.ref.diff
@@ -1,13 +1,13 @@
---- ./w_cmdpanel.c.orig 2006-08-14 18:53:22.000000000 -0500
-+++ ./w_cmdpanel.c 2006-08-14 18:55:02.000000000 -0500
-@@ -176,7 +176,9 @@
+--- ./w_cmdpanel.c.orig 2013-06-14 17:39:29.000000000 -0500
++++ ./w_cmdpanel.c 2013-09-18 17:32:05.187426334 -0500
+@@ -215,7 +215,9 @@
+ menu_def help_menu_items[] = {
+ {"Xfig Reference (HTML)...", 0, launch_refman, False},
+ #ifdef FIXED_JAPANESE_PDF
+- {"Xfig Reference (PDF, English)...", 0, launch_refpdf_en, False},
++ /* Why both a PDF and an HTML that are the same? Remove redundant option */
++ /* and don't distribute the English PDF with the Slackware package. */
++ /* {"Xfig Reference (PDF)...", 0, launch_refpdf_en}, */
/* Tom Sato said that the Japanese version of the pdf looked ugly so we'll not distribute it now */
- {"Xfig Reference (PDF, Japanese)...", 0, launch_refpdf_jp}
+ {"Xfig Reference (PDF, Japanese)...", 0, launch_refpdf_jp, False},
#else
-- {"Xfig Reference (PDF)...", 0, launch_refpdf_en},
-+ /* Why both a PDF and an HTML that are the same? Remove redundant option */
-+ /* and don't distribute the English PDF with the Slackware package. */
-+ /* {"Xfig Reference (PDF)...", 0, launch_refpdf_en}, */
- #endif /* FIXED_JAPANESE_PDF */
- {"Xfig Man Pages (HTML)...", 5, launch_man},
- {"How-To Guide (PDF)...", 0, launch_howto},
diff --git a/source/t/xfig/xfig.no.xfig_ref_en.pdf.diff b/source/t/xfig/xfig.no.xfig_ref_en.pdf.diff
index e0b9f9ef..360ba6a3 100644
--- a/source/t/xfig/xfig.no.xfig_ref_en.pdf.diff
+++ b/source/t/xfig/xfig.no.xfig_ref_en.pdf.diff
@@ -1,10 +1,10 @@
---- ./Imakefile.orig 2002-12-19 11:57:11.000000000 -0600
-+++ ./Imakefile 2006-08-14 19:20:56.000000000 -0500
-@@ -408,7 +408,6 @@
- @(cd Doc ; \
+--- ./Imakefile.orig 2013-09-18 17:32:24.193425727 -0500
++++ ./Imakefile 2013-09-18 17:33:38.835423340 -0500
+@@ -428,7 +428,6 @@
echo Copying pdf and html files to $(DESTDIR)$(XFIGDOCDIR) ; \
- $(INSTALL) -m 644 -c xfig_man.html $(DESTDIR)$(XFIGDOCDIR) ; \
-- $(INSTALL) -m 644 -c xfig_ref_en.pdf $(DESTDIR)$(XFIGDOCDIR) ; \
- $(INSTALL) -m 644 -c xfig-howto.pdf $(DESTDIR)$(XFIGDOCDIR) ; \
if [ -d $(DESTDIR)$(XFIGDOCDIR)/html ]; then set +x; \
else (set -x; $(MKDIRHIER) $(DESTDIR)$(XFIGDOCDIR)/html ); fi ; \
+- $(INSTALL) -m 644 -c xfig_ref_en.pdf $(DESTDIR)$(XFIGDOCDIR) ; \
+ $(INSTALL) -m 644 -c xfig-howto.pdf $(DESTDIR)$(XFIGDOCDIR) ; \
+ if [ -d html ]; then \
+ ( cd html ; tar cf - *.* images ) | ( cd $(DESTDIR)$(XFIGDOCDIR)/html ; tar xf - ) ; fi ; \
diff --git a/source/t/xfig/xfig.png14.nodither.diff b/source/t/xfig/xfig.png14.nodither.diff
deleted file mode 100644
index 512e236a..00000000
--- a/source/t/xfig/xfig.png14.nodither.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./f_readpng.c.orig 2002-09-19 16:07:59.000000000 -0500
-+++ ./f_readpng.c 2010-02-19 19:31:42.000000000 -0600
-@@ -133,7 +133,7 @@
-
- if (png_get_PLTE(png_ptr, info_ptr, &palette, &num_palette)) {
- png_get_hIST(png_ptr, info_ptr, &histogram);
-- png_set_dither(png_ptr, palette, num_palette, 256, histogram, 0);
-+ /* png_set_dither(png_ptr, palette, num_palette, 256, histogram, 0); */
- }
- }
- if (color_type == PNG_COLOR_TYPE_GRAY || color_type == PNG_COLOR_TYPE_GRAY_ALPHA) {