summaryrefslogtreecommitdiff
path: root/src/emacs.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/emacs.cc')
-rw-r--r--src/emacs.cc19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/emacs.cc b/src/emacs.cc
index d47f04ad..3c8bb256 100644
--- a/src/emacs.cc
+++ b/src/emacs.cc
@@ -40,18 +40,21 @@ namespace ledger {
void format_emacs_posts::write_xact(xact_t& xact)
{
- out << "\"" << xact.pos->pathname << "\" "
- << xact.pos->beg_line << " ";
+ if (xact.pos)
+ out << "\"" << xact.pos->pathname << "\" "
+ << xact.pos->beg_line << " ";
+ else
+ out << "\"\" " << -1 << " ";
tm when = gregorian::to_tm(xact.date());
std::time_t date = std::mktime(&when);
out << "(" << (date / 65536) << " " << (date % 65536) << " 0) ";
- if (! xact.code)
- out << "nil ";
- else
+ if (xact.code)
out << "\"" << *xact.code << "\" ";
+ else
+ out << "nil ";
if (xact.payee.empty())
out << "nil";
@@ -77,7 +80,11 @@ void format_emacs_posts::operator()(post_t& post)
out << "\n";
}
- out << " (" << post.pos->beg_line << " ";
+ if (post.pos)
+ out << " (" << post.pos->beg_line << " ";
+ else
+ out << " (" << -1 << " ";
+
out << "\"" << post.reported_account()->fullname() << "\" \""
<< post.amount << "\"";