diff options
author | Craig Earls <enderw88@gmail.com> | 2014-04-24 06:53:04 -0700 |
---|---|---|
committer | Craig Earls <enderw88@gmail.com> | 2014-04-24 06:53:04 -0700 |
commit | 2906a2f759b67363c070161202596e746921f09c (patch) | |
tree | e0c4e4bf069acffb3118c5c78987c05647b757bf | |
parent | fd18f58392833d6e1b1c06a7700f8afc37711c87 (diff) | |
parent | 62bdb2f13a31449ca6f439ee121162647c39855e (diff) | |
download | fork-ledger-2906a2f759b67363c070161202596e746921f09c.tar.gz fork-ledger-2906a2f759b67363c070161202596e746921f09c.tar.bz2 fork-ledger-2906a2f759b67363c070161202596e746921f09c.zip |
Merge commit '62bdb2f13a31449ca6f439ee121162647c39855e'
-rw-r--r-- | .travis.yml | 40 | ||||
-rwxr-xr-x | acprep | 1 | ||||
-rw-r--r-- | lisp/ledger-regex.el | 6 | ||||
-rw-r--r-- | lisp/ledger-xact.el | 20 | ||||
-rw-r--r-- | src/journal.cc | 1 |
5 files changed, 51 insertions, 17 deletions
diff --git a/.travis.yml b/.travis.yml index eefc1859..b4999235 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,18 +1,42 @@ +# Since the Travis CI environment http://docs.travis-ci.com/user/ci-environment/ +# provides GNU GCC 4.6, which does not support -std=c++11 GNU GCC 4.8 is +# installed. Additionally boost 1.55.0 is compiled from source, since in the +# Travis CI environment only boost 1.46 is available and no backported package +# was found on the net. + language: cpp compiler: - clang - gcc + +before_install: + # Add software package repository, containing updated build toochain, i.e. GNU GCC 4.8 + - sudo add-apt-repository ppa:ubuntu-toolchain-r/test --yes + - sudo apt-get update -qq + # Download boost 1.55 and extract the source archive + - wget --no-verbose --output-document=boost-trunk.tar.bz2 http://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.bz2/download + - export BOOST_ROOT="$TRAVIS_BUILD_DIR/../boost-trunk" + - export CMAKE_MODULE_PATH="$BOOST_ROOT" + - mkdir -p $BOOST_ROOT + - tar jxf boost-trunk.tar.bz2 --strip-components=1 -C $BOOST_ROOT + install: - - "./acprep dependencies" - - wget http://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.bz2/download - - tar jxf download - - mv boost_1_55_0 $HOME/boost-trunk + # Install GNU GCC 4.8 required by use of C++11 + - sudo apt-get install -qq g++-4.8 gcc-4.8 + - export CXX="g++-4.8" CC="gcc-4.8" + # Build boost libraries required by ledger + - (cd $BOOST_ROOT; ./bootstrap.sh --with-libraries=date_time,filesystem,system,iostreams,regex,python,test) + - (cd $BOOST_ROOT; ./b2 threading=multi --prefix=$BOOST_ROOT -d0 install) + # Install further dependencies + - ./acprep dependencies + before_script: - - BOOST="$HOME/boost-trunk" - - "./acprep opt make --python" + - ./acprep opt make --python --boost=$BOOST_ROOT + script: - - "./acprep check -- --output-on-failure" - - "PYTHONPATH=. python python/demo.py" + - ./acprep check -- --output-on-failure + - PYTHONPATH=. python python/demo.py + notifications: email: on_success: change @@ -868,6 +868,7 @@ class PrepareBuild(CommandLineApp): if self.options.boost_root: conf_args.append('-DBOOST_ROOT=%s' % self.options.boost_root) + conf_args.append('-DBoost_NO_SYSTEM_PATHS=TRUE') if self.options.boost_suffix: conf_args.append('-DBoost_COMPILER=%s' % self.options.boost_suffix) diff --git a/lisp/ledger-regex.el b/lisp/ledger-regex.el index 8d838892..91344523 100644 --- a/lisp/ledger-regex.el +++ b/lisp/ledger-regex.el @@ -178,8 +178,8 @@ (ledger-define-regexp iso-date ( let ((sep '(or ?- ?/))) (rx (group - (and (group (? (= 4 num))) - (eval sep) + (and (? (and (group (= 4 num))) + (eval sep)) (group (and num (? num))) (eval sep) (group (and num (? num))))))) @@ -325,7 +325,7 @@ (note end-note)) (defconst ledger-iterate-regex - (concat "\\(Y\\s-+\\([0-9]+\\)\\|" ;; Catches a Y directive + (concat "\\(\\(?:Y\\|year\\)\\s-+\\([0-9]+\\)\\|" ;; Catches a Y/year directive ledger-iso-date-regexp "\\([ *!]+\\)" ;; mark "\\((.*)\\)?" ;; code diff --git a/lisp/ledger-xact.el b/lisp/ledger-xact.el index 35b0d62c..4eb88749 100644 --- a/lisp/ledger-xact.el +++ b/lisp/ledger-xact.el @@ -89,12 +89,20 @@ within the transaction." (defun ledger-xact-find-slot (moment) "Find the right place in the buffer for a transaction at MOMENT. MOMENT is an encoded date" - (catch 'found - (ledger-xact-iterate-transactions - (function - (lambda (start date mark desc) - (if (ledger-time-less-p moment date) - (throw 'found t))))))) + (let (last-xact-start) + (catch 'found + (ledger-xact-iterate-transactions + (function + (lambda (start date mark desc) + (setq last-xact-start start) + (if (ledger-time-less-p moment date) + (throw 'found t)))))) + (when (and (eobp) last-xact-start) + (let ((end (cadr (ledger-find-xact-extents last-xact-start)))) + (goto-char end) + (if (eobp) + (insert "\n") + (forward-line)))))) (defun ledger-xact-iterate-transactions (callback) "Iterate through each transaction call CALLBACK for each." diff --git a/src/journal.cc b/src/journal.cc index 804c9ee2..142b68a6 100644 --- a/src/journal.cc +++ b/src/journal.cc @@ -97,6 +97,7 @@ void journal_t::initialize() day_break = false; checking_style = CHECK_NORMAL; recursive_aliases = false; + no_aliases = false; } void journal_t::add_account(account_t * acct) |