update todo lists
This commit is contained in:
parent
8264bf6ada
commit
d700a7a72d
266
NOTES
266
NOTES
@ -27,7 +27,24 @@ ABILITY TO SEE. --Scott McCloud, Understanding Comics
|
|||||||
** less is more
|
** less is more
|
||||||
** code review/pair programming
|
** code review/pair programming
|
||||||
|
|
||||||
* todo/backlog
|
* todo
|
||||||
|
** shortlist for next release
|
||||||
|
*** redo subcommand detection
|
||||||
|
*** fix tests
|
||||||
|
*** docs: manual needs updating for 0.15 changes
|
||||||
|
*** parsing: alias directives should be modified by account directives
|
||||||
|
*** web: should take port from base-url when appropriate
|
||||||
|
*** web: --base-url trailing slash gives redirect loop
|
||||||
|
hledger-web --port 5001 --base-url http://localhost:5001/
|
||||||
|
*** web: account patterns on command line are ignored
|
||||||
|
*** web: loses -B after an edit, and/or a filesystem edit
|
||||||
|
*** finish release notes
|
||||||
|
*** prepare for funded binaries
|
||||||
|
*** prepare announcement
|
||||||
|
|
||||||
|
*** release testing
|
||||||
|
*** bump version
|
||||||
|
*** release
|
||||||
** documentation, marketing
|
** documentation, marketing
|
||||||
*** developer notes & log
|
*** developer notes & log
|
||||||
*** intro brainstorming
|
*** intro brainstorming
|
||||||
@ -60,7 +77,6 @@ hledger helps you track and understand your finances, making calculations based
|
|||||||
|
|
||||||
Features: reads transactions in journal, timelog, or CSV format; handles multi-currency/multi-commodity transactions; prints the chart of accounts, account balances, or transactions you're interested in, quickly; scriptable.
|
Features: reads transactions in journal, timelog, or CSV format; handles multi-currency/multi-commodity transactions; prints the chart of accounts, account balances, or transactions you're interested in, quickly; scriptable.
|
||||||
|
|
||||||
|
|
||||||
*** website
|
*** website
|
||||||
**** add tables of contents
|
**** add tables of contents
|
||||||
**** integrate binaries, demo, pastebin
|
**** integrate binaries, demo, pastebin
|
||||||
@ -543,12 +559,6 @@ using be more place holders?
|
|||||||
**** usability
|
**** usability
|
||||||
**** download & usage stats
|
**** download & usage stats
|
||||||
** errors
|
** errors
|
||||||
*** about:
|
|
||||||
The quick bug list - predates the web-based bug tracker, still in use as
|
|
||||||
front-line tracker by the org-mode-comfortable hledger developer(s)
|
|
||||||
|
|
||||||
*** parsing: timezone should be supported in historical price records, elsewhere ? (greenskeleton)
|
|
||||||
https://gist.github.com/972281
|
|
||||||
*** tools: avoid haskell compiles and compile errors while setting up makefile vars
|
*** tools: avoid haskell compiles and compile errors while setting up makefile vars
|
||||||
joyful$ make help
|
joyful$ make help
|
||||||
GHCi runtime linker: fatal error: I found a duplicate definition for symbol
|
GHCi runtime linker: fatal error: I found a duplicate definition for symbol
|
||||||
@ -621,17 +631,13 @@ expecting comment or new-line
|
|||||||
**** TODO Needs minimal testcase
|
**** TODO Needs minimal testcase
|
||||||
*** register: intervals with unspecified from should start from first txn not first matched txn ?
|
*** register: intervals with unspecified from should start from first txn not first matched txn ?
|
||||||
**** TODO Needs example!
|
**** TODO Needs example!
|
||||||
*** register: report items don't indicate the new transaction with successive identical transactions
|
*** register: with adjacent identical transactions, posting report items don't indicate the change of transaction
|
||||||
getitems (p:ps) pprev b = i:(getitems ps p b')
|
getitems (p:ps) pprev b = i:(getitems ps p b')
|
||||||
where
|
where
|
||||||
i = mkitem isfirst p b'
|
i = mkitem isfirst p b'
|
||||||
isfirst = ptransaction p /= ptransaction pprev
|
isfirst = ptransaction p /= ptransaction pprev
|
||||||
b' = b + pamount p
|
b' = b + pamount p
|
||||||
|
|
||||||
*** web: --base-url trailing slash gives redirect loop
|
|
||||||
hledger-web --port 5001 --base-url http://localhost:5001/
|
|
||||||
*** web: account patterns on command line are ignored
|
|
||||||
*** web: loses -B after an edit, and/or a filesystem edit
|
|
||||||
*** #25 can't print non-ascii in windows console
|
*** #25 can't print non-ascii in windows console
|
||||||
http://code.google.com/p/hledger/issues/detail?id=25
|
http://code.google.com/p/hledger/issues/detail?id=25
|
||||||
http://blog.andrewbeacock.com/2008/12/rxvt-better-console-for-cygwin-unix-on.html
|
http://blog.andrewbeacock.com/2008/12/rxvt-better-console-for-cygwin-unix-on.html
|
||||||
@ -639,6 +645,9 @@ http://www.burningcutlery.com/derek/winsetup/
|
|||||||
http://msdn.microsoft.com/en-us/library/ms714415(v=VS.85).aspx
|
http://msdn.microsoft.com/en-us/library/ms714415(v=VS.85).aspx
|
||||||
*** auto-creating missing journal files - annoying or helpful ?
|
*** auto-creating missing journal files - annoying or helpful ?
|
||||||
** refactoring, cleanup
|
** refactoring, cleanup
|
||||||
|
*** use matchers for command line too
|
||||||
|
**** design cli, backwards compatibility strategy
|
||||||
|
**** replace optsToFilterSpec
|
||||||
*** optionsgeddon oh my god
|
*** optionsgeddon oh my god
|
||||||
**** old help
|
**** old help
|
||||||
Usage: hledger [OPTIONS] COMMAND [PATTERNS]
|
Usage: hledger [OPTIONS] COMMAND [PATTERNS]
|
||||||
@ -691,7 +700,7 @@ expressions which filter by account name. Prefix a pattern with desc: to
|
|||||||
filter by transaction description instead, prefix with not: to negate it.
|
filter by transaction description instead, prefix with not: to negate it.
|
||||||
When using both, not: comes last.
|
When using both, not: comes last.
|
||||||
|
|
||||||
**** implementations
|
**** attempts
|
||||||
***** original getopts
|
***** original getopts
|
||||||
progname_cli = "hledger"
|
progname_cli = "hledger"
|
||||||
|
|
||||||
@ -1742,14 +1751,9 @@ testmain = do
|
|||||||
http://www.haskell.org/haskellwiki/Heterogenous_collections
|
http://www.haskell.org/haskellwiki/Heterogenous_collections
|
||||||
make cmdargs generate flat help from nested ADTs
|
make cmdargs generate flat help from nested ADTs
|
||||||
make cmdargs pass through extra opts without --
|
make cmdargs pass through extra opts without --
|
||||||
**** todo
|
**** still to do
|
||||||
move *FromOpts into toOpts
|
move *FromOpts into toOpts
|
||||||
|
|
||||||
*** use matchers for command line
|
|
||||||
**** todo
|
|
||||||
design cli, backwards compatibility ?
|
|
||||||
replace optsToFilterSpec
|
|
||||||
|
|
||||||
*** review/simplify apis
|
*** review/simplify apis
|
||||||
simplify option types ?
|
simplify option types ?
|
||||||
|
|
||||||
@ -1778,63 +1782,46 @@ http://ajaxcssblog.com/jquery/url-read-request-variables/
|
|||||||
*** inspiration
|
*** inspiration
|
||||||
http://community.haskell.org/~ndm/downloads/paper-hoogle_overview-19_nov_2008.pdf -> Design Guidelines
|
http://community.haskell.org/~ndm/downloads/paper-hoogle_overview-19_nov_2008.pdf -> Design Guidelines
|
||||||
** features/wishlist
|
** features/wishlist
|
||||||
*** setting balances
|
*** web: can't find out total income:7th total in june at http://localhost:5005/register?q=inacct%3Aassets%3Atreasury !
|
||||||
You can accomplish "setting to the bank's view" with a transaction like this:
|
*** web: update/remove browser startup
|
||||||
|
*** simple hledger.org/topic help urls, like php.net
|
||||||
2011-08-12 Sample
|
|
||||||
Assets:Checking = $200.00
|
|
||||||
Equity:Adjustments
|
|
||||||
|
|
||||||
This tells Ledger (Git/3.0) that your checking account's balance must be $200
|
|
||||||
after this transaction is completed. It will put whatever amounts are
|
|
||||||
required to accomplish this into the Equity:Adjustments account.
|
|
||||||
|
|
||||||
what about balance assertions ?
|
|
||||||
|
|
||||||
*** --help-web and web ui help links that go to online help, with paragraph comments & chat
|
*** --help-web and web ui help links that go to online help, with paragraph comments & chat
|
||||||
cf clients & profits interactive user guide, php.net, realworldhaskell etc.
|
cf clients & profits interactive user guide, php.net, realworldhaskell etc.
|
||||||
*** directives without !
|
*** parsing: accounts tree & metadata specification
|
||||||
*** account prefix should remain in effect till end directive or end of all data, like ledger
|
; chart of accounts
|
||||||
*** account prefix should preserve non-balanced postings
|
; defines allowed account names, hierarchy, default sort order,
|
||||||
*** account prefix should be a special case of alias ?
|
; and some metadata (account numbers, cf http://www.netmba.com/accounting/fin/accounts/chart/)
|
||||||
*** alias directives should be modified by account directives
|
ACCOUNTS
|
||||||
*** -X, report in target commodity
|
assets ; :number: 1000
|
||||||
|
cash ; :number: 1010
|
||||||
|
HT7 ; :number: 1011
|
||||||
|
jan ; :number: 1011.01
|
||||||
|
feb ; :number: 1011.02
|
||||||
|
mar ; :number: 1011.03
|
||||||
|
RSG ; :number: 1012
|
||||||
|
jan ; :number: 1012.01
|
||||||
|
feb ; :number: 1012.02
|
||||||
|
mar ; :number: 1012.03
|
||||||
|
bank ; :number: 1020
|
||||||
|
HT7 ; :number: 1021
|
||||||
|
RSG ; :number: 1022
|
||||||
|
reserve ; :number: 1023
|
||||||
|
liabilities ; :number: 2000
|
||||||
|
accounts payable ; :number: 2010
|
||||||
|
BSG/GI/RSG ; :number: 2011
|
||||||
|
equity ; :number: 3000
|
||||||
|
opening balances ; :number: 3010
|
||||||
|
income ; :number: 4000
|
||||||
|
HT7 ; :number: 4010
|
||||||
|
RSG ; :number: 4020
|
||||||
|
expenses ; :number: 6000
|
||||||
|
rent ; :number: 6010
|
||||||
|
|
||||||
|
or: http://furius.ca/beancount/examples/demo.ledger
|
||||||
|
|
||||||
|
*** -X/--show-in-commodity
|
||||||
cf http://bugs.ledger-cli.org/show_bug.cgi?id=538
|
cf http://bugs.ledger-cli.org/show_bug.cgi?id=538
|
||||||
*** account aliasing/aligning
|
*** cli, web: consistent rich query language, including and/or/parentheses
|
||||||
**** Martin Wuertele:
|
|
||||||
I see our task not in keeping accounts (that's in the responsibility of
|
|
||||||
the trusted bodies) but more in management accounts. In order to achieve
|
|
||||||
that we need a solution that mirrors the financials of the trusted
|
|
||||||
bodies, has a way to streamline them (allign different local chart of
|
|
||||||
accounts or reporting formats to an unified one), do some
|
|
||||||
reclassifications and accruals on top, performe currency conversions (we
|
|
||||||
have debian.uk, debian.ch, FFIS, SPI-INC,...), accumulate the results,
|
|
||||||
add additional reclassifications and accruals on top and, in some cases,
|
|
||||||
add consolidation entries (e.g. SPI-INC does reembursement but gets
|
|
||||||
itself reembursed by FFIS).
|
|
||||||
|
|
||||||
We do not bother with any local tasks like income tax, vat or
|
|
||||||
statistical filing, invoicing and the like.
|
|
||||||
|
|
||||||
*** can't find out total income:7th total in june at http://localhost:5005/register?q=inacct%3Aassets%3Atreasury !
|
|
||||||
*** journalAddTransaction should check txn balances
|
|
||||||
*** parsing: ignore tag, pop
|
|
||||||
|
|
||||||
Feb 26 2009
|
|
||||||
Just added a new feature to better improve 3.0's use of metadata:
|
|
||||||
There are now "tag/pop" directives, to apply metadata to a range of
|
|
||||||
transactions (and their postings). For example, if you wanted a
|
|
||||||
conceptual "page" of transactions relating to business trip to
|
|
||||||
Chicago, you could do this:
|
|
||||||
tag Location: Chicago
|
|
||||||
tag Purpose: Business
|
|
||||||
... transactions go here
|
|
||||||
pop
|
|
||||||
pop
|
|
||||||
It would be as if you'd applied "; Location: Chicago", etc., to every
|
|
||||||
transaction.
|
|
||||||
|
|
||||||
*** cli, web: richer filter patterns/query language
|
|
||||||
ledger's query syntax: http://ledger-cli.org/3.0/doc/ledger.1.html
|
ledger's query syntax: http://ledger-cli.org/3.0/doc/ledger.1.html
|
||||||
**** draft 1:
|
**** draft 1:
|
||||||
|
|
||||||
@ -1892,59 +1879,47 @@ The print command selects transactions which
|
|||||||
the negative account patterns
|
the negative account patterns
|
||||||
)
|
)
|
||||||
|
|
||||||
*** web: optional production build needing no files at all (static files embedded)
|
*** journalAddTransaction should check txn balances
|
||||||
*** docs: better intro, less wall-of-text, separate reference manual & tutorials
|
*** balance setting
|
||||||
|
ledger: You can accomplish "setting to the bank's view" with a transaction like this:
|
||||||
|
|
||||||
|
2011-08-12 Sample
|
||||||
|
Assets:Checking = $200.00
|
||||||
|
Equity:Adjustments
|
||||||
|
|
||||||
|
This tells Ledger (Git/3.0) that your checking account's balance must be $200
|
||||||
|
after this transaction is completed. It will put whatever amounts are
|
||||||
|
required to accomplish this into the Equity:Adjustments account.
|
||||||
|
|
||||||
|
what about balance assertions ?
|
||||||
|
|
||||||
|
*** web: optional fully self-contained production build (all support files embedded)
|
||||||
|
*** tools: fix slow make startup
|
||||||
|
*** tools: better ghci setup
|
||||||
|
*** docs: better intro, less wall-of-text, separate tutorial & reference sections
|
||||||
*** balance: --depth with --flat should show aggregate balances including the non-displayed deeper accounts
|
*** balance: --depth with --flat should show aggregate balances including the non-displayed deeper accounts
|
||||||
*** take port from base-url when appropriate
|
|
||||||
*** parsing: let's enforce positive price amounts for clarity, like ledger
|
*** parsing: let's enforce positive price amounts for clarity, like ledger
|
||||||
eg 1€ @@ $-2 is not allowed
|
eg 1€ @@ $-2 is not allowed
|
||||||
*** parsing: canonicalise account names to be case-insensitive ?
|
*** parsing: canonicalise account names to be case-insensitive ?
|
||||||
*** parsing: period expressions should allow interval at the end
|
*** parsing: period expressions should allow interval at the end
|
||||||
eg support -p 'from 1/1 to 2/1 weekly'
|
eg support -p 'from 1/1 to 2/1 weekly'
|
||||||
|
|
||||||
*** parsing: only journals (not timelog files) can include, and only another journal
|
*** parsing: more flexible file including
|
||||||
*** --empty-parents
|
currently only journals (not timelog files) can include, and only another journal
|
||||||
|
*** --no-elide -> --empty-parents ? Make it the default ?
|
||||||
$260.00 expenses
|
$260.00 expenses
|
||||||
$260.00 rent
|
$260.00 rent
|
||||||
*** --empty -> --show-zero-accounts, --show-empty-parents
|
*** --empty -> --show-zero-accounts, --show-empty-parents ? Make it default ?
|
||||||
*** --output-layout=ledger|traditional
|
*** cli: better control of output format/layout
|
||||||
*** --output-format=text|html|pdf
|
**** register --format, generalise --format
|
||||||
*** try indenting amounts
|
**** --wide ? window width sensitive ?
|
||||||
|
**** more tidy/consistent layout from print
|
||||||
|
**** --output-layout=ledger|traditional
|
||||||
|
**** --output-format=text|html|pdf
|
||||||
|
*** balance: try indenting amounts
|
||||||
$260.00 expenses
|
$260.00 expenses
|
||||||
$260.00 rent
|
$260.00 rent
|
||||||
*** chart of accounts specification
|
*** parsing: ignore/support ledger assert statements
|
||||||
; chart of accounts
|
|
||||||
; defines allowed account names, hierarchy, default sort order,
|
|
||||||
; and some metadata (account numbers, cf http://www.netmba.com/accounting/fin/accounts/chart/)
|
|
||||||
ACCOUNTS
|
|
||||||
assets ; :number: 1000
|
|
||||||
cash ; :number: 1010
|
|
||||||
HT7 ; :number: 1011
|
|
||||||
jan ; :number: 1011.01
|
|
||||||
feb ; :number: 1011.02
|
|
||||||
mar ; :number: 1011.03
|
|
||||||
RSG ; :number: 1012
|
|
||||||
jan ; :number: 1012.01
|
|
||||||
feb ; :number: 1012.02
|
|
||||||
mar ; :number: 1012.03
|
|
||||||
bank ; :number: 1020
|
|
||||||
HT7 ; :number: 1021
|
|
||||||
RSG ; :number: 1022
|
|
||||||
reserve ; :number: 1023
|
|
||||||
liabilities ; :number: 2000
|
|
||||||
accounts payable ; :number: 2010
|
|
||||||
BSG/GI/RSG ; :number: 2011
|
|
||||||
equity ; :number: 3000
|
|
||||||
opening balances ; :number: 3010
|
|
||||||
income ; :number: 4000
|
|
||||||
HT7 ; :number: 4010
|
|
||||||
RSG ; :number: 4020
|
|
||||||
expenses ; :number: 6000
|
|
||||||
rent ; :number: 6010
|
|
||||||
|
|
||||||
or: http://furius.ca/beancount/examples/demo.ledger
|
|
||||||
|
|
||||||
*** ignore/support ledger assert statements
|
|
||||||
; Assertion directives Options
|
; Assertion directives Options
|
||||||
; These can occur in many places:
|
; These can occur in many places:
|
||||||
; ; Within an automated transaction, the assert is evaluated every time
|
; ; Within an automated transaction, the assert is evaluated every time
|
||||||
@ -1970,14 +1945,11 @@ or: http://furius.ca/beancount/examples/demo.ledger
|
|||||||
; Assets:Checking
|
; Assets:Checking
|
||||||
; assert account("Expenses:Food").total == $100
|
; assert account("Expenses:Food").total == $100
|
||||||
|
|
||||||
*** better international number format support (#32)
|
*** parsing: better international number format support (#32)
|
||||||
*** show add form after adding
|
*** web: : completes one account name component in add form account fields
|
||||||
*** : completes one account name component
|
*** web: auto-complete from substrings, not just prefixes
|
||||||
*** auto-complete from substrings, not just prefixes
|
*** web: auto-complete accounts & amount as well as description
|
||||||
*** auto-complete accounts & amount as well as description
|
*** parsing: allow price record for null commodity, eg with quotes
|
||||||
*** use current year as default when no year specified
|
|
||||||
*** use journal from stdin when provided ?
|
|
||||||
*** allow price record for null commodity, eg with quotes
|
|
||||||
P 2009/1/1 "" 0.5h
|
P 2009/1/1 "" 0.5h
|
||||||
and why doesn't this work ? time.journal:
|
and why doesn't this work ? time.journal:
|
||||||
P 2010/9/27 h 1
|
P 2010/9/27 h 1
|
||||||
@ -2006,41 +1978,37 @@ $ hledger -f time.journal bal -p aug -B
|
|||||||
1
|
1
|
||||||
17.75h
|
17.75h
|
||||||
|
|
||||||
*** register --wide and/or --format ...
|
|
||||||
*** --related
|
*** --related
|
||||||
*** Double -> Decimal
|
*** Double -> Decimal
|
||||||
*** parsing: safety check that effective date > actual (to catch eg 2009/12/30=1/4)
|
*** parsing: safety check that effective date > actual (to catch eg 2009/12/30=1/4)
|
||||||
*** parsing: support @@
|
|
||||||
*** parsing: support D
|
|
||||||
*** parsing: accept all real-world ledger files
|
*** parsing: accept all real-world ledger files
|
||||||
As far as I know it currently accepts all ledger 2.6-era files.
|
As far as I know it currently accepts all ledger 2.6-era files.
|
||||||
Add support for ledger 3 file format as/when that stabilises.
|
Add support for ledger 3 file format as/when that stabilises.
|
||||||
It would be nice to optionally report/upload parse errors when they happen.
|
It would be nice to optionally semi/automatically submit parse error reports when they happen
|
||||||
*** talkback feature
|
*** talkback feature
|
||||||
gather data on real-world installation & usage issues
|
gather data on real-world installation & usage issues
|
||||||
simplify bug reporting/handling
|
simplify bug reporting/handling
|
||||||
improve reliability
|
improve reliability
|
||||||
*** upload feature
|
*** upload feature
|
||||||
*** payee & account anonymisation
|
*** generation
|
||||||
|
**** move generatejournal.hs to a subcommand
|
||||||
|
*** anonymisation
|
||||||
|
**** payees
|
||||||
|
**** accounts
|
||||||
*** easier timelog formats
|
*** easier timelog formats
|
||||||
*** add: completion etc.
|
|
||||||
*** convert: handle separate debit/credit columns
|
|
||||||
*** convert: generalise/reuse add's history awareness
|
*** convert: generalise/reuse add's history awareness
|
||||||
*** web: charts (Chart or google)
|
*** parsing: per-posting effective/actual dates
|
||||||
*** wide/customisable/consistent layout
|
*** web: better web ui/gui
|
||||||
*** effective/actual dates for postings
|
*** nice standard financial reports
|
||||||
*** better web ui/gui
|
|
||||||
*** nice reports with charts
|
|
||||||
*** more automated bank data conversion
|
*** more automated bank data conversion
|
||||||
*** parse more file formats - gnucash, qif, ofx, csv..
|
*** parse more file formats - gnucash, qif, ofx, csv..
|
||||||
*** download via ofx protocol
|
*** download via ofx protocol
|
||||||
*** watching a changing ledger
|
*** parsing: more date syntax ? last nov, next friday, optional this, week of
|
||||||
*** more date syntax ? last nov, next friday, optional this, week of
|
*** parsing: more period syntax ? every N days, biweekly
|
||||||
*** more period syntax ? every N days, biweekly
|
*** cli: accept multiple journal file options
|
||||||
*** accept multiple -f files
|
|
||||||
*** more reliable tidy layout from print
|
|
||||||
*** i18n
|
*** i18n
|
||||||
*** speed, memory usage
|
*** speed, memory usage
|
||||||
|
**** simple/more frequent benchmarking
|
||||||
*** clear, documented interfaces/surfaces
|
*** clear, documented interfaces/surfaces
|
||||||
*** plugin architecture/modular packaging
|
*** plugin architecture/modular packaging
|
||||||
**** goals
|
**** goals
|
||||||
@ -2313,6 +2281,22 @@ http://www.mscs.dal.ca/~selinger/accounting/tutorial.html#1.2
|
|||||||
+ soon.
|
+ soon.
|
||||||
+
|
+
|
||||||
|
|
||||||
|
*** Martin Wuertele, debian:
|
||||||
|
I see our task not in keeping accounts (that's in the responsibility of
|
||||||
|
the trusted bodies) but more in management accounts. In order to achieve
|
||||||
|
that we need a solution that mirrors the financials of the trusted
|
||||||
|
bodies, has a way to streamline them (allign different local chart of
|
||||||
|
accounts or reporting formats to an unified one), do some
|
||||||
|
reclassifications and accruals on top, performe currency conversions (we
|
||||||
|
have debian.uk, debian.ch, FFIS, SPI-INC,...), accumulate the results,
|
||||||
|
add additional reclassifications and accruals on top and, in some cases,
|
||||||
|
add consolidation entries (e.g. SPI-INC does reembursement but gets
|
||||||
|
itself reembursed by FFIS).
|
||||||
|
|
||||||
|
We do not bother with any local tasks like income tax, vat or
|
||||||
|
statistical filing, invoicing and the like.
|
||||||
|
|
||||||
|
|
||||||
** hamlet feedback
|
** hamlet feedback
|
||||||
*** thread data through nested templates with Reader monad
|
*** thread data through nested templates with Reader monad
|
||||||
*** HDString constructor for HamletData ?
|
*** HDString constructor for HamletData ?
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user