X Tutup
Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: renozao/RcppOctave
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: git-steb/RcppOctave
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 13 commits
  • 52 files changed
  • 1 contributor

Commits on May 10, 2017

  1. Added Octave header signal-wrapper.h

    	- Allows to access some internal Octave functions
    git-steb committed May 10, 2017
    Configuration menu
    Copy the full SHA
    592afcd View commit details
    Browse the repository at this point in the history
  2. Octave compatibility update (v3.8.2, v4.0.2, v4.2.1, v4.3.0+)

    Fixed compilation issue with Octave 4.0.2 (undefined OCTINTERP_API)
    
    - Addressing build error: ‘OCTINTERP_API’ does not name a type
    - inserted #include <octave/config.h> in swig_octave_version.h
    
    Working towards ocave 4.3.0+ compatibility
    
    - Bug with current octave_main start of embedded interpreter,
      when determining loadpath during interpreter initialization,
      the interpreter of the global octave app is required, but
      not yet initialized raising exception about missing context.
    
    Octave 4.3.0+ compatibility update
    
    "0+" patch version issues:
    
    - changed SWIG_OCTAVE_PREREQ version check macro to ignore
      patch version "0+", to workaround C preprocessor errors
    - override R's utils::compareVersion function in R/utils.R
    
    Octave interpreter startup API update:
    
    - creating octave::cli_application before calling octave_main
      to resolve problem of missing global octave application,
      when creating an embedded octave interpreter.
      This is due to an Octave API update.
    
    compatibility for Octave version >= 4.0 < 4.3
    
    - octave/config.h has to be included before octave/version.h
      for a certain range of octave versions
    
    Octave 3.8.2 compatibility
    
    more compatibility for R 3.8.2 and beyond
    
    Octave 4.3.0+ works
    
    - Creation of an embedded interpreter in this version of
      Octave is a bit strange, working around a possible bug
      in the not yet released version 4.3.0
    - An octave::cli_application has to be created first, and its
      interpreter then created and initialized, then a separate
      embedded interpreter can be produced and executed without
      waiting for a command prompt. see src/rcpp_octave.cpp
    - Creating an embedded interpreter without an application
      results in an exception when determining the load path.
    
    Octave 4.2.1 works, too (with 3 new workarounds)
    
    - octave_main cannot be used anymore to create the interpreter,
      the embedded application is destructed upon exit from that function,
      deleting the interpreter, which sets the global variable
      octave::current_evaluator to NULL and causes SEGFAULT in feval.
      resolved by creating embedded_application* inside rcpp_octave.cpp
    - octave.cc (v4.2, 4.3+) cmdline_options::cmdline_options() uses
      argv + octave_optind_wrapper(), where argv is the char** produced
      in rcpp_octave.cpp octave_session and optind is a global int
      giving the number of arguments getopt.h reports for the executable,
      having nothing to do with the args produced here. If the executable
      was called with more than narg arguments, this gives a SEGFAULT.
      resolved: octave_session now ensures that char** is long enough
    - upon exit, unloading the symbols, the destructor of
      octave::symbol_table erases invalid octave_user_function handles,
      resulting in SIGBUS. Resolved by triggering cleanup earlier
      in octave_session. Octave 4.3.0+ does not have this problem anymore.
    git-steb committed May 10, 2017
    Configuration menu
    Copy the full SHA
    f702255 View commit details
    Browse the repository at this point in the history
  3. ran devtools::document()

    git-steb committed May 10, 2017
    Configuration menu
    Copy the full SHA
    96980f7 View commit details
    Browse the repository at this point in the history
  4. v3.8.2 compatibility fixes

    git-steb committed May 10, 2017
    Configuration menu
    Copy the full SHA
    910c1ff View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f547c12 View commit details
    Browse the repository at this point in the history
  6. Unit tests passing (R 3.4.0, Octave 4.2.1)

    - Octave error messages are passed on with more detail info
    - updated Octave error message string verification in 3 unit tests
    - changed rcpp(...) call to cxxfunction(...) call in interface.R
    - added 'inline' to list of required packages in DESCRIPTION
    git-steb committed May 10, 2017
    Configuration menu
    Copy the full SHA
    2ba09fe View commit details
    Browse the repository at this point in the history
  7. Removed exectution_exception from wording of error message

    - removed qlibrary('inline') from unit test, due to missing pkgmaker export
    git-steb committed May 10, 2017
    Configuration menu
    Copy the full SHA
    0caf151 View commit details
    Browse the repository at this point in the history

Commits on May 11, 2017

  1. Configuration menu
    Copy the full SHA
    f0f6c56 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2246d38 View commit details
    Browse the repository at this point in the history

Commits on May 23, 2017

  1. Configuration menu
    Copy the full SHA
    7c9b4c0 View commit details
    Browse the repository at this point in the history

Commits on May 24, 2017

  1. Attempt to use Dockerfile for Travis build

    - Docker container tags must be lower-case
    - Run build command inside the container only
    git-steb committed May 24, 2017
    Configuration menu
    Copy the full SHA
    2521703 View commit details
    Browse the repository at this point in the history
  2. Complete Docker setup for Octaves 3.8 4.0 4.2

    - .travis.yml updated to perform builds using layered docker containers
    - base image created using docker hub account docsteb:
      docker build dockerfiles/trusty-r-texlive -t docsteb/trusty-r-texlive
      docker push docsteb/trusty-r-texlive
    - different Octave installations are layers on top of base image, e.g.
      docker build -f dockerfiles/octave4.2/Dockerfile .
    - Octave 4.2 requires extra packages for linking:
      The packages added to dockerfiles/octave4.2/Dockerfile
      should probably have been brought in automatically when installing
      liboctave4.2-dev from ppa:kwwette/octaves
    - built tar.gz package file is copied out of the builder container
      once completed
    git-steb committed May 24, 2017
    Configuration menu
    Copy the full SHA
    2e0fb08 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e9edbeb View commit details
    Browse the repository at this point in the history
Loading
X Tutup