summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Earls <enderw88@gmail.com>2014-04-24 06:53:04 -0700
committerCraig Earls <enderw88@gmail.com>2014-04-24 06:53:04 -0700
commit2906a2f759b67363c070161202596e746921f09c (patch)
treee0c4e4bf069acffb3118c5c78987c05647b757bf
parentfd18f58392833d6e1b1c06a7700f8afc37711c87 (diff)
parent62bdb2f13a31449ca6f439ee121162647c39855e (diff)
downloadfork-ledger-2906a2f759b67363c070161202596e746921f09c.tar.gz
fork-ledger-2906a2f759b67363c070161202596e746921f09c.tar.bz2
fork-ledger-2906a2f759b67363c070161202596e746921f09c.zip
Merge commit '62bdb2f13a31449ca6f439ee121162647c39855e'
-rw-r--r--.travis.yml40
-rwxr-xr-xacprep1
-rw-r--r--lisp/ledger-regex.el6
-rw-r--r--lisp/ledger-xact.el20
-rw-r--r--src/journal.cc1
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
diff --git a/acprep b/acprep
index dde3e62f..754a2427 100755
--- a/acprep
+++ b/acprep
@@ -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)