commit 289e96a5f50a6ed8dd4cf58f2d1fb2b19d446859 Author: Alan W. Irwin Date: Sun Apr 12 02:38:27 2015 -0700 Update README.Release_Manager_Cookbook to be consistent with what has occurred for the 5.11.0 release M README.Release_Manager_Cookbook commit 812758d1f61cade7c16fc9b6cad514465f7dce58 Author: Alan W. Irwin Date: Sun Apr 12 02:27:30 2015 -0700 Website: Update credits.php URL's. M www/credits.php commit 4e20e0db9a948c48247cd1dd5d4672287c13e698 Author: Alan W. Irwin Date: Sun Apr 12 02:20:11 2015 -0700 Website: update website design copyright date. M www/corefunctions.php commit eaad103efe82cb94915e84c3f56d832ec4374308 Author: Alan W. Irwin Date: Sat Apr 11 23:55:10 2015 -0700 Website: create and use downloads.php#Binary_Packages link. M www/downloads.php M www/index.php commit fd9674ecef954e413ae0a3b91e38bd1cc8bca012 Author: Alan W. Irwin Date: Sat Apr 11 23:53:02 2015 -0700 Website: Correct w3c validation error. M www/credits.php commit 99fe5f0ee6a0ff8ae51eea8075e9aa74cc93a53c Author: Alan W. Irwin Date: Thu Apr 9 13:30:51 2015 -0700 Update scripts/make_tarball.sh from svn to git In addition to modifying this script to work with git, I updated the messages generated by the script, and (most importantly) fixed a long-standing bug in the script where the exported working directory was used for "testing the tarball" as opposed to the correct unpacked source tree from the tarball. Tested by Alan W. Irwin on Linux following the "Create (a preliminary version of) the release tarball and check the result for errors" part of README.Release_Manager_Cookbook. M README.Release_Manager_Cookbook M scripts/make_tarball.sh commit 371a09510cea576d0a9cb76034212671921bd489 Author: Alan W. Irwin Date: Thu Apr 9 00:20:57 2015 -0700 Update website generation. Tested by Alan W. Irwin on Linux by following the directions in README.Release_Manager_Cookbook for "Install and test a (preliminary) local copy of the PLplot website" M README.Release_Manager_Cookbook M scripts/generate_website.sh M www/examples.php M www/index.php commit b16707a724cb9ef9bf3643c27603098fca1164a5 Author: Alan W. Irwin Date: Wed Apr 8 14:46:58 2015 -0700 Update versions and release date for the forthcoming release The release date is now set in doc/docbook/src/CMakeLists.txt since it only affects the documentation generation. The actual value has been approximately updated to 4 days from now to reflect my current best guess concerning the release date, but that value will likely be updated again. All libraries that used to have the "d" suffix for their name have had their SOVERSIONS bumped to reflect that backward-incompatible change in the library name. M cmake/modules/plplot_version.cmake M doc/docbook/src/CMakeLists.txt M www/examples.php commit 1244318aa10ed5e98bd2a86fb200d5e37a9ee54e Author: Alan W. Irwin Date: Wed Apr 8 13:47:47 2015 -0700 Make bindings/swig-support/swig_documentation.i be consistent with doc/docbook/src/api.xml. This change was implemented by building the check_swig_documentation target and copying the generated result, bindings/swig-support/swig_documentation.i_compare in the build tree to bindings/swig-support/swig_documentation.i in the build tree. Tested by Alan W. Irwin on Linux by building the check_swig_documentation target in the build tree. As a result of this last consistency update we also have the result that for the -DADD_SPECIAL_CONSISTENCY_CHECKING=ON cmake option, the check_all target finally works perfectly again. M bindings/swig-support/swig_documentation.i commit 8b61838b760058fcc71e6b063e724e657ace286d Author: Alan W. Irwin Date: Wed Apr 8 12:00:57 2015 -0700 Make doc/docbook/src/api.xml be consistent with include/plplot.h. The special target check_api_xml_consistency that is available if you have set up the golang api.xml_consistency_checker and use the -DADD_SPECIAL_CONSISTENCY_CHECKING=ON cmake option (see commit id 8f71df3 = svn revision 12961) found a number of errors in the plmap* functions documented in api.xml and inconsistencies between api.xml and plplot.h. This commit addresses those issues by making appropriate changes to api.xml. Tested by Alan W. Irwin on Linux by building the validate and check_api_xml_consistency targets in the build tree. M doc/docbook/src/api.xml commit 750d727b5dc6c6feb1227caf0c63abad779a708e Author: Alan W. Irwin Date: Wed Apr 8 11:58:42 2015 -0700 depreciated ==> deprecated. M bindings/octave/USAGE M drivers/gd.c M include/plfreetype.h M include/plplot.h commit 510f72aef653db08907530de9748c13d0fb4a7db Author: Alan W. Irwin Date: Wed Apr 8 11:00:07 2015 -0700 Remove "c_" prefix from plsdevdata. The plsdevdata function is currently used only by the wxwidgets device driver and associated binding. This function might be used for other device drivers later on whether written in c++ or c. But this function is not part of the common API and should not be propagated to any binding other than c++. Therefore remove the "c_" prefix which is an incorrect indicator that this function is part of the common API that should be propagated to all bindings. Tested by Alan W. Irwin on Linux by building the test_c_wxwidgets target in the build tree. M include/plplot.h M src/plcore.c commit ced7ac241d6ed03e802743844475ee65e1f3bd70 Author: Alan W. Irwin Date: Wed Apr 8 10:02:33 2015 -0700 make bindings/f95/plplot_parameters.inc consistent with the #defines in bindings/swig-support/plplotcapi.i. This update was done by running make check_f95_parameters in the build tree and copying the resulting bindings/f95/plplot_parameters.inc_compare in that tree to bindings/f95/plplot_parameters.inc in the source tree. Tested by Alan W. Irwin on Linux by running make check_f95_parameters in the build tree to demonstrate that the above update procedure worked. M bindings/f95/plplot_parameters.inc commit 2c046fff852b80525125072bf623a6e85c15f3b7 Author: Alan W. Irwin Date: Wed Apr 8 09:58:33 2015 -0700 Make the numerical #defines in bindings/swig-support/plplotcapi.i consistent with the numerical #defines in include/plplot.h. This was implemented by running make check_plplotcapi_defines in the build tree and updating bindings/swig-support/plplotcapi.i following the instructions in that file. Tested by Alan W. Irwin on Linux by running make check_plplotcapi_defines after the update procedure to prove that procedure worked properly. M bindings/swig-support/plplotcapi.i commit 81453b08cf2b69b5c274d51ee38d460f6954c24d Author: Alan W. Irwin Date: Wed Apr 8 09:44:25 2015 -0700 Make styled bindings/tcl/plplot_parameters.h consistent with bindings/swig-support/plplotcapi.i. The styling consisted of changing the sed script that generates the result to insert whitespace to be consistent with what is achieved with scripts/style_source.sh. Tested by Alan W. Irwin on Linux by running (in the build tree) make check_tcl_parameters and copying bindings/tcl/plplot_parameters.h_compare from the build tree back to bindings/tcl/plplot_parameters.h in the source tree (and running scripts/style_source.sh afterward to make sure that copied result is properly styled.) M bindings/tcl/global_defines.sed M bindings/tcl/plplot_parameters.h commit 6adfdb303975b72fbcf9e210e5e1070f06b1e1f1 Author: Alan W. Irwin Date: Tue Apr 7 17:03:03 2015 -0700 Docbook documentation: Improve directions for testing results M doc/docbook/README.developers commit 3e12f62226e41f572a0cba2f3a7dbb16d962ed90 Author: Alan W. Irwin Date: Tue Apr 7 14:50:33 2015 -0700 Doxygen-generated documentation: update Tweak documentation of how to test doxygen-generated documentation. Drop deprecated files from doxygen control. Tested by Alan W. Irwin on Linux by configuring cmake with -DBUILD_DOX_DOC=ON and running make -j4 build_doxygen >& build_doxygen.out The results are not perfect (there are still some doxygen-generated warnings when attempting to parse Java, D, and Python source files), but they are "good enough for now". For example, the documentation for pllegend.c that is generated by doxygen at doc/doxygen/html/pllegend_8c.html in the build tree looks pretty good. M doc/Doxyfile.in M doc/README.doxygen commit dadae4ad628612d4cdfbf44dc3601dcd3b5e389d Author: Alan W. Irwin Date: Sat Apr 4 00:22:10 2015 -0700 Release process: Update Release notes. M README.release commit b6b60d1ff4a032f53aae69ea3f9caf654a519690 Author: Alan W. Irwin Date: Tue Mar 31 08:55:00 2015 -0700 Build system: Fix long-standing -DUSINGDLL bug -DUSINGDLL should only be used as a compile flag for the shared library case. This bug only affected the build of the qt_gui and smoke bindings on Windows for the static library case. Tested by Alan W. Irwin on Linux by running cmake. (A simple test that no syntax errors were introduced.) An actual build of libplplotqt for the static library case on Windows is needed for definitive testing of this fix. M bindings/qt_gui/CMakeLists.txt M bindings/qt_gui/smoke/CMakeLists.txt commit 5f6e28f3371b2d4b7fa5b85c9b586d7616fc40e4 Author: Alan W. Irwin Date: Thu Mar 26 17:26:49 2015 -0700 Build system: test system: Update improvement of target dependency logic for tests For the ENABLE_DYNDRIVERS=NO case, the individual (non-existent) device driver targets are replaced by the plplot target since for this case the driver code is placed in the plplot library. Tested by Alan W. Irwin on Linux using the default scripts/comprehensive_test.sh script. This is the first time since the initial stages of this release cycle where this test has completed cleanly. M examples/CMakeLists.txt commit 3dd4bbe24ad39a9782fdd7cf3a267fd64babdb0c Author: Alan W. Irwin Date: Wed Mar 25 13:02:58 2015 -0700 Style previous commit. M drivers/deprecated_wxwidgets.cpp commit d5b1b48cef41ffa4a9ba965b138f8e6a6647e2ba Author: Phil Rosenberg Date: Wed Mar 25 14:17:06 2015 +0000 Changes to enable OLD_WXWIDGETS to work with recent canges in plplot core. OLD_WXWIDGETS now ignores the cmap, fill chr and sym state changes if they occur before wxWidgets inititialization. This aviods a call to install_buffer, which leads to creatioon of a new wxStream which during initialization can generate the above state changes and generate an infinite loop. Also added a check for dev->resizing in plD_eop_wxwidgets. This is because replaying the buffer now generates eop events which would otherwise cause wxRunApp to be called renentering the message loop before the resize event had been dealt with. M drivers/deprecated_wxwidgets.cpp commit 0154a667a54d9db60a9e162e5d7d6b573e4c604c Author: Alan W. Irwin Date: Tue Mar 24 16:01:47 2015 -0700 Traditional build system for installed examples: solve qt_example segfault for ENABLE_DYNDRIVERS=OFF Like the core build system, it turns out that for the traditional build system of the installed examples qt_example cannot be linked against both libplplotqt and libplplot when ENABLE_DYNDRIVERS=OFF. For unknown reasons that duplicate code in two libraries case causes a severe memory management issue (invalid reads and an eventual segfault) at plend. M cmake/modules/drivers.cmake M examples/c++/Makefile.examples.in commit fa0c8796e14b3888884aeeac90d2af06a7b68199 Author: Alan W. Irwin Date: Sat Mar 21 10:22:50 2015 -0700 Build system: Solve qt_example segfault for ENABLE_DYNDRIVERS=NO case For the ENABLE_DYNDRIVERS=NO case the qt (and other) device driver code is stored in libplplot, but qt normally depends on the code in libplplotqt which in turn depends on libplplot. So to break this circular linking chain, the libplplotqt code is also stored in libplplot with libplplot not linking to (or depending on) libplplotqt. So the net result is we have identical code stored in both libplplot and libplplotqt, and if we manipulate visibility so that qt_example uses one or the other, all is well. However, previously, qt_example was linked to both plplot and plplotqt for the ENABLE_DYNDRIVERS=NO case which is redundant. More seriously, and for reasons I don't understand this choice of linking to the same code in two different libraries caused severe memory management issues when the libraries were closed. So the fix for this issue was simply to drop the redundant link to plplotqt for qt_example. Tested by Alan W. Irwin on Linux for the shared libaries/static devices (ENABLE_DYNDRIVERS=NO) case in the build tree by building plplot, plplotqt, and qt_example, testing each of those with "ldd -r", and running examples/c++/qt_example under valgrind. M examples/c++/CMakeLists.txt commit 04dab295d92e44c99a85d728139ce3ab9767c1c4 Author: Alan W. Irwin Date: Thu Mar 19 13:09:20 2015 -0700 Build system: Fix potential MSVC symbol visibility issues For this commit I reviewed all C and C++ add_executable commands, and if for the shared libraries case there was a link to a PLplot library, I made sure the source code property COMPILE_FLAGS included the -DUSINGDLL flag to ensure PLplot library symbols were properly imported into the executable for the MSVC case. At the same time I took the opportunity to clean up some minor style issues I noticed such as white space and replacing SET_SOURCE_FILES_PROPERTIES ==> set_source_files_properties. Tested by Alan W. Irwin on Linux in the build tree for the default shared libraries case. This extremely light testing was simply to run cmake and "make all" to make sure no obvious CMake syntax errors were introduced by these changes. Comprehensive Linux testing will follow, but the net effect on Linux of these changes is expected to be NULL, and it is only MSVC tests that will indicate if these changes actually solve the long-standing visibility issues on that platform for the shared libraries case. M bindings/c++/CMakeLists.txt M bindings/f95/CMakeLists.txt M bindings/gnome2/lib/CMakeLists.txt M bindings/tcl/CMakeLists.txt M bindings/tcl/pltcl.c M bindings/tk/CMakeLists.txt M bindings/wxwidgets/CMakeLists.txt M cmake/modules/UseSWIG.cmake M drivers/CMakeLists.txt M examples/c++/CMakeLists.txt M examples/tk/CMakeLists.txt M fonts/CMakeLists.txt M include/CMakeLists.txt M lib/nistcd/CMakeLists.txt M lib/qsastime/CMakeLists.txt M src/CMakeLists.txt M utils/CMakeLists.txt commit 2606286fb8d75fce24da2504c5b55a04bb7a6c69 Author: Alan W. Irwin Date: Wed Mar 18 14:49:37 2015 -0700 Build system: test system: Improve target dependency logic for tests M examples/CMakeLists.txt commit 0daa64f77e6fdf6b06ca41e520c875941089b842 Author: Alan W. Irwin Date: Wed Mar 18 14:46:25 2015 -0700 Build system: wxwidgets: Fix installed examples build So correct source is found for the installed examples build for both the OLD_WXWIDGETS=OFF and ON cases. M examples/c++/CMakeLists.txt M examples/plplot_configure.cmake_installed_examples.in commit a2eac8a5553e6eed5f8d6875ab8b9764d7474ea1 Author: Alan W. Irwin Date: Wed Mar 18 14:43:54 2015 -0700 Build system: set install rpath for wxPLViewer M utils/CMakeLists.txt commit ac66c449730547c6506262804ccd6ccfb3b5c09f Author: Alan W. Irwin Date: Wed Mar 18 03:39:21 2015 -0700 Build system: For shared libraries case always set USINGDLL macro for C examples This should make an important improvement for the MSVC case where from include/pldll.h.in, apparently USINGDLL has to be #defined for the import case, i.e., for building the C examples (as opposed to the export case when building libraries where USINGDLL has to be #defined for all compilers). Tested by Alan W. Irwin on Linux by building all in the build tree. This is only a light test to make sure there are no errors in the CMake logic. The real test comes later for the MSVC case, and if that is a success, then must follow up with similar changes for all examples for all compiled languages. M examples/c/CMakeLists.txt commit 0bfe721e2c564f2213e2adb21bf347d02b72ca39 Author: jdishaw Date: Tue Mar 17 13:22:49 2015 -0400 - VS 2012 does not implement the C99 lround() function - The ceil() function appears to be in VS 2012 - Changed the lround() to a ceil(), which will be off by 1 for negatve numbers compared to lround(). Due to the experimental nature of plmetafile.c, this is not an issue. - Wrapped ceil() inside a macro as a placeholder until a post-release fix. M src/plmetafile.c commit e048de7fd18523b11ae730706ebadd31137605c5 Author: Alan W. Irwin Date: Mon Mar 16 01:09:25 2015 -0700 Updated release notes concerning plbuf and plmeta/plrender changes. M README.release commit bae116152de38ed66f580614062bdfbf8de54ca6 Author: Alan W. Irwin Date: Sun Mar 15 15:13:58 2015 -0700 wxwidgets: Implement OLD_WXWIDGETS option If the user sets OLD_WXWIDGETS=ON they effectively end up using the wxwidgets device, binding, and example from commit 924b06ccffee1f (the commit prior to the introduction of the new wxwidgets code). Note all the bindings/wxwidgets/deprecated*, drivers/deprecated_wxwidgets*, and examples/c++/deprecated_wxPLplotDemo.cpp "new" files have been taken from commit 924b06ccffee1f with #included file names changed to the deprecated versions when appropriate. Tested by Alan W. Irwin on Linux using the CMake option -DLD_WXWIDGETS=ON, and by building the targets test_c_wxwidgets and wxPLplotDemo. However, the target test_wxPLplotDemo (which runs wxPLplotDemo) has a major issue (run-time problems creating a stream) because stream support for drivers has been changed in PLplot in a backwards-incompatible way. Someone else will have to figure out how to adjust the old wxwidgets device, binding, and/or example for this change. M bindings/wxwidgets/CMakeLists.txt A bindings/wxwidgets/deprecated_wxPLplotstream.cpp A bindings/wxwidgets/deprecated_wxPLplotstream.h.in A bindings/wxwidgets/deprecated_wxPLplotwindow.cpp A bindings/wxwidgets/deprecated_wxPLplotwindow.h M cmake/modules/drivers-finish.cmake M cmake/modules/wxwidgets.cmake A drivers/deprecated_wxwidgets.cpp A drivers/deprecated_wxwidgets.h A drivers/deprecated_wxwidgets_agg.cpp A drivers/deprecated_wxwidgets_app.cpp A drivers/deprecated_wxwidgets_dc.cpp A drivers/deprecated_wxwidgets_gc.cpp M examples/c++/CMakeLists.txt A examples/c++/deprecated_wxPLplotDemo.cpp M utils/CMakeLists.txt commit 37ecacf6bd4e0435a58f7bc300197c35e466f773 Author: Alan W. Irwin Date: Sat Mar 14 11:22:43 2015 -0700 Build system: add the custom target build_docbook_documentation When BUILD_DOC is ON this custom target builds all components of DocBook documentation and their prerequisites. This is somewhat faster than the "all" target that has previously been used for this task since "all" builds everything while build_docbook_documentation only builds the necessary subset of PLplot required to generate the documentation. M doc/docbook/README.developers M doc/docbook/src/CMakeLists.txt commit 2ff8d66379c693dd4c278bfd4b408467b34fea41 Author: Jim Dishaw Date: Sat Mar 7 17:11:49 2015 -0500 Updated build instructions for Mac OS X M doc/docbook/src/os_notes.xml commit fac174e467bdf537bb1a34e0c30707eedb85efdd Author: Alan W. Irwin Date: Fri Mar 13 16:35:03 2015 -0700 epa_build: libharu: Add hpdf_namedict.h and hpdf_pdfa.h to the headers that are installed This change in the CMake-based build system for libharu follows what headers are installed in the autotools-based build system for libharu. For some reason the lack of these installed headers did not cause issues for my previous epa_builds, but they did cause issues for Andrew Ross's recent epa_build. Tested by Alan W. Irwin on Linux using an epa_build of libharu and plplot. The result was the above headers were install, and the test_noninteractive target worked fine in the latter case (as it had done before). Subsequent viewing of the pdf results for each of the examples showed some long-standing (as far as I can recall) rendering issues for the pdf device driver which have now been documented at . M cmake/epa_build/libharu/cmake.patch commit fd4ef4a05516b41f5993dedbbf110ef4c2c8c039 Author: Alan W. Irwin Date: Thu Mar 12 23:58:09 2015 -0700 epa_build: qt5_lite: Update Qt5 build configuration Since making a complete build of Qt5 did not make any difference to the invalid read memory management issue for qt_example and -dev qtwidget, change the build back to a minimal build that is even smaller than we tried before with Qt5.3.2. This changes the epa_build time of Qt5 from 2 hours to 13.5 minutes, and does not compromise PLplot's use of Qt5. Tested by Alan W. Irwin on Linux using an epa_build of PLplot (which necessarily triggers an epa_build of Qt5) and running tests on that PLplot version. Those tests included valgrind runs of example 1 for -dev svgqt, pdfqt, pngqt, and bmpqt (all with no memory management errors), valgrind runs with -dev qtwidgets (which showed the invalid read), and a build of the test_noninteractive target. M cmake/epa_build/qt5_lite/CMakeLists.txt commit 6ac63529241793c1170478aeeef711dd4e2215c6 Author: Alan W. Irwin Date: Thu Mar 12 14:08:54 2015 -0700 libplplot: help text spelling fix. M src/plargs.c commit bcca4ae757a1e03dac052c5a23d4a9f5a72df210 Author: Alan W. Irwin Date: Thu Mar 12 13:32:24 2015 -0700 libplplot: declare plhrsh in header Move declaration of plhrsh from individual source files to include/plplotP.h header as a matter of good style. Deliberately do not make plhrsh externally visible with the PLDLLIMPEXP macro since this function should be hidden from external use from outside the plplot library. M include/plplotP.h M src/plmetafile.c M src/plsym.c commit 6b8b0739ce19ce17235c077749584aafd96f0fee Author: Alan W. Irwin Date: Thu Mar 12 12:48:59 2015 -0700 Style recent commits M drivers/wxwidgets_dev.cpp M src/plfill.c M src/plsym.c commit d9b62902318658f99a15b3c7336dcc1475972392 Author: jdishaw Date: Wed Mar 11 22:30:32 2015 -0400 Changed "static void plhrsh" to "void plhrsh" in src/plsym.c - At this time, src/plmetafile.c needs plhrsh to render symbols Signed-off-by: Phil Rosenberg M src/plsym.c commit 96fdac63dfecf66d020d7ebb89045c9c92d0eb5d Author: Phil Rosenberg Date: Wed Mar 11 21:07:28 2015 +0000 Stopped plfill_soft writing hatching line locations to the buffer as the fill has already been written to the buffer. M src/plfill.c commit daf1072b3d7f045016c9f8ace7d22f43cdf6979a Author: Alan W. Irwin Date: Wed Mar 11 17:24:25 2015 -0700 epa_build: update libLASi build Use proper URL for download of libLASi rather than local file version that is only useful for me, and make plplot depend correctly on libLASi. Tested by Alan W. Irwin on Linux using an epa_build of plplot which epa_built libLASi successfully as a dependency of that epa_build of plplot. M cmake/epa_build/CMakeLists.txt M cmake/epa_build/libLASi/CMakeLists.txt M cmake/epa_build/plplot/CMakeLists.txt commit 4e93f99a84a5c72d253c8791f813400ba2f46ff6 Author: Phil Rosenberg Date: Wed Mar 11 20:38:23 2015 +0000 fixed typo in plD_init_wxwidgets. pls->device => pls->dev M drivers/wxwidgets.cpp commit d00928eb74c21bfb2044b55c373191dee13821b3 Author: Phil Rosenberg Date: Wed Mar 11 11:20:58 2015 +0000 Fixed missed conflicted merge sections in previous commit M drivers/wxwidgets_dev.cpp commit 50151a96f6f87568aba87a723cbd3b9099c34980 Author: Phil Rosenberg Date: Wed Mar 11 10:50:19 2015 +0000 Turned off writing to buffer when plstrl uses the driver to calculate the string length. This avoids the text command ending up in the buffer twice causing double rendering with the extra renderring occurring at position 0, 0. M drivers/wxwidgets_dev.cpp M src/plsym.c commit 272dcfe4cee1c483645fc55aaf7bef05e763c651 Author: Phil Rosenberg Date: Wed Mar 11 10:21:45 2015 +0000 Added getting text size to wxWidgets driver M drivers/wxwidgets_dev.cpp commit afd37a9862e94ef01c3ee4d496b9bca866153742 Author: Alan W. Irwin Date: Wed Mar 11 02:33:40 2015 -0700 Style previous commits Tested by Alan W. Irwin on Linux. This testing was done not only to test this commit, but the very large series of wxwidgets/plbuf commits done recently. I looked carefully at the rendering of most pages for all examples for -dev wxwidgets with the remaining issues reported to list (and eventually to the wxwidgets overall bug report). I also checked -dev tk for the zoom regression, and confirm that regression as well as a newly introduced regression for that device (two windows are displayed rather than one with one of them blank with the plframe decorations and the other showing an xwin-like plot windows with no decorations). This new regression (and likely the zoom regression) are showstoppers for the current release. I did no testing of the new plmeta/plrender, and I also did no testing to look for other regressions in rendering for non-wxwidgets devices. M bindings/c++/plstream.cc M bindings/c++/plstream.h M bindings/wxwidgets/wxPLplotstream.cpp M bindings/wxwidgets/wxPLplotstream.h M bindings/wxwidgets/wxPLplotwindow.h M drivers/cairo.c M drivers/plmeta.c M drivers/wxwidgets.cpp M drivers/wxwidgets.h M drivers/wxwidgets_dev.cpp M include/metadefs.h M include/plplotP.h M include/plstrm.h M src/plbuf.c M src/plcore.c M src/plctrl.c M src/plmetafile.c M src/plsdef.c M src/plsym.c M utils/wxplframe.cpp M utils/wxplframe.h commit cfc6e1354e751ad1588a26d22741f0568f1c8ddc Author: Alan W. Irwin Date: Tue Mar 10 17:48:09 2015 -0700 epa_build: qt5_lite; change Qt5 build configuration This is an effort to change the build configuration options to be as close to those used by the Debian testing packages as possible on my Debian stable platform without harfbuzz. Tested by Alan W. Irwin on Linux by epa_building qt5_lite and plplot and doing some run time tests with valagrind. Unfortunately, the result was the same as all previous configurations I have tried; the qt5 epa_build worked with no obvious configuration, build, or install issues. (Although it now takes two hours rather than 20 minutes to complete the build of qt5_lite because of all the extra components that are built now.) Plplot also had no obvious build or install issues. For example, ldd showed that drivers/qt.so was linked to the correct (Qt5) versions of the libraries that were just epa_built and installed (as expected). However, valgrind still showed a single invalid read error on exit from -dev qtwidget which is not confirmed by Andrew's equivalent valgrind tests on Ubuntu where drivers/qt.so is linked to the Ubuntu version of the Qt5 libraries. M cmake/epa_build/qt5_lite/CMakeLists.txt commit ff53ea9dee3304ee671d3fdd74a68e05fa53909a Author: Alan W. Irwin Date: Sun Mar 1 14:31:49 2015 -0800 epa_build: Qt5: change version from 5.3.1 to 5.3.2. Tested by Alan W. Irwin on Linux by epa_building qt5-lite. The build succeeded without issues and also failed at run time the same as 5.3.1 (valgrind demonstrated memory management issues, i.e., invalid reads for all plend commands or when exiting from OK gui for cursor in qt_example. Some of those issues resulted in a segfault, and none of these memory management issues occur for Qt4.) For 5.3.2 versus 5.3.1 there were no additional character offset issues (checked specifically with example 2 and examples/python/test_circle.py.) The build took more than twice as long (24 minutes versus 11 minutes) as the 5.3.1 build for the same configuration so undoubtedly there is some work to do to refine the configuration to get rid of unneeded components. I momentarily tried to build 5.4.1 (now commented out) with the identical configuration used for 5.3.1 and (so far) 5.3.2 builds, but the 5.4.1 build failed with a number of error messages starting with /home/wine/newstart/build_script/build_dir-linux/epa_build/Source/build_qt5_lite/qtbase/include/QtCore/../../src/corelib/global/qglobal.h:880:83: error: operator '||' has no right operand /home/wine/newstart/build_script/install-linux/include/QtCore/qdatastream.h:93:2: error: #error Add the datastream version for this Qt version /home/wine/newstart/build_script/build_dir-linux/epa_build/Source/build_qt5_lite/qtbase/include/QtCore/../../src/corelib/tools/qbytearraylist.h:63:20: error: ‘QListSpecialMethods’ is not a template M cmake/epa_build/qt5_lite/CMakeLists.txt commit b3f6417ef11ee6578bac30e4e1544cddd76e8a69 Author: Alan W. Irwin Date: Sun Mar 1 14:28:16 2015 -0800 Build system: Improve DROP_GTK_PLUS_2_BUILDS WARNING messages epa_builds necessarily drop GTK+2 system components of the build which clash with GTK+3 that is built and used by epa_build. Improve warning messages for this case (which forces, for example, PLD_xcairo to be disabled). M cmake/modules/cairo.cmake commit 44f434176c41c39f8446ffdac31f910c1c79aceb Author: Phil Rosenberg Date: Tue Mar 10 21:12:22 2015 +0000 Added remaining state parameters to bop buffer section M src/plbuf.c commit 795328d6fea07ebab94b6cf363219733b3693539 Author: Phil Rosenberg Date: Tue Mar 10 17:00:44 2015 +0000 Fixed incorrect function name handle_setpos_failed -> handle_fsetpos_failed in plmeta.c based on advice from Jim Dishaw. This fixes an unresolved external symbol error. M drivers/plmeta.c commit 640508aa2d886d121602325359b8aa9066a78a37 Author: Phil Rosenberg Date: Tue Mar 10 09:48:05 2015 +0000 Reinstated the static staus of plhrsh as its use in plmeta seems to have been removed. Removed leading underscore from _PL_STRING_TEXT and _PL_STRING_SYMBOL as variables with leading underscores are sometimes reserved for internal compiler variables - at least so I've heard. M drivers/plmeta.c M include/plplotP.h M src/plcore.c M src/plmetafile.c M src/plsym.c commit e05b8ce4803af3887b834261496d5b4e8afd1eb7 Author: Phil Rosenberg Date: Tue Mar 10 09:08:09 2015 +0000 minor comment change M src/plbuf.c commit e0d4f402d928483893074ca8d017a19d893949c1 Author: Phil Rosenberg Date: Mon Mar 9 21:47:27 2015 +0000 Manually apply colourmap save in buffer hunk from Jim Dishaw's patch as it would not apply using git am M src/plbuf.c commit a75e5a1c7a06d762bf1fba57af547bdbdb178b0a Author: jdishaw Date: Sat Mar 7 23:18:49 2015 -0500 Mostly readability changes while I worked on fixing the resize problem Signed-off-by: Phil Rosenberg M drivers/cairo.c commit 8459814196f6b8208fe976707e8acd7594c07612 Author: jdishaw Date: Sat Mar 7 23:14:43 2015 -0500 Broke apart the unwieldly plP_text() function and added ability to store text in the plot metafile Signed-off-by: Phil Rosenberg M src/plcore.c commit 38c6db4cb99f75ab1e022f9751abdbd937d76b5f Author: jdishaw Date: Sat Mar 7 23:13:27 2015 -0500 Made changes to enable text storage of the plot symbol in the metafile. Signed-off-by: Phil Rosenberg M src/plsym.c commit e2517b841e33031f520900bf921ed609670c6b5b Author: jdishaw Date: Sat Mar 7 23:12:25 2015 -0500 Set plmeta to create version 2005a/b plot metafiles for the upcoming release Signed-off-by: Phil Rosenberg M drivers/plmeta.c commit bffdd8963f13aa5f0a90216f5aae74581dc4e1f2 Author: jdishaw Date: Sat Mar 7 23:10:56 2015 -0500 Added buffer fields to the metafile device so that plmetafile.c could store parameters while reading the metafile Signed-off-by: Phil Rosenberg M include/metadefs.h commit b649ed061092e2cadb1d8b8defebfc1dde50b70b Author: jdishaw Date: Sat Mar 7 23:08:45 2015 -0500 Added a new field to EscText to support plot symbols in metafiles - Needed to store the original code passed by the programmer so that it could be written into the metafile - Reformatted the comments to improve readiblity Signed-off-by: Phil Rosenberg M include/plplotP.h commit 5d6076a61aa2bfbd894c03dc413320e3855aa652 Author: jdishaw Date: Sat Mar 7 23:04:54 2015 -0500 Continued evolution on the new plmetafile implementation - Removed writing to the plot buffer and used the low-level plplot commands (e.g. plP_line) because text would not work correctly without changing a lot of code. This change has the additional benefit of not having to make sure plmetafile.c is writing the correct values to the buffer - Added additional error checking when reading from the file. Signed-off-by: Phil Rosenberg M src/plmetafile.c commit 86e78591d2ed8dd5636659dfa5f407441d9537c9 Author: jdishaw Date: Mon Mar 2 01:37:32 2015 -0500 Revised implementation of plot metafiles - Disabled (for now) handling of the alternative unicode processing in src/plbuf.c because it was badly implemented. Currently only the cairo driver uses the alternative unicode processing and it handles its own redraws. - Changed src/plmetafile.c to handle scaling from the metafile coordinate system to the device coordinate system. - Changed src/plmetafile.c, drivers/plmeta.c, and src/plbuf.c to correctly handle the PLESC_HAS_TEXT function. -- Required state information is written/read from the metafiles -- The plot buffer will correctly process the state information Signed-off-by: Phil Rosenberg M drivers/plmeta.c M include/metadefs.h M src/plbuf.c M src/plmetafile.c commit b41b61fecfb3a0fa96e06d9a63d373266572b2bd Author: Phil Rosenberg Date: Mon Mar 9 11:51:38 2015 +0000 Fix mispelling of unknown in error messages in wxWidgets driver M drivers/wxwidgets.cpp commit 0e77c650d0b552df870c308e27477be30999e06b Author: Phil Rosenberg Date: Mon Mar 9 11:49:56 2015 +0000 Use wxSOLID, not wxPENSTYLE_SOLID in wxWidgets driver for wxWidgets 2.8 compatibility. M drivers/wxwidgets_dev.cpp commit d34af84e4359ca9620d1aa3edccd830f5e123738 Author: Phil Rosenberg Date: Mon Mar 9 11:46:36 2015 +0000 Use default 90 dpi in wxWidgets driver rather than throwing an exception if the user sets the plot size but not the dpi. M drivers/wxwidgets.cpp M drivers/wxwidgets_dev.cpp commit a9932cf089186e3b7e66ce70b2a0af015c04a9d0 Author: Phil Rosenberg Date: Fri Mar 6 14:16:58 2015 +0000 Change in plbuf.c so that the pattern is only set via c_plpat if the number of lines is not equal to 0. This avoids warnings. M src/plbuf.c commit 74284b540eed2845d9560a6b2ba25452a09f0f77 Author: Phil Rosenberg Date: Fri Mar 6 13:03:51 2015 +0000 Widened line used in previous commit to 1 pixel, as 0.5 pixels still left a seam on Linux M drivers/wxwidgets_dev.cpp commit c42e0e7056cac679045bb8aa19db9db94fe6545e Author: Phil Rosenberg Date: Fri Mar 6 12:53:48 2015 +0000 Fixed seam problem with wxWidgets Driver. This involved outlining each polygon with a 0.5 pixel line. This makes a mess of transparent adjacent polygons. But it is how the old wxWidgets driver did things so we will live with this solution for now and see about doing something better later. M drivers/wxwidgets_dev.cpp commit c7979a7839d403deb38a71ba60084494e9c2848f Author: Phil Rosenberg Date: Fri Mar 6 11:36:30 2015 +0000 Fixed super/sub script problems in wxWidgets driver M drivers/wxwidgets.h M drivers/wxwidgets_dev.cpp commit a92430807b857c622758c3e8fb98692de78f1cfd Author: Phil Rosenberg Date: Fri Mar 6 10:25:04 2015 +0000 Fixed recently introduced wxWidgets text bug where red text colour was being used as alpha. M drivers/wxwidgets_dev.cpp commit 01b9f7a36ead332e54e949efd531fc4a1147cd76 Author: Phil Rosenberg Date: Fri Mar 6 10:13:54 2015 +0000 Fixed aspect ratio problem in wxWidgets driver. Turned out the psc->aspect value being set was the inverse of the value required. M drivers/wxwidgets_dev.cpp commit 79d1caf6f691009506a351e8ba430d84e9cee97e Author: Phil Rosenberg Date: Thu Mar 5 22:17:15 2015 +0000 Changed how fonts are set in the wxWidgets driver and simplified some of the text rendering code Ensured that the font is returned to its previous state after a render M drivers/wxwidgets.h M drivers/wxwidgets_dev.cpp commit 5cb84a3191f2c88832b78768822f397efac2010e Author: Phil Rosenberg Date: Thu Mar 5 16:31:58 2015 +0000 Changed default fill set in c_plinit to solid fill M src/plcore.c commit fed9ddb1d3295c7cddb6201bce206ca24b1d5dc6 Author: Phil Rosenberg Date: Thu Mar 5 14:42:25 2015 +0000 Set up the wxWidgets driver so that all font related changes to the wxDC are undone before control returns to the calling program M drivers/wxwidgets.h M drivers/wxwidgets_dev.cpp commit 674e32a94abf932f4dfa528b110418153de6d14f Author: Phil Rosenberg Date: Thu Mar 5 14:14:44 2015 +0000 Changed conversion from utf8 string to wxString internal representation in wxPLDevice::DrawTextSection to use the more obvious FromUTF8 function. M drivers/wxwidgets_dev.cpp commit b8fcc276c216aab1d24e4085e2f5def2f17b51bc Author: Phil Rosenberg Date: Thu Mar 5 13:52:30 2015 +0000 Used wxFONTENCODING_DEFAULT rather than its utf8 equivalent in wxPLDevice::SetFont. This removes the wxWidgets generated error message about being unable to find a utf8 encoded font on Windows, but still correctly renders the glyphs in example 24. M drivers/wxwidgets_dev.cpp commit 060172e0b6a56d006c1889e9febff18b2f80cf56 Author: Phil Rosenberg Date: Thu Mar 5 13:23:58 2015 +0000 Added some code to make debugging wxPLViewer easier. a #define WXPLVIEWER_DEBUG is included (but commented out) in wxwidgets_dev.cpp. Uncommenting this line means that the random characters are removed from the memory ap name and that the driver will not run wxPLViewer. Instead it will wait for the developer to run wxPLViewer thereself in the debugger. M drivers/wxwidgets_dev.cpp commit 1c897e2686cc8add1a3f8c6d9e629baf27476c03 Author: Phil Rosenberg Date: Thu Mar 5 13:18:13 2015 +0000 Edit to previous commit due to forgotten git add command M src/plbuf.c M src/plsdef.c commit dea7f1f692e3aaaa1c0d35309ceb6a76163575c9 Author: Phil Rosenberg Date: Thu Mar 5 13:13:22 2015 +0000 Fixed calls to plpat being missed from the buffer. To do this I moved the plP_state call from c_plpsty to spat, which is called from both c_plsty and c_plpat. Also both the pattern index and the pattern parameters (number of lines, inclination and separation) are stored in the buffer. On replot the pattern style is set directly in the stream, and the pattern parameters via a call to c_plpat, which ensures the driver is called as necessary. M src/plbuf.c M src/plsdef.c commit f6dcf097033505bf13cf1a5c5a081ce89355d2e0 Author: Phil Rosenberg Date: Wed Mar 4 17:46:49 2015 +0000 Fixed reentrant behaviour in wxPLViewer where wxPlFrame::OnCheckTimer initiated rendering which caused a yield and allowed OnCheckTimer to be called again before the previous call completed. Also Fixed a bug where all fills from the wxWidgets device were outlined and didn't have their colour correctly set. M drivers/wxwidgets_dev.cpp M utils/wxplframe.cpp M utils/wxplframe.h commit cf3f816a9b4e1154c99076df3f456838eb05e0ae Author: Phil Rosenberg Date: Wed Mar 4 13:24:00 2015 +0000 Hopefully fixed problem with wxPLViewer on Linux. It seemed to be caused because the wxCreateWindowEvt is generated multiple times on linux causing multiple attemps to initialise the wxplstream in wxPLplotwindow. Also checked to ensure the buffer exists before attempting a replot from the wxWidgets driver. M bindings/wxwidgets/wxPLplotstream.cpp M bindings/wxwidgets/wxPLplotstream.h M bindings/wxwidgets/wxPLplotwindow.h M drivers/wxwidgets_dev.cpp commit d784f06386d19b627ee9f3364aae53c8954adff3 Author: Phil Rosenberg Date: Sun Mar 1 11:34:15 2015 +0000 Reinstated random memory map name in wxWidgets driver removed temporarily to help debugging M drivers/wxwidgets_dev.cpp commit 60681e74292c583e4835523396066dbb46ab8c93 Author: Phil Rosenberg Date: Sun Mar 1 10:14:30 2015 +0000 Changed the wxwidgets driver and binding to make use of the plsdevdata function. Now we can det the wxDC using this function before the device initialisation allowing us to know at this point whether we want to draw on a user supplied wxDC or the separate wxPLViewer. This was quite a major change and some other alterations were made at the same time. The default dpi is now only used if the user has not called plspage. It then becomes the users responsibility to set the dpi at the same time. If the user set the page size but not the dpi then the driver issues a warning. The wxPLplotwindow has had some major changes. We now require a dc available at all time for drawing to rather than just in the OnPaint method. We had to make the dcs pointer created with new. This was because changing the size of the bitmap being drawn to causes lots of problems (at least on Windows) with wxGCDC unless we have a fresh wxMemoryDC, and (because there is no wxGCDC::SetlectDC type method) this requires a new wxGCDC too. Added try cath blocks to all the dispatch table functions to avoid throwing an exception into the C library. Removed all the attempts to guess whethe the user wanted to use their own dc. made sure that during all drawing commands the pen and brush of the dc are reinstated to there previous styles changed from using wxThePenList to just creating pens as the former sometimes caused problems as there seemed to be no pens in the list, resulting in assert fails fixed bug where xdpi was used instead of ydpi in wxPLDevice::SetSize Allowed wxPLViewerClearBackground to draw on the dc as beginPage will now actually be called during a replot Fixed bug in wxPLDevice::SetWidth where alpha channel was missed. M bindings/c++/plstream.h M bindings/wxwidgets/wxPLplotstream.cpp M bindings/wxwidgets/wxPLplotwindow.h M drivers/wxwidgets.cpp M drivers/wxwidgets.h M drivers/wxwidgets_dev.cpp M examples/c++/wxPLplotDemo.cpp commit 2fa8e2a12385607f1d16685a8bbebe603daf0030 Author: Phil Rosenberg Date: Fri Feb 27 17:16:24 2015 +0000 Added a device data pointer to the PLStream and a C/C++ function to set it M bindings/c++/plstream.cc M bindings/c++/plstream.h M include/plplot.h M include/plstrm.h M src/plcore.c commit 1e402417c1f3e87c391fe428f936153c2a10e8cc Author: Phil Rosenberg Date: Fri Feb 27 17:12:03 2015 +0000 Fixed bug in rdbuf_di. Save cursubpage on replot call plP_eop() on replot which ensures that the first plP_bop() call actually does something. M src/plbuf.c commit 1e3786c758f78bff13086cf26ab81145b4e2e14d Author: Phil Rosenberg Date: Fri Feb 27 11:00:56 2015 +0000 Added check for initialization level to pl_cmd. Calling before the level is at least 1 causes the dispatch_table to be accessed before it is initialised resulting in a segfault M src/plctrl.c commit afeacf8adae307f298f9adf4627358d25bbfda9f Author: Alan W. Irwin Date: Sat Feb 28 13:46:29 2015 -0800 test_plbuf: declare plreadmetafile Before this fix (which #includes the plplotP.h header where plreadmetafile is currently declared) was using an implicit declaration for this function, where that issue was discovered by the -Wimplicit-function-declaration gcc compiler option. Tested by Alan W. Irwin on Linux by configuring PLplot with the -DBUILD_TEST=ON cmake option and by building the all target in the build tree using the gcc option -Wimplicit-function-declaration. M examples/c/test_plbuf.c commit 8e3463794a22a6224c91199087c055e255d908a8 Author: Alan W. Irwin Date: Fri Feb 27 14:23:16 2015 -0800 plplot_widgetmodule: Add ${TK_INCLUDE_PATH} to compile flags This change is designed to fix an issue reported by Jim Dishaw where for a non-standard X location (on Mac OS X) the X headers could not be found. Tested by Alan W. Irwin on Linux by building the _plplotcmodule_fixed and plplot_widgetmodule targets in the build tree. M bindings/python/CMakeLists.txt commit 3f783a73a93075f09a4fa641d3da91045ca2d5cd Author: Alan W. Irwin Date: Fri Feb 27 13:56:19 2015 -0800 pkg-config: Convert Qt5:: imported library names to a form that pkg-config can understand The Qt5 cmake logic that is part of Qt development (as opposed to CMake development) uses the name convention that Qt5:: is the name of the imported library target name for each Module. This change translates those target names to file locations that pkg-config can understand. Part of this change is to translate those target names to disk locations which typically include a trailing version number, e.g., /libQt5Core.so.5.3.1. So the current change also required modifying the suffix_pattern used in the pkg_config_link_flags function for the .so case from \\.so to \\.so.* to allow trimming off that extra version information when reducing absolute disk locations to the standard pkg-config form such as -L -lQt5Core Tested by Alan W. Irwin on Linux for an epa_built Qt5 and Plplot case. The comprehensive test for that case was a success for the shared library/dynamic device configuration. (Before this fix that comprehensive test configuration had failed for the sub-case of the traditionally built installed examples tree because pkg-config (obviously) cannot understand the untransformed raw Qt5:: CMake syntax. M cmake/modules/pkg-config.cmake M cmake/modules/qt.cmake commit 612d75642c7094c27f9f0b24d795a4f507b54a57 Author: Andrew Ross Date: Fri Feb 27 12:54:23 2015 +0000 Fix up a couple more issues with the octave p?? examples and the test_octave_interactive.sh script. M bindings/octave/PLplot/colormap.m M plplot_test/test_octave_interactive.sh.in commit 91055c60b990bbeb0b5800c127cbebcdbad7406c Author: Andrew Ross Date: Fri Feb 27 11:43:50 2015 +0000 Fix missing ; from previous commit. M bindings/octave/PLplot/plimage.m commit 5068d1b0fcbb1b3ffc542d0166e6b53a0ab00549 Author: Andrew Ross Date: Fri Feb 27 10:35:40 2015 +0000 Fix various issues with the p?? octave examples which have set in over the years. There is still a segfault with p17 when run direct (but not with make test_octave_xwin strangely). M bindings/octave/PLplot/ginput.m M bindings/octave/PLplot/plimage.m M bindings/octave/PLplot/set_view.m M bindings/octave/PLplot/shade.m commit 4790677ef979f0f83076a17fb7c27d0a7565dc2b Author: Alan W. Irwin Date: Thu Feb 26 23:09:33 2015 -0800 libplplot: Fix visibility issue for plP_fill This symbol needs to be visible because it is now used by the new wxwidgets device driver. Tested by Alan W. Irwin on Linux by building PLplot with the --fvisibility=hidden compiler option for CFLAGS, CXXFLAGS, and FFLAGS. ldd -r drivers/wxwidgets.so showed no missing symbols whereas before the fix this command showed issues with the plP_fill symbol being missing. M include/plplotP.h commit a1f13857d3b1e1e5bb2f7139be8be67e009d4292 Author: Alan W. Irwin Date: Thu Feb 26 23:08:00 2015 -0800 epa_build: wxwidgets: Update from wxwidgets-3.0.0 to wxwidgets-3.0.2 M cmake/epa_build/wxwidgets/CMakeLists.txt commit 95e674f7e79ef2a35f7f12e7fb0a5adb39633be8 Author: Alan W. Irwin Date: Thu Feb 26 23:03:52 2015 -0800 epa_build setup: export NO_AT_BRIDGE=1 Setting this environment variable in cmake/epa_build/setup/setup_linux_makefiles (the template for an epa_build setup file for the Linux case) is necessary to shut off an annoying DBUS warning message due to the fact that epa_build uses gtk+ as a set of ordinary libraries rather than as part of a comprehensive desktop solution. M cmake/epa_build/setup/setup_linux_makefiles commit 308a24999302e96adaafd887f7f40dfff15e5909 Author: Alan W. Irwin Date: Thu Feb 26 16:21:43 2015 -0800 wxwidgets device driver: Replaced undocumented wxFont method with documented variant The official wxwidgets documentation does not document the wxFont overloaded variant that we were using which was likely taken from a much earlier version of wxwidgets (but still supported with wxwidgets-2.8.12 for backwards compatibility). So to follow best practice and also to follow what is done with the font sample (demonstration code showing how to display wxwidgets accessible fonts in a GUI), I changed to using a documented variant of wxFont to set up the font. The hope was this change would sort out the missing glyph issue, since the font sample GUI displays all the utf-8 Peace words without issues. However, the wxwidgets device results for all unicode examples are exactly the same as before (two missing glyphs from example 23 and numerous missing glyphs frome example 24). So the missing glyph issue for wxwidgets is likely due to something else then the font setup. Tested by Alan W. Irwin on Linux by building the wxwidget device (and all the C examples) in the build tree then running the unicode (18th, 23rd, 24th, and 26th) examples by hand with -dev wxwidgets and looking for missing glyphs in the results. This change was suggested by the font sample M drivers/wxwidgets.h M drivers/wxwidgets_dev.cpp commit 9dfe5bfda2dcbcfa2b66abcc16d4988b540c5dfc Author: Alan W. Irwin Date: Wed Feb 25 22:33:05 2015 -0800 "definitive fix" version 2 for the rt linking issues I must have made a grep mistake with my nm analysis before because it turns out that both the wxwidgets device driver and wxPLViewer source code includes drivers wxwidgets_comms.cpp which contains the key calls to shm_open and shm_unlink, and the corrected nm analysis supports that conclusion. For some reason Ubuntu worked with the previous explicit linking of wxPLViewer with librt but no explicit linking of the wxwidgets dll with that library. This may be due to differences between dynamic loading of the wxwidgets dll and run-time loading of the wxPLViewer application. But best practice requires that dll and utility both to be explicitly linked to the rt library for all Unices other than Mac OS X so that is what is done for this commit (with the necessary move of the required determination of the CMake RT_LIB variable from utils/CMakelists.txt to the cmake/modules/wxwidgets.cmake location which makes RT_LIB universally accessible to all CMake code). Tested by Alan W. Irwin on Linux using the test_c_wxwidgets in the build tree. Also, before the fix the nm analysis gave this result software@raven> nm -a --demangle utils/wxPLViewer |grep shm_ U shm_open@@GLIBC_2.2.5 U shm_unlink@@GLIBC_2.2.5 software@raven> nm -a --demangle drivers/wxwidgets.so |grep shm_ U shm_open U shm_unlink i.e., nm referred to undefined unversioned symbols for wxwidgets. But after the fix these undefined symbols became versioned just like the symbols for wxPLViewer which I assume is an indicator that the undefined symbols are resolved by the particular -- RT_LIB = /usr/lib/x86_64-linux-gnu/librt.so that is found on my system and which is used to explicitly link both wxPLViewer and wxwidgets now. M cmake/modules/wxwidgets.cmake M drivers/CMakeLists.txt M src/CMakeLists.txt M utils/CMakeLists.txt commit a01a677849f1d32e633a3a5f6182694f0cf66ced Author: Alan W. Irwin Date: Wed Feb 25 13:42:35 2015 -0800 wxPLViewer: definitive fix for the rt linking issues. Tested by Alan W. Irwin on Linux using the test_c_xwin, and test_c_wxwidgets targets in the build tree, and by explicit hand-testing of example 2 page 2 with -dev xwin. M utils/CMakeLists.txt commit 9937753ef0137f2233d0928c55e2059199b330e9 Author: Alan W. Irwin Date: Wed Feb 25 13:40:10 2015 -0800 Style previous commits.... Tested by Alan W. Irwin on Linux using the test_c_xwin, and test_c_wxwidgets targets in the build tree, and by explicit hand-testing of example 2 page 2 with -dev xwin. M drivers/wxwidgets.cpp M drivers/wxwidgets.h M drivers/wxwidgets_comms.h M drivers/wxwidgets_dev.cpp M src/plbuf.c M src/plpage.c M utils/wxplframe.cpp M utils/wxplframe.h commit 5b65879beab51a5157ec5bf7e57529e8f4556862 Author: Phil Rosenberg Date: Wed Feb 25 10:26:33 2015 +0000 Set a flag in the wxPLViewer memory map that indicates that the parent stream has closed. Pressing enter to move past the last page will not close wxPLViewer unless this flag is set. This stops wxPLViewer accidentally exiting while it is still reading data. It does also mean that the wxPLViewer will not exit this way while in locate mode. M drivers/wxwidgets_comms.h M drivers/wxwidgets_dev.cpp M utils/wxplframe.cpp M utils/wxplframe.h commit 7b6af0ce1af77f2b803714f98efa444512c07f52 Author: Andrew Ross Date: Tue Feb 24 23:10:43 2015 +0000 Fix regression introduced in recent plbuf patch which caused the wrong text size to be selected when using plschr (e.g. example 2). M src/plpage.c commit ffb7ab01c7e45eb2a8820efe79382ae06d216dc6 Author: Andrew Ross Date: Tue Feb 24 21:04:19 2015 +0000 Updates to allow TEST_DEVICE to be set to svg as well as variants of the postscript drivers. M plplot_test/CMakeLists.txt commit 91d5671c2a8a5b9e6e17bdb6e4dfe54bd6d16173 Author: Alan W. Irwin Date: Tue Feb 24 11:08:30 2015 -0800 wxPLViewer: drop explicit link to the rt library That explicit link causes trouble on Mac OS X (which does not support the rt library even though that is a POSIX standard) and is not required on Debian stable. Testing of additional Linux systems like Ubuntu and CentOS may show rt has to be explicitly linked in one/both of those cases in which case the fix is to uncomment one statement. M utils/CMakeLists.txt commit d99fa41525a95ad75f893cf04fba4d479ac76b49 Author: Phil Rosenberg Date: Tue Feb 24 13:49:27 2015 +0000 Added plflush capability to the wxWidgets driver and changed the wxPLDevice::ClearBackground function so that it draws a rectangle using plplot functions. The latter change was required because when replotting from a buffer we have no concept of subpages and the subpage size is not stored in the buffer meaning we have no way to know how big an area to erase. Also added calling plP_bop() to rdbuf_bop. This is required to do the initial page setup. Previously in the wxWidgets driver this was performed by a manual call to wxPLDevice::BeginPage() from within wxPLDevice::SetSize() before calling plreplot(). The previous solution invalidated the principle of least surprise, but then also meant that the initial ClearScreen call appended drawing the above rectangle to the end of the buffer and plreplot then ended by erasing everything. This makes the Strip chart demo x17 work for wxWidgets now, although it is rather slow due to inefficient buffer copies. M drivers/wxwidgets.cpp M drivers/wxwidgets.h M drivers/wxwidgets_dev.cpp M src/plbuf.c M utils/wxplframe.cpp M utils/wxplframe.h commit b01e3226c057c1ac35a4a1b65832a02fdf239f44 Author: Phil Rosenberg Date: Tue Feb 24 09:22:49 2015 +0000 Fixed missing bracket on linux version for previous commit M drivers/wxwidgets_dev.cpp commit 7ffd9afcb18cf8556b63ff2cdc01f2b91fe34280 Author: Phil Rosenberg Date: Mon Feb 23 21:44:01 2015 +0000 Created a basic random number generator seeded from system entropy for use in creating memory map files in the wxWidgets driver to avoid name clashes for multiple instances M drivers/wxwidgets_dev.cpp commit 67651bdc9c8c5e01be2d85f17f11e28363db47a7 Author: Alan W. Irwin Date: Mon Feb 23 21:50:05 2015 -0800 libplplotwxwidgets: add target_link_library dependency on plplot This is necessary because this library directly uses a call to the function plsstrm for setting a stream number that is defined in the plplot library rather than plplotcxx library. I don't understand this direct dependence, but nm confirms this as follows: nm --undefined-only --demangle bindings/wxwidgets/libplplotwxwidgets.so |grep plsstrm U c_plsstrm So target_link_library necessarily must mention plplot in order for linking to work properly on all platforms. This investigation and fix was motivated by a report from Jim Dishaw that indicated the the linking of libplplotwxwidgets was failing on Mac OS X with a reference to _c_plsstrm (which presumably is the Mac OS X linker way to mangle c_plsstrm). Tested by Alan W. Irwin on Linux by building the test_c_wxwidgets target in the build tree. M bindings/wxwidgets/CMakeLists.txt commit 2497a09580a4a64f31a6b2eaf4c9c95649b0f72c Author: Alan W. Irwin Date: Mon Feb 23 19:18:12 2015 -0800 Build systems: Fix configured test_tcl.sh for build tree and installed examples tree * Fix value of PLTCL_DIR_ESCAPED used to configure installed version of test_tcl.sh. This fixed a bug in the test_noninteractive results for the traditional version of the installed examples tree where core build-tree results were referenced rather than the expected install-tree results. * For build-tree and install-tree versions of test_tcl.sh remove many references to $tcldir/ since that can be a relative path location that fails when the script has already changed directory to $tcldir. (This issue discovered when running plplot-test.sh on its own in the traditionally built version of the installed examples tree.) Tested by Alan W. Irwin on Linux by building test_noninteractive in the core build tree and for the traditional version of the installed examples tree and by running plplot-test.sh on its own in the traditionally built version of the installed examples tree. M plplot_test/CMakeLists.txt M plplot_test/test_tcl.sh.in commit 73c92b176b2f7a7483473598a998a3a73b93997d Author: Alan W. Irwin Date: Mon Feb 23 17:47:04 2015 -0800 Traditional build system for installed examples: fix wxPLplotDemo build The configured pkg-config file for plplot-wxwidgets was missing -lplplotcxx. That issue has now been fixed. Tested by Alan W. Irwin on Linux by building wxPLplotDemo in the installed examples using the traditional build system for those examples. M bindings/wxwidgets/CMakeLists.txt commit 4e6a2f04829293349a92f35787703b6dfde0a681 Author: Andrew Ross Date: Mon Feb 23 23:50:21 2015 +0000 Set CMAKE_PREFIX_PATH for installed examples so that cmake can find the plplot configuration files in this case, even if they are not installed in a standard system location. M examples/plplot_configure.cmake_installed_examples.in commit bf10c3c896185fce00706f5cbd95def5a7e41fbe Author: Andrew Ross Date: Mon Feb 23 23:19:13 2015 +0000 C string \n gets translated to character 10 (a line feed) not character 13 (a carriage return). This fix ensures the svg output from example 19 is identical with the C version. M bindings/f95/strutil.f90 commit beee752ee9b82bc1587b128e842b3dca165d5694 Author: Alan W. Irwin Date: Mon Feb 23 13:01:51 2015 -0800 libplplot bugfix: logical AND ==> bitwise AND Jim Dishaw's Apple compiler turned up some warnings concerning some long-standing incorrect use of the logical AND ("&&") operator in our core library code where the bitwise AND ("&") operator should clearly have been used instead. This bug fix occurred for two places in the code: opt && MAG_COLOR ==> opt & MAG_COLOR and plsc->difilt && PLDI_ORI ==> plsc->difilt & PLDI_ORI However, every test I could throw at the unfixed and fixed results showed no differences in the results. Tested by Alan W. Irwin on Linux using the test_diff_psc target in the build tree. The results of the test were good, and I also could not spot any discernible changes in the examples where MAG_COLOR was used. I also checked whether the long-standing parallelogram bug had been fixed by the above change, but examples/c/x01c -dev xwin -ori 0.2 still turns the square plot box into a parallelogram, and a similar plot using xcairo shows an inconsistency between the (correct) orientation of the axis labels and the incorrect orientation/shape of the box. M src/plot3d.c M src/plpage.c commit c4bae73b9be3b8c719f5521f45f919fad034c4d0 Author: Alan W. Irwin Date: Mon Feb 23 13:01:21 2015 -0800 Style previous commit. M bindings/wxwidgets/wxPLplotwindow.h M drivers/wxwidgets_dev.cpp M include/metadefs.h M src/plbuf.c M src/plcore.c M utils/wxplframe.cpp M utils/wxplframe.h M utils/wxplviewer.cpp commit 30ef2c862ff34d34f5de42f10a6a52baf7e7ae69 Author: Phil Rosenberg Date: Mon Feb 23 17:39:45 2015 +0000 Remove use of m_plstate_width and m_plstatecolor variables in the wxWidgets driver. These tracked whether the width or color changed before initialization of the wxDC, however, we also need these variables to be reset after a page change and potentially a new wxDC set, so now always grab the current color and line width at the beginning of a new page. This fixes the rendering problems in x019 M drivers/wxwidgets.h M drivers/wxwidgets_dev.cpp commit 6fbba43224744c643acc4404fdac3d708b6c3329 Author: Phil Rosenberg Date: Mon Feb 23 14:57:42 2015 +0000 Save device interface information to the buffer, this allows redraws performed by the buffer to correctly utilise orientation changes or other transforms set via the pldi_ini(0 function and functions that call this function. Modified the wxWidgets driver to correctly take advantage of these changes which required setting the PLStream aspect function and some rewriting of the sizing code which allows fixed aspect rendering. Modified the wxPLplotwindow class to fully clear the background on a redraw so that this reqirement is removed from the driver allowing it to just clear the subpages. M bindings/wxwidgets/wxPLplotwindow.h M drivers/wxwidgets_dev.cpp M include/drivers.h M include/metadefs.h M src/plbuf.c M src/plcore.c commit 0a1ff58feede754a2cdf45c1a399144df1e2f0f4 Author: Phil Rosenberg Date: Sun Feb 22 10:07:23 2015 +0000 Fixed initial aspect ratio of plot in wxPLViewer M drivers/wxwidgets_dev.cpp M utils/wxplframe.cpp M utils/wxplframe.h M utils/wxplviewer.cpp commit 8ec8573bf6e37a4d2f34f7519fd6e8d4972d86e8 Author: Alan W. Irwin Date: Sat Feb 21 16:06:45 2015 -0800 wxwidgets: Use plrandd method for obtaining random mapName This change appears to solve the issue on Debian stable where the dreaded *** PLPLOT WARNING *** Error creating memory map for wxWidget instruction transmission. The plots will not be displayed message was intermittently emitted (apparently because the random mapName produced with the aid of the clock function was sometimes not suitable). M drivers/wxwidgets_dev.cpp commit 0c9a61206450fd45bd66730e7110b9967f3ea052 Author: Alan W. Irwin Date: Sat Feb 21 15:20:28 2015 -0800 wxwidgets: Implement some pldebug debugging messages M drivers/wxwidgets_dev.cpp commit 51dfd624a6f80a98d96774ec50065acaf9835fcd Author: Alan W. Irwin Date: Sat Feb 21 15:19:37 2015 -0800 Style previous commit. M utils/plrender.c commit 3c8ccc710c6c86b72e89767a01a1abbac6648550 Author: Phil Rosenberg Date: Sat Feb 21 20:37:38 2015 +0000 Changed string copy in wxPLDevice::SetupMemoryMap() to attempt to avoid valgrind warning M drivers/wxwidgets_dev.cpp commit c3fed1fa8b4b4820bd53351252d02bed75fac5cf Author: Phil Rosenberg Date: Sat Feb 21 10:06:46 2015 +0000 Undid changes to plbuf from commit e316a610 as they seem to be causing some memory issues M src/plbuf.c commit 1feef37e345272ba273bacd33b49b143c32d1ca5 Author: Phil Rosenberg Date: Mon Feb 16 13:50:20 2015 +0000 Changed default wxWidgets size to 900 pixels wide by 675 pixels high and 90 ppi (rather than the previous 600 pixels square and 72ppi). This is bacause it seems pretty standard to assume 90 ppi for SVG - at least in Inkscape - and then this default size matches the SVG driver. M drivers/wxwidgets_dev.cpp commit 96e4398f55d55cfff972fea520e9533581c604ca Author: Andrew Ross Date: Sat Feb 21 01:28:51 2015 +0000 Update test_diff.sh script so that it can work with other devices than psc. Tested with svg. M plplot_test/test_diff.sh.in commit caa6fdf259c5ad8edeb63bcc8f111a36a5b1cbcc Author: Andrew Ross Date: Sat Feb 21 01:20:29 2015 +0000 Fix bug in test_lua.sh directory handling which caused the script to fail is luadir was a relative path. M plplot_test/test_lua.sh.in commit e042157766fe9d3a248777efb9130e3e58aab69c Author: Andrew Ross Date: Sat Feb 21 01:18:05 2015 +0000 Fix bug in ada implementations of example 14 which stopped them working correctly with the -fam -fflen options. Not picked up by standard tests as postscript doesn't use the family options. M examples/ada/x14a.adb M examples/ada/xthick14a.adb commit 54afb462ba1e850420299106a022b0ec09819664 Author: Andrew Ross Date: Sat Feb 21 00:45:23 2015 +0000 Fix bug which stopped the plplot-test.sh script working for the case where no front end is specified. M plplot_test/plplot-test.sh.in commit 8388b763db1b2db0901c3e429491ab7a4082de76 Author: Andrew Ross Date: Fri Feb 20 22:25:38 2015 +0000 Fix compiler warnings in plrender due to return being called with a value inside a void function. M utils/plrender.c commit d6c9c3c21dcab1b7d0aea1ff9d6ee71631eb5bc1 Author: Andrew Ross Date: Fri Feb 20 12:07:44 2015 +0000 Fix previous commit to include examples directory for the non build tree case. M plplot_test/plplot-test.sh.in commit 08d19f4e596045fa7f21c2155a2e6076f57ee796 Author: Andrew Ross Date: Fri Feb 20 10:52:17 2015 +0000 Set octavedir based on whether this is in the build tree or not. This avoids octave warning messages when running the tests in the build tree before installation. M plplot_test/plplot-test.sh.in commit 472bcfdfd13f4b6258a91ff8926701badabe43f2 Author: Arjen Markus Date: Fri Feb 20 08:45:18 2015 +0100 Add missing routines to the definition file for gfortran under MinGW/MSYS. Also changed the name of the library in accordance with the name that is actually used in the link step. Quite possibly the first line needs to be removed altogether. This requires some testing though. Note: I (Arjen Markus) could not test it because the current version of gfortran under MinGW does not seem to need such a file. The additional routines were taken from the corresponding definitions file for Intel Fortran on Windows. M bindings/f95/plplotf95_mingw.def commit 4e18aba7177abeaa4d676edfe6fef811229d45a2 Author: Alan W. Irwin Date: Thu Feb 19 13:25:37 2015 -0800 libplplot: fix issues with long-standing plSetOpt deprecation plSetOpt has been deprecated a long time, but the original implementation of that deprecation had some issues which are now fixed. Those issues were the following: * Internal use of plSetOpt. This has now been completely fixed; plsetopt has replaced plSetOpt in a previous plrender fix, and for this commit, an unused plSetOpt declaration was removed in the D binding. * src/plargs.c declared plSetOpt for the case where -DPL_DEPRECATED=OFF to compensate for the lack of declaration in include/plplot.h for that case, but now that there is no internal use of plSetOpt, there is no need for that workaround and instead plSetOpt is now only declared and defined when -DPL_DEPRECATED=ON. Tested by Alan W. Irwin on Linux using the test_noninteractive and install targets in the build tree. M bindings/d/plplot.d M src/plargs.c commit 5e0362bfb6e818c8bff5135bb3fcb4d021b5b6f3 Author: Alan W. Irwin Date: Thu Feb 19 11:48:07 2015 -0800 plrender: replace call to plSetOpt with call to plsetopt plSetOpt calls plsetopt with an identical API, but the plSetOpt spelling is deprecated and requires use of -DPL_DEPRECATED=ON to work properly so use the recommended plsetopt instead. Tested by Alan W. Irwin on Linux by setting the cmake option -DPLD_plmeta=ON and building the plrender target. M utils/plrender.c commit a0469aa88c572eddeb47a8ce2e0420b20435e2fb Author: Alan W. Irwin Date: Wed Feb 18 11:37:48 2015 -0800 comprehensive_test.sh: Deal with case of pkg-config not being available The traditional build system for the installed examples tree depends on make and pkg-config to work. Therefore, drop (with a WARNING) the test of this build system if pkg-config is not available. M scripts/comprehensive_test.sh commit 862a41d64e5808bea954ba92790235958cf6b169 Author: Alan W. Irwin Date: Tue Feb 17 11:49:53 2015 -0800 Style recent plmeta/plrender commits. Tested by Alan W. Irwin on Linux using then -DPLD_plmeta=ON cmake option and make test_plbuf make ps make plmeta valgrind examples/c/test_plbuf The above builds and valgrind reported no errors. However, valgrind did report some unfreed memory issues and the resulting Postscript plots test_plbuf_2.out test_plbuf_0.out test_plbuf_1.out were similar to example 1, but were different from each other. M drivers/plmeta.c M examples/c/test_plbuf.c M include/metadefs.h M src/plbuf.c M src/plmetafile.c M utils/plrender.c commit ddb83696889a145530db99b9f5a2f18d56451087 Author: jdishaw Date: Tue Feb 17 13:01:18 2015 -0500 Fixes to reading plot metafiles The original plan to utilize the plot buffer did not work because the coordinate system used in the plot metafile is not compatible with the device level coordinate system that is in the plot buffer. In order to keep redraws (one of the key uses of the plot buffer) fast, the same strategy used by plrender was adopted. The metafile coordinate system is used to setup a coordinate system via plvpor() and plwind(). This will need to be revisited for the next revision to the plot buffers that will support switching of devices to handle saving/printing. M include/metadefs.h M src/plmetafile.c commit 66a581fb6004f9481bcf637b9917e2ecc2bac896 Author: jdishaw Date: Tue Feb 17 13:00:13 2015 -0500 Added a placeholder for the PLSTATE_CHR and PLSTATE_SYM operations The 2005 metafile version does not support these two operations. The new version will. M drivers/plmeta.c commit adf6b8ae3d1a7f694546e9cc4362750c46b8ffd8 Author: jdishaw Date: Tue Feb 17 12:59:04 2015 -0500 Added free() for the metafile variables in the plot stream M src/plcore.c commit 6ec05f1a3086f7c0df7dfb86eb084488aedc8462 Author: jdishaw Date: Tue Feb 17 12:57:27 2015 -0500 Cleanup and test casess implemented in test_plbuf.c * Removed extraneous code that was not necessary for testing the plot buffer * Added a test to generate and read plot metafiles M examples/c/test_plbuf.c commit 23adc2a2661a2ca9787a9eda6a589670944b0c59 Author: jdishaw Date: Tue Feb 17 12:55:31 2015 -0500 Added a placeholder for PLSTATE_CHR and PLSTATE_SYM Those two state operations are not implemented in the 2005 metafile version. When the new version is implemented, plrender will need to support those two operations. M utils/plrender.c commit d1647cc72eeaefd1f5a2c757f17c6c2516b0d491 Author: jdishaw Date: Tue Feb 17 12:52:16 2015 -0500 Put a place holder for PLESC_IMPORT_BUFFER and revised some comments This might not be an appropriate escape action to while working on a buffer. However, until that gets determined in the mailing list, the placeholder will make it clear that it is not missing due to an error. M src/plbuf.c commit e316a610c2c96804deadb0f431b079a75d0e0540 Author: Phil Rosenberg Date: Sun Feb 15 22:47:40 2015 +0000 Set page advance key in wxPLViewer to Enter and made advancing past the last page close the viewer for consistency with previous wxWidgets driver. Also added an option to have fixed or dynamic aspect ratio. This was coded into the driver as either dynamic or unity, so made some changes for that. Finally made use of the check_buffer_size function in the plbuf_esc function for the PLESC_IMPORT_BUFFER case. M bindings/wxwidgets/wxPLplotstream.cpp M bindings/wxwidgets/wxPLplotstream.h M drivers/wxwidgets_dev.cpp M include/plplot.h M src/plbuf.c M utils/wxplframe.cpp M utils/wxplframe.h commit b8627eb5266da00681a1ac5a43aa674da9e8b44b Author: Alan W. Irwin Date: Mon Feb 16 01:26:08 2015 -0800 epabuild: add uncrustify build Tested by Alan W. Irwin on Linux by setting all relevant environment variables mentioned in cmake_epa_build/README and also set by source cmake/epa_build/setup/setup_linux_makefiles then running cmake -DCMAKE_VERBOSE_MAKEFILE=ON -G"$GENERATOR_STRING" -DCMAKE_INSTALL_PREFIX:PATH=${INSTALL_PREFIX} \ -DBUILD_THE_BUILDTOOLS=OFF $EPA_BUILD_SOURCE_PATH >& cmake.out make build_uncrustify >& build_uncrustify.out The sourcefile was downloaded, configured by CMake and built and installed by make without issues. Furthermore, the resulting uncrustify that was installed in ${INSTALL_PREFIX}/bin worked to check the style of all PLplot source. M cmake/epa_build/CMakeLists.txt A cmake/epa_build/uncrustify/CMakeLists.txt A cmake/epa_build/uncrustify/config.h.cmake A cmake/epa_build/uncrustify/uncrustify_CMakeLists.txt commit 39a6c01b3efef0484eaf1ac67f8cbfbc8e431b38 Author: Alan W. Irwin Date: Sat Feb 14 19:32:12 2015 -0800 Style fixup This style update was generated by the scripts/style.sh --apply command (which in turn runs a python script to put comments in c99 "//" form and uncrustify to deal with all other style issues). This time, it was a large and intrusive change because I had waited for too long to run the script, and also because so much plbuf and wxwidgets work has landed on master recently. Tested by Alan W. Irwin on Linux by running the test_noninteractive target in the build tree as well as running several standard examples with the wxwidgets and xwin devices and resizing those results. I also looked at the results from git diff --ignore-all-space |less which didn't show any obvious problems in the restyling but did graphically illustrate (because of the change of comments to "//" style) that large parts of drivers/wxwidgets.cpp and examples/c++/wxPLplotDemo.cpp had been commented out. M bindings/d/plplot.d M bindings/f95/sc3d.c M bindings/f95/scstubs.c M bindings/tcl/plplot_parameters.h M bindings/tcl/tclAPI.c M bindings/wxwidgets/wxPLplotstream.cpp M bindings/wxwidgets/wxPLplotstream.h M bindings/wxwidgets/wxPLplotwindow.h M drivers/plmeta.c M drivers/wxwidgets.cpp M drivers/wxwidgets.h M drivers/wxwidgets_comms.cpp M drivers/wxwidgets_comms.h M drivers/wxwidgets_dev.cpp M examples/c++/wxPLplotDemo.cpp M examples/c/test_plbuf.c M examples/d/x08d.d M examples/d/x19d.d M include/metadefs.h M include/plplot.h M include/plplotP.h M include/plstrm.h M src/plargs.c M src/plbuf.c M src/plmem.c M src/plmetafile.c M src/plpage.c M src/plsdef.c M utils/wxplframe.cpp M utils/wxplframe.h M utils/wxplviewer.cpp commit 06be52a4c9156127a962cedab71bf2bdd9a0f3a6 Author: Alan W. Irwin Date: Sat Feb 14 19:12:06 2015 -0800 style_source.sh: Update list of wxwidgets files to style This maintenance was required because of the recent name changes for the list of wxwidgets-related files to be styled. M scripts/style_source.sh commit 16c70916c05a4fad02977b56f35d355709663daf Author: Alan W. Irwin Date: Sat Feb 14 15:38:39 2015 -0800 libplplot: Fix buildability (visibility) issue with plreadmetafile I fixed this visibility issue by declaring this function in plplotP.h with the appropriate PLDLLIMPEXP macro. If we want more visibility for this function, the declaration should be moved to include/plplot.h, but we start with this declaration so that nobody experiences build issues for the shared library case on Linux (with -fvisibility=hidden gcc option) and presumably on Windows. Tested by Alan W. Irwin on Linux by building the test_plbuf target using -fvisibility=hidden. M include/plplotP.h commit 9ac3f2fe12a9d79f3436ba9ff52a73887332f303 Author: Phil Rosenberg Date: Sat Feb 14 22:37:54 2015 +0000 Fixed scaling issue for fills on wxWidgets driver M drivers/wxwidgets_dev.cpp commit faea6277763cfdb1010c1b8c9d99a03be0414728 Author: Phil Rosenberg Date: Fri Feb 13 16:34:25 2015 +0000 Previous workaround for arrow keys on wxGTK didn't work. Changed the page change keys to pgup and pgdn instead. M utils/wxplframe.cpp commit 54ab179acf59d89f58e5a0ae6e9e31a3e1d15252 Author: Phil Rosenberg Date: Fri Feb 13 15:44:47 2015 +0000 Fix left/right key in wxGTK for wxPLViewer M utils/wxplframe.cpp commit 8c7430b42512a01eaddb3dfb827c1f4a577316df Author: Phil Rosenberg Date: Fri Feb 13 14:54:01 2015 +0000 Fixed page overrun and passing on of key press events in wxPLViewer M utils/wxplframe.cpp commit e5d28d3114f2e6fbfa4a4b72994880b2aae84958 Author: Phil Rosenberg Date: Thu Feb 12 21:38:41 2015 +0000 Linked wxPLViewer to librt on Linux which is needed for semaphores and set to use system() instread of wxExecute on linux in wxwidgets_dev.cpp as on Linux it doesn't like calling wxExecute without a wxApp. I didn't change Windows because to get asynchronous execution on Linux we just appent &, but on windows we must use Start and I couldn't get the command line parameters to pass correctly M drivers/wxwidgets_dev.cpp M utils/CMakeLists.txt commit 979edbcda298a8bdd66e57f901d4b8812fc7bc56 Author: Phil Rosenberg Date: Thu Feb 12 20:32:07 2015 +0000 removed redundant refereence to POSIX_HAS_SEMAPHORES in wxwidgets_comms.h M drivers/wxwidgets_comms.h commit 2c676721de9e997d5768c8be7b45fab9fe394527 Author: Phil Rosenberg Date: Thu Feb 12 16:53:36 2015 +0000 Fixed linkage problem with wxPLViewer when built as shared libraries M drivers/wxwidgets_comms.h M utils/CMakeLists.txt commit a314dac1bb78ebe4d7f149e9f30fc6e0c9582291 Author: Phil Rosenberg Date: Thu Feb 12 15:13:45 2015 +0000 More minor wxWidget Centos changes M drivers/wxwidgets_dev.cpp commit b3d9f621c70de0d06d43985751a289b26de458eb Author: Phil Rosenberg Date: Thu Feb 12 14:49:44 2015 +0000 Correct dll import/export in wxwidgets_comms.h M drivers/wxwidgets_comms.h M utils/wxplframe.h commit 3645df7e2811ca1fd754fceb589eeff3038da3d0 Author: Phil Rosenberg Date: Thu Feb 12 14:41:24 2015 +0000 Some minor changes to wxWidget driver to allow compilation on Linux (CentOS). In particular we removed use of C++11 random number generators. M drivers/wxwidgets.h M drivers/wxwidgets_comms.h M drivers/wxwidgets_dev.cpp M utils/wxplframe.cpp M utils/wxplframe.h commit 04adc494b59b310856744fef92bd19612a776a6d Author: Phil Rosenberg Date: Thu Feb 12 12:17:29 2015 +0000 added the wxwidgets_comms files to source control. Removed the wxwidgets_agg.cpp and wxwidgets_app.cpp files and renamed wxwidgets_dc.cpp to wxwidgets_dev.cpp to represent the fact that this is now the only backend M cmake/modules/drivers-finish.cmake D drivers/wxwidgets_agg.cpp D drivers/wxwidgets_app.cpp A drivers/wxwidgets_comms.cpp A drivers/wxwidgets_comms.h D drivers/wxwidgets_dc.cpp A drivers/wxwidgets_dev.cpp commit 356fcdf3afc6d44bf16a73ef4122201e901d0e29 Author: Phil Rosenberg Date: Thu Feb 12 12:07:46 2015 +0000 Added support for plGetCursor() in the wxWidgets driver. Split the communication stuff (mapped memory, mutexes) into a seperate header and cpp file, and used this header from wxPLViewer. Also quite a bit of tidying up in th ewxWidgets driver. M drivers/wxwidgets.cpp M drivers/wxwidgets.h M drivers/wxwidgets_dc.cpp M utils/wxplframe.cpp M utils/wxplframe.h M utils/wxplviewer.cpp commit 33fc50930bb3107b0486fd6eee166cc842c219a3 Author: Phil Rosenberg Date: Tue Feb 10 16:54:00 2015 +0000 Reworked the wxWidgets driver to allow two way communication with wxPLViewer. This permits multiple pages to be transmitted to one instance with wrapping round of the shared memory if needed. It will also permit calls to plgetcursor to work, althought his has not yet been implemented. This commit probably breaks the Linux version as it requires named mutexes to protect the shared memory and I haven't implemented the linux version of this yet. Note that to do this I had to add an escape for use in pl_cmd to import a buffer. This has been done in plbuf.c. In the future this may be altered in some way to make it more like the file import of the buffer, however that work is still in progress. M bindings/wxwidgets/wxPLplotstream.cpp M bindings/wxwidgets/wxPLplotstream.h M bindings/wxwidgets/wxPLplotwindow.h M drivers/wxwidgets.cpp M drivers/wxwidgets.h M drivers/wxwidgets_dc.cpp M include/plplot.h M src/plbuf.c M utils/wxplframe.cpp M utils/wxplframe.h M utils/wxplviewer.cpp commit 93476d8285d3d2bcb2f100339c9466e79338b233 Author: Phil Rosenberg Date: Wed Jan 28 13:15:47 2015 +0000 Added support for using nopause for the wxWidgets driver. This include some changes to PLMemoryMap, so that there is an option to ensure the map name doesn't already exist, having multiple output memory maps stored at unique_ptrs in a std::vector and introducing a ? wildcard to the output memory map filename which will be replaced with random characters from A-Z. This should all mean that a particular peice of software can run multiple instances of wxPLViewer without their memory maps clashing. M drivers/wxwidgets.cpp M drivers/wxwidgets.h M drivers/wxwidgets_dc.cpp commit 55c7c0bbc18c322a637b6adf95b79e6fe33169df Author: Phil Rosenberg Date: Tue Jan 27 22:31:31 2015 +0000 Added ability to set the size of wxPLViewer on the command line and use this in the driver based upon the pls->xlength and pls->ylength parameters M drivers/wxwidgets_dc.cpp M utils/wxplviewer.cpp commit fe59ab91a1bb7e77d47445eaa6dc1faa40faa5e9 Author: Phil Rosenberg Date: Tue Jan 27 12:06:08 2015 +0000 Fixed the text scaling and skewing for 3d text inthe wxWidgets driver. The code was taken straight from the graphics context backend of the old driver. M drivers/wxwidgets.h M drivers/wxwidgets_dc.cpp commit 5ceffb69e173a212dae3a3171e1e4384e35ae600 Author: Phil Rosenberg Date: Sun Jan 25 15:08:06 2015 +0000 removed replot from wxDevice constructor as we have no dc at this time so it does nothing. M drivers/wxwidgets_dc.cpp commit a1b44c4f7b9229970cd0c7cd3b620c4d973cf774 Author: Alan W. Irwin Date: Fri Jan 23 12:33:16 2015 -0800 Build system:wxwidgets: make the wxwidgets target depend on the wxPLViewer target Signed-off-by: Phil Rosenberg M utils/CMakeLists.txt commit f430921c513e4b8ac7f47affc6bc011a5c9994ff Author: p.d.rosenberg@gmail.com Date: Sun Jan 25 13:05:51 2015 +0000 Added workaround for wxGtk hang as described in https://forums.wxwidgets.org/viewtopic.php?t=37151&p=151356. See wxPlViewerApp::OnInit for more details. Also added correct line scaling in wxDevice::SetColor Signed-off-by: Phil Rosenberg M drivers/wxwidgets_dc.cpp M utils/wxplviewer.cpp commit 650a8646d11900ee75ad5b98542bf4029b895192 Author: Phil Rosenberg Date: Fri Jan 23 10:39:52 2015 +0000 Created the memory map with the O_EXCL flag in linux to try to solve the hang problem. Don't think it worked, but it should be there non-the-less. M drivers/wxwidgets.cpp commit 8a2c4fb6cbb0767658dfb1491afe89e9dfac469c Author: Phil Rosenberg Date: Thu Jan 22 20:37:18 2015 +0000 Used correct delete[] operator for m_name variable of PLMemoryMap in wxwidgets.cpp M drivers/wxwidgets.cpp commit df6bffd07973a2f1ef6739cc04376f935095cda4 Author: Phil Rosenberg Date: Thu Jan 22 20:34:36 2015 +0000 Set default line with in wxWidgets driver to 1 internal unit after scaling, rather then 1 internal unit before scaling which made it practically invisible on Linux. M drivers/wxwidgets_dc.cpp commit 7d80cb90b890542d67ca2e6c1ba98bc745dd1d39 Author: Phil Rosenberg Date: Wed Jan 21 21:57:18 2015 +0000 Added ability to make wxWidgets driver plots be either fixed aspect ratio or vary their aspect ratio as the window is resized. M drivers/wxwidgets.cpp M drivers/wxwidgets.h M drivers/wxwidgets_dc.cpp M include/plplot.h commit 7d23035a14766cb5d2a2e5035f9f3bf946253f57 Author: Phil Rosenberg Date: Wed Jan 21 20:26:13 2015 +0000 Altered scaling in wxDriver so that the line widths are consistend in both dimensions for non-square windows. The previous scaling applied to line thicknesses so gave poor results for non square windows. M drivers/wxwidgets.h M drivers/wxwidgets_dc.cpp commit 3338d3e848352960b07d612643130a27124cb867 Author: Phil Rosenberg Date: Wed Jan 21 11:18:33 2015 +0000 Tidy up comments related to the wxWidgets driver/binding M bindings/wxwidgets/wxPLplotstream.cpp M bindings/wxwidgets/wxPLplotstream.h M bindings/wxwidgets/wxPLplotwindow.h M drivers/wxwidgets.cpp M drivers/wxwidgets_dc.cpp M include/plplot.h commit fa121bd5775680d55c9ffd277bc215cab131da7c Author: Phil Rosenberg Date: Tue Jan 20 15:56:53 2015 +0000 Moved SetBackgroundStyle call from wxPLplotwindow constructor to the OnPaint method. This avoids a segfault which I hit on a CentOS machine running wxWidgets 2.8.12 (but not on an Ubuntu machine running 3.0 nor a Windows machine running 3.0). Moving the call here ensures that Create has been called on the window which I guess was the likely problem. This call does nothing if the new style is the same as the old style so it shouldn't be a problem that it is called on every paint event. M bindings/wxwidgets/wxPLplotwindow.h commit bac6cd3233420727dcaed6390c28811a0625c324 Author: Phil Rosenberg Date: Tue Jan 20 14:01:57 2015 +0000 removed ftruncate call when creating memory map in wxwidgets.cpp with onlyIfExists set to true. M drivers/wxwidgets.cpp commit d090e964a7dac91ab27d64e9e675c5e67fbd50eb Author: Phil Rosenberg Date: Tue Jan 20 10:39:32 2015 +0000 Reset the scaling in the wxWidgets driver. It now uses wxDC::SetLogicalScale so that the wxDC does conversion from plplot internal coordinates to native device coordinates. This gives us subpixel accuracy when using the wxGCDC interface. The exception is when drawin text. Here the driver does the scaling. Ths ib partly to avoid rewriting the rather complex code that deals with newines, sub/superscripts and rotation, but also because we should get better text hinting for on screen/raster graphics if we work in native coordinates (although I haven't checked if is really any different). M drivers/wxwidgets_dc.cpp commit 9acabecba48b1756310e899f13cf1338526a359a Author: Phil Rosenberg Date: Sat Jan 17 15:51:58 2015 +0000 Catch wxWindowCreateEvent to flag when wxPLplotwindow has actually been created. This avoids a failed assert when calling wxWindow::Refresh() on Linux after the window has been constructed but before Create has been called. M bindings/wxwidgets/wxPLplotwindow.h commit 027c461b63c5c143b57934d76b006fc918749653 Author: Phil Rosenberg Date: Sat Jan 17 15:27:57 2015 +0000 Use default size in wxPLplotwindow constructor because when called the window has no size. M bindings/wxwidgets/wxPLplotwindow.h commit a8d9ec5885cbcaf7eb3e430ef5a49c477baa8a43 Author: Phil Rosenberg Date: Sat Jan 17 13:58:26 2015 +0000 Fix Linux memory map code for wxWindows driver. M drivers/wxwidgets.cpp commit 5e9238a1cb4ebbf36631b830cf4b982b19552969 Author: Phil Rosenberg Date: Sat Jan 17 12:52:14 2015 +0000 Fixed wxPLplotDemo (actually making it plot and some bug fixes). M bindings/wxwidgets/wxPLplotwindow.h M examples/c++/wxPLplotDemo.cpp commit 176647ca14c01cb867e5d33b61edde80685ef3a5 Author: Phil Rosenberg Date: Sat Jan 17 12:43:43 2015 +0000 Removed GetBackend function from wxPLplotwindow M bindings/wxwidgets/wxPLplotwindow.h commit 2f61608aa3e00187b58307e03a26cc4dcca9ac64 Author: Phil Rosenberg Date: Fri Jan 16 16:04:27 2015 +0000 Rewrote the whole scaling part of the wxWidgets driver. Also edited the buffer code so that character scale can be added during a call to plP_subpInit and made that call. This ensures the initial text size ends up in the buffer. M bindings/wxwidgets/wxPLplotwindow.h M drivers/wxwidgets.cpp M drivers/wxwidgets.h M drivers/wxwidgets_dc.cpp M src/plbuf.c M src/plpage.c M utils/wxplviewer.cpp commit 0597cc10ab3746cbc4af8fd7217e78e18962e965 Author: Phil Rosenberg Date: Fri Jan 16 10:22:02 2015 +0000 Removed SetIcon call in wxplviewer.cpp and wrapped argv[2] in a\ wxString( ) construction to allow it to compile on wxWidgets 2.8 intel system M utils/wxplviewer.cpp commit f4d3137795ec530bdb2f919756fea9a540a3e192 Author: Phil Rosenberg Date: Fri Jan 16 10:09:08 2015 +0000 Put correct direction slash in #include in wxplframe.h to allow compilation on inux. Added wxT macro to allow compatibility with wxWidgets 2.8 in wxPlFrame constructor in wxplviewer.cpp. M utils/wxplframe.h M utils/wxplviewer.cpp commit 32b5aca1b0fcde84c8e3bca455013c9101706afd Author: Phil Rosenberg Date: Thu Jan 15 23:00:02 2015 +0000 Added the wxPlViewer project to PLplot. This acts as the backend for the new wxWidgents driver. It is a stand alone executable which is called by the driver with the name of a shared memory location which contains the buffer. This can then be rendered. M utils/CMakeLists.txt A utils/wxplframe.cpp A utils/wxplframe.h A utils/wxplviewer.cpp commit a7260665e81e8bb9bda62ab2328809a31c7c0392 Author: Phil Rosenberg Date: Thu Jan 15 22:53:35 2015 +0000 Moved the construction of the wxGCDC out of the if statement as the wxGCDC was going out of scope. M bindings/wxwidgets/wxPLplotwindow.h commit 91038e66493adf4260493f89f59f504d515422bf Author: Phil Rosenberg Date: Thu Jan 15 20:09:26 2015 +0000 added better searching for wxPLViewer to wxwidgets_dc.cpp. M drivers/wxwidgets_dc.cpp commit 8432d82aa916ce66bfa4cff19847de07f38ab543 Author: Phil Rosenberg Date: Thu Jan 15 20:07:07 2015 +0000 Added some #ifdef guards to use of wxgcdc in wxPLplotwindow and reinstated use of SetBackgroundStyle which is needed for using a bufferedpaintdc. M bindings/wxwidgets/wxPLplotwindow.h commit 43e5e0641aa6c1889eac934a0db06bfc31d26341 Author: Phil Rosenberg Date: Thu Jan 15 15:20:41 2015 +0000 Added posix code to PlMemoryMap class in wxwidgets.cpp. This should now work on Linux and presumably Mac too. Also added some clean upp NULLs which weren't there before indicating closure. M drivers/wxwidgets.cpp commit 438ebe2a577025012371824ceaf846ab7d01e08e Author: Phil Rosenberg Date: Thu Jan 15 15:20:41 2015 +0000 Added posix code to PlMemoryMap class in wxwidgets.cpp. This should new work on Linux and presumably Mac too. M drivers/wxwidgets.cpp M drivers/wxwidgets.h commit cf59c54a8ce718477c10ff3bb657c81a4859f02a Author: Phil Rosenberg Date: Thu Jan 15 14:18:42 2015 +0000 Changed wxPLplotDemo to a very minimal demo which builds with the new wxPLplotwindow. Mode some changes to wxPLplotwindow.h to allow compilation with wxWidgets 2.8. This included replacing calls to wxWindow::Bind with wxWindow::Connect, which needed slightly more specific function definitions. and removing SetBackgroundStyle and instead catching the wxErase event. Also to get wxPLplotwindow to compile with intel under Linux I needed to explicitly indicate the wxWindow functions from the templated WXWINDOW. M bindings/wxwidgets/wxPLplotwindow.h M examples/c++/wxPLplotDemo.cpp commit 1a037af27ad88df7aa7c8f6d599de2c26c61ae1a Author: Phil Rosenberg Date: Thu Jan 15 12:05:30 2015 +0000 Added extra #ifder WIN32 statements in PLMemoryMap class to allow compilation (but to functioning) of the code on Linux. Added some use of wxT macro and other minor string code changes to allow compilation of the wxWidgets driver with wxWidgets 2.8. M bindings/wxwidgets/wxPLplotstream.cpp M bindings/wxwidgets/wxPLplotstream.h M drivers/wxwidgets.cpp M drivers/wxwidgets.h M drivers/wxwidgets_dc.cpp commit 3b55abef26d0d3f93358cb934b5e6ad88c2df52f Author: Phil Rosenberg Date: Wed Jan 14 14:12:10 2015 +0000 Ensured both the wxWidget driver and the wxPLplotstream class \ render their own text by default. M bindings/wxwidgets/wxPLplotstream.h M bindings/wxwidgets/wxPLplotwindow.h commit ebdc1cafc44cf05372f7a27e0efa104d6c5b667c Author: Phil Rosenberg Date: Wed Jan 14 13:19:05 2015 +0000 Removed backend options from wxPLplotstream and wxPLplotwindow M bindings/wxwidgets/wxPLplotstream.cpp M bindings/wxwidgets/wxPLplotstream.h M bindings/wxwidgets/wxPLplotwindow.h M drivers/wxwidgets.cpp commit aa62291d095cb2e1c1473dbe021c58a52e068b7d Author: Phil Rosenberg Date: Wed Jan 14 11:55:30 2015 +0000 wxWidgets driver rebuild part 1. The driver has benn totally rebuilt so that it only has a wxDC backend passed in by the user. Alternatively it has an option on the command line to write the buffer to a memory mapped file (functions on Windows only at the moment. This memory mapped file will be read by a seperate application, which will use the wxWidget driver but will create its own DC to write to. The wxApp code has all been commented out and will be copied into the new application. The wxPLDevBase and wxPLDev_DC classes have been merged into a wxPLDevice class. The free functions in wxWidgets.cpp have been tidied up and most of their functionality has been moved int the new class. There has been a lot of tidying up and removal of uneeded code. This should give us a much more streamlined and easily maintainable driver. M bindings/wxwidgets/wxPLplotstream.cpp M bindings/wxwidgets/wxPLplotstream.h D bindings/wxwidgets/wxPLplotstream.h.in M bindings/wxwidgets/wxPLplotwindow.h M drivers/wxwidgets.cpp M drivers/wxwidgets.h M drivers/wxwidgets_app.cpp M drivers/wxwidgets_dc.cpp commit 98503f518b54b8157c719518a0866117cd680dd2 Author: Phil Rosenberg Date: Tue Jan 13 13:13:28 2015 +0000 Added ability to change the device context used by wxPLplotstream and removed the saving of the pointer to the dc as it is not used anywhere within the stream (it is still saved in the device). M bindings/wxwidgets/wxPLplotstream.cpp M bindings/wxwidgets/wxPLplotstream.h commit fe8e358eb4f83459a68fbf5a3d61299d5e5c5671 Author: Phil Rosenberg Date: Mon Jan 12 19:23:17 2015 +0000 Made wxPLplotstream.h a standard header file, no longer needing input from CMake now that AGG and FreeType are not involved in the wxWidgets driver. M bindings/wxwidgets/CMakeLists.txt A bindings/wxwidgets/wxPLplotstream.h commit 08efe5570fc89c7e2121e5877e18d958046623f5 Author: Phil Rosenberg Date: Mon Jan 12 11:23:04 2015 +0000 Removed the wxPLDevGC class and intstead set up wxPLDevDC to use a wxGCDC when a wxGraphicsContext is requested. Also did a little bit of cleanup related to the removal of the AGG backend and FreeType support in wxWidgets. This included removing the Update method from wxPLplotStream which only actually did anything when using the AGG backend. Also removed the wxwidgets_gc.cpp and wxplplotwindow.cpp files from the cmake build system as they have been deleted and tidied up wxwidget related mentions of AGG and freetype. M CMakeLists.txt M bindings/wxwidgets/CMakeLists.txt M bindings/wxwidgets/wxPLplotstream.cpp M bindings/wxwidgets/wxPLplotstream.h.in M bindings/wxwidgets/wxPLplotwindow.h M cmake/modules/drivers-finish.cmake M cmake/modules/wxwidgets.cmake M drivers/wxwidgets.cpp M drivers/wxwidgets.h M drivers/wxwidgets_dc.cpp D drivers/wxwidgets_gc.cpp commit 801fd9786b7deb634e6a1861b235f8bd07dd0bdf Author: Phil Rosenberg Date: Mon Jan 12 10:25:54 2015 +0000 Removed use of FreeType in the wxWidgets driver. wxWidgets now has the ability to do its own font rendering perfectly well in a wxMemoryDC or wxPaintDC so there or with antialiasing in a wxGCDC or wxGraphicsContext so there is no need for FreeType. M bindings/wxwidgets/wxPLplotstream.cpp M drivers/wxwidgets.cpp M drivers/wxwidgets.h M drivers/wxwidgets_dc.cpp M drivers/wxwidgets_gc.cpp commit f27a47161d880b062e4188b40b30aab87cccc6bc Author: Phil Rosenberg Date: Sun Jan 11 22:23:13 2015 +0000 Removed AGG backend - not that trying to use this backend will result in a plabort call, not defaulting to a wxDC, this is because from a wxWidgets app the AGG backend requires a wxImage* to be passed in and the othe backends require a wxBitmap*. M bindings/wxwidgets/wxPLplotstream.cpp M drivers/wxwidgets.cpp M drivers/wxwidgets.h commit 257c31cc6de0e8f64266de6a6aa6f013b20dd0ab Author: Phil Rosenberg Date: Sun Jan 11 21:39:52 2015 +0000 Added function to use a wxGCDC in the wxPLplotwindow. Renamed the wxMemoryDC so it is a bit more consistent. Tidied up a few comments in wxPLplotwindow.cpp. The constructor for wxPLplotwindow now has a bool to set whether to use wxGCDC or not. It no longer has an int to set the backend. This means it can no longer use the AGG backend or the graphics context backend. The graphics context backend will be accessed via the wxGCDC and the AGG backend will be removed soon. M bindings/wxwidgets/wxPLplotwindow.h commit 73bfb544fd62610219d5531667928a347f852dd3 Author: Phil Rosenberg Date: Fri Jan 9 14:35:50 2015 +0000 Changed wxPLplotWindow to a templated class, where the type of wxWidget that you wish to inherit from is passed as the template parameter. This is preferred over the previous method (where wxPLplotWindow inherited from wxWindow) because it no longer requires multiple inheritance. E.g. previously to get a wxPLplotFrame you would inherit from wxPLplotWindow and wxFrame, both of which inherited from wxWindow, (i.e. the diamond problem) which makes working with such objects difficult and tedious. I also removed the event table and replaced it with bind calls. Now to create a wxPLplotWindow we use 2-stage initialisation: wxPLplotWindow *myWindow=new wxPLplotWindow; myWindow->Create(parent, id, ... ); Easy peasy! D bindings/wxwidgets/wxPLplotwindow.cpp M bindings/wxwidgets/wxPLplotwindow.h commit 3985acb72776f3d83a1d72a889be927e2639168a Author: jdishaw Date: Thu Feb 12 23:48:17 2015 -0500 Added command line option for reading/writing plot metafiles * Two new members (mf_infile, mf_outfile) in the PLStream structure. * Writing to metafiles is not implemented. * Reading plot metafiles appears to mostly work--needs some work. M examples/c/test_plbuf.c M include/plstrm.h M src/plargs.c M src/plmetafile.c commit c81183aa82e931dc1837bb565a61eb666f36f8b3 Author: jdishaw Date: Thu Feb 12 23:09:36 2015 -0500 New plmeta implementation * Cleanup on drivers/plmeta.c to aid transition to new implementation * Created src/plmetafile.c to read plot metafiles * Moved PLmDev data structure from plmeta.c to metadefs.h * Created test routine for the plot buffer * Updates to CMake files M drivers/plmeta.c M examples/c/CMakeLists.txt A examples/c/test_plbuf.c M include/metadefs.h M src/CMakeLists.txt commit 92896be33e9a493f05783ae2d9db42f5b6d70cbc Author: jdishaw Date: Thu Feb 12 23:03:13 2015 -0500 Fixes to preserving state information in the plot buffer M src/plbuf.c A src/plmetafile.c M src/plstdio.c commit 23011191ea005a921c25ae6fc394eee807ee1bd8 Author: jdishaw Date: Wed Jan 28 21:40:54 2015 -0500 Added obsolete commands to plbuf_control to attempt some backwards compatabilty with old plot metafiles. Removed unneeded malloc() and memcpy for LINE, POLYINE, and FILL when remaking the plot. Temporary storage was used because of the old file-based buffer approach. With the removal of file-based buffer code, a different apporach that uses pointers into the plot buffer could be used. Fixed the bug that caused random segfaults. This could be manifested in several ways, one of them being a POLYLINE with over a billion nodes. The root cause was a mismatch in the data sizes between the buffer writer and the buffer reader (a wrong sizeof() was used). Changed the code to use sizeof(variable) instead of sizeof(data type). Changed the buffer writer to maintain two-byte alignment. This should avoid the performance penalty associated with misaligned arrays. M src/plbuf.c commit ddd43b3a5d048f6c25ec380da8c6e1ff5e3bb942 Author: jdishaw Date: Mon Jan 26 17:50:16 2015 -0500 Fixed the problem where the colormap was lost on a plRemakePlot (which occurs on a GUI resize). The default colormap was not being saved at the beginning of the page. M src/plbuf.c commit b4886a8968b6b57601876c4c95531dd5f6fd2505 Author: jdishaw Date: Mon Jan 26 13:06:05 2015 -0500 Removed the deprecated temporary file buffer used in plbuf. The temporary file buffer was superseded in 2006 when the memory buffer approach was implemented. The temporary file buffer was disabled with #ifdef BUFFERED_FILE blocks in case it was needed. The capability for temporary file buffers was not documented and no one has asked for it. The decision was made to eliminate the code in order to reduce clutter and to simplify the revamping of plot metafiles. M include/plstrm.h M src/plbuf.c M src/plcore.c commit 764297d3cadaf6d8645aef54e32a19ad3d1fc4c7 Author: jdishaw Date: Sat Jan 24 19:07:45 2015 -0500 Changed the if logic for PLSTATE_CMAP0 and PLSTATE_CMAP1 that puts both the empty colormap and too small colormap cases into one block. This eliminates duplicative code. Reformatted some long line wraps and fixed some odd indenting. M src/plbuf.c commit f729d61fcfb74a0cac572c56e3a6e792d003b734 Author: jdishaw Date: Fri Jan 23 13:39:56 2015 -0500 - Removed redundant code in the plbuf save state (plbuf_save and plbuf_restore) -- Originally plbuf did not save colormaps in the buffer -- Save state had code to save and restore colormaps -- Colormaps were added to the plot buffer M src/plbuf.c commit 924b06ccffee1fee2ffd41eb7a7dd8f25b8f0108 Author: Andrew Ross Date: Fri Feb 13 14:29:46 2015 +0000 Add a plmeta / plrender test to the test suite. This is implemented as a new front end for plplot-test.sh. It runs all the examples with the plmeta device, then runs plrender to re-render the plots using the specified driver. This front end is now include in the test_diff_psc target as well. M cmake/modules/drivers-init.cmake M examples/CMakeLists.txt M plplot_test/CMakeLists.txt M plplot_test/plplot-test.sh.in M plplot_test/test_diff.sh.in A plplot_test/test_plrender.sh.in commit 86487421e534e8e70b231d41f39f0e214d7cb305 Author: Alan W. Irwin Date: Wed Feb 11 18:41:55 2015 -0800 Python and Octave bindings: update documentation I used the check_swig_documentation to propagate the recent doc/docbook/src/api.xml changes to a comparison file for bindings/swig-support/swig_documentation.i. After doing that comparison to make sure the new version was an improvement, I copied that comparison file (bindings/swig-support/swig_documentation.i_compare in the build tree) to bindings/swig-support/swig_documentation.i in the source tree. Tested by Alan W. Irwin on Linux using the check_swig_documentation target. I have not actually checked those documentation results on Python or Octave, but the file change does look good (see above) so I committed the change. M bindings/swig-support/swig_documentation.i commit c6a013e26640b08507928d9a6c31f809d0a6cde7 Author: Alan W. Irwin Date: Wed Feb 11 18:35:24 2015 -0800 Tcl binding: whitespace change This change made the check_tcl_parameters target succeed and likely reflects some whitespace change in the #defines in bindings/swig-support/plplotcapi.i or else in the script that parses that file to generate a file that is compared with bindings/tcl/plplot_parameters.h. Tested by Alan W. Irwin on Linux using the check_tcl_parameters and test_diff_psc targets. M bindings/tcl/plplot_parameters.h commit e674d4f7d565b85406da42707e1a010286a7435f Author: Alan W. Irwin Date: Wed Feb 11 18:31:14 2015 -0800 Tcl and Fortran examples: change example 8 to use sombrero function These two tiny changes made results from the Tcl and Fortran example 8 consistent with results from C example 8. Tested by Alan W. Irwin on Linux using the test_diff_psc target. M examples/f95/x08f.f90 M examples/tcl/x08.tcl commit d7e350fe10fd04510b9a1fa6f5f39d6676f84c0a Author: Arjen Markus Date: Wed Feb 11 12:46:30 2015 +0100 Extend the API (plsurf3dl) and example x08 for Fortran and Tcl so that they produce the same results as the C version. For Fortran the work is not entirely completed - the PostScript file resulting for this example contains some extra plot commands that I have not been able to eliminate. Tested by Arjen Markus ( Date: Fri Feb 6 11:42:57 2015 -0700 Find libgnat-5 Tested by Alan W. Irwin on Linux by building the test_diff_psc target in the build tree. M cmake/modules/ada.cmake M cmake/test_ada/ada.cmake commit 3ac49a445add23fdd1ba3bc808aa139fa8ba02c1 Author: Alan W. Irwin Date: Fri Feb 6 16:50:12 2015 -0800 Lua examples: math.log10(x) --> math.log(x,10) The pristine (upstream) version of Lua 5.2 dropped math10.log(x) and instead introduced an optional base argument to math.log so you can replace all calls to math10.log(x) by math.log(x,10). Some modern Linux distros (e.g. Debian) have kept legacy support for math10.log(x) to ease the transition to math.log(x,10), but that apparently has not occurred for Fedora. Therefore, to simplify PLplot support on Fedora and future-proof the Lua examples for other distros, change our Lua examples to exclusively use the math.log(x, 10) alternative. Of course, this change means that Lua 5.2 is the minimum version of Lua we support, but that should be an acceptable constraint since Debian stable (likely the modern Linux distro with the oldest versions of all packages) already packages Lua 5.2.1. Of course, that means PLplot enterprise class distros such as RHE, CentOS, etc. will have to either use old versions of PLplot or else build their own modern version of Lua. But that is already a very common compromise forced on PLplot users for enterprise class distros so the Lua addition to that enterprise class burden is relatively small. Tested by Alan W. Irwin on Linux (Debian stable with Lua-5.2.1) using the test_diff_psc target in the build tree. M examples/lua/x04.lua M examples/lua/x26.lua commit bd91600e4b8fa57468f021c86be068b9d6e1aef6 Author: U-DIRECTORY\markus Date: Mon Feb 2 21:29:07 2015 +0100 Second set of changes: Tcl bindings for plmap* functions M bindings/tcl/tclAPI.c M examples/tcl/x19.tcl commit fb54677b7d91a9760e0ac56156f531125eb79551 Author: U-DIRECTORY\markus Date: Thu Jan 29 21:05:19 2015 +0100 First set of changes: implement the map routines in Fortran, with example x19f as the test case M bindings/f95/plplotf95_ifort.def M bindings/f95/plstubs.h M bindings/f95/scstubs.c M bindings/f95/sfstubsf95.f90 M bindings/f95/strutil.f90 M examples/f95/x19f.f90 commit 8786a4bbe3cdb0720ddf6ee0d02967aa048a8d0a Author: jdishaw Date: Mon Jan 26 12:49:43 2015 -0500 Corrected the filename in the header of plmem.c M src/plmem.c commit e71b1e57b137e8e05b0f0fe2bccfd1e478fca6c3 Author: jdishaw Date: Mon Jan 26 12:48:22 2015 -0500 Moved the 2D memory allocation/deallocation routines from pdfutils.c to a new file plmem.c M src/CMakeLists.txt M src/pdfutils.c A src/plmem.c commit c63fdc51e9cdf603fb2fa879b077dec537c68385 Author: Alan W. Irwin Date: Thu Jan 22 18:23:42 2015 -0800 epa_build: New tarball location required for same ragel version M cmake/epa_build/add_packages.xml M cmake/epa_build/ragel/CMakeLists.txt commit c1579387c0720b41891ece361453cb7d394ab999 Author: Alan W. Irwin Date: Mon Jan 19 16:58:20 2015 -0800 Build system. Revert recent change to the Tk configuration It turns out that recent change (to use "package provide" rather than "package require" for one CMake test to find the Tk version in tcl-related.cmake) never works on Linux. So that change was a roundabout way to insure that Tk was always disabled which is not the desired result. I have done extensive command-line tests, and "package provide" only appears to work with Tcl (presumably because tclsh loaded Tcl before that package command was executed), but not Itcl, Tk, Itk, or Iwidgets under either tclsh or wish. So the conclusion is we must always stick with "package require" in tcl-related.cmake and accept that a working X will be required to configure Tk, Itk, or Iwidgets. The logic in tcl-related.cmake does look for the case where either wish or tclsh error out. However, if X is hanging rather than erroring out, (the issue which was "solved" by the commit that this commit reverts), I don't know a test for that issue that would not also hang. Instead, it appears to me the only recourse for a user if X hangs is to specify -DENABLE_tk=OFF (which automatically turns off searching for or using Itk and Iwidgets as well). M cmake/modules/tcl-related.cmake commit 9161b22a51518ba05883eb42f430570dbb55e36a Author: Phil Rosenberg Date: Fri Jan 16 16:43:23 2015 +0000 Added plstate called and save to buffer text and symbol size changes M include/plplot.h M include/plplotP.h M src/plbuf.c M src/plsdef.c commit a751602177cb0cfcaae0f7af8d4c63a009be40fa Author: Phil Rosenberg Date: Fri Jan 16 16:06:35 2015 +0000 Added a missing type specifyer in x19c.c M examples/c/x19c.c commit ccfee95ac0370f00f97b0e0deeebc450545b47e1 Author: Alan W. Irwin Date: Thu Jan 15 13:22:42 2015 -0800 Build System: Fix bug for case where no display AWI for Arjen Markus. The issue was one of the Tcl commands used by our build system to find Tcl packages. The Tcl command "package require" does not work if there is no display so replace it with "package provide" which does work for this situation and also the case when there is a display. M cmake/modules/tcl-related.cmake commit 1a5f1877ae8becd7f0517eb357d46648da9c7306 Author: Phil Rosenberg Date: Wed Jan 14 22:38:11 2015 +0000 Added update of plstream::ncol# when colourmap is read from the buffer in rdbuf_state M src/plbuf.c commit 626231f3dd4a80771db33cfa13aa7b1857da0afb Author: jdishaw Date: Wed Jan 14 00:06:56 2015 -0500 Added PLSTATE_CMAP0 and PLSTATE_CMAP1 to rdbuf_state and plbuf_state. This should fix the missing colormap information. Signed-off-by: Phil Rosenberg M src/plbuf.c commit 77f3e501e4c4231006e27b0cfdb519e8b7f914e3 Author: Phil Rosenberg Date: Wed Jan 7 20:48:59 2015 +0000 Fixed rescaling alpha from 0-1 scale in plplot to 0-255 scale in wxWidgits in wxPlDevDC::SetColor* M drivers/wxwidgets_dc.cpp commit fac2e31d87cdab74a9c6706c1dc46b24aedda874 Author: Hazen Babcock Date: Mon Dec 22 18:36:09 2014 -0500 Add instruction about updating include/pldll.h.in. M drivers/README.drivers commit 092bb400f9e3000dd4f363b17d00c4f674e2d423 Author: Phil Rosenberg Date: Sun Dec 7 20:43:15 2014 +0000 Corrected alphabetical order of plmap* functions in documentation M doc/docbook/src/api.xml commit 772223c638ecf5dc740c9f3dd7a6883c6d2c83d2 Author: Alan W. Irwin Date: Sun Dec 7 09:06:08 2014 -0800 Adjust for internal CMake-3.1 pkg-config change. There is a report from Greg Jung that the internal CMake command _pkg_check_modules_internal(0 0 ${_prefix} "${_package}") must be changed to _pkg_check_modules_internal(0 0 0 0 ${_prefix} "${_package}") for CMake-3.1 in order to build the cairo device properly. Accordingly, I have made that adjustment. Tested by Alan W. Irwin on Linux using CMake-3.0.2 by building the cairo device. N.B. currently untested for CMake-3.1. ToDo: Extensive tests on CMake-3.1 (once that version is closer to release) still need to be done since the change in the pkg-config support by CMake may need other adjustments as well. M cmake/modules/pkg-config.cmake commit 2ce9ff95ae365cd812e4debf47543b901f28792a Author: Alan W. Irwin Date: Sat Dec 6 12:06:16 2014 -0800 DocBook: Fix validation error in recent commit. M doc/docbook/src/api.xml commit 2d04be9400dc5409641ca71cca5060638579a4e0 Author: Phil Rosenberg Date: Sat Dec 6 12:15:55 2014 +0000 Added new plmap* functions to the documentation M doc/docbook/src/api.xml M doc/docbook/src/plplotdoc.xml.in commit 8a14dbac3b015cbccd454e5f594965651739c625 Author: Andrew Ross Date: Tue Nov 18 21:25:11 2014 +0000 Update D language bindings for recent plmap* changes. Update examples 8 and 19 consistent with C version. M bindings/d/plplot.d M examples/d/x08d.d M examples/d/x19d.d commit 7ada93ee735e7b921da934a4641da9a79c616ca5 Author: Alan W. Irwin Date: Mon Nov 17 11:36:24 2014 -0800 Move from uncrustify 0.58 to uncrustify 0.60 for styling our source code. This commit includes the following changes. 1. Update annotated configuration file using uncrustify --update-config-with-doc -c uncrustify.cfg > uncrustify-0.60.cfg mv uncrustify-0.60.cfg uncrustify.cfg 2. Update scripts/style_source.sh to change from 0.58 to 0.60 for the allowed uncrustify version. 3. Run that script to update the style of a number of our source code files according to the uncrustify 0.60 rules. We ascribe these large number of whitespace changes to changes in the implementation (new features with default configuration, bug fixes, and/or introduced bugs) between uncrustify 0.58 and 0.60. Note that visual sampling of these changes didn't reveal any obvious style issues, and these changes also passed the test below: Tested by Alan W. Irwin on Linux using the test_noninteractive target in the build tree. M bindings/c++/plstream.cc M bindings/c++/plstream.h M bindings/java/plplotjavac.i M bindings/lua/plplotluac.i M bindings/octave/plplot_octave.i M bindings/python/plplotcmodule.i M bindings/tcl/tclMain.c M bindings/wxwidgets/wxPLplotstream.h.in M drivers/psttf.cc M examples/c++/x01.cc M examples/c++/x01cc.cc M examples/c++/x09.cc M examples/c++/x14.cc M examples/c++/x16.cc M examples/c++/x22.cc M examples/c++/x26.cc M examples/c++/x31.cc M examples/c/x09c.c M examples/c/x26c.c M examples/d/x01d.d M examples/d/x09d.d M examples/d/x14d.d M examples/java/x09.java M examples/java/x26.java M scripts/style_source.sh M src/plmap.c M src/plpage.c M uncrustify.cfg commit a69ef1dd0d35e0c5cf2558fe04ccbf82f19d2571 Author: Alan W. Irwin Date: Sat Nov 15 23:20:17 2014 -0800 Change names of plmap* arguments for swig-generated bindings to be consistent with recently changed names of corresponding arguments for the C plmap* functions. M bindings/swig-support/plplotcapi.i commit f40deb1d53e3ce14cb29602116ffde38a3eadf17 Author: Phil Rosenberg Date: Sat Nov 15 11:32:13 2014 +0000 Changed variable names for map functions in the source - I will change them in documentation asap. These changes represent the fact that now we can use shapefiles the use of the variables has changed slightly. type has become name as it may also be a shapefile file name, minlong, maxlong, minlat and maxlat have become minx, maxx, miny and maxy as shapefiles may contain data that is projected - e.g. in km/miles/m etc. Note that the plmeridians function is untouched as this function is specifically for plotting lines of lat/long. The documentation must reflect that if plotting data not in lat/long coordinates, then calls to plmeridians must include a transform from lat/long M bindings/c++/plstream.cc M bindings/c++/plstream.h M include/plplot.h M src/plmap.c commit a97319e1714071114c7d6822efcdffcf53bf31e3 Author: Alan W. Irwin Date: Fri Nov 14 16:13:28 2014 -0800 Logic cleanup for recent commit concerning building the documentation. I agree with Phil's idea (no platform limits on documentation builds) motivating the last commit, but the implementation needed a small cleanup, i.e., I dropped redundant parentheses in the if statement and made then endif statement be consistent with the if statement to quiet CMake warnings about that inconsistency. M cmake/modules/docbook.cmake commit d0b1d83e75a1fa76efe18c91f94a06de7be6bcc5 Author: Phil Rosenberg Date: Fri Nov 14 22:36:31 2014 +0000 Removed check for linux or cygwin in docbook.cmake because he cygwin check does not seem to work and it isn't really needed because only devs ever build the documentation and a build error if anyone tries on Windows or Mac is probably better than a silent fail in this case. Also removed the double build instruction from the README after testing Alan's fix for this. M cmake/modules/docbook.cmake M doc/docbook/README.developers commit 405544f6de094e2e8c6c4b27e91a3713f04a4ae8 Author: Alan W. Irwin Date: Thu Nov 13 01:15:00 2014 -0800 Use generator expression to find location of library used to get symbols for documentation needs. Previously this location was specified as src/libplplot.so in the build tree which worked fine on Linux, but a generator expression is a more general cross-platform way to specify locations, and may solve the "double build" workaround currently necessary to build documentation on Cygwin. Tested by Alan W. Irwin on Linux using the CMake option -DBUILD_DOCon and the "pdf_target" target (which builds the pdf form of our documentation). M doc/docbook/src/CMakeLists.txt commit 5e96bdac9ec8528abe48739e90ed871d0dc6f131 Author: Alan W. Irwin Date: Thu Nov 13 00:55:12 2014 -0800 Fix recently introduced Boolean logic bug for deciding whether documentation can be built. Note this bug would have only been exercised on the rare occasions when someone attempts to build the documentation on platforms other than Linux or Cygwin. M cmake/modules/docbook.cmake commit f6bcb94eda9300a9b1cfdaeec39417957dfa6211 Author: Phil Rosenberg Date: Wed Nov 12 23:08:13 2014 +0000 In Cygwin docbook README changed font folders to add and noted the "double build" problem which is proving difficlt to fix M doc/docbook/README.developers commit e55176d2cf16bda645ae0fd92b9cf386f021231c Author: Alan W. Irwin Date: Sat Nov 8 14:32:02 2014 -0800 Build system dependency fix for tk and xwin device drivers. Make the tk target depend on the xwin target. M drivers/CMakeLists.txt commit 1d150a30fdda0029ceda0973652c958c2106215c Author: Alan W. Irwin Date: Sat Nov 8 14:31:35 2014 -0800 Spelling tweak. M doc/docbook/README.developers commit 710677fb5cf52b4fba829db7ac9c39785ef51df2 Author: Phil Rosenberg Date: Sat Nov 8 22:16:21 2014 +0000 Changed docbook build instructions to add the tex font directory to the fonconfig .conf file, rather than downloading the fonts separately to a different directory. M doc/docbook/README.developers commit 03ad89d3883b2a87eb725e726efac5a1506851b4 Author: Alan W. Irwin Date: Fri Nov 7 09:35:33 2014 -0800 Configure the installed PLplot header location in plplotqt.pro According to qmake project files such as plplotqt.pro are a similar concept to pkg-config files; they summarize everything relevant to building a project in a nice compact format (in this case for qmake rather than pkg-config). According to INCLUDEPATH is an important variable that is required to find the appropriate headers. So simply removing this variable is not a good option since it will screw up any qmake user that is using anything but the "/usr" install prefix for PLplot. So I have instead made plplotqt.pro configurable with INCLUDEPATH specified in the same configurable way as is done in pkgcfg/plplot-template.pc.in when configuring the header location for the pkg-config case. Tested by Alan W. Irwin on Linux by running cmake and looking at the configured bindings/qt_gui/smoke/plplotqt.pro file in the build tree; the configured header location is correct in that file. ToDo: Figure out where the configured plplotqt.pro file should be installed, and then use the appropriate CMake command to install it there. M bindings/qt_gui/smoke/plplotqt.pro.in commit 802caa67e56ba36ffcde5e3c356a1b7c26148611 Author: Alan W. Irwin Date: Fri Nov 7 09:32:09 2014 -0800 Make plplotqt.pro configurable M bindings/qt_gui/smoke/CMakeLists.txt D bindings/qt_gui/smoke/plplotqt.pro A bindings/qt_gui/smoke/plplotqt.pro.in commit c77029c001e2a1f1243e7d1f520c25c4b985f46c Author: Hazen Babcock Date: Fri Nov 7 08:57:53 2014 -0500 Remove (apparently) unused INCLUDEPATH. M bindings/qt_gui/smoke/plplotqt.pro commit b2f453344f15fb46400927262a5cd8b35b7acc6d Author: Phil Rosenberg Date: Wed Nov 5 13:19:08 2014 +0000 Modified CMake to allow documentation to be built on non-linux systems and added additional font install instructions for Cygwin for docbook building M cmake/modules/docbook.cmake M doc/docbook/README.developers commit 50cd4af8e08a9cd8515582f93a1ca699550ca7a9 Author: Alan W. Irwin Date: Wed Nov 5 04:18:29 2014 -0800 Document additional software we need for the Documentation build. I updated the list of applications that are required to do validation and all parts of the documentation build. I carefully went through cmake/modules/plplot.cmake and cmake/modules/docbook.cmake to find everything required so I am pretty sure this list is now complete. I also moved the "Cygwin Specific" section to a more logical location and wrote a similar "Linux Specific" section that lists exactly what packages need to be installed to build the documentation on Debian and gives what I hope is useful advice for building the documentation on rpm-based Linux distributions. M doc/docbook/README.developers commit 0904d3018dfb819e7bc38101540179c32963676c Author: Alan W. Irwin Date: Tue Nov 4 18:01:50 2014 -0800 CMake logic cleanup to insure smokegen and the corresponding build continue to use consistent include directories. Tested by Alan W. Irwin on Linux using the smokeplplotqt target. M bindings/qt_gui/smoke/CMakeLists.txt commit 2b3f9c25009c1cea2965a45e420208ae04843132 Author: Alan W. Irwin Date: Tue Nov 4 16:15:15 2014 -0800 Work around an egregious bug in smokegen parsing of -I options. It turns out that that the current version of smokegen on Debian stable (4:4.8.4-1) silently drops all -I options that have no space between the "-I" and the directory name. I worked around this bug by inserting a space after each -I option to smokgen. I consider this an egregious smokegen bug because smokegen is trying to mimic how -I options are processed by compilers, but those compilers only honor -I options without spaces between the "-I" and the directory name. (Or at least that is the only version of the -I option that is documented, in, e.g., the gcc info files.) Until smokegen follows how compilers parse -I option it violates the "least surprise" principle likely causing many smokegen users to trip over this issue like I just did. M bindings/qt_gui/smoke/CMakeLists.txt commit 6329c77de043db6bc2bf5c4dde6579daa6a0193a Author: Phil Rosenberg Date: Tue Nov 4 21:22:40 2014 +0000 Added list of packages and instructions for font installation for building the documentation of Cygwin to the doc/README.developers file M doc/docbook/README.developers commit 673c09b2388df170aa28b1a08a04d51134738eff Author: Alan W. Irwin Date: Tue Nov 4 12:02:32 2014 -0800 Fix file dependency issue for the docbook_plplot-symbols_txt custom_target. From Phil's recent evidence it appears that a docbook_plplot-symbols_txt target dependency is not enough to assure the plplot is always built before it is needed by the custom command associated with the docbook_plplot-symbols_txt target, and you need a file dependency as well. Follow the method suggested by the CMake documentation of specifying the plplot target in the DEPENDS of the associated custom command to automatically take care of both file and target dependencies on the plplot target. Tested by Alan W. Irwin on Linux using the docbook_plplot-symbols_txt target after a "make clean". As expected from the CMake documentation, the plplot target was run before the docbook_plplot-symbols_txt target was run. Furthermore, a second run of the docbook_plplot-symbols_txt target produced no further changes (again as expected from the CMake documentation). M doc/docbook/src/CMakeLists.txt commit 1352d9b1348c53020631cf32d2b77f134306f256 Author: Alan W. Irwin Date: Wed Oct 29 11:37:41 2014 -0700 Release documentation: wrap paragraph describing C++ API changes and insert a bit more specific information in it. M README.release commit 7e6987d8806ee697bf1e85290451dbe739e03c63 Author: Phil Rosenberg Date: Mon Oct 27 22:09:10 2014 +0000 Removed unneeded plfill_callback function left over from testing M bindings/c++/plstream.cc commit 0d985835728f40ecd91b820c99a9184a5654d5ab Author: Phil Rosenberg Date: Mon Oct 27 22:08:21 2014 +0000 Changed plstream C++ changes description in the README.developers file M README.release commit bcf353505406dfc403a38e9679146dc3fd4d47b3 Author: Andrew Ross Date: Mon Oct 27 22:08:00 2014 +0000 Fix bounding box issues for ps and psttf driver when an offset is applied via the --geometry option. M drivers/ps.c M drivers/psttf.cc commit 254a9b9a71467e5b243db932552a993ab6be9229 Author: Alan W. Irwin Date: Mon Oct 27 12:14:41 2014 -0700 Revert recent temporary fix of C++ examples build which is no longer required. Phil's recent callback changes mean the C++ examples no longer need to be directly linked to our C library so remove that temporary requirement. Tested by Alan W. Irwin on Linux using the test_diff_psc target. M examples/c++/CMakeLists.txt commit 4e6c0e33b9863521344ad40442834f8c7c8980f2 Author: Alan W. Irwin Date: Mon Oct 27 11:15:19 2014 -0700 Spelling fixes for our Docbook source. These were all found and fixed with the emacs ispell command. M doc/docbook/src/ada.xml M doc/docbook/src/advanced.xml M doc/docbook/src/api.xml M doc/docbook/src/cplus.xml commit b0378b257401406c8ef72351995052fc6d16bf84 Author: Phil Rosenberg Date: Mon Oct 27 12:37:52 2014 +0000 Added description of the C++ callbacks to the docbook documentation M doc/docbook/src/cplus.xml commit ed6705009782ced703c2f31667a68cb4cb06a7e4 Author: Phil Rosenberg Date: Mon Oct 27 12:07:57 2014 +0000 added plcallback namespace to C++ binding with fill, tr0, tr1, tr2, tr2p functions to avoid linker problems with using C vrsions M bindings/c++/plstream.cc M bindings/c++/plstream.h M examples/c++/x09.cc M examples/c++/x15.cc M examples/c++/x16.cc M examples/c++/x20.cc M examples/c++/x21.cc M examples/c++/x22.cc commit 3c594d01ddedf5780d7dc913dcd278bdcba811bd Author: Alan W. Irwin Date: Sat Oct 25 11:52:32 2014 -0700 f95: Remove all reference to plint in the examples. This change was done by sed script. This returns our Fortran examples to close to what they were just prior to commit e1aaa2a2b as shown by git diff e1aaa2a2b^ -- examples/f95 The point of this reversion of our plint changes in the examples is to follow our new Fortran philosophy (first formulated by Arjen) which is our Fortran interface should take the burden of all type changes rather than our users. The result is a much less cluttered set of f95 examples. To do: Arjen plans to do all the relevant integer kind and real kind manipulations in bindings/f95 so that our users can use the default integer type for integers and either single or double precision for real arguments, and those types will automatically be converted to the correct (private) kind=plint, kind=plunicode, and kind=plflt types in argument lists so that the resulting calls to the PLplot API best match the C type for integer and floating-point arguments that our core C code uses. Meanwhile, the present arrangement works only because our users are currently forced to use a Fortran real precision with PLplot that matches whatever was used for PLFLT, and the default integer type for Fortran currently matches the PLINT and PLUNICODE types used internally by PLplot. M examples/f95/plf95demolib.f90 M examples/f95/test_plf95demolib.f90 M examples/f95/x00f.f90 M examples/f95/x01f.f90 M examples/f95/x02f.f90 M examples/f95/x03f.f90 M examples/f95/x04f.f90 M examples/f95/x05f.f90 M examples/f95/x06f.f90 M examples/f95/x07f.f90 M examples/f95/x08f.f90 M examples/f95/x09f.f90 M examples/f95/x10f.f90 M examples/f95/x11f.f90 M examples/f95/x12f.f90 M examples/f95/x13f.f90 M examples/f95/x14f.f90 M examples/f95/x15f.f90 M examples/f95/x16af.f90 M examples/f95/x16f.f90 M examples/f95/x17f.f90 M examples/f95/x18f.f90 M examples/f95/x19f.f90 M examples/f95/x20f.f90 M examples/f95/x21f.f90 M examples/f95/x22f.f90 M examples/f95/x23f.f90 M examples/f95/x24f.f90 M examples/f95/x25f.f90 M examples/f95/x26f.f90 M examples/f95/x27f.f90 M examples/f95/x28f.f90 M examples/f95/x29f.f90 M examples/f95/x30f.f90 M examples/f95/x31f.f90 M examples/f95/x33f.f90 commit 9d24ac3d731e905cf86d4d0d760dbfc03ae978b7 Author: Alan W. Irwin Date: Sat Oct 25 00:46:36 2014 -0700 Octave: replace 3.14... by the Octave constant pi. Tested by Alan W. Irwin on Linux using test_diff_psc target. Octave results continued to agree with C results. M examples/octave/x04c.m M examples/octave/x14c.m M examples/octave/x26c.m commit d96f252613256d55139a0944b39ddf05e0548f20 Author: Alan W. Irwin Date: Sat Oct 25 00:30:07 2014 -0700 Octave: Fix array continuation in example 7. The previous commit removed the deprecated "\" line continuation, but the resulting array got misinterpreted as 2D rather than the desired 1D. To fix, I specified all array elements on one line. Tested by Alan W. Irwin on Linux using the test_diff_psc target. All Octave differences with C are now gone. M examples/octave/x07c.m commit 9f404496692bfe109d7b55ce7639f3fe340e09a9 Author: Alan W. Irwin Date: Sat Oct 25 00:28:36 2014 -0700 Tweak M plplot_test/test_octave.sh.in commit 70eab2892d7a2275afc821e77b99f8b602c5a4ec Author: Alan W. Irwin Date: Fri Oct 24 23:52:38 2014 -0700 Octave: modify example 8 to make it consistent with recent update to C example 8 Tested by Alan W. Irwin on Linux using the test_diff_psc target. There were no obvious run-time errors and no differences between the octave and C results for example 8. ToDo. There are still example 7 differences between Octave and C that still have to be addressed. M examples/octave/x08c.m commit d70d3b2e999cb8e120c2a1c2f0b78572dc012d1e Author: Alan W. Irwin Date: Fri Oct 24 12:01:28 2014 -0700 Java: modify example 8 to make it consistent with recent update to C example 8 Tested by Alan W. Irwin on Linux using the test_diff_psc target. There were no obvious run-time errors and no differences left between the Java and C results. M examples/java/x08.java commit 4f55c34d8e0ae9cc98abf739c200ca976d5d1fce Author: Alan W. Irwin Date: Fri Oct 24 00:39:14 2014 -0700 Python: modify example 8 to make it consistent with recent update to C example 8 Tested by Alan W. Irwin on Linux using the test_diff_psc target. All Python differences are now gone. M examples/python/xw08.py commit 3028bea51568a023dcf3612a664a8a4345e91b14 Author: Alan W. Irwin Date: Thu Oct 23 20:55:46 2014 -0700 ps and psttf device drivers: fix reinitialization of current point location. The current change fixes a two-decade old fix in the ps device driver for the M (moveto) command after the C (setrgbcolor) command which prior to that old fix depended on coordinates which were sometimes undefined. However, that old fix was implemented in a way that affected every change in state, not just the particular state calls for PLSTATE_COLOR0 and PLSTATE_COLOR1 that emitted C commands, see I have now changed the fix so that it only occurs for the relevant PLSTATE_COLOR0 and PLSTATE_COLOR1 cases. The result is that the ps device driver is now much less sensitive to rounding issues, which do cause additional state changes which now do nothing but which before this fix triggered bare M commands. For example, the results for the (as yet uncommitted) changes for Python and C example 8 disagreed before this fix with Python emitting two extra M commands, but those Python and C example 8 results now agree as a result of this fix. The old fix was propagated to the psttf device driver code so I fixed that as well. Before the current fix, Python and C results for the psttfc device differed for example 8 with the Python version emitting two extra M commands, but now the psttfc results for those two languages agree. M drivers/ps.c M drivers/psttf.cc commit b7e0c7cbbb72740ad5e0ebcbe3c877503f124c98 Author: Alan W. Irwin Date: Thu Oct 23 11:30:32 2014 -0700 3D rendering: Greatly improve rendering of surface contours. A long-standing PLplot core C library issue has been that adjacent triangles that are filled for plot3dl often slightly overlap surface contours of the adjacent triangle leaving those surface contours looking like an ugly broken line. The triangle filling is organized by quads with four triangles per quad. I substantially reduced this surface contour issue by waiting until after the 4 triangles representing the quad had been rendered before rendering the surface contour. That still leaves the possibility of adjacent quads breaking up the surface contours, but it appears that slight misalignment of quads is much less of a problem than misalignment of triangles within each quad so the resulting surface contours with this fix are much more continous than previously. I can also eliminate this surface contour issue entirely by waiting until after all the 3D quads have been rendered before rendering the surface contours, but that solution introduces a new issue; the quads do not hide the contours when they should. So the present fix appears to be the best compromise. M src/plot3d.c commit 2ac70e2e9b23f98298f99710a806e434976ef84e Author: Alan W. Irwin Date: Wed Oct 22 14:48:11 2014 -0700 Mention "git stash" and "git rebase --interactive" as useful adjuncts to our workflow. M README.developers commit cabaf8284f75fd21b06fc16158604d360ac65ab0 Author: Alan W. Irwin Date: Wed Oct 22 11:00:19 2014 -0700 Fix broken build that was just introduced by the use of C callbacks for C++ examples. This fix (which simply adds the plplot library to those which are linked by the examples) will have to be removed again (to avoid overlinking) if some other alternative to using C callbacks is chosen. Tested by Alan W. Irwin on Linux using the test_diff_psc target. M examples/c++/CMakeLists.txt commit 5d6395bbc39877a12ffdcb6887010c1a3035b563 Author: Phil Rosenberg Date: Wed Oct 22 11:07:36 2014 +0100 Added the C++ API change making plstream::fill non-static to the README.release file M README.release M doc/docbook/src/api.xml commit 1029625ad5a7a4311ad1c9add869f9c028a64b88 Author: Phil Rosenberg Date: Wed Oct 22 10:55:30 2014 +0100 Made plstream::fill non static and restored the set_stream() call which had been commented out. where plstream::fill has been used as a callback in the examples, this has been replaced with plfill. M bindings/c++/plstream.cc M bindings/c++/plstream.h M doc/docbook/src/api.xml M examples/c++/x15.cc M examples/c++/x16.cc M examples/c++/x21.cc M examples/c++/x22.cc commit e5b1166dcf6137c11ea8c1f68005cca6a8268e0d Author: Alan W. Irwin Date: Mon Oct 20 12:15:32 2014 -0700 C++: bug fix for fill3 and gradient for the multistream case. Previously, fill3 and gradient were incorrectly declared and defined following what was done for the fill special case. The static attribute was used for the declaration and the set_stream call was commented out inside their definitions. This will potentially lead to trouble for direct use of fill3 and gradient for the multistream case so I have removed the static attribute and called set_stream for these functions to make them conform to virtually all other C++ API. Note that fill3 and gradient are never used as callbacks which is why the above fix can be made without breaking API. A similar fix is needed for the fill case, but the complication there is fill is used both directly (where static attribute should not be used and set_stream should be called) and also as a callback where the static attribute and no set_stream call should be used. so C++ API breakage will be required to distinguish those two cases. Tested by Alan W. Irwin on Linux using the test_diff_psc target. M bindings/c++/plstream.cc M bindings/c++/plstream.h commit fcdc606e3bde7f2806499966b4ffae82d8ceacfe Author: Alan W. Irwin Date: Mon Oct 20 00:26:39 2014 -0700 Lua: Propagate example 8 changes The tricky bits were realizing Lua demands all array elements are defined and controlling the extent of the indexymin and indexymax arrays to define the correct value of the indexxmax parameter at the C level. Tested by Alan W. Irwin on Linux using test_diff_psc target. The result was no example 18 differences for Lua. M examples/lua/x08.lua commit d4008253bac97c29466c241c70d3ec544f75054a Author: Alan W. Irwin Date: Sun Oct 19 14:34:27 2014 -0700 C, C++: update example 8. The changes are as follows: The sombrero function is now the default with the log_e of the Rosenbrock function the option. The index ranges for pages 5 and 10 are now elliptical and symmetrical around the centre of the sombrero. The semimajor and semiminor axes of the ellipse and the altitude and azimuth of the viewing angle have been adjusted to give nice-looking plots for pages 5 and 10. These changes should be finalized now so that either the C or C++ version can be used as a template for propagation to other languages. Tested by Alan W. Irwin on Linux using the x08c and x08 targets and running examples/c/x08c -dev psc -o test1.psc examples/c++/x08 -dev psc -o test2.psc diff test[12].psc examples/c/x08c -rosen -dev psc -o test1.psc examples/c++/x08 -rosen -dev psc -o test2.psc diff test[12].psc To show the C and C++ results were identical (except for date) for the default (sombrero) case as well as the rosen case. M examples/c++/x08.cc M examples/c/x08c.c commit f2a891814c0361e61c47b1f57878c03055d14673 Author: Alan W. Irwin Date: Sat Oct 18 16:38:31 2014 -0700 Java: Quiet "unread variables" warnings in examples. Tested by Alan W. Irwin on Linux using the test_diff_psc target. This commit got rid of the remaining Java compilation warnings that occurred for my particular Java platform (Debian stable with the "java" command provided by the openjdk-6-jre-headless package and the javac command provided by the gcj-4.7-jdk package). M examples/java/x16.java M examples/java/x22.java M examples/java/x33.java commit e0ee0c62d486118ecf1a2e0c5c327adbabe479a4 Author: Alan W. Irwin Date: Sat Oct 18 16:21:13 2014 -0700 Java: Solve parallel build race condition for the three kinds of targets that depend on the same generated *.class files. M examples/java/CMakeLists.txt commit 0ca886d7b57d52b77882127d1f06fd567d7a7f98 Author: Alan W. Irwin Date: Sat Oct 18 13:03:06 2014 -0700 Java: Allow floating-point line width argument to width. Tested by Alan W. Irwin on Linux using test_diff_psc target. The floating-point line widths introduced into Java example 19 did not change the previous good agreement with the corresponding C results. M bindings/java/PLStream.java M examples/java/x19.java commit ac3c79506e0554b1a2c1cdc03c8d51f56e5bd3d3 Author: Alan W. Irwin Date: Sat Oct 18 12:38:57 2014 -0700 Java: Propagate new C plmap* API to Java binding and Java example 19. Tested by Alan W. Irwin on Linux using test_diff_psc target. The result was no example 19 differences for Java. M bindings/java/PLStream.java M bindings/java/plplotjavac.i M bindings/swig-support/plplotcapi.i M examples/java/x19.java commit b02cd610f62c33fb4a3459dfbfa333c6be0eff6a Author: Alan W. Irwin Date: Sat Oct 18 12:36:12 2014 -0700 Style previous commits. M bindings/octave/plplot_octave.i M bindings/python/plplotcmodule.i commit d1639df634964cc86c69ad3d250fbd96b285eceb Author: Alan W. Irwin Date: Fri Oct 17 23:32:15 2014 -0700 Octave: Propagate new C plmap* API to Octave binding and Octave example 19 Tested by Alan W. Irwin on Linux using test_diff_psc target. The result was no example 19 differences for Octave. M bindings/octave/plplot_octave.i M bindings/swig-support/plplotcapi.i M examples/octave/x19c.m commit 576b439c9b84c6b40c932d945571818546a66ac0 Author: Alan W. Irwin Date: Fri Oct 17 21:06:09 2014 -0700 Python: Propagate new C plmap* API to Python binding and Python example 19 Note the implementation was quite straightforward because I knew the SWIG typemap that had to be defined for the Python case because of the prior experience with Lua, and because the Python syntax used for the additional example 19 page is not that different from the Lua case. Tested by Alan W. Irwin on Linux using test_diff_psc target. The result was no example 19 differences for Python. M bindings/python/plplotcmodule.i M bindings/swig-support/plplotcapi.i M examples/python/xw19.py commit e1e8e6aec3fdc5337d22f454f6ae15a16ad9ac39 Author: Alan W. Irwin Date: Fri Oct 17 21:00:41 2014 -0700 Use correct spelling of "nil" in Lua example 19 nill ==> nil I believe it worked previously because the value of the undefined variable nill was (by definition in Lua) equal to the special nil value. But now we are using that special Lua nil value directly in argument lists. Tested by Alan W. Irwin on Linux using the test_diff_psc target. There continue to be no example 19 differences in results between Lua and C. M examples/lua/x19.lua commit 93c7784a6f962d8085876e2e2165496dc5d95f7d Author: Alan W. Irwin Date: Fri Oct 17 18:31:37 2014 -0700 Propagate new C plmap* API to Lua binding and Lua example 19 Tested by Alan W. Irwin on Linux using test_diff_psc target. The result was no example 19 differences for Lua. M bindings/lua/plplotluac.i M bindings/swig-support/plplotcapi.i M examples/lua/x19.lua commit 1d860d68bb662e793f1974577bddcf949b0437e0 Author: Alan W. Irwin Date: Thu Oct 16 23:39:44 2014 -0700 Change C++ binding API for plmap* and make corresponding changes in C++ example 19 to be consistent with recent C API changes. M bindings/c++/plstream.cc M bindings/c++/plstream.h M examples/c++/x19.cc commit 76699913f040554a345f7d849652bbbd8f92a9c0 Author: Alan W. Irwin Date: Thu Oct 16 23:37:08 2014 -0700 Modify C example 19 to be consistent with recent plmap* API changes M examples/c/x19c.c commit 6d65be63972e5d65644edd18427f01c03749816d Author: Alan W. Irwin Date: Thu Oct 16 23:20:57 2014 -0700 Style previous commits. M examples/c++/x08.cc M src/ltdl_win32.c commit c21f65fd1941ab4be8d4998f7f3f0bd5dc47404d Author: Alan W. Irwin Date: Thu Oct 16 22:39:38 2014 -0700 Change new plmap* API The arguments which formerly were typed as int* plotentries, int nplotentries are changed to const PLINT *plotentries, PLINT nplotentries and the argument formerly typed as int plotentry has been changed to PLINT plotentry M include/plplot.h M src/plmap.c commit 0eb8a8951b29eeb001e4d6f8a0299766f93d7d32 Author: Alan W. Irwin Date: Thu Oct 16 22:33:26 2014 -0700 Commentary tweak. M src/plot3d.c commit 794e77b160d79b64da1e51fa89735be0be806b95 Author: Andrew Ross Date: Thu Oct 16 14:07:12 2014 +0100 Update C++ example 8 so it is consistent with C version. M examples/c++/x08.cc commit fd064d22dd755a89db942721c61c9e3d25d8a9ef Author: Andrew Ross Date: Thu Oct 16 13:41:33 2014 +0100 Minor tweaks to f95 example 20 to remove spurious close statement and to fix read statement which causes an error with gfortran 4.8.2. M examples/f95/x20f.f90 commit f61c7421d7d37cdfee4d96ebbef1ad37c002ccfe Author: Alan W. Irwin Date: Wed Oct 15 21:59:52 2014 -0700 Update the MinGW and MinGW/MSYS setup template to use CMake-3.0.2 This template configuration is used "as is" by me for all my "MSYS Makefiles" tests and "MinGW Makefiles" tests. (See cmake/epa_build/README for how to tailor this template configuration so you can run epa_build for either the "MSYS Makefiles" "MinGW Makefiles" cases.) The configuration is set up so that the downloaded (from Kitware and not Cygwin) binary version of CMake-3.0.2 is used rather than the previously used Kitware CMake-2.8.12.1. Tested by Alan W. Irwin on MinGW-4.7.2/MSYS/Wine-1.6.1 using an epa_build of plplot_lite (but with -DCOMPREHENSIVE_PLPLOT_TEST_INTERACTIVE=OFF -DCOMPREHENSIVE_PLPLOT_TEST_NONINTERACTIVE=OFF to speed completion of the build and install by avoiding all run-time tests). The run-time version of PLplot that was epa_built in the epa_build/Build/build_plplot build tree was (extremely) lightly tested by changing directory to that directory, putting the dll subdirectory first on the PATH and running bash.exe-3.1$ examples/c/x01c.exe -dev psc -o /z/tmp/test.psc That result was identical (except for the embedded date/time) with the corresponding Linux result, i.e, this light run-time test gave perfect results with CMake-3.0.2 just like comprehensive testing of PLplot for the MinGW-4.7.2/MSYS/Wine-1.6.1 platform and CMake-2.8.12.1 gave perfect results in March. M cmake/epa_build/setup/setup_mingw_msys_wine_toolchain commit 50a4253513262f832a4011df4fc9a33daae1857a Author: Alan W. Irwin Date: Tue Oct 14 12:42:05 2014 -0700 doc: Remove unused indent configuration file D doc/.indent.pro commit d2d900f7aa16628e796ee55566dbc94d9291e471 Author: Alan W. Irwin Date: Tue Oct 14 12:18:14 2014 -0700 doc: License man files under the FreeBSD documentation license This license is identical to the one used for our DocBook src files. Rafael Laboissiere has recently agreed to this explicit licensing for the man files (which he wrote a decade ago). Note the licensing text is embedded in comments within the man page files. I believe that should be sufficient, and I have therefore decided not to clutter the output of the man command with the licensing terms for those man pages. Note that emacs needs no special directive to put itself in nroff mode for these man page files. So as part of these changes I have removed the first comment line with that special emacs directive in all cases. M doc/plm2gif.1 M doc/plpr.1 M doc/plrender.1 M doc/plserver.1 M doc/pltcl.1 M doc/pltek.1 M doc/pstex2eps.1 commit d177b96cab76d82edf4bc1121444ea5546ee3ac6 Author: Alan W. Irwin Date: Tue Oct 14 11:21:15 2014 -0700 doc: Remove extremely dated file describing PLplot Historically, abs.txt was a way to save unconverted parts of the texinfo documentation of PLplot that was transformed into the modern DocBook form of documentation. But by 2004 this file had degenerated into just a description of PLplot. This file has not been changed since, that description is now quite incomplete, and we have different ways (e.g., the README file in the top-level deirectory) to describe PLplot in any case. So remove this file. D doc/abs.txt commit aeedacf49d62da8ce24ac8811b5ff9cd998bf67b Author: Alan W. Irwin Date: Tue Oct 14 11:19:00 2014 -0700 doc: Remove unused empty file D doc/README.local commit db028846873a1689b2c7bb658853bacfdec11815 Author: Alan W. Irwin Date: Tue Oct 14 10:48:59 2014 -0700 doc: Remove plplot_libtool.1 man page since that documents something that no longer exists D doc/plplot_libtool.1 commit 182bb60bd485a54f919931a1860b42be8e9fe42a Author: Alan W. Irwin Date: Tue Oct 14 10:28:28 2014 -0700 epa_build: Full licensing text inserted into cmake/epa_build/ExternalProject.cmake This is a condition of the license when independently distributing CMake components such as this module file. M cmake/epa_build/ExternalProject.cmake commit 5e25b5ffd29b122c1d7fcde5ce4a57cccfee9942 Author: Alan W. Irwin Date: Tue Oct 14 09:51:10 2014 -0700 f95: Use kind=plint argument for size in examples Tested by Alan W. Irwin on Linux (gfortran compiler) using the test_f95_psc and test_plf95demolib targets. After building test_plf95demolib, I also checked that application by running it and using "ldd -r" on it. M examples/f95/test_plf95demolib.f90 M examples/f95/x01f.f90 commit dd71ed240aed0978f76efb4ee5383abbcba42b1c Author: Alan W. Irwin Date: Tue Oct 14 09:49:16 2014 -0700 Build system: add build of examples/f95/test_plf95demolib M examples/f95/CMakeLists.txt commit 3f17eec94fa4018788ceabc40a3d84ee44e75771 Author: Alan W. Irwin Date: Mon Oct 13 23:56:08 2014 -0700 Use kind=plint integer constants in f95 examples This large and intrusive change was implemented by several sed scripts that implemented successive approximations followed by some hand editing to make further small corrections where the sed scripts did too much. Tested by Alan W. Irwin on Linux (gfortran compiler) using the test_diff_psc target. And where f95 results differed from C results (because propagation of C changes has not been done yet), also checked the f95 results were identical with the java results (where propagation has also not occurred yet). M examples/f95/plf95demolib.f90 M examples/f95/test_plf95demolib.f90 M examples/f95/x00f.f90 M examples/f95/x01f.f90 M examples/f95/x02f.f90 M examples/f95/x03f.f90 M examples/f95/x04f.f90 M examples/f95/x05f.f90 M examples/f95/x06f.f90 M examples/f95/x07f.f90 M examples/f95/x08f.f90 M examples/f95/x09f.f90 M examples/f95/x10f.f90 M examples/f95/x11f.f90 M examples/f95/x12f.f90 M examples/f95/x13f.f90 M examples/f95/x14f.f90 M examples/f95/x15f.f90 M examples/f95/x16af.f90 M examples/f95/x16f.f90 M examples/f95/x17f.f90 M examples/f95/x18f.f90 M examples/f95/x19f.f90 M examples/f95/x20f.f90 M examples/f95/x21f.f90 M examples/f95/x22f.f90 M examples/f95/x23f.f90 M examples/f95/x24f.f90 M examples/f95/x25f.f90 M examples/f95/x26f.f90 M examples/f95/x27f.f90 M examples/f95/x28f.f90 M examples/f95/x29f.f90 M examples/f95/x30f.f90 M examples/f95/x31f.f90 M examples/f95/x33f.f90 commit e1aaa2a2b547f4f826ae0e49190c95e1e1315f9b Author: Alan W. Irwin Date: Mon Oct 13 14:36:17 2014 -0700 In f95 examples replace indefinite integer type for variables with kind=plint integer type This change was implemented by the following commands: for FILE in *; do echo $FILE sed --in-place -e 's?integer\([ ,]\)?integer(kind=plint)\1?' $FILE done Followed by hand-editing x23f.f90 to revert the above change for one comment that contained "integer " and hand-editing that and a few other examples which contained affected subroutines that required "use plplot" statements to define plint. M examples/f95/plf95demolib.f90 M examples/f95/test_plf95demolib.f90 M examples/f95/x00f.f90 M examples/f95/x01f.f90 M examples/f95/x02f.f90 M examples/f95/x03f.f90 M examples/f95/x04f.f90 M examples/f95/x05f.f90 M examples/f95/x06f.f90 M examples/f95/x07f.f90 M examples/f95/x08f.f90 M examples/f95/x09f.f90 M examples/f95/x11f.f90 M examples/f95/x12f.f90 M examples/f95/x13f.f90 M examples/f95/x14f.f90 M examples/f95/x15f.f90 M examples/f95/x16af.f90 M examples/f95/x16f.f90 M examples/f95/x17f.f90 M examples/f95/x18f.f90 M examples/f95/x19f.f90 M examples/f95/x20f.f90 M examples/f95/x21f.f90 M examples/f95/x22f.f90 M examples/f95/x23f.f90 M examples/f95/x24f.f90 M examples/f95/x25f.f90 M examples/f95/x26f.f90 M examples/f95/x27f.f90 M examples/f95/x28f.f90 M examples/f95/x29f.f90 M examples/f95/x30f.f90 M examples/f95/x31f.f90 M examples/f95/x33f.f90 commit 1abd96ff525da2beecae29705f97899495b09504 Author: Alan W. Irwin Date: Mon Oct 13 14:15:09 2014 -0700 Remove an unused file This file was required to help work around a bug in an ancient (2.4.3) version of CMake and is no longer used. Remove this clutter. D examples/f95/cmake_workaround.f commit 1b7268cb6e0b8389acaa9bb7b175b46d9fffa61a Author: Alan W. Irwin Date: Mon Oct 13 14:02:35 2014 -0700 Use "kind" argument of Fortran 2003 size function to specify a kind=plint result Tested by Alan W. Irwin on Linux (with gfortran compiler) using the test_diff_psc target in the build tree. M bindings/f95/sfstubs.inc M bindings/f95/sfstubsf95.f90 commit 5d15d2aad53d832a077f04df2d83a0c83eadf19a Author: Alan W. Irwin Date: Mon Oct 13 13:04:12 2014 -0700 Change integer constants in f95 binding to kind=plint M bindings/f95/plparseopts.f90 M bindings/f95/sfstubs.inc M bindings/f95/sfstubsf95.f90 commit 714fa9feb5c20d7e7cc03c3d2f47dd781bf2f391 Author: Alan W. Irwin Date: Sat Oct 11 11:40:45 2014 -0700 Increase protection against implicit typing for the f95 binding I have widely increased the use of the "implicit none" statement so that it essentially appears after every use of "use" statements. This change found one implicit type (maxlen in the plplot_str module) which I have fixed with this commit. Prior to this change, subroutine arguments could be misspelled without any warnings about implicit typing. This wider deployment of "implicit none" found no instances of that case, but protects against that happening for any future change to existing subroutine and also provides suitable templates for all future added subroutines. I also have taken this opportunity to remove some implicit none statements that did not occur just after "use" statements. These all occurred after the "contains" statement. Experiments with deliberate misspellings of arguments showed that all code after the "contains" statement was already protected by the implicit none statement for the whole (plplot) module, i.e., these individual implicit none statements after the "contains" statement were not needed. So for the sake of consistency (and therefore providing a clear template for future changes after the "contains" statement) I removed these unneeded implicit none statements. M bindings/f95/sfstubsf95.f90 commit 3db25772486da359f2d56a79ae6e4d48950c0344 Author: Alan W. Irwin Date: Fri Oct 10 11:36:24 2014 -0700 Changed internal module names for f95 bindings The changes were as follows: plplot_types ==> plplot_graphics plplot_flt ==> plplot_types These new names just seem better chosen to me. The old "plplot_types" module actually referred to a graphical element type, and the old plplot_flt module refers to type of real and types of integers rather than the type of just real. This is formally a backwards incompatible API change, but in my opinion users should uniformly be using "use plplot" and leave the details of how we name and define our other Fortran modules that are "used" by the plplot module to us. Tested by Alan W. Irwin on Linux using the test_f95_psc target. M README.release M bindings/f95/CMakeLists.txt M bindings/f95/plplot_types.f90.in M bindings/f95/sfstubsf95.f90 M bindings/f95/strutil.f90 M examples/f95/plf95demos.inc.in commit 8c5ad52118143909f4a22873d0c0ea35525c2871 Author: Alan W. Irwin Date: Fri Oct 10 11:14:57 2014 -0700 Rename some source files for the f95 bindings The new names just make more sense to me. "configurable.f90" wasn't configurable so I renamed that plparseopts.f90 for the name of the one subroutine in it and "sfstubs.f90" was a fortran include file so I renamed that to sfstubs.inc to remind of that important distinction. Tested by Alan W. Irwin on Linux using the test_f95_psc target. M bindings/f95/CMakeLists.txt D bindings/f95/configurable.f90 A bindings/f95/plparseopts.f90 D bindings/f95/sfstubs.f90 A bindings/f95/sfstubs.inc M bindings/f95/sfstubsf95.f90 commit 71decb7bb0acd3ca7b0b7bdb9d4f860841b72e1d Author: Alan W. Irwin Date: Fri Oct 10 01:06:29 2014 -0700 Convert f95 bindings to replace generic integer type with integer(kind=plint) as discussed on list This change mostly required just sed editing to automatically convert integer\([^(]\) to integer(kind=plint)\1 However, this change also required some file reorganization of the Fortran source code for libplplotf95. sfstubsf95.f90 depends on a module defined in strutil.f90 so if strutil.f90 depends on the plplot_flt module defined in sfstubsf95.f90 that creates a circular file dependency which gfortran (and probably other Fortran compilers) cannot handle. To break this circular dependency I removed the definition of the plplot_flt module from sfstubsf95.f90 and instead defined the plplot_flt module in a separate configured source file called plplot_types.f90.in which effectively contains the modified contents of the previous include file plflt.inc.in which is no longer used and which is therefore removed. Tested by Alan W. Irwin on Linux (i.e., with the gfortran compiler) using the test_f95_psc target. To Do: (1) Look for any integer constants in the Fortran 95 source code for bindings/f95 that should be changed e.g., from 1 to 1_plint. (2) Do some renaming of source files and modules using a more consistent naming scheme. files: configurable.f90 ==> plparseopts.f90 sfstubs.f90 ==> sfstubs.inc modules: plplot_types ==> plplot_graphics plplot_flt ==> plplot_types (3) integer type and constant changes in the f95 examples. M bindings/f95/CMakeLists.txt M bindings/f95/configurable.f90 M bindings/f95/global_defines.sed D bindings/f95/plflt.inc.in M bindings/f95/plplot_parameters.inc A bindings/f95/plplot_types.f90.in M bindings/f95/sfstubs.f90 M bindings/f95/sfstubsf95.f90 M bindings/f95/strutil.f90 commit 13b8376c4dba4501c737b804907c55b476daedff Author: Alan W. Irwin Date: Thu Oct 9 13:01:09 2014 -0700 No need to exclude bindings/plplot_parameters.h any more from doxygen processing Previously that file had to be excluded because it was being misinterpreted as a C header. That issue no longer exists with the renamed version of that file, bindings/plplot_parameters.inc. M doc/Doxyfile.in commit eac5458549a4dda7438b39651e5edc690175d566 Author: Alan W. Irwin Date: Thu Oct 9 12:32:20 2014 -0700 Replace all references to plplot_parameters.h with plplot_parameters.inc Tested by Alan W. Irwin on Linux using both the check_f95_parameters and test_f95_psc targets. M bindings/f95/CMakeLists.txt M bindings/f95/global_defines.sed M bindings/f95/plplot_parameters.inc commit edb6ad339c3fb70fdbbb72fe678105279a250312 Author: Alan W. Irwin Date: Thu Oct 9 12:25:25 2014 -0700 Rename plplot_parameters.h -> plplot_parameters.inc D bindings/f95/plplot_parameters.h A bindings/f95/plplot_parameters.inc M bindings/f95/sfstubsf95.f90 commit 94808371185dbe579c8205da329d661ac9688b59 Author: Alan W. Irwin Date: Wed Oct 8 17:17:00 2014 -0700 Implement backup script for our new Wiki. A scripts/plplot_wiki_backup.sh commit 50c12d55351b5696ff5a74b97bd84063e076aec7 Author: Alan W. Irwin Date: Wed Oct 8 17:10:34 2014 -0700 Replace old Wiki references with corresponding new Wiki references. The only exceptions (for obvious reasons) to this replacement are OLD-README.release and scripts/plplot_miscdebris_wiki_backup.sh. M README M bindings/java/README.javaAPI M doc/docbook/src/os_notes.xml M www/corefunctions.php M www/downloads.php commit 99141897991aa067d4ec2a6d899ee6cb979f7a4b Author: Alan W. Irwin Date: Wed Oct 8 17:07:09 2014 -0700 Update build and install instructions These instructions were cut and pasted in markdown format from our Building_PLplot Wiki page. However, note that page is considerably out of date so when it is updated this INSTALL file should be updated as well. M INSTALL commit cbae1dd71dd3f64afbb4063fcbae30993dde944a Author: Alan W. Irwin Date: Wed Oct 8 16:49:57 2014 -0700 Update testing instructions taken from the Wiki M README.testing commit e4d19db16cf81537a12f43cc3f22c1b51d1aa4ca Author: Alan W. Irwin Date: Wed Oct 8 16:14:10 2014 -0700 Rename wiki backup script to make it clear it is for the legacy wiki (miscdebris) site only. A scripts/plplot_miscdebris_wiki_backup.sh D scripts/plplot_wiki_backup.sh commit 9767f4870b032623c661005c0bfe6ea6075daffa Author: Alan W. Irwin Date: Wed Oct 8 12:35:08 2014 -0700 Update documentation for developers The updates includes mentioning the Pro Git book, summarizing the git installation methods recommended by that book, mentioning the useful --amend option for commits that leads to a cleaner history, emphasizing that PLplot uses CMake to configure the build on all platforms, and updating the URL of our wiki from the old wiki site to the new one. M README.developers commit 5dd59cb6434adf705d387d13eb47047a3c9db404 Author: Alan W. Irwin Date: Mon Oct 6 19:36:01 2014 -0700 Modify recent commits concerning Tcl testing on Windows These changes were the following: (a) The Cygwin, MSYS, and MinGW build-system path logic was left as it was before Phil's recent changes (except for Phil's blank in path changes) since that path logic was previously extensively tested on the given platforms. (b) Change to a style where the platform is determined by CMake as opposed to running uname at the bash level to determine the platform. (c) An attempt was made to keep all of Phil's changes for the MSVC case in the configured test_tcl.sh file. There were some exceptions however. I. native_windows=true was dropped. I could not find any reference to that with google so I suspect setting that in bash does nothing. But if it does anything, it is possible this is the source of the difficulty with the drive letter logic experienced by Phil on Cygwin. II. PLTCL_DIR_NATIVE=$PLTCL_DIR was dropped since apparently that variable is not used. III. Dropped the extra cd "$EXAMPLES_DIR/tcl" commands. Instead the script uniformly uses cd "$tcldir" which is consistent with the design of the script before Phil's changes. If something special has to be done for the MSVC platform case, then tcldir should be set appropriately in plplot-test.sh.in depending on the value of PLATFORM=@PLATFORM@ in similar style to the current changes in plplot_test/test_tcl.sh.in. Tested by Alan W. Irwin on Linux using the test_tcl target in the build tree where the build-tree path had no blank in the name. Note, the test_tcl target currently fails if there is a blank in the build-tree name, but I presume that is because Phil is not done yet with sorting out the "blank-in-build-tree-name" issues. M plplot_test/CMakeLists.txt M plplot_test/test_tcl.sh.in commit 612f312e882cbcc41e5eb15b5d61fea24d4712ec Author: Alan W. Irwin Date: Mon Oct 6 14:28:38 2014 -0700 Style recent commit. M plplot_test/CMakeLists.txt commit 7f93877233bf42df49f596644da388a1a8c343f9 Author: Phil Rosenberg Date: Mon Oct 6 16:42:39 2014 +0100 Removed arrows accidentally left by comflict M plplot_test/CMakeLists.txt commit fa906a488e7358727fb97fcf5bc75f6d529c177b Author: Phil Rosenberg Date: Mon Oct 6 15:52:09 2014 +0100 Fixed tcl and diff testing for native Windows/Cygwin M plplot_test/CMakeLists.txt M plplot_test/plplot-test.sh.in M plplot_test/test_diff.sh.in M plplot_test/test_tcl.sh.in commit 5ba659163ae9ceb7138f19720d3a486887cf4e4a Author: Alan W. Irwin Date: Fri Oct 3 13:48:00 2014 -0700 Treat most text file line endings as LF in repository and native in working directory This change means that almost all of our text files will have LF endings in the repository and native (LF on Unix and CRLF on Windows) line endings in the working directory. The text file exceptions are *.sh and *.sh.in which are treated as LF both in repository and in the working directory so that these bash shell scripts will work on both Unix and Windows. Also, just in case the git heuristic for classifying whether a file is binary or text is making the wrong classification of a file as text when it is actually binary, specifically classify a number of file patterns as binary. These file patterns were determined by looking at "svn proplist --verbose --recursive" results for the entire source tree of our last svn revision for svn trunk and searching for "application/octet-stream" in the results. Note this change in .gitattributes (when combined with the rest of the git commands that are recommended for each .gitattributes change by the gitattributes man page) found four additional text files where CRLF line endings had crept into the repository version. This commit fixes those issues as well. M .gitattributes M bindings/f95/plplotf95_ifort.def M bindings/tcl/plitclgen.tcl M examples/f95/plf95demolib.f90 M examples/f95/test_plf95demolib.f90 commit 4ed40d87a2072ed51d6a9a2678299b5a21dfcbe0 Author: Alan W. Irwin Date: Fri Oct 3 13:24:22 2014 -0700 Update and document top-level .gitignore I added patterns to ignore temporary files created by emacs and also some files created by Python in the source tree. In most cases I was also able to document why we have told git to ignore these file patterns. M .gitignore commit f3250f1a4f2442a7f1377e86e976d107c536edb0 Author: Alan W. Irwin Date: Fri Oct 3 11:16:56 2014 -0700 Change line ending handling for *.sh, *.sh.in, *.txt, and *.cmake files *.sh and *.sh.in were changed to eof=lf to force LF endings in all cases for those files, and *.txt and *.cmake were changed to text=auto to for LF in repository and native on checkout. Note, this last change caught some LF errors in two files. The plplot_test/CMakeLists.txt file was a known issue with a recent commit, but the CMakeDInformation one was a complete surprise. Which shows how easy it is for line endings issues to creep in. M .gitattributes M cmake/modules/language_support/cmake/CMakeDInformation.cmake M plplot_test/CMakeLists.txt commit 06355ec3484d39edafd3a0c676dff888cb6d4172 Author: Alan W. Irwin Date: Fri Oct 3 11:06:55 2014 -0700 Exclude tarballs from miscdebris wiki backup Exclude the weekly snapshot tarballs from the download. There are lots of those files so it makes the download bandwidth unreasonable (more than 0.5GB) if you don't exclude them. M scripts/plplot_wiki_backup.sh commit 9b14e6bced2088e72dc25eab3db8314619d991c3 Author: Phil Rosenberg Date: Fri Oct 3 12:08:49 2014 +0100 Fixed C and C++ test scripts for use on Windows with cygwin when plplot was built with Visual Studio. Made some inroads into the tcl tests fixing some paths, however pltcl does not seem to run properly under bash when build with Visual Studio M plplot_test/CMakeLists.txt M plplot_test/plplot-test.sh.in M plplot_test/test_tcl.sh.in commit 6f7d0f3c58597894983da21e7183b60b51a755eb Author: Phil Rosenberg Date: Thu Oct 2 15:57:23 2014 +0100 added a .gitattributes file to stop line ending conversion of shell scripts A .gitattributes commit d4d91ffd742d36510d44ebccfe0d5635ce8e2f93 Author: Alan W. Irwin Date: Mon Sep 29 14:35:24 2014 -0700 Bump minimum CMake version for epa_build to 3.0.2 Tested by Alan W. Irwin on Linux using the build_all target for the -DBUILD_THE_BUILDTOOLS=ON case and the build_ndiff, build_docbook-xml, build_docbook-xsl, and build_plplot_lite targets for -DBUILD_THE_BUILDTOOLS=OFF. These targets cover all cases where the minimum CMake version is set, except for xmlcatalog-wrapper (only used for the Windows case) which is such a simple build that there should be no CMake versioning issues for it. Future plans with regard to the minimum version of CMake. Although this comprehensive update to a uniform minimum version of CMake is worthwhile for the epa_build project, it turns out that the CMake-3.0.2 version of ExternalProject.cmake still requires a small patch in order to work for *.tar.xz files (used for many of the epa_build downloads). So epa_build still must contain its own patched version of ExternalProject.cmake, but I will attempt to convince the CMake developers to apply the tar.xz patch (which is already part of their master branch) to one of their releases so I can drop ExternalProject.cmake from epa_build while simultaneously bumping all its CMake minimum version requirements to whatever first release provides an acceptable version of ExternalProject.cmake. M cmake/epa_build/CMakeLists.txt M cmake/epa_build/cmake/CMakeLists.txt M cmake/epa_build/docbook-xml/docbook-xml_CMakeLists.txt M cmake/epa_build/docbook-xsl/docbook-xsl_CMakeLists.txt M cmake/epa_build/iwidgets/iwidgets_CMakeLists.txt M cmake/epa_build/libagg/libagg_CMakeLists.txt M cmake/epa_build/libharu/cmake.patch M cmake/epa_build/libqhull/libqhull_CMakeLists.txt M cmake/epa_build/ndiff/ndiff_CMakeLists.txt M cmake/epa_build/shapelib/shapelib_CMakeLists.txt M cmake/epa_build/xmlcatalog-wrapper/xmlcatalog-wrapper_CMakeLists.txt commit 0cce53661a0f381dc4d51a7f2d7d5d6e9bb51de3 Author: Alan W. Irwin Date: Mon Sep 29 08:19:26 2014 -0700 Fix non-existent target issue for build system for installed examples The issue was that tclIndex_tcl and tclIndex_tk only exist as targets for the core build and not for the installed examples build where the corresponding files are just installed without generated installed targets. Also explicitly set CMP0046 to NEW to find any future problems with non-existent targets. Tested by Alan W. Irwin on Linux using CMake-3.0.2 by running cmake for the core build and after installation running cmake for the installed examples build. No errors concerning non-existent targets were detected. M CMakeLists.txt M examples/CMakeLists.txt commit 6a9cb5eb64a5b0bfc8c51fd084899a3b39bffc2c Author: Andrew Ross Date: Wed Sep 24 22:12:53 2014 +0100 Fix typo in previous commit to update cmake policy. M examples/CMakeLists.txt commit 6f5dc7b546f05c79af9c6f406bd0c9db0f38736c Author: Alan W. Irwin Date: Wed Sep 24 11:13:32 2014 -0700 Properly set PLDLLIMPEXP_QT and PLDLLIMPEXP_QT_DATA macros for shared library/static devices case This fix solves an issue on Linux where symbols such as vectorize and QtPLDriver::mutex were not properly exported from libplplot for the case of a shared library/static devices build. This fix should solve one of the issues reported at for the Cygwin platform and may solve all of them. M include/pldll.h.in commit fce8ae116d4e0479d1ee9c5455b1198659262105 Author: Alan W. Irwin Date: Wed Sep 24 11:12:55 2014 -0700 Style previously commited results M bindings/c++/plstream.cc M bindings/c++/plstream.h M bindings/tcl/plplot_parameters.h M examples/c++/x19.cc M examples/c/x19c.c M include/plplot.h M src/plbuf.c M src/plmap.c commit be5a955f01e3597e22258972cb64182511ddb42c Author: Andrew Ross Date: Tue Sep 23 21:33:33 2014 +0100 Update cmake policy defaults for cmake 3.0.2. Note we should probably fix some of these warnings, but this will continue with the old policy for now. M CMakeLists.txt M examples/CMakeLists.txt commit 4741f634c87ea31aec70224545738ce6db321e24 Author: Andrew Ross Date: Tue Sep 23 21:30:44 2014 +0100 Updates to debian packaging files for 5.10.0+dfsg-1 release. M debian/changelog M debian/control M debian/control.in M debian/copyright M debian/patches/fix-wxwidgets-linkage.diff M debian/patches/octave_3.8_support.diff M debian/patches/set_cmake_policy commit 8f63a04d3a72e8d0585ec54a6cd498ddcc95334c Author: Phil Rosenberg Date: Tue Sep 23 10:27:52 2014 +0100 Changed LoadLibrary call to LoadLibraryA to force use of ASCII version of this function as we always use ASCII names even for Unicode builds. Also explicitly cast dlhandle memory allocation which suddenly seemed to not want to compile otherwise M src/ltdl_win32.c commit fb1dcd53e4c4f1279f615750e5b87c01062b0755 Author: Alan W. Irwin Date: Mon Sep 22 14:51:00 2014 -0700 Update workflow documentation to cover the case of sharing development branches M README.developers commit a5f9eb7b36a3c827a1f23041d31ef47de4cb2976 Author: Andrew Ross Date: Fri Sep 19 23:55:59 2014 +0100 Updated debian packaging files for 5.10.0dfsg-1 release. M debian/README.Debian M debian/changelog M debian/control M debian/control.in M debian/copyright A debian/patches/fix_config_h_clash A debian/patches/remove_nondfsg_dirs M debian/patches/series A debian/patches/set_cmake_policy A debian/repack M debian/rules M debian/watch commit 0217a4744a205f42edf45866e656ae9eaab0b659 Author: Andrew Ross Date: Wed Sep 17 10:08:59 2014 +0100 Remove obsolete debian patches. D debian/patches/07_octave_prune_examples.diff D debian/patches/08_nn_link_libm.diff D debian/patches/fix-boolean-operators.diff D debian/patches/fix-cmake-ada-support.diff D debian/patches/fix-cmake-d-support.diff D debian/patches/java-pltr2-fix.diff D debian/patches/replace-deprecated-split.diff commit 0ece8a6887e29925796df704f056e816f7bdfc67 Author: Andrew Ross Date: Tue Sep 16 13:39:44 2014 +0100 Update files for debian 5.10.0-0.1 release M debian/changelog M debian/control M debian/control.in M debian/get-upstream-version.pl A debian/patches/add-tcl-multiarch.diff A debian/patches/dont-check-for-hdf5_h A debian/patches/fix-wxwidgets-linkage.diff M debian/patches/octave_3.8_support.diff M debian/patches/series A debian/patches/support-javac-options.diff M debian/rules commit 5d9f3b8597bb5e5db65081f2b179e44e0333cf2e Author: Arjen Markus Date: Wed Sep 10 15:57:29 2014 +0200 Added missing .mod files to the list of files to be installed. The fact that they were missing from the install step caused a problem in at least one case. M bindings/f95/CMakeLists.txt commit 29d5813195b1ca5828ec51ae8817ccbb26fb0fca Author: Alan W. Irwin Date: Tue Sep 9 16:20:28 2014 -0700 Update location of Qt5.3.1 tarball Change URL from local disk location on my computer (used for initial testing purposes) to the correct web URL. M cmake/epa_build/qt5_lite/CMakeLists.txt commit 9bfe5acca361d30935aa3c888c97d59a0f0e6035 Author: Torsten Martinsen Date: Mon Sep 8 08:13:55 2014 +0200 Fix detection of Qt5. M cmake/modules/qt.cmake commit 194907cb2c16bf22e7454186bd98adfc4d4365db Author: Alan W. Irwin Date: Mon Sep 8 22:56:26 2014 -0700 Replace epa_build of Qt5.2.1 with epa_build of Qt5.3.1 By skipping some additional modules that are not necessary for PLplot support, got the build time down to less than 20 minutes. Tested by Alan W. Irwin on Linux by building PLplot against this qt5_lite (5.3.1) version (using the -DPLPLOT_USE_QT5=ON cmake option) and by checking reasonable run-time results were obtained for all qt devices (qtwidget, bmpqt, jpgqt, pdfqt, pngqt, ppmqt, svgqt, and tiffqt) when running the test_all_qt target (which also runs the test_qt_example target). These qt device driver results that depend on Qt5 still have vertical character alignment issues, but the uniform large (more than half a character height) offset that was worked out to compensate for that Qt5 bug for Qt5.2.1 still seems to work for this Qt5.3.1 case. M cmake/epa_build/qt5_lite/CMakeLists.txt commit 32d8bd01bd6bb7c02cc7f92098225d5be44c52fa Author: Alan W. Irwin Date: Mon Sep 8 22:28:24 2014 -0700 Adopt patched version of CMake master branch ExternalProject.cmake This file was taken from the CMake master branch (commit 2588dca), then patched with http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9f49ac3d "ExternalProject: Avoid infinite loop on file download hash mismatch". This infinite loop fix should get into the next CMake-3.0.x release so eventually we will no longer need to carry this file with epa_build. But for now we do carry it as a convenience for our CMake-2.8.x users. Tested by Alan W. Irwin on Linux with an epa_build of qt5_lite (5.3.1). M cmake/epa_build/ExternalProject.cmake commit ae8e5ec4dc838efda27642da12a768b99ddf0172 Author: Alan W. Irwin Date: Sun Sep 7 00:21:27 2014 -0700 Update conversion documentation concerning hooks, tags, and branches Added the instructions that were used to add the update hook to the SF repo. Corrected an error in how branches are remotely deleted. Added instructions for how to propagate the tags and branches on the remote to an existing local repo. M historical_repository_conversions/README_svn2git_conversion commit 4868774c27bfdc1f84a60f9509ac33d996a7b29f Author: Alan W. Irwin Date: Sat Sep 6 18:38:57 2014 -0700 Correct the update hook error message Change README.git_workflow ==> README.developers, the real name of the file where our workflow is documented. M git_hooks/update commit 6f7f855a7dec3b67bd1df8476a5cd07400907c03 Author: Alan W. Irwin Date: Fri Sep 5 04:20:57 2014 -0700 Completion of LIB_TAG cleanout Tested by Alan W. Irwin on Linux using an epa_build with full comprehensive testing. This commit completes a larger project to remove all mention of the unused LIB_TAG variable from our build_system. M README.release M bindings/gnome2/python/CMakeLists.txt M bindings/java/CMakeLists.txt M bindings/lua/CMakeLists.txt M bindings/ocaml/plcairo/CMakeLists.txt M bindings/octave/CMakeLists.txt M bindings/python/CMakeLists.txt M bindings/qt_gui/pyqt4/CMakeLists.txt M bindings/qt_gui/smoke/CMakeLists.txt M bindings/tk-x-plat/CMakeLists.txt M bindings/tk/CMakeLists.txt M bindings/tk/pkgIndex.tcl.in M cmake/modules/double.cmake M cmake/modules/drivers.cmake M cmake/modules/gcw.cmake M cmake/modules/instdirs.cmake M cmake/modules/qt.cmake M cmake/modules/summary.cmake M doc/CMakeLists.txt M doc/docbook/src/CMakeLists.txt M drivers/CMakeLists.txt M examples/ada/CMakeLists.txt M examples/c++/CMakeLists.txt M examples/c/CMakeLists.txt M examples/d/CMakeLists.txt M examples/f95/CMakeLists.txt M examples/perl/CMakeLists.txt M examples/tcl/CMakeLists.txt M examples/tk/CMakeLists.txt M examples/tk/CMakeLists.txt_installed_examples_tk M fonts/CMakeLists.txt M include/pldll.h.in M utils/CMakeLists.txt commit d6c5b9a227fad4a01f2df13c7716d62e6fbfff2d Author: Alan W. Irwin Date: Fri Sep 5 04:12:41 2014 -0700 Additional "blank-in-path" build-system code improvements and cleanup. Tested by Alan W. Irwin on Linux using an epa_build with full comprehensive testing. The code cleanups consist of a major rewrite of the pkg_config_link_flags macro (now turned into a function), implementation of the pkg_config_file function to configure and install the *.pc file associated with our core C library and language bindings of that library, and LIB_TAG cleanout. That cleanout is part of a larger project to remove all mention of the unused LIB_TAG variable from our build_system. M bindings/ada/CMakeLists.txt M bindings/c++/CMakeLists.txt M bindings/d/CMakeLists.txt M bindings/f95/CMakeLists.txt M bindings/gnome2/lib/CMakeLists.txt M bindings/ocaml/CMakeLists.txt M bindings/qt_gui/CMakeLists.txt M bindings/tcl/CMakeLists.txt M bindings/wxwidgets/CMakeLists.txt M cmake/modules/pkg-config.cmake M examples/CMakeLists.txt M examples/ada/Makefile.examples.in M examples/c++/Makefile.examples.in M examples/c/Makefile.examples.in M examples/d/Makefile.examples.in M examples/f95/Makefile.examples.in M examples/ocaml/Makefile.examples.in M examples/plplot_configure.cmake_installed_examples.in M examples/tk/Makefile.examples.in M pkgcfg/plplot-template.pc.in M src/CMakeLists.txt commit 54a419e7f63b3e1722e21aa2b07b65898525e335 Author: Alan W. Irwin Date: Fri Sep 5 03:31:05 2014 -0700 message tweak + LIB_TAG cleanout. The LIB_TAG cleanout is part of a larger project to remove all mention of the unused LIB_TAG variable from our build_system. M cmake/modules/tk.cmake commit f043fc34c09dd28a1d517f8cd502ff812684bc18 Author: Alan W. Irwin Date: Fri Sep 5 03:26:09 2014 -0700 Whitespace tweak. M cmake/modules/plplot_functions.cmake commit 73c4278eddf07d9fdde4106b14988b45e30b4cf9 Author: Alan W. Irwin Date: Fri Sep 5 03:18:46 2014 -0700 Define and use INSTALL_PREFIX_BUILDTOOLS variable to clarify epa_build setup logic. M cmake/epa_build/setup/setup_linux_makefiles M cmake/epa_build/setup/setup_mingw_makefiles M cmake/epa_build/setup/setup_msys_makefiles commit 30fc5567e8b19d557bb727997575a875aad93538 Author: Alan W. Irwin Date: Fri Sep 5 02:47:04 2014 -0700 Build system fix to install shapefiles in data/ss subdirectory. These files are required to run example 19 in the installed examples. M data/CMakeLists.txt commit 48a633e29592d74c4b0da789d7b70b537aafe6b0 Author: Alan W. Irwin Date: Mon Sep 1 16:37:13 2014 -0700 Replace references to svn by appropriate references to git since PLplot development is now done using git. M cmake/epa_build/README.developers M cmake/epa_build/update_gtk+_packages.sh commit 722fc73ed6b0272f6b775c043a816448f6d8fe0c Author: Alan W. Irwin Date: Mon Sep 1 16:34:31 2014 -0700 Use new example location (tailored for new airwin setup) of PLplot source code location. M cmake/epa_build/README M cmake/epa_build/setup/setup_linux_makefiles M cmake/epa_build/setup/setup_mingw_msys_wine_toolchain commit dc5286adc08f9830926a82300b1341dbb5defcea Author: Alan W. Irwin Date: Mon Sep 1 10:34:32 2014 -0700 Implement additional blank-in-path protection for Tcl/Tk/Itcl/Itk version checking logic. M cmake/modules/tcl-related.cmake commit bce2b2bf3580e8007c4b66ac19f8d01091496b1f Author: Alan W. Irwin Date: Mon Sep 1 10:30:55 2014 -0700 Put quotes around locations in Tcl and Tk configured test scripts to protect against possible blanks in those paths. M examples/tcl/pltcl_standard_examples.in M examples/tcl/tclsh_standard_examples.in M examples/tk/plserver_runAllDemos.in M examples/tk/plserver_standard_examples.in commit 0980a738e6d58fb72fdfb7684aa774516e8cccd6 Author: Alan W. Irwin Date: Sun Aug 31 21:40:18 2014 -0700 Only do try_compile concerning HAVE_SAHOOKS if the information is not cached already. This is supposed to happen in any case according to CMake documentation, but does not. So for the --debug-trycompile case (which explicitly does not clean up CMakeFiles/CMakeTmp after each try_compile) cannot follow documentation suggestion to simply remove from the cache the try_compile result you want to debug. Therefore, have to put in an explicit if statement checking the existence of the cache value for all try_compiles to make that suggestion work. M cmake/modules/shapelib.cmake commit de4f4013600b6b6f90b8fa58b8b0a3fb6c60ab23 Author: Alan W. Irwin Date: Mon Sep 1 10:13:55 2014 -0700 Implement test_tcl and test_tk targets. These new targets facilitate Tcl/Tk testing. The test_tcl target depends on all Tcl-related targets that have nothing to do with Tk. The test_tk target depends on the remaining Tcl/Tk targets. M examples/CMakeLists.txt commit c19d826f262f23302bea27b9329d985febe83b1e Author: Hazen Babcock Date: Mon Sep 1 07:46:36 2014 -0400 Add instructions about how to tag and delete branches and how to recover branches from tags. M historical_repository_conversions/README_svn2git_conversion commit ca789c79694e174d784b5a1bc39b1e1498305060 Author: Phil Rosenberg Date: Sun Aug 31 09:33:27 2014 +0100 Fixed error when adding quotes to the regex replace in ntk.cmake also removed testing code from testing previous commit. M cmake/modules/tk.cmake M examples/c/CMakeLists.txt M src/CMakeLists.txt commit 3a7f48d8d4196339e8bc9160eab3cb3c5c63bd54 Author: Phil Rosenberg Date: Sun Aug 31 08:53:26 2014 +0100 Added quotes to Tcl include paths to permit installation of Tcl in a path with spaces. Note that CMAKE deals fine with libraries with spaces. The quotes are only required for include paths because we prepend -I to them and pass them as compiler flags. M cmake/modules/tk.cmake M examples/c/CMakeLists.txt M src/CMakeLists.txt commit 02a69d9dbbf88ce5b3f27b8e95a279a66ff76d53 Author: Arjen Markus Date: Fri Aug 29 09:25:10 2014 +0200 Provide a workaround for a problem with the PGI Fortran compiler. Older versions do not accept the combination of a "module procedure" and an explicit interface in an interface block. M bindings/f95/sfstubsf95.f90 commit 7c671d6a5c151ffed9f41e170cf34528d08f3fad Author: Arjen Markus Date: Fri Aug 29 09:20:23 2014 +0200 Changed the way the linewidth is read from the buffer file. This is a consequence of the change in data type - the linewidth is now a floating- point value. The problem surfaced in SVG files having a width zero. M src/plbuf.c commit b6e9afe601784ca9b4a04c497d83adbc60c5ea8a Author: Alan W. Irwin Date: Thu Aug 28 20:44:21 2014 -0700 Add some necessary library dependencies of libsmokeplplotqt as revealed by "ldd -r". Tested by Alan W. Irwin on Linux using the -DENABLE_smoke=ON cmake option and the smokeplplotqt target. The build worked without issues, ldd -r gave a clean result, but no run-time tests were done. M bindings/qt_gui/smoke/CMakeLists.txt M cmake/modules/qt.cmake commit 022a53b935c56c62af7489aec3756382c63e7482 Author: Alan W. Irwin Date: Thu Aug 28 18:51:06 2014 -0700 Updated smoke part of build system so the smoke bindings build without issues. M bindings/qt_gui/smoke/CMakeLists.txt M cmake/modules/qt.cmake commit bcf51f8dec97052cfb580c6ef9bc16680c69ee98 Author: Alan W. Irwin Date: Thu Aug 28 11:40:52 2014 -0700 Substantially quiet warning message about not finding smoke software. M cmake/modules/qt.cmake commit d5b15686cb58420e4745adba48d768c0315af0f8 Author: Alan W. Irwin Date: Thu Aug 28 07:45:10 2014 -0700 Further tweak of README and website home page. M README M www/index.php commit 737775dfae4797c729cbf3b456e09af1bd8d0e3f Author: Alan W. Irwin Date: Thu Aug 28 07:42:31 2014 -0700 Substantial update of downloads part of website to be consistent with recent rewording of README. M www/downloads.php commit 4ee9871bde17e1c03edbfdf7503696e213d3600a Author: Alan W. Irwin Date: Thu Aug 28 06:12:55 2014 -0700 Website and README updates The main website page was substantially reworded and the README file has been made consistent with that wording. M README M www/CMakeLists.txt M www/corefunctions.php D www/download.php A www/downloads.php M www/index.php commit 3d07ef4ce9e1fc7244a7c98fb998e172c2299f2a Author: Hazen Babcock Date: Wed Aug 27 20:47:25 2014 -0400 Add --ff-only flag to merge options. Add how to specify this as the default merge flags. M README.developers commit 29271dde794c5b1d1a8da4de61d8c689c67cc6c5 Author: Hazen Babcock Date: Tue Aug 26 22:20:45 2014 -0400 Add git workflow instructions. M README.developers commit fc33fae26d4b0ab22eac69d1344c3519c5fa700f Author: Alan W. Irwin Date: Tue Aug 26 15:09:47 2014 -0700 Regenerate plplot_parameters.h using a sed script that uses many short string literals in the header that the compiler contatenates together rather than a very long string. Tested by Alan W. Irwin (airwin@users.sourceforge.net) on Linux using the test_tclsh_standard_examples target. M bindings/tcl/global_defines.sed M bindings/tcl/plplot_parameters.h commit 6c81eb211959b4a54f373db11a59788d28e4925f Author: Alan W. Irwin Date: Sun Aug 24 18:12:41 2014 -0700 Store information concerning our repository conversions. The information about our historical conversion of the PLplot CVS repo to svn is summarized from e-mail messages at the time. The information about our recent conversion of our svn repo to git has all the details of the conversion including all files used in the conversion and in testing that converted result. A historical_repository_conversions/README_cvs2svn_conversion A historical_repository_conversions/README_svn2git_conversion A historical_repository_conversions/authors.txt A historical_repository_conversions/diff_git_versus_svn_tree.sh A historical_repository_conversions/plplot.rules A historical_repository_conversions/svn_tag2git_tag.sh commit 45407de8849b8039436d0aeaebf741dba8518d80 Author: Alan W. Irwin Date: Sat Aug 23 14:18:34 2014 -0700 Update website file permissions remarks in documentation of the release process. M README.Release_Manager_Cookbook commit 3bb429afca53cf552a76513745760fa360ac12b7 Author: Alan W. Irwin Date: Sat Aug 23 11:31:26 2014 -0700 Preliminary update of documentation of release procedure due to replacing svn with git. The file edits included tracking down every instance of "svn" and "trunk" and making appropriate changes for the git case. Also, I took this opportunity to document the new options for rsync that give a clean upload of the website with (I hope) no known permissions problems for the next time someone else tries to generate and rsync the website. M README.Release_Manager_Cookbook commit 421a9d6919880229058e96efcce171f5db7294cd Author: Alan W. Irwin Date: Sat Aug 23 08:59:54 2014 -0700 Change from svn to git wording for our download page. M www/download.php commit 950425a44336ff28ab6592a295081727f780f51f Author: Alan W. Irwin Date: Fri Aug 22 23:33:44 2014 -0700 svn-->git modification of all files relevant to website generation. These modifications include the build system, doxygen and docbook generation of documentation, web content, and the overall script to generate the website. M CMakeLists.txt M doc/Doxyfile.in M doc/docbook/src/intro.xml M scripts/generate_website.sh M www/announce/README M www/corefunctions.php M www/download.php commit ffada3ade78b62845e4e70762dd19263c741f291 Author: Alan W. Irwin Date: Fri Aug 22 16:31:56 2014 -0700 Put our update hook and corresponding README file under git control. A git_hooks/README A git_hooks/update commit f558488822162fa96e96a6c970793c9a1293edc2 Author: Alan W. Irwin Date: Thu Aug 21 14:58:01 2014 -0700 Add copy of test_ada. The test_ada directory contains a self-contained but small CMake project to test the CMake support for builds of Ada libraries and executables. A cmake/test_ada/CMakeLists.txt A cmake/test_ada/README A cmake/test_ada/ada.cmake A cmake/test_ada/cmake_experimental/Modules/CMakeAdaCompiler.cmake.in A cmake/test_ada/cmake_experimental/Modules/CMakeAdaInformation.cmake A cmake/test_ada/cmake_experimental/Modules/CMakeDetermineAdaCompiler.cmake A cmake/test_ada/cmake_experimental/Modules/CMakeTestAdaCompiler.cmake A cmake/test_ada/cmake_experimental/Modules/Notes A cmake/test_ada/cmake_working/Modules/CMakeAdaCompiler.cmake.in A cmake/test_ada/cmake_working/Modules/CMakeAdaInformation.cmake A cmake/test_ada/cmake_working/Modules/CMakeDetermineAdaCompiler.cmake A cmake/test_ada/cmake_working/Modules/CMakeTestAdaCompiler.cmake A cmake/test_ada/src_executable/CMakeLists.txt A cmake/test_ada/src_executable/hello.adb A cmake/test_ada/src_lib/CMakeLists.txt A cmake/test_ada/src_lib/hello_1.adb A cmake/test_ada/src_lib/hello_1.ads commit 1baadcaab45eb5ccb741ec81fc44e8c893470a16 Author: Phil Rosenberg Date: Thu Aug 7 21:29:02 2014 +0000 Added new mapping functionality for shapefiles. Added the functions plmapline, plmapstring, plmaptex, plmapfill, which will perform appropriate drawing of the data in the shapefile, they also allow filtering which items in the shapefile are drawn. The original plmap function is left intact. The new functions are currently available from C and C++. svn path=/trunk/; revision=13138 M bindings/c++/plstream.cc M bindings/c++/plstream.h A data/ss/os_open_conditions.txt A data/ss/ss64ne_Building_Area.dbf A data/ss/ss64ne_Building_Area.prj A data/ss/ss64ne_Building_Area.shp A data/ss/ss64ne_Building_Area.shx A data/ss/ss64ne_General_Text.dbf A data/ss/ss64ne_General_Text.prj A data/ss/ss64ne_General_Text.shp A data/ss/ss64ne_General_Text.shx A data/ss/ss64ne_Height_Contours.dbf A data/ss/ss64ne_Height_Contours.prj A data/ss/ss64ne_Height_Contours.shp A data/ss/ss64ne_Height_Contours.shx A data/ss/ss64ne_Landform_Area.dbf A data/ss/ss64ne_Landform_Area.prj A data/ss/ss64ne_Landform_Area.shp A data/ss/ss64ne_Landform_Area.shx A data/ss/ss64ne_Landform_Line.dbf A data/ss/ss64ne_Landform_Line.prj A data/ss/ss64ne_Landform_Line.shp A data/ss/ss64ne_Landform_Line.shx A data/ss/ss64ne_Road_Centreline.dbf A data/ss/ss64ne_Road_Centreline.prj A data/ss/ss64ne_Road_Centreline.shp A data/ss/ss64ne_Road_Centreline.shx A data/ss/ss64ne_Water_Area.dbf A data/ss/ss64ne_Water_Area.prj A data/ss/ss64ne_Water_Area.shp A data/ss/ss64ne_Water_Area.shx A data/ss/ss64ne_Water_Line.dbf A data/ss/ss64ne_Water_Line.prj A data/ss/ss64ne_Water_Line.shp A data/ss/ss64ne_Water_Line.shx M examples/c++/x19.cc M examples/c/x19c.c M include/plplot.h M src/plmap.c commit a3d202e5ec9033014110d7bc8dc9d5d966868371 Author: Alan W. Irwin Date: Fri Jul 11 18:32:21 2014 +0000 Implement a small change suggested by Jonathan Woithe on the PLplot development mailing list. He reports this change removes intermittent "QColor::setRgb: RGB parameters out of range) warnings. My own tests using the test_interactive target on Linux show no issues with this change as well. svn path=/trunk/; revision=13137 M bindings/qt_gui/plqt.cpp commit 62eb59f3e111da3ae1f1b37877144ef91c5749c0 Author: Hazen Babcock Date: Mon Jul 7 01:42:58 2014 +0000 Add (not yet) working smoke bindings for the qtwidget and extqt drivers. svn path=/trunk/; revision=13136 M bindings/qt_gui/CMakeLists.txt A bindings/qt_gui/smoke/CMakeLists.txt A bindings/qt_gui/smoke/plplotqt.h A bindings/qt_gui/smoke/plplotqt.pro A bindings/qt_gui/smoke/plplotqt_smoke.h A bindings/qt_gui/smoke/smokeconfig.xml M cmake/modules/qt.cmake commit e88308c6a3fcd56e21e954c1cbe51dd91273dc80 Author: Hezekiah M. Carty Date: Fri Jul 4 10:59:42 2014 +0000 Update OCaml-specific documentation svn path=/trunk/; revision=13135 M doc/docbook/src/ocaml.xml commit 84d2a859f31b69c1d440a7a61d5c57528de94355 Author: Hezekiah M. Carty Date: Thu Jul 3 14:46:13 2014 +0000 Switch to a different OCaml Cairo binding ("cairo2" in opam) This is a more actively maintained binding to the Cairo library. It is unfortunately not packaged for Debian at this time so interested users would need to install the library through opam. opam is generally the recommended way to install and manage OCaml libraries (this cpan, pip, etc) so this isn't a particularly serious limitation. svn path=/trunk/; revision=13134 M bindings/ocaml/plcairo/CMakeLists.txt M bindings/ocaml/plcairo/plcairo.ml M bindings/ocaml/plcairo/plcairo.mli M cmake/modules/ocaml.cmake M examples/ocaml/CMakeLists.txt M examples/ocaml/xgtk_interface.ml commit d1c0eb0bea4a9e8be6c29aca5833e7641c20739e Author: Hezekiah M. Carty Date: Thu Jul 3 14:40:58 2014 +0000 Fix gtk initialization for newer lablgtk versions svn path=/trunk/; revision=13133 M examples/ocaml/xgtk_interface.ml commit b615e3422c47b3969b7ecde0b8e3562c77a5c999 Author: Andrew Ross Date: Tue Jul 1 11:41:11 2014 +0000 Tidy up continuation lines to remove deprecated backslashes. svn path=/trunk/; revision=13132 M examples/octave/x01c.m M examples/octave/x04c.m M examples/octave/x07c.m M examples/octave/x08c.m M examples/octave/x26c.m M examples/octave/x29c.m commit 8ffedf7ad1a82cd5fbd8827c348a3aabc22d9d82 Author: Alan W. Irwin Date: Fri Jun 20 23:13:53 2014 +0000 Add epa_build configuration for libLASi. Tested on Linux using the build_libLASi target. That target configures, builds, installs, and tests (via ctest) libLASi. The ctest results look fine except that the detailed PostScript file results for the second example are different each time that example is run as discussed on the lasi-devel list. It appears the font commands at the head of the PostScript file are created in different order with different names, but the results look visually identical (as expected if just the font order is changed each time). So this bug is more a curiosity than not, but nevertheless it would be good to deal with it so that the second example produces file-identical results each time rather than different random orders of fonts. svn path=/trunk/; revision=13131 M cmake/epa_build/CMakeLists.txt A cmake/epa_build/libLASi/CMakeLists.txt commit c61d9f88cb0b9dbe92c69bfb59de84ef000eee31 Author: Alan W. Irwin Date: Fri Jun 20 20:28:03 2014 +0000 Make harbuzz epa_build package depend on freetype_nohb to break the dependency loop between harbuzz and freetype as suggested by Linux from scratch. The result is freetype depends on harbuzz which depends on freetyp_nohb where the two freetype packages are identical (except for the package name and except for the --without-harfbuzz configure option for freetyp_nohb. Furthermore, installed file names are identical between the two freeype versions. Thus, the freetype install completely overwrites the freetype_nohb install. The result is that ldd -r shows libharfbuzz resolves symbols in libfreetype and vice versa without errors. This illustrates the fundamental dependency loop between these two libraries which is allowed but is nevertheless a configuration pain that has been resolved as above. Tested on Linux by building the build_freetype package and running ldd -r on the resulting libfreetype and libharfbuzz libraries. svn path=/trunk/; revision=13130 M cmake/epa_build/harfbuzz/CMakeLists.txt commit ecea001c3cd84afd02b84feb7377988aa836dbb9 Author: Alan W. Irwin Date: Fri Jun 20 20:13:56 2014 +0000 If -fvisibility=hidden is one of the options in CFLAGS then drop that option since it produces incorrect results for the freetype library. svn path=/trunk/; revision=13129 M cmake/epa_build/freetype/CMakeLists.txt M cmake/epa_build/freetype_nohb/CMakeLists.txt commit 3b9ad727dcfb8a838c8bd0912a581390d5c6b96e Author: Alan W. Irwin Date: Wed May 21 22:13:13 2014 +0000 Initial commit of epa_build configurations of freetype and freetype_nohb (the variant of freetype that does not depend on HarfBuzz which is recommended by BLFS to break the freetype-harfbuzz dependency loop). The epa_build configuration of freetype will ultimately be required for the planned epa_build configuration of libLASi. svn path=/trunk/; revision=13128 M cmake/epa_build/CMakeLists.txt A cmake/epa_build/freetype/CMakeLists.txt A cmake/epa_build/freetype_nohb/CMakeLists.txt commit 56351f7023c46bc1114d6c6eb967552517738d73 Author: Alan W. Irwin Date: Wed May 21 21:16:07 2014 +0000 Tweak commentary. svn path=/trunk/; revision=13127 M cmake/epa_build/add_packages.xml commit cdf74a888661e533fd66687d45aacd74d396ccab Author: Alan W. Irwin Date: Tue May 20 22:49:48 2014 +0000 Tighten up plInBuildTree logic. Test that the current directory is exactly the same as the top-level build directory or a subdirectory of that directory. (The old logic did not distinguish say build_dir from build_dir_install since the first letters of "build_dir_install" coincided with "build_dir".) The subdirectory logic implies searching for the path delimiter, so make sure that is appropriately designated for the different Unix and Windows path delimiters. Finally, make the whole path name comparisons independent of case on Windows platforms (as opposed to the old code which only make the drive letter case insensitive). Lightly tested on Linux and MinGW/Wine. More comprehensive testing is requested. svn path=/trunk/; revision=13126 M src/plcore.c commit 40750c03050779522e2da234b2349f1e0f36ba40 Author: Alan W. Irwin Date: Tue May 20 18:37:46 2014 +0000 Fix size_t formatting issue for Microsoft platforms. svn path=/trunk/; revision=13125 M src/plctrl.c commit a58e6ff4823e0d7930e4a556c8d28469734e529f Author: Alan W. Irwin Date: Sun May 18 22:05:54 2014 +0000 Use specific (bash) shell for the traditional (Makefile + pkg-config) build system Makefiles for the installed examples. This solves potential bugs where bashisms in these Makefiles would lead to errors for systems where the default shell used by by the make command is not bash. svn path=/trunk/; revision=13124 M examples/Makefile.examples.in M examples/ada/Makefile.examples.in M examples/c++/Makefile.examples.in M examples/c/Makefile.examples.in M examples/d/Makefile.examples.in M examples/f95/Makefile.examples.in M examples/java/Makefile.examples.in M examples/ocaml/Makefile.examples.in M examples/tk/Makefile.examples.in commit c9c95754ee506c03f0e2e3d12d8eebff81bdff77 Author: Alan W. Irwin Date: Sun May 18 21:59:51 2014 +0000 Store all results of the examples run by ctest in their own unique subdirectory of the build tree. This keeps the plplot_test subdirectory much cleaner, and makes it easy to implement a clean and quick way to remove all those ctest-generated files. This change solves two bugs with the old method of removing all the generated files using a list of filenames; that method was inexact (the list of filenames was incomplete) and more seriously also ran into command-line length issues for the cmd environment used for the "MinGW Makefiles" generator case. svn path=/trunk/; revision=13123 M plplot_test/CMakeLists.txt commit 12fc0f32cfb0f79045aac6e641e8ec078dc9f917 Author: Alan W. Irwin Date: Sun May 18 21:53:26 2014 +0000 Put test_noninteractive target example results in their own exclusive directory in the build tree which keeps the examples subdirectory of the build tree much cleaner and makes it easier to see how well the "make clean" command is cleaning up these files. The test_teclsh_standard_examples target has a showstopper Tcl exit problem (a non-zero return code) for certain configuration conditions (non-dynamic devices) on Windows. Therefore, to keep this showstopper error from propagating to the overall testing target, test_noninteractive, drop including the test_tclsh_standard_examples target as part of the list of dependencies for that overall target on Windows until this additional Tcl exit issue can be addressed. svn path=/trunk/; revision=13122 M examples/CMakeLists.txt commit 549806b3e91811b732aa3c464735b7fad93d61da Author: Alan W. Irwin Date: Sun May 18 21:42:04 2014 +0000 Distinguish between build command and traditional build command (used exclusively for the traditional build system (Makefile + pkg-config)) where for Windows the only build command that works is the MSYS-based make, (e.g., not the MinGW-based mingw32-make). Adjust default number of parallel builds from 8 to 4. svn path=/trunk/; revision=13121 M scripts/comprehensive_test.sh commit 1590698893bdcbe5ee033345bfc362d496620ba5 Author: Alan W. Irwin Date: Thu May 15 01:57:06 2014 +0000 Implement additional diagnostic output when pkg-config processing is failing in some way. svn path=/trunk/; revision=13120 M cmake/modules/cairo.cmake M cmake/modules/pkg-config.cmake commit 3ccc4dcc21957cfab6b98f76b0261ff98d8accdb Author: Alan W. Irwin Date: Wed May 14 11:12:17 2014 +0000 Help cmake find the correct version of the system gdi library that is a prerequisite of cairo on Windows. svn path=/trunk/; revision=13119 M cmake/epa_build/setup/setup_mingw_msys_wine_toolchain commit f71046f40fc069ba5c5ea8ad56700d560781ffb7 Author: Alan W. Irwin Date: Wed May 14 10:47:48 2014 +0000 Use -DTEST_DYNDRIVERS=OFF option for Windows case to work around the issue where the simple test of dynamic loading works (i.e., it gives the correct result) but for some strange reason has a non-zero return code while the virtually identical PLplot dynamic loading works without the non-zero return code. svn path=/trunk/; revision=13118 M cmake/epa_build/plplot/CMakeLists.txt M cmake/epa_build/plplot_lite/CMakeLists.txt commit 8a1d30f42d16b967b8373b6e8c9d4e77f0f9c303 Author: Alan W. Irwin Date: Wed May 14 10:44:26 2014 +0000 Judiciously sprinkle the "env" command around so that bash scripts are recognized properly for the "MinGW Makefiles" case. svn path=/trunk/; revision=13117 M examples/CMakeLists.txt commit 0e85016a7254151fbb486d743f14478ae795b60e Author: Alan W. Irwin Date: Wed May 14 05:45:44 2014 +0000 As a trial possibility we use a binary downloaded version of gtk+ on Windows. Tested for the "MinGW Makefiles" generator on Wine-1.6.1. cmake apparently configured the cairo devices without issues so that is a step forward for Walt Brainerd where this was a showstopper. However, at least on Wine, the gdi.dll library causes issues at "make install" time with the message c:\windows\system32\gdi32.dll: file not recognized: File format not recognized So this trial is a work in progress. svn path=/trunk/; revision=13116 M cmake/epa_build/plplot/CMakeLists.txt M cmake/epa_build/setup/setup_mingw_makefiles M cmake/epa_build/setup/setup_msys_makefiles commit ee8d9a57fc37638297129cdbc0220caa16cbd9c1 Author: Alan W. Irwin Date: Wed May 14 05:36:26 2014 +0000 Work around GTK+ pgk-config configuration issue where -lm is included in library flags for the Windows case when that math library does not separately exist on that platform. svn path=/trunk/; revision=13115 M cmake/modules/pkg-config.cmake M cmake/modules/plplot.cmake commit a60411adb4df2d73cb93d3af12413b5bca25687c Author: Arjen Markus Date: Wed Apr 30 08:10:03 2014 +0000 Make sure messages about the wincairo device are only printed if this device is considered at all. This to prevent confusion - if you do not want the device (or the driver in general), there should be no message. svn path=/trunk/; revision=13114 M cmake/modules/cairo.cmake commit 7a0a161e94f211d8746cc6f056726d9aa0837e53 Author: Alan W. Irwin Date: Tue Apr 29 18:18:45 2014 +0000 Improved regex for dropping emacs temporary files from release tarball. svn path=/trunk/; revision=13113 M CMakeLists.txt commit 6451d87fc5a4cee438ac38069ce8f801831a022f Author: Alan W. Irwin Date: Sat Apr 26 02:43:54 2014 +0000 Drop dependence on libagg since the location of the tarball is still not settled, and libagg is only needed for one component of the wxwidgets device driver which is scheduled to be dropped in any case. Change plplot dependence from qt4_lite to qt5_lite and exclusively use Qt5 for plplot epa_build and tests. The epa_build of qt5_lite and the epa_build and test of PLplot were comprehensively tested (all three build systems all three major configurations) on Linux with no issues. svn path=/trunk/; revision=13112 M cmake/epa_build/plplot/CMakeLists.txt commit e0f730f86e7dbe173432ee04364225dc62799516 Author: Alan W. Irwin Date: Sat Apr 26 02:38:37 2014 +0000 Drop dependence on libagg since the location of the tarball is still not settled, and libagg is only needed for one component of the wxwidgets device driver which is scheduled to be dropped in any case. svn path=/trunk/; revision=13111 M cmake/epa_build/plplot_lite/CMakeLists.txt commit cd19893a9a82244de70c24a056e50d28c0515a0e Author: Alan W. Irwin Date: Sat Apr 26 02:36:45 2014 +0000 Bump CMake minimum version to 2.8.12.1 for epa_build project which insures (among other things) that CMake has the ability to unpack tar.xz files on Unix and MSYS. Drop configuration of the qt4_lite epa_build since an epa_build and install of qt4_lite interferes with the epa_build of qt5_lite and vice versa. svn path=/trunk/; revision=13110 M cmake/epa_build/CMakeLists.txt commit 2410f6ac2b43ae3e3c2229dd5071c404c93d4fa0 Author: Alan W. Irwin Date: Sat Apr 26 02:22:04 2014 +0000 Update to be the same as the version from CMake 3.0.0-rc3 except the tar.xz name patch is applied (see ) so that tar.xz unpacking abilities of CMake can be used. svn path=/trunk/; revision=13109 M cmake/epa_build/ExternalProject.cmake commit 45645f9ad1727502341c728f074a1526b6027ac0 Author: Alan W. Irwin Date: Sat Apr 26 02:11:26 2014 +0000 Update build system for the PLPLOT_USE_QT5 case so that qt_example can be built successfully in the build tree, and in the installed examples tree for both the traditional and CMake-based build systems for that tree. This change removes the last of the restrictions on the PLPLOT_USE_QT5 case other than the disabling of pyqt4 for this case. Tested on Linux using the comprehensive test procedure (which tests all three build systems mentioned above for each of our 3 fundamental build configurations, i.e., shared libraries/dynamic devices, shared libraries/static devices, and static libraries/static devices). svn path=/trunk/; revision=13108 M bindings/qt_gui/CMakeLists.txt M cmake/modules/qt.cmake M examples/c++/CMakeLists.txt M src/CMakeLists.txt commit 5104da4bcc4a411f65b2ff580ea879208124e7db Author: Alan W. Irwin Date: Sat Apr 26 02:02:55 2014 +0000 Style previous commit. svn path=/trunk/; revision=13107 M drivers/wingcc.c commit 8ddf269a3f8faa2974b30901d426f3d899b07ac3 Author: Alan W. Irwin Date: Mon Apr 21 04:34:46 2014 +0000 Clean up test logic in the traditional build system for the installed examples for the (corner) case where -DPLD_ps=OFF. Tested on Linux for -DDEFAULT_NO_DEVICES=ON -DPLD_epsqt=ON -DPLD_pdfqt=ON -DPLD_qtwidget=ON -DPLD_bmpqt=ON -DPLD_jpgqt=ON -DPLD_pngqt=ON -DPLD_=ppmqtON -DPLD_tiffqt=ON -DPLD_extqt=ON -DPLD_memqt=ON -DPLD_svgqt=ON -DDEFAULT_NO_BINDINGS=ON -DENABLE_cxx=ON -DENABLE_qt=ON -DPLPLOT_USE_QT5=ON using the comprehensive test_script and an epa_build of Qt5. N.B. this is the first completely successful comprehensive test of the -DPLPLOT_USE_QT5=ON case, but certain Qt-related components of PLplot are still disabled or not implemented for the Qt5 case as discussed on list. svn path=/trunk/; revision=13106 M examples/CMakeLists.txt M examples/Makefile.examples.in commit 378e7428cbb21fd551d2b72a6fe90827beaf88eb Author: Alan W. Irwin Date: Mon Apr 21 00:26:11 2014 +0000 Implement and use (in the CMake-based build system for the installed examples) a cmake-packages approach as documented at for handling the CMake export of information concerning the PLplot libraries. This change in approach allows finding Qt5 automatically as part of the CMake package configuration file. That solves a linking issue with the previous approach when exporting a static version of the plplot library that depends on Qt5. Also refine the condition under which qt_example is tested both for the core build and the CMake-based build of the installed examples. svn path=/trunk/; revision=13105 M examples/CMakeLists.txt M src/CMakeLists.txt A src/plplotConfig.cmake commit 1a318e800dee823d9916b97bf0be1f99f38fd62d Author: Alan W. Irwin Date: Mon Apr 21 00:16:56 2014 +0000 Whitespace changes. svn path=/trunk/; revision=13104 M examples/c++/CMakeLists.txt commit eef224988de0c9eaf439ce1e95ca051900477ba4 Author: Alan W. Irwin Date: Mon Apr 21 00:08:04 2014 +0000 Propagate PLPLOT_USE_QT5 variable to CMake-based build system for the installed examples. svn path=/trunk/; revision=13103 M examples/plplot_configure.cmake_installed_examples.in commit ce0cde65c8c7e1a45923f870c78d0eb03194c6f8 Author: Alan W. Irwin Date: Mon Apr 21 00:06:13 2014 +0000 Refine the condition where qt_example is allowed to be tested by the traditional build system for the installed examples. svn path=/trunk/; revision=13102 M plplot_test/plplot-test-interactive.sh.in commit b70430a022fce4b97719d79032941b1d6397db55 Author: Alan W. Irwin Date: Sun Apr 20 23:58:47 2014 +0000 Spelling fix. svn path=/trunk/; revision=13101 M scripts/comprehensive_test.sh commit bd2f89fdcbdb29d02d44b343fda984d51e93dc73 Author: Arjen Markus Date: Tue Apr 8 06:52:52 2014 +0000 Slightly more rational approach to handling keyboard and mouse events. All characters are now passed on to the caller, so the escape character is no longer special - this is left to the calling program, as it should be. svn path=/trunk/; revision=13100 M drivers/wingcc.c commit f488654adb6f21ec0884dc65e7a98d02c3df3212 Author: Alan W. Irwin Date: Mon Apr 7 21:43:17 2014 +0000 Fix an integer overflow by only calculating physical coordinates of the origin of the axes when those additional axes are actually used (i.e., when the "a" option is specified and the drawn axis is going to be inside the viewport). This fix solves an integer overflow issue discovered by Hazen for page 5 and larger for example 29 where the 0., 0., world coordinates of the unused axes generated with plbox were so far from the actual X world-coordinate range of the plot that integer overflow occurred when calculating the unused physical coordinates corresponding the the 0.,0., world coordinates of the axes origin. svn path=/trunk/; revision=13099 M src/plbox.c commit 77b909ab21640f77c70340c83a0bbce0bfcdffed Author: Arjen Markus Date: Sun Apr 6 19:41:22 2014 +0000 Implement the PL_ESC_GETC escape to add interactivity to the wingcc device. Notes: - No platform-neutral macros to identify the button - the xwin device I used as a template has more functionality (XOR-ing lines for instance) - Not all fields in the PLGraphicsIn structure may be meaningful to MS Windows. "state" is an example, or perhaps that is my limited understanding. svn path=/trunk/; revision=13098 M drivers/wingcc.c commit 1d4a8004e3679069e410b2d5cb19dc963cacad69 Author: Alan W. Irwin Date: Fri Apr 4 17:33:29 2014 +0000 Solve name clash by replacing HAVE_CONFIG_H ==> PLPLOT_HAVE_CONFIG_H everywhere within our source tree. svn path=/trunk/; revision=13097 M examples/CMakeLists.txt commit 467c0b0ef58b1759238d7ec3551e3e3fe8f36c5b Author: Alan W. Irwin Date: Fri Apr 4 17:31:22 2014 +0000 Solve name clash by replacing HAVE_CONFIG_H ==> PLPLOT_HAVE_CONFIG_H everywhere within our source tree. svn path=/trunk/; revision=13096 M CMakeLists.txt M bindings/ocaml/CMakeLists.txt M bindings/ocaml/plcairo/CMakeLists.txt M include/plConfig.h.in M plplot_config.h.in commit 4ab81d795d9466cf4038cb4e3739e3d0e2e8af80 Author: Alan W. Irwin Date: Fri Apr 4 16:21:39 2014 +0000 Because ENABLE_d=ON is known to interfere with wxwidgets linking on Windows (for unknown reasons) turn it OFF by default on that platform. svn path=/trunk/; revision=13095 M cmake/modules/d.cmake commit 1382e022c09fabcb06f51396cec0aeab0c2aeeb9 Author: Alan W. Irwin Date: Wed Apr 2 20:46:46 2014 +0000 Fix bugs (bad order, missing DEPENDS) in implementation of gtk+ dependency of wxwidgets in the Unix case. svn path=/trunk/; revision=13094 M cmake/epa_build/wxwidgets/CMakeLists.txt commit cdbfe182c0ce2d8bd0caee3fceb72c3ec00cbfe4 Author: Alan W. Irwin Date: Wed Apr 2 07:42:07 2014 +0000 Change from "*" ==> "#(728)" for the symbol that is plotted. This change is from a simple ascii asterisk to the Hershey-indexed asterisk operator symbol which for both Hershey and Unicode fonts has much better vertical alignment. The result is much improved looking plots for standard examples 4, 26 and 33. Tested on Linux using the test_diff_psc target. svn path=/trunk/; revision=13093 M examples/ada/x04a.adb M examples/ada/x26a.adb M examples/ada/x33a.adb M examples/ada/xthick04a.adb M examples/ada/xthick26a.adb M examples/ada/xthick33a.adb M examples/c++/x04.cc M examples/c++/x26.cc M examples/c++/x33.cc M examples/c/x04c.c M examples/c/x26c.c M examples/c/x33c.c M examples/d/x04d.d M examples/d/x26d.d M examples/d/x33d.d M examples/f95/x04f.f90 M examples/f95/x26f.f90 M examples/f95/x33f.f90 M examples/java/x04.java M examples/java/x26.java M examples/java/x33.java M examples/lua/x04.lua M examples/lua/x26.lua M examples/lua/x33.lua M examples/ocaml/x04.ml M examples/ocaml/x26.ml M examples/ocaml/x33.ml M examples/octave/x04c.m M examples/octave/x26c.m M examples/octave/x33c.m M examples/python/xw04.py M examples/python/xw26.py M examples/python/xw33.py M examples/tcl/x04.tcl M examples/tcl/x26.tcl M examples/tcl/x33.tcl commit eea16627501584a25f2f36b284e0528ea23b91eb Author: Alan W. Irwin Date: Tue Apr 1 20:04:46 2014 +0000 Rewrite this important test case demonstrating the vertical offset of glyphs using many more UTF-8 glyphs. svn path=/trunk/; revision=13092 M examples/python/test_circle.py commit 46355bfd18c010394b951a301bd9fedd5cae7fd7 Author: Alan W. Irwin Date: Tue Apr 1 19:53:12 2014 +0000 Apply empirically derived (using examples/python/test_circle.py) and examples/python/x02) vertical offset for all text for the Qt5 case. This vertical offset is substantial (greater than half the character box height) and roughly constant for most glyphs/fonts. However, the final value was optimized for the light diagonal cross glyph in test_circle.py. That example shows that other glyphs (except for the well-known asterisk case which is vertically misaligned by font design) have a dispersion in vertical alignments that is larger than for cairo which in turn is larger than for qt with Qt4. Both those latter dispersion results were derived with no empirical vertical offset at all. An additional issue which confuses the issue concerning the best vertical alignment for qt with Qt5, cairo, and qt with Qt4 is the font selection for all those cases is different (as evidenced by different sizes/shapes of glyphs in all three cases and missing glyphs (i.e., Korean for example 24) for the Qt5 case which are present in the other cases. I assume all these issues are due to Qt5 version 5.2.1 font selection and font alignment issues which will be addressed for future Qt5 versions. And when those Qt5 fixes occur, this empirical vertical offset will have to be changed or else withdrawn (set to zero). svn path=/trunk/; revision=13091 M bindings/qt_gui/plqt.cpp commit fa4ae0d0fb0427d3a4dac2c566f7d09f9e8162b4 Author: Alan W. Irwin Date: Tue Apr 1 19:28:28 2014 +0000 Use correct precision (PLINT ==> PLFLT) for plwidth argument. This change successfully tested on Linux using the test_diff_psc target. svn path=/trunk/; revision=13090 M bindings/swig-support/plplotcapi.i commit 588f6ddc918c75480add541f7a0d2585f6810175 Author: Alan W. Irwin Date: Mon Mar 31 23:38:37 2014 +0000 Configure and test epa_build of qt5_lite. Tested on Linux by running the build_qt5_lite target for epa_build. That build of Qt5 took almost an hour (56 min) compared to a similar build of Qt4 which took roughly one fourth that time. The issue appears to be that some of the configure options that allow dropping components of Qt4 for the epa_build of qt4_lite do not appear to be available (as yet) for Qt5. There may be an opportunity to drop additional parts of the Qt5 build in the future because I missed a relevant configure option this time or because later versions of Qt5 may allow dropping more components of the build. But for now an hour build is acceptable. Build-time tests were done with PLplot configured with the -DPLPLOT_USE_QT5=ON option with qmake from the qt5_lite epa_build on the PATH. That PLplot build had no showstopper issues, and running ldd -r on drivers/qt.so, bindings/qt_gui/libplplotqt.so, and examples/c++/qt_example showed no linking issues. Run-time tests were done with PLplot configured and built as above using the test_all_qt target without any showstopper errors for the shared library case in the build tree confirming Andrew's similar good run-time test results with a system version (as opposed to epa_built version) of Qt5. One major rendering issue is all text appears to be vertically offset by half a character height compared to Qt4 results. Fixing that issue is next on my agenda. svn path=/trunk/; revision=13089 M cmake/epa_build/CMakeLists.txt A cmake/epa_build/qt5_lite/CMakeLists.txt commit bf7c52b1c8c69e0ee03b2bd5ec797172f7031235 Author: Alan W. Irwin Date: Mon Mar 31 00:57:53 2014 +0000 Fix up several comprehensive testing issues with epa_build. The wxwidgets-related tests are still individually implemented for all platforms and for the Windows case those tests are dependencies of the more comprehensive interactive test targets. However, for the Unix case those dependencies have been dropped because of "forced mousing" issue that occurs with gtk+3 variant of wxwidgets that is beginning to be available (e.g., for epa_build) on Unix. Implement DROP_GTK_PLUS_2_BUILDS option (which defaults to OFF). When that option is turned ON, all targets which are related to gtk+2 only are dropped. This avoids build-time errors (for the static drivers case) or run-time errors (for the dynamic drivers case) due to clashes with gtk+3 libraries that are potentially used for other parts of PLplot (e.g., the cairo and wxwidgets device drivers). Tested on Linux using the build_plplot target of epa_build that is configured with -DCOMPREHENSIVE_PLPLOT_TEST_INTERACTIVE=ON and -DCOMPREHENSIVE_PLPLOT_TEST_NONINTERACTIVE=ON svn path=/trunk/; revision=13088 M cmake/epa_build/plplot/CMakeLists.txt M cmake/epa_build/plplot_lite/CMakeLists.txt M cmake/modules/cairo.cmake M cmake/modules/ocaml.cmake M cmake/modules/plplot.cmake M examples/CMakeLists.txt M plplot_test/CMakeLists.txt M plplot_test/plplot-test-interactive.sh.in commit 4fa6f2da8eff6ac1810cabbe82593deb2e624beb Author: Alan W. Irwin Date: Thu Mar 27 17:56:11 2014 +0000 Use more robust fix noted at http://savannah.gnu.org/bugs/?41965 by Mike Miller which does not depend on assumptions about the internal type used to represent Octave strings. fwrite (fid, text, "schar"); ==> fprintf (fid, "%s", text); This change passes the same test on Linux with Octave 3.6.2 as the last version. svn path=/trunk/; revision=13087 M bindings/octave/PLplot/support/__makeinfo__.m commit c1a569284ced4158b08cbf27bde21286ab3dbd62 Author: Alan W. Irwin Date: Thu Mar 27 01:12:32 2014 +0000 Add patched version of system __makeinfo__.m which uses the "schar" (signed character) type to write a documentation string to a temporary file. This fixes an Octave issue with the default "uchar" type for fwrite used by the system version of __makeinfo__.m. The result of that default type is all utf8 8-bit binary characters are replaced by nulls (which therefore truncates the output from the help command when the help string contains utf8 characters). This truncation is eliminated by this patched version of __makeinfo__.m, but this file should be withdrawn again once octave fixes bug 41965 and that fix propagates to most octave installations. Tested on Linux with octave 3.6.2 by changing directory to the top of the build tree, setting the octavedir environment variable export octavedir=bindings/octave:../plplot_allura/bindings/octave/PLplot:../plplot_allura/bindings/octave/PLplot/support/:../plplot_allura/bindings/octave/misc/: , and then executing the following octave commands inside an octave session: addpath(getenv("octavedir")); plplot_stub; help plot3dcl; The latter command gave the full expected utf8 help for plplot3dl without truncation. svn path=/trunk/; revision=13086 M bindings/octave/PLplot/support/CMakeLists.txt A bindings/octave/PLplot/support/__makeinfo__.m commit f290b1e7aacc6d6e42face84a4289f6e2fed4fee Author: Alan W. Irwin Date: Thu Mar 27 00:24:08 2014 +0000 One more post-massage cleanup. Remove bindings/octave/etc since this directory and its contents plplot.doc are no longer mentioned anywhere in our source tree. svn path=/trunk/; revision=13085 D bindings/octave/etc/plplot.doc commit f400ebc948c8c24809020bb7b08d938c0754177d Author: Alan W. Irwin Date: Fri Mar 21 20:40:45 2014 +0000 Both OCTAVE_HAS_CAIRO and OCTAVE_HAS_GTK are made configurable by the user with the default ON. svn path=/trunk/; revision=13084 M cmake/modules/ocaml.cmake commit 570bc056151374e31b30179b357db11be31144ea Author: Alan W. Irwin Date: Tue Mar 18 03:13:46 2014 +0000 Disable the octave binding for both plplot and plplot_lite. There is no epa_build of octave yet. Furthermore, non-epa_built versions of octave will have many dependencies that are likely to clash with the versions of the other PLplot dependencies that are epa_built. For the plplot (as opposed to plplot_lite) case on the Windows platform exclude the pango and qt4_lite dependencies and disable the corresponding PLplot capabilities because pango, qt4_lite, and all their dependent packages do not epa_build correctly yet on Windows. Thus, on Windows the only difference between plplot and plplot_lite at the moment is the former has a dependency on the wxwidgets epa_build and allows the corresponding wxwidgets device driver to be built and tested. On Unix, the differences between plplot and plplot_lite are larger; the former has a dependency on wxwidgets, pango, and qt4_lite and allows the corresponding PLplot capabilities to be built and tested. svn path=/trunk/; revision=13083 M cmake/epa_build/plplot/CMakeLists.txt M cmake/epa_build/plplot_lite/CMakeLists.txt commit d5512cc1031199dbce15179cfe169e0184e1dfe5 Author: Alan W. Irwin Date: Tue Mar 18 02:55:19 2014 +0000 Replace "d" by ${LIB_TAG} as appropriate so that new scheme with empty LIB_TAG works properly. This issue only affected the Windows case. svn path=/trunk/; revision=13082 M bindings/ada/CMakeLists.txt commit 0de80366eb9e43f691b3a1dd8418b8f876843597 Author: Alan W. Irwin Date: Mon Mar 17 19:56:51 2014 +0000 Use --with-gtk=3 option only for non-Windows case. svn path=/trunk/; revision=13081 M cmake/epa_build/wxwidgets/CMakeLists.txt commit 46e689749a5102f8ebda582584a512347151907a Author: Alan W. Irwin Date: Mon Mar 17 04:50:38 2014 +0000 Let plplot build using the wxwidgets device driver which was problematic before in the epa_build case because previously the epa_build of wxwidgets depended on a bad mixture of pango/cairo from gtk+3 stack and the rest of the gtk+2 stack from the Linux system. The resulting wxwidgets device driver builds find, and mostly runs fine as well (see further discussions about that on list). svn path=/trunk/; revision=13080 M cmake/epa_build/plplot/CMakeLists.txt commit 43e56884e665f1b83947fdda4c90ccd24f2afc7e Author: Alan W. Irwin Date: Mon Mar 17 04:46:07 2014 +0000 Update build from wxwidgets version 2.8.12 (which does not run correctly on Linux when linked to gtk+ version 3 that is built with epa_build) to to wxwidgets version 3.0.0. Add configure option --with-gtk=3 to inform wxwidgets-3.0.0 that it is meant to be built against gtk+ version 3. Work around build bug introduced as of wxwidgets-3.0.0 for a separate build tree by forcing an in-source build. The result builds without issues on Linux and mostly produces good run-time results with PLplot (see further discussion on list). svn path=/trunk/; revision=13079 M cmake/epa_build/wxwidgets/CMakeLists.txt commit 11247a38f67e2e62c09492b59c108a9293599fce Author: Alan W. Irwin Date: Sun Mar 16 23:09:57 2014 +0000 Add gtk+ dependency to wxwidgets for the Unix case and also add wxwidgets as a "starting" package for the top-level CMakeLists.txt file so a build of wxwidgets will always be possible regardless of whether plplot depends on it or not. svn path=/trunk/; revision=13078 M cmake/epa_build/CMakeLists.txt M cmake/epa_build/wxwidgets/CMakeLists.txt commit 5d2d4c7fc9514c37ddcdc786942da90fa1d60a8e Author: Alan W. Irwin Date: Sun Mar 16 22:22:46 2014 +0000 Mention LD_LIBRARY_PATH for the Unix case. svn path=/trunk/; revision=13077 M cmake/epa_build/README commit 09301284970828f25587bf91138b46f72e1e8262 Author: Alan W. Irwin Date: Sun Mar 16 22:20:32 2014 +0000 Set LD_LIBRARY_PATH environment variable to overcome some current rpath deficiencies of the gtk+ stack of libraries (but not pango/cairo subset of that stack). svn path=/trunk/; revision=13076 M cmake/epa_build/setup/setup_linux_makefiles commit dd155f8569f1b44431d347f3f801dd11907676bf Author: Alan W. Irwin Date: Sun Mar 16 20:50:39 2014 +0000 Update developer instructions for epa_build to be consistent with latest gtk+ results. Also, list the outstanding development issues that need work. svn path=/trunk/; revision=13075 M cmake/epa_build/README.developers commit d0d302c7db5bf94eba93afa9e66772641a0f983e Author: Alan W. Irwin Date: Sun Mar 16 20:21:30 2014 +0000 Drop swig from the automatically generated epa_build configurations because that configuration is hand-modified now. svn path=/trunk/; revision=13074 M cmake/epa_build/update_added_packages.sh commit ea3ea06c69437a7ff7d1892b386cb36d45d31e15 Author: Alan W. Irwin Date: Sun Mar 16 20:19:05 2014 +0000 Use clearer designations of the kind of packages. good ==> found bad ==> not found This change makes the error report easier to understand but does not change the principal results that are written to stdout. svn path=/trunk/; revision=13073 M cmake/epa_build/gtk_transform.py commit 9353b1d23c2053a87f9efaaea5472c6d4f142ce5 Author: Alan W. Irwin Date: Sun Mar 16 20:14:33 2014 +0000 Drop swig from the automatically generated epa_build configurations because that configuration is hand-modified now. svn path=/trunk/; revision=13072 M cmake/epa_build/add_packages.xml commit ec44607cd14fb619ddfb591a7761f032c3a22def Author: Alan W. Irwin Date: Sun Mar 16 20:12:20 2014 +0000 Update ignored dependencies list to be consistent with all other gtk+-related packages. This change has no practical effect because non of these additional ignored dependencies occur for these particular gtk+-related packages. svn path=/trunk/; revision=13071 M cmake/epa_build/gperf/CMakeLists.txt M cmake/epa_build/intltool/CMakeLists.txt M cmake/epa_build/libffi/CMakeLists.txt M cmake/epa_build/libpcre/CMakeLists.txt M cmake/epa_build/libxml2/CMakeLists.txt M cmake/epa_build/libxslt/CMakeLists.txt M cmake/epa_build/pixman/CMakeLists.txt M cmake/epa_build/ragel/CMakeLists.txt commit 4573c3ab4f400dedc4bb30968eb93ab312f247f7 Author: Alan W. Irwin Date: Sun Mar 16 18:23:01 2014 +0000 Update automatic procedure (including renaming configured_pango.patch to configured_gtk+.patch) for generating epa_build configurations for gtk+ and all its dependencies. (The previous version only generated the pango subset of those dependencies.) The results of this procedure are consistent with the series of tested commits just made for the epa_build configurations of gtk+ and its dependencies. svn path=/trunk/; revision=13070 M cmake/epa_build/configure_epa.cmake A cmake/epa_build/configured_gtk+.patch D cmake/epa_build/configured_pango.patch M cmake/epa_build/patch_gtk_packages.xml M cmake/epa_build/update_gtk+_packages.sh commit 49b69070d902fb222bf2ca08639b84be50d409b4 Author: Alan W. Irwin Date: Sun Mar 16 18:15:12 2014 +0000 Add epa_build configurations for gtk+ and all its dependencies that are not already part of epa_build. Note to save build time, this is a somewhat "lite" version of gtk+ where the wayland dependency and installed tests have been disabled. Replace pango by gtk+ in the list of principal packages in the top-level CMakeLists.txt to suck in all dependencies of gtk+ (including pango and its dependencies) into the epa_build configuration. Tested on Linux using the build_gtk+ target. The resulting build was a success (no obvious build errors) and required 23 minutes on my 5-year old PC. svn path=/trunk/; revision=13069 M cmake/epa_build/CMakeLists.txt A cmake/epa_build/at-spi2-atk/CMakeLists.txt A cmake/epa_build/at-spi2-core/CMakeLists.txt A cmake/epa_build/atk/CMakeLists.txt A cmake/epa_build/gdk-pixbuf/CMakeLists.txt A cmake/epa_build/gnome-common/CMakeLists.txt A cmake/epa_build/gtk+/CMakeLists.txt A cmake/epa_build/libxkbcommon/CMakeLists.txt commit 013e106253150bb6ae7b91c977f80f25c117e1e4 Author: Alan W. Irwin Date: Sun Mar 16 17:53:19 2014 +0000 Straighten out the dependency mess for glib and gt-doc. gtk-doc has a real dependency on glib so must add that dependency to gtk-doc. But that normally would introduce a circular dependency since glib depends on gtk-doc! So in addition to the gtk-doc package change, fix that circular dependency by disabling use of gtk-doc for glib, and dropping the dependency of glib on gtk-doc. svn path=/trunk/; revision=13068 M cmake/epa_build/glib/CMakeLists.txt M cmake/epa_build/gtk-doc/CMakeLists.txt commit 94068c8228d118713d31a1b11e2ff67384c74bc1 Author: Alan W. Irwin Date: Sun Mar 16 17:44:06 2014 +0000 Add needed glib dependency for cairo. svn path=/trunk/; revision=13067 M cmake/epa_build/cairo/CMakeLists.txt commit fcc8fc0289059d309ca152704a7f0e4e5c21a651 Author: Alan W. Irwin Date: Sun Mar 16 17:41:17 2014 +0000 Update ignored dependencies list to be consistent with all other gtk+-related packages. This change has no practical effect because non of this additional ignored dependencies occur for these particular gtk+-related packages. svn path=/trunk/; revision=13066 M cmake/epa_build/fontconfig/CMakeLists.txt M cmake/epa_build/gobject-introspection/CMakeLists.txt M cmake/epa_build/harfbuzz/CMakeLists.txt M cmake/epa_build/itstool/CMakeLists.txt M cmake/epa_build/pango/CMakeLists.txt M cmake/epa_build/yelp-tools/CMakeLists.txt M cmake/epa_build/yelp-xsl/CMakeLists.txt commit f3356aff1e9cb073b2126d83e568155a02e02a0a Author: Alan W. Irwin Date: Sun Mar 16 00:37:56 2014 +0000 Get rid of all current official notices since those are only relevant to the 5.10.0 release. Add an official notice concerning the backwards incompatible "d" suffix removal. svn path=/trunk/; revision=13065 M README.release commit d1a2aaa7155c80a6253a9e40e01b79b3d5447300 Author: Alan W. Irwin Date: Sun Mar 16 00:35:36 2014 +0000 Force LIB_TAG to be the empty string as discussed on list. Tested on Linux using the test_interactive and test_noninteractive targets in the build tree. svn path=/trunk/; revision=13064 M cmake/modules/double.cmake commit fd4283c94683ed7e934597d31d8424a21f4be29f Author: Alan W. Irwin Date: Sun Mar 16 00:26:59 2014 +0000 Prepend README.release for 5.10.0 to this file to preserve the historical record. svn path=/trunk/; revision=13063 M OLD-README.release commit 09a867f3a59a13420acef08b8631f9dc86b902b1 Author: Andrew Ross Date: Sat Mar 15 21:06:52 2014 +0000 Changes to qt_example so it works (in the build tree) with Qt5. Still need to fix the install tree case. svn path=/trunk/; revision=13062 M examples/c++/CMakeLists.txt M examples/c++/qt_PlotWindow.h commit ce2d7e8bf7d28420a47e81af168bab0e95bb4d65 Author: Andrew Ross Date: Sat Mar 15 20:23:02 2014 +0000 Lower minimum qt5 version requirements based on tests with Debian unstable. svn path=/trunk/; revision=13061 M cmake/modules/qt.cmake commit e81b9b6b4f691f899527812b69dc08377ab8f285 Author: Alan W. Irwin Date: Sat Mar 15 17:39:59 2014 +0000 Rename update_pango_packages.sh ==> update_gtk+_packages.sh in preparation for changes in that script that will configure all of gtk+ and its dependencies. svn path=/trunk/; revision=13060 A cmake/epa_build/update_gtk+_packages.sh D cmake/epa_build/update_pango_packages.sh commit e937a1f3f55f7aa9676ffb6f289bdc7805f0cf7f Author: Alan W. Irwin Date: Sat Mar 15 01:40:59 2014 +0000 Use improved placement for the block of CMake code that might in the future create a dependency on the moc_outfile_generated target which is now available for both the Qt4 and Qt5 cases. Note this changed placement currently has no practical effect and is only for didactic reasons since this actual block of code is currently not executed (ANY_QT_DEVICE and NOT ENABLE_qt cannot currently be simultanously true). svn path=/trunk/; revision=13059 M drivers/CMakeLists.txt commit 4f1cfaeaa7a17ee87464fade6ab9f0e405caf41e Author: Andrew Ross Date: Sat Mar 15 00:28:58 2014 +0000 Update qt5 support so moc is properly called on qt.h. svn path=/trunk/; revision=13058 M include/CMakeLists.txt M include/moc_files.h.in commit 77264275609c59b64fcaeb8940abe81dfd2017a1 Author: Andrew Ross Date: Fri Mar 14 23:17:42 2014 +0000 Some more minor fixes to get plplot compiling with Qt5. These were required for Linux with Qt 5.2.0. svn path=/trunk/; revision=13057 M bindings/qt_gui/CMakeLists.txt M bindings/qt_gui/plqt.cpp M drivers/CMakeLists.txt M src/CMakeLists.txt commit 2b6cc5995817acefb68039871c1fe69dd136caa7 Author: Alan W. Irwin Date: Fri Mar 14 17:24:49 2014 +0000 Add some extra introductory paragraphs explaining the purpose of epa_build. svn path=/trunk/; revision=13056 M cmake/epa_build/README commit 3cd668de07822574e2dd084bb620226313a98767 Author: Alan W. Irwin Date: Fri Mar 14 04:38:18 2014 +0000 For the Qt5 case set PLD_epsqt to OFF since Qt5 does not support PostScript. This change requires rearrangment of the logic so that the order of the variable processing changes from ANY_QT_DEVICE ==> ENABLE_qt ==> PLPLOT_USE_QT5 to ENABLE_qt ==> PLPLOT_USE_QT5 ==> ANY_QT_DEVICE. Visual inspection of the code appears to indicate there should be no issues with this new order. svn path=/trunk/; revision=13055 M cmake/modules/qt.cmake commit 28c13dd4b6e0614b79f79aa49cb8917ef08906bc Author: Alan W. Irwin Date: Fri Mar 14 04:24:20 2014 +0000 Straighten out some endif inconsistencies introduced by the last commit that had no consequences other than a warning message. svn path=/trunk/; revision=13054 M src/CMakeLists.txt commit 29f88aa5bc6361fc73995e6147fca331243f3037 Author: Alan W. Irwin Date: Thu Mar 13 23:01:25 2014 +0000 Only call set_qt_target_properties for the Qt4 case. (The Qt5 case is handled an entirely different way that never involves set_qt_target_properties.) svn path=/trunk/; revision=13053 M src/CMakeLists.txt commit 001bec7ad70f6ba886e1d7b87aae64697b66ce4d Author: Alan W. Irwin Date: Thu Mar 13 19:26:25 2014 +0000 Fix typographical error in how Qt5 components are specified. (This change only affects the experimental -DPLPLOT_USE_QT5=ON case.) svn path=/trunk/; revision=13052 M bindings/qt_gui/CMakeLists.txt M drivers/CMakeLists.txt M src/CMakeLists.txt commit 3e817e86de27eaf9eec7ecac400c29e6fe48bd4c Author: Alan W. Irwin Date: Wed Mar 12 23:39:20 2014 +0000 Fix typographical error that made "package require Pltcl" fail under tclsh on the MinGW/MSYS platform. This fix allows the test_tclsh_standard_examples target to work on MinGW/MSYS. As a result, an epa_build of the build_plplot_lite target using -DCOMPREHENSIVE_PLPLOT_TEST_INTERACTIVE=ON works for the very first time on my MinGW/MSYS/Wine platform. svn path=/trunk/; revision=13051 M bindings/tcl/pkgIndex.tcl.in commit 365c5cf158f1bf249eb4d8b56ed4a1d13619a6a8 Author: Alan W. Irwin Date: Wed Mar 12 20:54:20 2014 +0000 Initial commit of experimental build_system support for finding Qt5. svn path=/trunk/; revision=13050 M bindings/qt_gui/CMakeLists.txt M cmake/modules/qt.cmake M drivers/CMakeLists.txt M examples/c++/CMakeLists.txt M include/CMakeLists.txt M include/moc_files.h.in M plplot_config.h.in M src/CMakeLists.txt commit 143ddcb5108b233288b092bff63dfefaf5beb1eb Author: Alan W. Irwin Date: Wed Mar 12 05:25:04 2014 +0000 Until http://sourceforge.net/p/plplot/bugs/144/ is fixed, temporarily remove test_pltcl_standard_examples as a dependency of more general test targets on the affected platforms (only WIN32_AND_NOT_CYGWIN as far as I can tell) so those more general targets do not error out because of this bug. svn path=/trunk/; revision=13049 M examples/CMakeLists.txt commit f18f024823bb3df3f910befb67377dc0360e6273 Author: Alan W. Irwin Date: Sun Mar 9 19:12:43 2014 +0000 Improve PLplot version information for the installed headers. Propagate PLPLOT_VERSION macro to the installed headers. #define and propagate PLPLOT_VERSION_MAJOR, PLPLOT_VERSION_MINOR, and PLPLOT_VERSION_PATCH to the installed headers. svn path=/trunk/; revision=13048 M cmake/modules/plplot_version.cmake M include/plConfig.h.in M plplot_config.h.in commit d84acd188857c001ae41ab8b4a7ba935fd65eb2e Author: Alan W. Irwin Date: Sun Mar 9 18:54:17 2014 +0000 Tweak commentary. svn path=/trunk/; revision=13047 M bindings/tk/plserver.c commit 7c018778771e5f364f8cbe530e4a35e239a36653 Author: Alan W. Irwin Date: Thu Mar 6 17:56:23 2014 +0000 Set svn:eol-style property to native. svn path=/trunk/; revision=13046 M cmake/modules/FindFreetype.cmake M cmake/modules/FindwxWidgets.cmake commit fe051d752b3ea6fa46832799e37bdb35a0d93150 Author: Phil Rosenberg Date: Thu Mar 6 13:26:33 2014 +0000 Added Workaround for finding 64 bit wxWidgets for NMake svn path=/trunk/; revision=13045 M cmake/modules/FindwxWidgets.cmake commit 4a13bd6704b6bb68bec50289e7e173c4089b9937 Author: Alan W. Irwin Date: Thu Mar 6 00:05:26 2014 +0000 Solve scaling issue (https://sourceforge.net/p/plplot/bugs/143/) demonstrated by the extXdrawable_demo application. Thanks to Jens (https://sourceforge.net/u/jensplplot/profile/) for reporting this issue which I was able to confirm by attempting to resize the extXdrawable_demo GUI. I have applied the fix suggested by Jens which in retrospect is obvious; when you change the geometry by resizing the window, the result is reported back by the call to XGetGeometry, and the scale factor must be adjusted to compensate for that changed geometry right after that call. After this fix, resizing the extXdrawable_demo GUI produced no strange line artifacts (presumably caused by short overflows) that were present before the fix. svn path=/trunk/; revision=13044 M drivers/cairo.c commit 04397208e138e5fb0d542a01ff7edda531288f51 Author: Alan W. Irwin Date: Wed Mar 5 20:19:04 2014 +0000 Fix long-standing memory management issue discovered accidentally by a valgrind run on plserver. The argv argument to main is an array of argc + 1 pointers. The first argc of these point to NULL-terminated strings while the last is a NULL pointer (according to both Linux and Windows documentation of main that I have read). Tk_ParseArgv follows this same standard (i.e., writes a NULL pointer as the argc element of the argv array) when it modifies argc and argv. Previously there was only room in myargv for myargc = original argc elements, but that has now been changed to argc+1, and that solves the memory management issue as expected. Writing a NULL just off the end of an allocated block of memory in the heap is generally not a good thing to do and this fix addresses that issue. However, plserver has been reliable before this fix so it appears we were by accident escaping unscathed from this memory management issue. So the practical effect of this fix will not be apparent at the moment, but plserver should be more robust against further changes which might have generated a segfault without the present memory management fix. svn path=/trunk/; revision=13043 M bindings/tk/plserver.c commit 6dffc85eb1b98315f0a3dc59f09091357feab922 Author: Alan W. Irwin Date: Wed Mar 5 01:54:00 2014 +0000 Change website to display 10 pages for standard example 8 to adjust to recent change for that example. svn path=/trunk/; revision=13042 M www/examples.php commit 7e20fad53cf119b491b4dc882f797746e8ce41ca Author: Alan W. Irwin Date: Wed Mar 5 01:26:47 2014 +0000 Add remark that plsurf3dl is used is example 8. svn path=/trunk/; revision=13041 M doc/docbook/src/api.xml commit b2f14263d918439273c716743df38d142b407a54 Author: Alan W. Irwin Date: Wed Mar 5 01:22:58 2014 +0000 Style previous commit. svn path=/trunk/; revision=13040 M examples/c/x08c.c commit f5a4869dd0ed81605fcf8088345f4a59c191abec Author: Alan W. Irwin Date: Wed Mar 5 00:58:02 2014 +0000 Add a 4th (and 8th) page that demonstrates plsurf3dl results for Y index ranges that follow an ellipse (subject to integer quantization). svn path=/trunk/; revision=13039 M examples/c/x08c.c commit e973b14b0360c3c833ebaf003a1b8e42eeaca971 Author: Alan W. Irwin Date: Tue Mar 4 21:09:29 2014 +0000 Propagate plot3dcl and plsurf3dcl to Octave binding for PLplot. Build tested on Linux, and I also demonstrated with interactive octave use that "help plot3dcl" and "help plsurf3dcl" give the expected (because of the Octave help string bug for UTF-8) truncated result. There were no run time tests of these functions since they are not (yet) used in any examples. svn path=/trunk/; revision=13038 M bindings/octave/plplot_octave.i M bindings/swig-support/swig_documentation.i commit 20eb8e7628771b3bad1e6b6d61ff3f985f4f6e69 Author: Alan W. Irwin Date: Tue Mar 4 20:42:19 2014 +0000 Style previous commit. svn path=/trunk/; revision=13037 M src/plvect.c commit eddc2de3fcb4ebcf8940fdf2115cd6dc25b04f5b Author: Alan W. Irwin Date: Tue Mar 4 20:41:18 2014 +0000 Fix syntax error (missing double quote) introduced by last commit. svn path=/trunk/; revision=13036 M scripts/style_source.sh commit 285a44d9a8702cff786a601cca34c7899b092a00 Author: Alan W. Irwin Date: Tue Mar 4 19:11:54 2014 +0000 Update Python and Octave documentation strings consistent with doc/docbook/src/api.xml. This update includes the following interrelated components. Update api2swigdoc.pl by forming a rename hash to keep track of the renaming that occurs in bindings/octave/plplot_octave.i, and using the renamed documentation names for the Octave documentation case. This solves a bug that occurred in the previous version where documentation of the renamed octave functions was lost. Propagate the improved results from api2swigdoc.pl using the check_swig_documentation target and copying the comparison file generated with api2swigdoc.pl to bindings/swig-support/swig_documentation.i. This is a major change to that latter file not only because of the api2swigdoc.pl changes but also because api.xml has been updated extensively since the last time the check_swig_documentation target was run. For example, api.xml includes UTF-8 characters now so those have been propagated to bindings/swig-support/swig_documentation.i. The UTF-8 characters in swig_documentation.i trigger an Octave bug where help strings which include UTF-8 characters are displayed in a truncated fashion, i.e., only displayed up to the first such character. Such truncated display is not a showstopper bug, but it is an annoyance. We have now made an extremely simple test case not involving PLplot which shows the display bug, and Andrew is investigating that test case further. The UTF-8 characters in swig_documentation.i end up in the swig-generated file bindings/python/plplotc.py which causes run-time problems since that file has no encoding string on the first or second line (which is demanded by Python standards). Swig should give users control of the encoding of that file, but to work around that swig bug, I have created the _plplotcmodule_fixed custom target which uses sed (now required to build the Python binding of PLplot) to append " It uses coding: utf-8" to the first line of that file. Changed target depends (just in the build tree since the fixed plplotc.py is automatically installed with no further action required in the installed examples tree) from _plplotcmodule to _plplotcmodule_fixed. The result has been tested on Linux using the test_noninteractive and test_interactive targets in the build tree and also (using the CMake-based build system) for the installed examples tree. svn path=/trunk/; revision=13035 M bindings/octave/plplot_octave.i M bindings/python/CMakeLists.txt M bindings/swig-support/CMakeLists.txt M bindings/swig-support/swig_documentation.i M cmake/modules/python.cmake M doc/docbook/bin/api2swigdoc.pl M examples/CMakeLists.txt M examples/python/CMakeLists.txt commit 94d9b896cf7605a0216b6644bfc606051c0311f3 Author: Alan W. Irwin Date: Tue Mar 4 17:52:01 2014 +0000 Fix parentheses error introduced by last commit. svn path=/trunk/; revision=13034 M examples/octave/x28c.m commit a95d05f2ec8cd7b13980ea781bfe8e216772a9fd Author: Phil Rosenberg Date: Tue Mar 4 10:02:23 2014 +0000 New findwxWidgets module taken from nightly build of CMake. This provides support for wxWidgets 2.9 and 3.0. It also attempts to get the selection of 32 and 64 bit libraries correct by checking CMAKE_CL_64, however, for me this doesn't work. I have added a check for generators ending Win64 which gives correct selection for visual studio, but currently the NMake genrator always gets the 32 bit version. I'm awaiting feedback from CMake devs. svn path=/trunk/; revision=13033 A cmake/modules/FindwxWidgets.cmake commit c83b088174a54628edc4e2065e422afb132d0a8c Author: Phil Rosenberg Date: Mon Mar 3 20:57:43 2014 +0000 New findFreetype.cmake module taken from nightly build of CMake 3.0 to give freetype 2.5 support. svn path=/trunk/; revision=13032 A cmake/modules/FindFreetype.cmake commit 1b4d1278536fe1bcc25316852f838e0c5854933f Author: Alan W. Irwin Date: Fri Feb 28 20:25:47 2014 +0000 Display last page of example 27. svn path=/trunk/; revision=13031 M www/examples.php commit cf614a04600586be3cb6d871090a027d376db3ad Author: Andrew Ross Date: Fri Feb 28 13:20:26 2014 +0000 Update Debian package support for 5.9.10. Note this won't currently work on sid as it requires swig-2.0.12 which is not yet available. svn path=/trunk/; revision=13030 D debian/patches/fix-d-examples.diff M debian/patches/fix-lua-includes.diff D debian/patches/fix-python-exec-bit.diff A debian/patches/octave_3.8_support.diff M debian/patches/series commit 45997c4cd1cd2262ea089f49f9ff8378a7edc3f8 Author: Andrew Ross Date: Fri Feb 28 13:18:53 2014 +0000 Remove extraneous whitespace from examples. svn path=/trunk/; revision=13029 M examples/octave/x28c.m M examples/octave/x33c.m commit b7414d1c4e2e2045819f08aa91014b6111fef412 Author: Andrew Ross Date: Fri Feb 28 12:54:44 2014 +0000 Fixes to octave examples + scripts to ensure they work with octave 3.8. svn path=/trunk/; revision=13028 M examples/octave/x23c.m M examples/octave/x28c.m M examples/octave/x33c.m M plplot_test/test_octave.sh.in commit a7b7e1fc46506c28922dd145056ea9ea4f974d83 Author: Hazen Babcock Date: Fri Feb 28 01:43:31 2014 +0000 Fix divide by zero error in the case where umax or vmax are all zero. svn path=/trunk/; revision=13027 M src/plvect.c commit 2eb1153a61328931d0709ff910a42e6254db418f Author: Alan W. Irwin Date: Wed Feb 26 01:14:43 2014 +0000 Update shapelib find module to remove additional find paths (which are normally not required and which can add trouble on certain platforms) and to look for both "shp" and "shapelib" for the name of the library. (Thanks to Phil Rosenberg for the latter suggestion.) svn path=/trunk/; revision=13026 M cmake/modules/FindShapelib.cmake commit 8711724357b6c092e7ea580a17ece998fb97dd34 Author: Alan W. Irwin Date: Wed Feb 26 00:38:44 2014 +0000 Use version of FindFreetype.cmake that is officially distributed with CMake. Tested on Linux with a build test and also a run-time test with -dev wxwidgets -drvopt freetype=1,backend=0 for example 24 which gave the usual crummy plfreetype results for that example. These tests exclude the gd and gcw devices (deprecated/retired) and the wingcc device (not available on Linux). svn path=/trunk/; revision=13025 D cmake/modules/FindFreetype.cmake M cmake/modules/freetype.cmake M cmake/modules/gcw.cmake M cmake/modules/gd.cmake M cmake/modules/wingcc.cmake M cmake/modules/wxwidgets.cmake M src/CMakeLists.txt commit 98c21b7bda5c3d61c4d8b1390eefbe71b7544e32 Author: Alan W. Irwin Date: Tue Feb 25 00:27:53 2014 +0000 Suppress warnings about "wide" UTF-8 characters in man results. Those characters display without issues using the man command, but for some reason, there are display issues for the corresponding nroff -man command. Of course, it is the official man results that we want so the strange nroff results for UTF-8 characters should be regarded as a curiosity until we can figure out the nroff options to display those properly. svn path=/trunk/; revision=13024 M doc/docbook/bin/api2man.pl.in commit 4cacd03ea5be04b591e69ed64c0ec2d228fac488 Author: Alan W. Irwin Date: Mon Feb 24 23:53:42 2014 +0000 Remove unneeded "coding: utf-8" comments. Previously these occurred inconsistently (i.e., not for all utf-8 examples) for all languages other than Python demonstrating these comments are not needed for non-Python examples. As a result of this commit the only such comments left are for Python files where such comments are absolutely required by that language. svn path=/trunk/; revision=13023 M examples/c/x18c.c M examples/c/x26c.c M examples/c/x33c.c M examples/d/x26d.d M examples/d/x33d.d M examples/f95/x26f.f90 M examples/f95/x33f.f90 M examples/perl/x26.pl M examples/perl/x33.pl M examples/tcl/x26.tcl commit 8e54eaa10ec9de6a0ee852607ae16dd972f91636 Author: Alan W. Irwin Date: Mon Feb 24 23:26:54 2014 +0000 More simplification of the Octave build. Remove the generation (done by api2text.pl) of Octave text documentation files in bindings/plplot_octave_txt since those documentation files are no longer used to build the Octave binding. Instead, the on-line help for the Octave (and Python) bindings is now produced by swig using bindings/swig-support/swig_documentation.i. That file is generated using api2swigdoc.pl which was derived from the (now removed) api2text.pl script. These changes were tested on Linux using the method specified in README.Release_Manager_Cookbook to create and test the release tarball. That tarball creation includes generating all PLplot documentation and sticking it in the created tarball. svn path=/trunk/; revision=13022 M CMakeLists.txt M bindings/octave/CMakeLists.txt M bindings/swig-support/CMakeLists.txt M doc/docbook/README.developers D doc/docbook/bin/api2text.pl M scripts/parity_bit_check.exclude commit e7d2c8feb28e3736a3a906d53d2b2c9a66f7baaf Author: Alan W. Irwin Date: Mon Feb 24 21:21:59 2014 +0000 More simplification of the octave build. Remove unused massage.c and all references to that file. svn path=/trunk/; revision=13021 D bindings/octave/massage.c M scripts/style_source.sh commit 94ef067e412d9258f0257e46fa5554980c9522f2 Author: Alan W. Irwin Date: Mon Feb 24 21:19:51 2014 +0000 Replace autotools part of the instructions with the equivalent CMake-based instructions. svn path=/trunk/; revision=13020 M bindings/octave/INSTALL commit 00812e753db2392fcf8f0699afb40004a89d644b Author: Alan W. Irwin Date: Mon Feb 24 20:06:57 2014 +0000 As alluded to previously on list, remove $Id keyword from files and remove all svn:keywords properties and all "keywords" properties (historically set in error instead of svn:keywords) from files. This change should completely get rid of the previous issue that an svn commit would change some file contents and thus automatically (and unexpectedly) regenerate parts of the build. Tested on Linux using svn diff -x -w |grep '^[+-]' |grep -v Id |grep -v '+++' \ |grep -v '\-\-\-' |grep -v Copyright |less to check for editing errors. Tested on Linux using the test_interactive and test_noninteractive targets in the build tree for the shared libraries/dynamic devices case. This test should test most source code, but does not test documentation files for any editing mistakes where we must rely on the previous test. svn path=/trunk/; revision=13019 M bindings/ada/plplot.adb M bindings/ada/plplot.ads M bindings/ada/plplot_auxiliary.adb M bindings/ada/plplot_auxiliary.ads M bindings/ada/plplot_thin.adb M bindings/ada/plplot_thin.ads M bindings/ada/plplot_traditional.adb M bindings/ada/plplot_traditional.ads M bindings/c++/plstream.cc M bindings/c++/plstream.h M bindings/f95/configurable.f90 M bindings/f95/plstubs.h M bindings/f95/sc3d.c M bindings/f95/sccont.c M bindings/f95/scstubs.c M bindings/f95/sfstubs.f90 M bindings/f95/sfstubsf95.f90 M bindings/f95/strutil.f90 M bindings/tcl/matrixInit.c M bindings/tcl/pkgIndex.tcl.in M bindings/tcl/plapi.tpl M bindings/tcl/plitclgen M bindings/tcl/plitclgen.tcl M bindings/tcl/pltcl.c M bindings/tcl/pltcl.h M bindings/tcl/pltclgen M bindings/tcl/pltclgen.tcl M bindings/tcl/tclAPI.c M bindings/tcl/tclMain.c M bindings/tcl/tclMatrix.c M bindings/tcl/tclMatrix.h M bindings/tk-x-plat/Plplotter_Init.c M bindings/tk-x-plat/Plwindow.tcl M bindings/tk-x-plat/pkgIndex.tcl.in M bindings/tk-x-plat/plplotter.c M bindings/tk-x-plat/pltkwd.h M bindings/tk-x-plat/plwidget2.tcl M bindings/tk/FileSelector.tcl M bindings/tk/PLWin.itk M bindings/tk/PLXWin.itk M bindings/tk/Pltk_Init.c M bindings/tk/Pltkwin.tcl M bindings/tk/about.tcl M bindings/tk/help_gui.tcl M bindings/tk/help_keys.tcl M bindings/tk/help_tcltk.tcl M bindings/tk/pkgIndex.tcl.in M bindings/tk/plclient.tcl M bindings/tk/plcolor.tcl M bindings/tk/plconfig.tcl M bindings/tk/pldefaults.tcl M bindings/tk/plframe.c M bindings/tk/plr.c M bindings/tk/plserver.c M bindings/tk/plserver.h M bindings/tk/plserver.tcl M bindings/tk/pltk.h M bindings/tk/pltkd.h M bindings/tk/pltools.tcl M bindings/tk/plwidget.tcl M bindings/tk/tcpip.c M bindings/tk/tcpip.h M bindings/tk/tkMain.c M bindings/tk/tkshell.c M bindings/wxwidgets/wxPLplotstream.cpp M bindings/wxwidgets/wxPLplotstream.h.in M bindings/wxwidgets/wxPLplotwindow.cpp M bindings/wxwidgets/wxPLplotwindow.h M doc/docbook/README.developers M doc/docbook/bin/api2man.pl.in M doc/docbook/bin/api2swigdoc.pl M doc/docbook/bin/api2text.pl M drivers/cgm.c M drivers/dg300.c M drivers/gd.c M drivers/hpgl.c M drivers/impress.c M drivers/linuxvga.c M drivers/ljii.c M drivers/ljiip.c M drivers/mem.c M drivers/ntk.c M drivers/null.c M drivers/pbm.c M drivers/pdf.c M drivers/plmeta.c M drivers/ps.c M drivers/pstex.c M drivers/psttf.cc M drivers/tek.c M drivers/tk.c M drivers/tkwin.c M drivers/wingcc.c M drivers/wxwidgets.cpp M drivers/wxwidgets.h M drivers/wxwidgets_agg.cpp M drivers/wxwidgets_app.cpp M drivers/wxwidgets_dc.cpp M drivers/wxwidgets_gc.cpp M drivers/xfig.c M drivers/xwin.c M examples/ada/x00_easy_a.adb M examples/ada/x00a.adb M examples/ada/x01a.adb M examples/ada/x02a.adb M examples/ada/x03a.adb M examples/ada/x04a.adb M examples/ada/x05a.adb M examples/ada/x06a.adb M examples/ada/x07a.adb M examples/ada/x08a.adb M examples/ada/x09a.adb M examples/ada/x10a.adb M examples/ada/x11a.adb M examples/ada/x12a.adb M examples/ada/x13a.adb M examples/ada/x14a.adb M examples/ada/x15a.adb M examples/ada/x16a.adb M examples/ada/x17a.adb M examples/ada/x18a.adb M examples/ada/x19a.adb M examples/ada/x20a.adb M examples/ada/x21a.adb M examples/ada/x22a.adb M examples/ada/x23a.adb M examples/ada/x24a.adb M examples/ada/x25a.adb M examples/ada/x26a.adb M examples/ada/x27a.adb M examples/ada/x28a.adb M examples/ada/x29a.adb M examples/ada/x30a.adb M examples/ada/x31a.adb M examples/ada/x33a.adb M examples/ada/xthick00a.adb M examples/ada/xthick01a.adb M examples/ada/xthick02a.adb M examples/ada/xthick03a.adb M examples/ada/xthick04a.adb M examples/ada/xthick05a.adb M examples/ada/xthick06a.adb M examples/ada/xthick07a.adb M examples/ada/xthick08a.adb M examples/ada/xthick09a.adb M examples/ada/xthick10a.adb M examples/ada/xthick11a.adb M examples/ada/xthick12a.adb M examples/ada/xthick13a.adb M examples/ada/xthick14a.adb M examples/ada/xthick15a.adb M examples/ada/xthick16a.adb M examples/ada/xthick17a.adb M examples/ada/xthick18a.adb M examples/ada/xthick19a.adb M examples/ada/xthick20a.adb M examples/ada/xthick21a.adb M examples/ada/xthick22a.adb M examples/ada/xthick23a.adb M examples/ada/xthick24a.adb M examples/ada/xthick25a.adb M examples/ada/xthick26a.adb M examples/ada/xthick27a.adb M examples/ada/xthick28a.adb M examples/ada/xthick29a.adb M examples/ada/xthick30a.adb M examples/ada/xthick31a.adb M examples/ada/xthick33a.adb M examples/c++/plc++demos.h M examples/c++/wxPLplotDemo.cpp M examples/c++/x00.cc M examples/c++/x01.cc M examples/c++/x01cc.cc M examples/c++/x02.cc M examples/c++/x03.cc M examples/c++/x04.cc M examples/c++/x05.cc M examples/c++/x06.cc M examples/c++/x07.cc M examples/c++/x08.cc M examples/c++/x09.cc M examples/c++/x10.cc M examples/c++/x11.cc M examples/c++/x12.cc M examples/c++/x13.cc M examples/c++/x14.cc M examples/c++/x15.cc M examples/c++/x16.cc M examples/c++/x17.cc M examples/c++/x18.cc M examples/c++/x19.cc M examples/c++/x20.cc M examples/c++/x21.cc M examples/c++/x22.cc M examples/c++/x23.cc M examples/c++/x25.cc M examples/c++/x26.cc M examples/c++/x27.cc M examples/c++/x28.cc M examples/c++/x29.cc M examples/c++/x30.cc M examples/c++/x31.cc M examples/c++/x33.cc M examples/c/plcdemos.h M examples/c/test_plend.c M examples/c/tutor.c M examples/c/x00c.c M examples/c/x01c.c M examples/c/x02c.c M examples/c/x03c.c M examples/c/x04c.c M examples/c/x05c.c M examples/c/x06c.c M examples/c/x07c.c M examples/c/x08c.c M examples/c/x09c.c M examples/c/x10c.c M examples/c/x11c.c M examples/c/x12c.c M examples/c/x13c.c M examples/c/x14c.c M examples/c/x15c.c M examples/c/x16c.c M examples/c/x17c.c M examples/c/x18c.c M examples/c/x19c.c M examples/c/x20c.c M examples/c/x21c.c M examples/c/x22c.c M examples/c/x25c.c M examples/c/x26c.c M examples/c/x27c.c M examples/c/x28c.c M examples/c/x29c.c M examples/c/x31c.c M examples/c/x32c.c M examples/c/x33c.c M examples/c/x34c.c M examples/d/x00d.d M examples/d/x01d.d M examples/d/x02d.d M examples/d/x03d.d M examples/d/x04d.d M examples/d/x05d.d M examples/d/x06d.d M examples/d/x07d.d M examples/d/x08d.d M examples/d/x09d.d M examples/d/x10d.d M examples/d/x11d.d M examples/d/x12d.d M examples/d/x13d.d M examples/d/x14d.d M examples/d/x15d.d M examples/d/x16d.d M examples/d/x17d.d M examples/d/x18d.d M examples/d/x19d.d M examples/d/x20d.d M examples/d/x21d.d M examples/d/x22d.d M examples/d/x23d.d M examples/d/x24d.d M examples/d/x25d.d M examples/d/x26d.d M examples/d/x27d.d M examples/d/x28d.d M examples/d/x29d.d M examples/d/x30d.d M examples/d/x31d.d M examples/d/x33d.d M examples/f95/plf95demolib.f90 M examples/f95/x00f.f90 M examples/f95/x01f.f90 M examples/f95/x02f.f90 M examples/f95/x03f.f90 M examples/f95/x04f.f90 M examples/f95/x05f.f90 M examples/f95/x06f.f90 M examples/f95/x07f.f90 M examples/f95/x08f.f90 M examples/f95/x09f.f90 M examples/f95/x10f.f90 M examples/f95/x11f.f90 M examples/f95/x12f.f90 M examples/f95/x13f.f90 M examples/f95/x14f.f90 M examples/f95/x15f.f90 M examples/f95/x16af.f90 M examples/f95/x16f.f90 M examples/f95/x17f.f90 M examples/f95/x18f.f90 M examples/f95/x19f.f90 M examples/f95/x20f.f90 M examples/f95/x21f.f90 M examples/f95/x22f.f90 M examples/f95/x23f.f90 M examples/f95/x24f.f90 M examples/f95/x25f.f90 M examples/f95/x26f.f90 M examples/f95/x27f.f90 M examples/f95/x28f.f90 M examples/f95/x29f.f90 M examples/f95/x30f.f90 M examples/f95/x31f.f90 M examples/f95/x33f.f90 M examples/java/x00.java M examples/java/x01.java M examples/java/x02.java M examples/java/x03.java M examples/java/x04.java M examples/java/x05.java M examples/java/x06.java M examples/java/x07.java M examples/java/x08.java M examples/java/x09.java M examples/java/x10.java M examples/java/x11.java M examples/java/x12.java M examples/java/x13.java M examples/java/x14.java M examples/java/x15.java M examples/java/x16.java M examples/java/x17.java M examples/java/x18.java M examples/java/x19.java M examples/java/x20.java M examples/java/x21.java M examples/java/x22.java M examples/java/x23.java M examples/java/x24.java M examples/java/x25.java M examples/java/x26.java M examples/java/x27.java M examples/java/x28.java M examples/java/x29.java M examples/java/x30.java M examples/java/x31.java M examples/java/x33.java M examples/lua/x00.lua M examples/lua/x01.lua M examples/lua/x02.lua M examples/lua/x03.lua M examples/lua/x04.lua M examples/lua/x05.lua M examples/lua/x06.lua M examples/lua/x07.lua M examples/lua/x08.lua M examples/lua/x09.lua M examples/lua/x10.lua M examples/lua/x11.lua M examples/lua/x12.lua M examples/lua/x13.lua M examples/lua/x14.lua M examples/lua/x15.lua M examples/lua/x16.lua M examples/lua/x17.lua M examples/lua/x18.lua M examples/lua/x19.lua M examples/lua/x20.lua M examples/lua/x21.lua M examples/lua/x22.lua M examples/lua/x23.lua M examples/lua/x24.lua M examples/lua/x25.lua M examples/lua/x26.lua M examples/lua/x27.lua M examples/lua/x28.lua M examples/lua/x29.lua M examples/lua/x30.lua M examples/lua/x31.lua M examples/lua/x33.lua M examples/ocaml/x00.ml M examples/ocaml/x01.ml M examples/ocaml/x02.ml M examples/ocaml/x03.ml M examples/ocaml/x04.ml M examples/ocaml/x05.ml M examples/ocaml/x06.ml M examples/ocaml/x07.ml M examples/ocaml/x08.ml M examples/ocaml/x09.ml M examples/ocaml/x10.ml M examples/ocaml/x11.ml M examples/ocaml/x12.ml M examples/ocaml/x13.ml M examples/ocaml/x14.ml M examples/ocaml/x15.ml M examples/ocaml/x16.ml M examples/ocaml/x17.ml M examples/ocaml/x18.ml M examples/ocaml/x20.ml M examples/ocaml/x21.ml M examples/ocaml/x22.ml M examples/ocaml/x25.ml M examples/ocaml/x26.ml M examples/ocaml/x27.ml M examples/ocaml/x28.ml M examples/ocaml/x29.ml M examples/ocaml/x31.ml M examples/ocaml/x33.ml M examples/ocaml/x34.ml M examples/octave/x00c.m M examples/octave/x20c.m M examples/octave/x21c.m M examples/octave/x23c.m M examples/octave/x24c.m M examples/octave/x25c.m M examples/octave/x26c.m M examples/octave/x27c.m M examples/octave/x28c.m M examples/octave/x29c.m M examples/octave/x30c.m M examples/octave/x31c.m M examples/octave/x33c.m M examples/perl/x26.pl M examples/perl/x27.pl M examples/perl/x33.pl M examples/python/test_hebrew_diacritic.py M examples/python/test_type1.py M examples/python/xw00.py M examples/python/xw01.py M examples/python/xw02.py M examples/python/xw03.py M examples/python/xw04.py M examples/python/xw05.py M examples/python/xw06.py M examples/python/xw07.py M examples/python/xw08.py M examples/python/xw09.py M examples/python/xw10.py M examples/python/xw11.py M examples/python/xw12.py M examples/python/xw13.py M examples/python/xw14.py M examples/python/xw15.py M examples/python/xw16.py M examples/python/xw17.py M examples/python/xw18.py M examples/python/xw19.py M examples/python/xw20.py M examples/python/xw21.py M examples/python/xw22.py M examples/python/xw23.py M examples/python/xw24.py M examples/python/xw25.py M examples/python/xw26.py M examples/python/xw27.py M examples/python/xw28.py M examples/python/xw29.py M examples/python/xw30.py M examples/python/xw31.py M examples/python/xw33.py M examples/tcl/plgrid.tcl M examples/tcl/plot.tcl M examples/tcl/tcldemos.tcl M examples/tcl/x00 M examples/tcl/x00.tcl M examples/tcl/x01 M examples/tcl/x01.tcl M examples/tcl/x02 M examples/tcl/x02.tcl M examples/tcl/x03 M examples/tcl/x03.tcl M examples/tcl/x04 M examples/tcl/x04.tcl M examples/tcl/x05 M examples/tcl/x05.tcl M examples/tcl/x06 M examples/tcl/x06.tcl M examples/tcl/x07 M examples/tcl/x07.tcl M examples/tcl/x08 M examples/tcl/x08.tcl M examples/tcl/x09 M examples/tcl/x09.tcl M examples/tcl/x10 M examples/tcl/x10.tcl M examples/tcl/x11 M examples/tcl/x11.tcl M examples/tcl/x12 M examples/tcl/x12.tcl M examples/tcl/x13 M examples/tcl/x13.tcl M examples/tcl/x14 M examples/tcl/x14.tcl M examples/tcl/x15 M examples/tcl/x15.tcl M examples/tcl/x16 M examples/tcl/x16.tcl M examples/tcl/x17 M examples/tcl/x17.tcl M examples/tcl/x18 M examples/tcl/x18.tcl M examples/tcl/x19 M examples/tcl/x19.tcl M examples/tcl/x20 M examples/tcl/x20.tcl M examples/tcl/x21 M examples/tcl/x21.tcl M examples/tcl/x22 M examples/tcl/x22.tcl M examples/tcl/x23 M examples/tcl/x23.tcl M examples/tcl/x24 M examples/tcl/x24.tcl M examples/tcl/x25 M examples/tcl/x25.tcl M examples/tcl/x26 M examples/tcl/x26.tcl M examples/tcl/x27 M examples/tcl/x27.tcl M examples/tcl/x28 M examples/tcl/x28.tcl M examples/tcl/x29 M examples/tcl/x29.tcl M examples/tcl/x30 M examples/tcl/x31 M examples/tcl/x31.tcl M examples/tcl/x33 M examples/tcl/x33.tcl M examples/tk/tk01.in M examples/tk/tk02.in M examples/tk/tk03.in M examples/tk/tk04.in M examples/tk/tkdemos.tcl M examples/tk/xtk01.c M examples/tk/xtk02.c M examples/tk/xtk04.c M fonts/font01.c M fonts/font02.c M fonts/font03.c M fonts/font04.c M fonts/font05.c M fonts/font06.c M fonts/font07.c M fonts/font08.c M fonts/font09.c M fonts/font10.c M fonts/font11.c M fonts/plhershey-unicode-gen.c M fonts/stndfont.c M fonts/xtndfont.c M include/disptab.h M include/drivers.h M include/ltdl_win32.h M include/metadefs.h M include/pdf.h M include/plConfig.h.in M include/plDevs.h.in M include/plcore.h M include/pldebug.h M include/plevent.h M include/plfreetype.h M include/plplot.h M include/plplotP.h M include/plstrm.h M include/plxwd.h M lib/qsastime/deltaT-gen.c M lib/qsastime/tai-utc-gen.c M pkgcfg/README M plplot_test/plplot-test-interactive.sh.in M plplot_test/plplot-test.sh.in M scripts/make_tarball.sh M scripts/mklinks M scripts/mktclIndex M scripts/parity_bit_check.sh M scripts/plm2gif M scripts/style_source.sh M src/ltdl_win32.c M src/plaffine.c M src/plargs.c M src/plbox.c M src/plbuf.c M src/plcont.c M src/plcore.c M src/plctrl.c M src/plcvt.c M src/pldeprecated.c M src/pldtik.c M src/plf2ops.c M src/plfill.c M src/plfreetype.c M src/plgradient.c M src/plgridd.c M src/plhist.c M src/pllegend.c M src/plline.c M src/plmap.c M src/plot3d.c M src/plpage.c M src/plsdef.c M src/plshade.c M src/plstdio.c M src/plstripc.c M src/plsym.c M src/pltick.c M src/pltime.c M src/plvect.c M src/plvpor.c M src/plwind.c M sys/win-tk/plConfig.h M sys/win-tk/plDevs.h M utils/plrender.c M utils/pltek.c M utils/tektest.c M utils/xform.c M www/README M www/announce/announce-plplot-5.3.0.xml M www/announce/announce-plplot-5.3.1.xml commit 641c2de7a0e6e5bb513bbc217d180fe693d49ee2 Author: Alan W. Irwin Date: Sun Feb 23 21:14:19 2014 +0000 As alluded to on list, drop use of keywords that potentially could be updated by svn. In this case remove $Revision, $Author, and $Date. svn path=/trunk/; revision=13018 M cmake/epa_build/libqhull/src/libqhull.h M cmake/epa_build/libqhull/src/mem.h M cmake/epa_build/libqhull/src/unix.c M doc/docbook/src/plplotdoc.xml.in M examples/c/plplotcanvas_animation.c M examples/c/plplotcanvas_demo.c M examples/python/plplotcanvas_animation.py M examples/python/plplotcanvas_demo.py commit 4db6cc41a7c1f5b128aa87dbe4e48330531601a0 Author: Alan W. Irwin Date: Sun Feb 23 20:54:04 2014 +0000 Quiet warnings about wide characters (due to UTF-8) in output. This change does not change the actual results for api.xml that includes UTF-8. svn path=/trunk/; revision=13017 M doc/docbook/bin/api2swigdoc.pl commit c42c184e47da6e0610fbdba1d15b8078702bdf3d Author: Alan W. Irwin Date: Sun Feb 23 18:50:11 2014 +0000 Implement "check_all" target which depends on all the check targets. Improve run-time messages for each of the check targets. svn path=/trunk/; revision=13016 M bindings/f95/CMakeLists.txt M bindings/ocaml/CMakeLists.txt M bindings/swig-support/CMakeLists.txt M bindings/tcl/CMakeLists.txt M cmake/modules/plplot.cmake M doc/docbook/src/CMakeLists.txt commit 646c2776c9f9c423c65a17c0c6fac62a4c2ff58e Author: Alan W. Irwin Date: Thu Feb 20 20:49:23 2014 +0000 Additional simplification of the build system for the Octave binding of PLplot. I discovered that bindings/octave/plplot_octave_rej.h and bindings/octave/plplot_octave.h.in were not actually used any more by our modern swig-based build system for the octave binding of PLplot, so I removed those files and all references to them throughout our build system. Tested on Linux by running the test_octave_psc target. svn path=/trunk/; revision=13015 M bindings/octave/CMakeLists.txt D bindings/octave/plplot_octave.h.in D bindings/octave/plplot_octave_rej.h M cmake/modules/octave.cmake M scripts/check_api_completeness.sh M scripts/style_source.sh commit 507bc0cb3587525aef6ba059f2ff26961f16c50e Author: Alan W. Irwin Date: Tue Feb 18 21:07:37 2014 +0000 Do long-neglected maintenance of parity_bit_check.sh, a script that checks for non-ascii files in the source tree, i.e., files which include characters with the parity bit set. Note this check does not include files which are already well known to contain non-ascii characters. In other words, this check only looks for unexpected non-ascii characters. Use the "svn export" command to create a clean directory tree that is checked for such files. Update the list of files (scripts/parity_bit_check.exclude) known to contain non-ascii characters. All these changes concerned source files which have been changed from ascii to UTF-8. svn path=/trunk/; revision=13014 M scripts/parity_bit_check.exclude M scripts/parity_bit_check.sh commit d9ff8147fde24371a3a5fdd0c3e1799764e14a16 Author: Alan W. Irwin Date: Fri Feb 14 19:46:46 2014 +0000 Add a description of what is desired for a complete bug report for epa_build. svn path=/trunk/; revision=13013 M cmake/epa_build/README commit 9a83609bb2336e1019aa4260e0059a676cc91339 Author: Alan W. Irwin Date: Thu Feb 13 01:01:33 2014 +0000 Add shapelib to the list of software that PLplot depends on. svn path=/trunk/; revision=13012 M www/credits.php commit b153f539e431235bfaeeaa192cbb1c4fbd8f037d Author: Alan W. Irwin Date: Wed Feb 12 22:46:30 2014 +0000 Third try at committing the ChangeLog for the 5.9.10 release. svn path=/trunk/; revision=13010 M ChangeLog.release