novacoin.git
11 years agoBump version to 0.5.6
Luke Dashjr [Tue, 8 May 2012 20:09:43 +0000]
Bump version to 0.5.6

11 years agoMerge branch '0.4.x' into 0.5.x
Luke Dashjr [Tue, 8 May 2012 20:08:19 +0000]
Merge branch '0.4.x' into 0.5.x

Conflicts:
contrib/Bitcoin.app/Contents/Info.plist
doc/README
doc/README_windows.txt
share/setup.nsi
src/serialize.h

11 years agoBump version to 0.4.7
Luke Dashjr [Tue, 8 May 2012 19:53:29 +0000]
Bump version to 0.4.7

11 years agoUpdate/fix translations
Luke Dashjr [Mon, 7 May 2012 03:57:39 +0000]
Update/fix translations

11 years agoMerge branch '0.4.x' into 0.5.x
Luke Dashjr [Mon, 7 May 2012 02:46:14 +0000]
Merge branch '0.4.x' into 0.5.x

11 years agoPrevent stuck download: correct solution
Pieter Wuille [Sat, 5 May 2012 02:04:38 +0000]
Prevent stuck download: correct solution

Pull request #948 introduced a fix for nodes stuck on a long side branch
of the main chain. The fix was non-functional however, as the additional
getdata request was created in a first step of processing, but dropped
in a second step as it was considered redundant. This commits fixes it
by sending the request directly.

11 years agoPrevent stuck block download in large reorganisations
Pieter Wuille [Sun, 18 Mar 2012 22:47:26 +0000]
Prevent stuck block download in large reorganisations

In cases of very large reorganisations (hundreds of blocks), a situation
may appear where an 'inv' is sent as response to a 'getblocks', but the
last block mentioned in the inv is already known to the receiver node.
However, the supplying node uses a request for this last block as a
trigger to send the rest of the inv blocks. If it never comes, the block
chain download is stuck.

This commit makes the receiver node always request the last inv'ed block,
even if it is already known, to prevent this problem.

11 years agofix #952 by checking if we have a new address or an updated label
Philip Kaufmann [Thu, 3 May 2012 12:52:15 +0000]
fix #952 by checking if we have a new address or an updated label

11 years agoHide UI immediately after leaving the main loop.
Wladimir J. van der Laan [Sun, 6 May 2012 06:14:19 +0000]
Hide UI immediately after leaving the main loop.

Prevents it from seeming to hang during shutdown if shutdown is triggered while the window is open.

11 years agoMerge branch '0.4.x' into 0.5.x
Luke Dashjr [Sun, 6 May 2012 05:35:50 +0000]
Merge branch '0.4.x' into 0.5.x

11 years agoBugfix: %-12I64d is not valid and causes the parameter to be skipped, use %12"PRI64d...
Luke Dashjr [Sun, 6 May 2012 05:27:08 +0000]
Bugfix: %-12I64d is not valid and causes the parameter to be skipped, use %12"PRI64d" instead

Conflicts:

src/walletdb.cpp

11 years agoremove HTML code around "Wallet" (displayed on overview page) and use Qt tags for...
Philip Kaufmann [Wed, 4 Apr 2012 07:07:55 +0000]
remove HTML code around "Wallet" (displayed on overview page) and use Qt tags for font settings

11 years agoBugfix: Remove redundant duplicate transaction check
Luke Dashjr [Fri, 4 May 2012 19:54:24 +0000]
Bugfix: Remove redundant duplicate transaction check

11 years agoMerge branch '0.4.x' into 0.5.x
Luke Dashjr [Fri, 4 May 2012 18:55:15 +0000]
Merge branch '0.4.x' into 0.5.x

11 years agoCheck earlier for blocks with duplicate transactions. Fixes #1167
Gavin Andresen [Mon, 30 Apr 2012 00:56:55 +0000]
Check earlier for blocks with duplicate transactions. Fixes #1167

11 years agoCheck earlier for blocks with duplicate transactions. Fixes #1167
Gavin Andresen [Mon, 30 Apr 2012 00:56:55 +0000]
Check earlier for blocks with duplicate transactions. Fixes #1167

11 years agoremove obsolete BackupWallet() entry in wallet.h
Philip Kaufmann [Thu, 3 May 2012 09:30:52 +0000]
remove obsolete BackupWallet() entry in wallet.h

11 years agoadd bitcoin-qt.rc to OTHER_FILES (shown in Qt Creator)
Philip Kaufmann [Tue, 1 May 2012 20:26:33 +0000]
add bitcoin-qt.rc to OTHER_FILES (shown in Qt Creator)

11 years agofix compiler warning "suggest parentheses around assignment used as truth
Philip Kaufmann [Mon, 30 Apr 2012 23:46:03 +0000]
fix compiler warning "suggest parentheses around assignment used as truth
value [-Wparentheses]" in util.cpp

11 years agofix DEPENDPATH in the project file, as json has no include sub-dir and src was in...
Philip Kaufmann [Tue, 1 May 2012 16:45:10 +0000]
fix DEPENDPATH in the project file, as json has no include sub-dir and src was in twice

11 years agoremove unused typedef in serialize.h
Philip Kaufmann [Mon, 30 Apr 2012 23:56:47 +0000]
remove unused typedef in serialize.h

12 years agofix compiler error in bitcoinrpc RE: boost::system
Gavin Andresen [Wed, 11 Apr 2012 18:00:48 +0000]
fix compiler error in bitcoinrpc RE: boost::system

(Partial of 2232717cba9e9f06a01e8f37bcea4e79ee65205f)

12 years agoMerge branch '0.4.x' into 0.5.x
Luke Dashjr [Fri, 27 Apr 2012 17:52:02 +0000]
Merge branch '0.4.x' into 0.5.x

Conflicts:
doc/build-msw.txt
src/makefile.linux-mingw
src/makefile.mingw

12 years agoWindows build: compile against openssl 1.0.1b
Gavin Andresen [Fri, 27 Apr 2012 14:52:14 +0000]
Windows build: compile against openssl 1.0.1b

12 years agoWindows build: compile against openssl 1.0.1b
Gavin Andresen [Fri, 27 Apr 2012 14:52:14 +0000]
Windows build: compile against openssl 1.0.1b

12 years agoBump version to 0.5.5
Luke Dashjr [Fri, 27 Apr 2012 14:55:06 +0000]
Bump version to 0.5.5

12 years agoMerge branch '0.4.x' into 0.5.x
Luke Dashjr [Fri, 27 Apr 2012 14:53:14 +0000]
Merge branch '0.4.x' into 0.5.x

Conflicts:
contrib/Bitcoin.app/Contents/Info.plist
doc/README
doc/README_windows.txt
share/setup.nsi
src/protocol.h
src/serialize.h

12 years agoBump version to 0.4.6
Luke Dashjr [Fri, 27 Apr 2012 14:50:24 +0000]
Bump version to 0.4.6

12 years agolistsinceblock: rpc param blockid -> blockhash
freewil [Thu, 26 Apr 2012 16:48:33 +0000]
listsinceblock: rpc param blockid -> blockhash

This is more consistent with the rest of the labeling seen
by the user when accessing the rpc commands.

12 years agoremove strange debug message from listsinceblock
freewil [Thu, 26 Apr 2012 17:12:44 +0000]
remove strange debug message from listsinceblock

12 years agoWe should include netinet/in.h to use sockaddr_in (POSIX.1-2001)
Timothy Redaelli [Wed, 25 Apr 2012 12:07:24 +0000]
We should include netinet/in.h to use sockaddr_in (POSIX.1-2001)

12 years agoWe should include netinet/in.h to use sockaddr_in (POSIX.1-2001)
Timothy Redaelli [Wed, 25 Apr 2012 12:07:24 +0000]
We should include netinet/in.h to use sockaddr_in (POSIX.1-2001)

12 years agoCBlock::WriteToDisk() properly checks ftell(3) for error return
Jeff Garzik [Sun, 22 Apr 2012 17:59:24 +0000]
CBlock::WriteToDisk() properly checks ftell(3) for error return

Rather than storing ftell(3)'s return value -- a long -- in an
unsigned int, we store and check a properly typed temp.  Then, assured a
non-negative value, we store in nBlockPosRet.

12 years agoMerge branch '0.4.x' into 0.5.x
Luke Dashjr [Sun, 22 Apr 2012 14:05:43 +0000]
Merge branch '0.4.x' into 0.5.x

Conflicts:
src/main.cpp

12 years agoAdd missing includes. (Fix bulding under GCC 4.7)
Timothy Redaelli [Fri, 20 Apr 2012 10:50:57 +0000]
Add missing includes. (Fix bulding under GCC 4.7)

(Note: GCC 4.7 build NOT tested with backports -Luke)

12 years agoFix bugs on 'unsigned char' platforms.
Dwayne C. Litzenberger [Mon, 16 Apr 2012 05:32:55 +0000]
Fix bugs on 'unsigned char' platforms.

In ISO C++, the signedness of 'char' is undefined.  On some platforms (e.g.
ARM), 'char' is an unsigned type, but some of the code relies on 'char' being
signed (as it is on x86).  This is indicated by compiler warnings like this:

 bignum.h: In constructor 'CBigNum::CBigNum(char)':
 bignum.h:81:59: warning: comparison is always true due to limited range of data type [-Wtype-limits]

 util.cpp: In function 'bool IsHex(const string&)':
 util.cpp:427:28: warning: comparison is always false due to limited range of data type [-Wtype-limits]

In particular, IsHex erroneously returned true regardless of the input
characters, as long as the length of the string was a positive multiple of 2.

Note: For testing, it's possible using GCC to force char to be unsigned by
adding the -funsigned-char parameter to xCXXFLAGS.

12 years agoFix phexdigits[255] is undefined.
Dwayne C. Litzenberger [Mon, 16 Apr 2012 05:31:38 +0000]
Fix phexdigits[255] is undefined.

12 years agoAdd missing breaks in optionmodel's switch case
Pieter Wuille [Tue, 17 Apr 2012 21:27:59 +0000]
Add missing breaks in optionmodel's switch case

12 years agoFix potential deadlock
Pieter Wuille [Tue, 17 Apr 2012 16:50:45 +0000]
Fix potential deadlock

Conflict:
* cs_main in ProcessMessages() (before calling ProcessMessages)
* cs_vSend in CNode::BeginMessage
versus:
* cs_vSend in ThreadMessageHandler2 (before calling SendMessages)
* cs_main in SendMessages

Even though cs_vSend is a try_lock, if it succeeds simultaneously with
the locking of cs_main in ProcessMessages(), it could cause a deadlock.

12 years agoFix misc. minor sign-comparison warnings
Jeff Garzik [Sun, 15 Apr 2012 21:00:20 +0000]
Fix misc. minor sign-comparison warnings

12 years agoCNode's nHeaderStart may be negative, so change its type (PARTIAL)
Jeff Garzik [Sun, 15 Apr 2012 20:59:48 +0000]
CNode's nHeaderStart may be negative, so change its type (PARTIAL)

12 years agoFix loop index var types, fixing many minor sign comparison warnings
Jeff Garzik [Sun, 15 Apr 2012 20:52:09 +0000]
Fix loop index var types, fixing many minor sign comparison warnings

foo.size() typically returns an unsigned integral type; make loop variables
match those types' signedness.

12 years agoThe string class returns string::npos, when find() fails.
Jeff Garzik [Sun, 15 Apr 2012 20:47:24 +0000]
The string class returns string::npos, when find() fails.

Noticed when sign-comparison warnings were enabled.

12 years agoAdd forgotten initializer
Wladimir J. van der Laan [Mon, 16 Apr 2012 09:46:13 +0000]
Add forgotten initializer

12 years agoAlreadyHave(): only hold lock during mapTransactions access
Jeff Garzik [Tue, 17 Apr 2012 16:30:00 +0000]
AlreadyHave(): only hold lock during mapTransactions access

12 years agoLocking fix for AlreadyHave()
Jeff Garzik [Fri, 13 Apr 2012 22:24:55 +0000]
Locking fix for AlreadyHave()

Access to mapTransactions[] must be guarded by cs_mapTransactions lock.

12 years agoSet label when selecting an address that already has a label. Fixes #1080.
Wladimir J. van der Laan [Fri, 13 Apr 2012 19:08:46 +0000]
Set label when selecting an address that already has a label. Fixes #1080.

12 years agoMerge branch '0.5.0.x' into 0.5.x
Luke Dashjr [Mon, 16 Apr 2012 01:06:10 +0000]
Merge branch '0.5.0.x' into 0.5.x

12 years agoMerge branch '0.4.x' into 0.5.0.x
Luke Dashjr [Mon, 16 Apr 2012 01:05:54 +0000]
Merge branch '0.4.x' into 0.5.0.x

Conflicts:
src/keystore.h

12 years agofix warnings: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses]
Wladimir J. van der Laan [Sun, 15 Apr 2012 11:27:00 +0000]
fix warnings: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses]

12 years agofix warnings: delete called on 'XX' that has virtual functions but non-virtual destru...
Wladimir J. van der Laan [Sun, 15 Apr 2012 10:59:20 +0000]
fix warnings: delete called on 'XX' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]

12 years agofix warnings: unused variable 'XX' [-Wunused-variable]
Wladimir J. van der Laan [Sun, 15 Apr 2012 10:53:14 +0000]
fix warnings: unused variable 'XX' [-Wunused-variable]

12 years agofix warnings: enumeration values 'XX' not handled in switch [-Wswitch-enum]
Wladimir J. van der Laan [Sun, 15 Apr 2012 10:42:52 +0000]
fix warnings: enumeration values 'XX' not handled in switch [-Wswitch-enum]

12 years agofix warnings: 'XX' defined as a struct here but previously declared as a class [...
Wladimir J. van der Laan [Sun, 15 Apr 2012 10:31:56 +0000]
fix warnings: 'XX' defined as a struct here but previously declared as a class [-Wmismatched-tags]

12 years agofix warnings: array subscript is of type 'char' [-Wchar-subscripts]
Wladimir J. van der Laan [Sun, 15 Apr 2012 10:22:30 +0000]
fix warnings: array subscript is of type 'char' [-Wchar-subscripts]

12 years agofix warnings: array subscript is of type 'char' [-Wchar-subscripts]
Wladimir J. van der Laan [Sun, 15 Apr 2012 10:22:30 +0000]
fix warnings: array subscript is of type 'char' [-Wchar-subscripts]

12 years agowork around issue in boost::program_options that prevents from compiling in clang
Wladimir J. van der Laan [Sun, 15 Apr 2012 09:42:40 +0000]
work around issue in boost::program_options that prevents from compiling in clang

12 years agoShow a message box when runaway exception happens
Wladimir J. van der Laan [Sat, 14 Apr 2012 07:41:05 +0000]
Show a message box when runaway exception happens

This is more clear to users than when the program simply disappears (usually during initialization). It still logs the message to the console and debug log as well.

12 years agoMerge commit 'e962c7f' into 0.5.0.x
Luke Dashjr [Sun, 15 Apr 2012 17:23:43 +0000]
Merge commit 'e962c7f' into 0.5.0.x

12 years agoBugfix: nTotalBlocks wasn't in 0.5.0, so need to replace it with equivalent function...
Luke Dashjr [Sun, 15 Apr 2012 17:23:34 +0000]
Bugfix: nTotalBlocks wasn't in 0.5.0, so need to replace it with equivalent function call in backport

12 years agoAdd symlink to scripts/qt/make_windows_icon.sh from old file name, just in case
Luke Dashjr [Sat, 14 Apr 2012 19:38:26 +0000]
Add symlink to scripts/qt/make_windows_icon.sh from old file name, just in case

12 years agoRename make_windows_icon.py to .sh as it is a shell script (fixes #1099)
Wladimir J. van der Laan [Sat, 14 Apr 2012 16:32:30 +0000]
Rename make_windows_icon.py to .sh as it is a shell script (fixes #1099)

12 years agoDo not show green tick unless all known blocks are downloaded (fixes #921)
Wladimir J. van der Laan [Sat, 14 Apr 2012 06:21:22 +0000]
Do not show green tick unless all known blocks are downloaded (fixes #921)

12 years agoAdd missing tooltip and key shortcut in settings dialog (#1088 without line break...
Wladimir J. van der Laan [Fri, 13 Apr 2012 07:16:46 +0000]
Add missing tooltip and key shortcut in settings dialog (#1088 without line break part)

12 years agoBug fix listtransactions from/count handling.
Gavin Andresen [Thu, 5 Apr 2012 00:56:13 +0000]
Bug fix listtransactions from/count handling.

12 years agoShow error message instead of exception crash when unable to bind RPC port
Wladimir J. van der Laan [Thu, 5 Apr 2012 18:36:27 +0000]
Show error message instead of exception crash when unable to bind RPC port

Fixes issue #875

12 years agoMerge branch '0.5.0.x' into 0.5.x
Luke Dashjr [Fri, 6 Apr 2012 21:45:20 +0000]
Merge branch '0.5.0.x' into 0.5.x

12 years agoBugfix: Windows lacks sleep(), so need to use Sleep() from util.h
Luke Dashjr [Fri, 6 Apr 2012 21:44:26 +0000]
Bugfix: Windows lacks sleep(), so need to use Sleep() from util.h

12 years agoMerge branch '0.5.0.x' into 0.5.x
Luke Dashjr [Fri, 6 Apr 2012 20:34:34 +0000]
Merge branch '0.5.0.x' into 0.5.x

Conflicts:
src/qt/notificator.h

12 years agoProper support for Growl 1.3 notifications
p2k [Mon, 12 Mar 2012 13:20:55 +0000]
Proper support for Growl 1.3 notifications

12 years agoBugfix: Replace "URL" with "URI" where we aren't actually working with URLs
Luke Dashjr [Sun, 25 Mar 2012 21:25:10 +0000]
Bugfix: Replace "URL" with "URI" where we aren't actually working with URLs

12 years agoMerge branch 'strlcpy_attribute' into 0.5.0.x
Luke Dashjr [Thu, 5 Apr 2012 23:43:06 +0000]
Merge branch 'strlcpy_attribute' into 0.5.0.x

12 years agoDocument strlcpy.h in assets-attribution.txt since it isn't MIT-licensed
Luke Dashjr [Thu, 5 Apr 2012 22:58:20 +0000]
Document strlcpy.h in assets-attribution.txt since it isn't MIT-licensed

12 years agoMerge branch '0.5.0.x' into 0.5.x
Luke Dashjr [Thu, 5 Apr 2012 22:21:01 +0000]
Merge branch '0.5.0.x' into 0.5.x

12 years agoMerge branch '0.4.x' into 0.5.0.x
Luke Dashjr [Thu, 5 Apr 2012 22:20:18 +0000]
Merge branch '0.4.x' into 0.5.0.x

12 years agoVerify status of encrypt/decrypt calls to detect failed padding
Pieter Wuille [Wed, 4 Apr 2012 23:02:49 +0000]
Verify status of encrypt/decrypt calls to detect failed padding

12 years agoIncrease time ago of last block for "up to date" status from 30 to 90 minutes
Wladimir J. van der Laan [Mon, 2 Apr 2012 18:34:17 +0000]
Increase time ago of last block for "up to date" status from 30 to 90 minutes

It was too hyperactive.
gmaxwell: I mean that right now when the block gap goes over an hour it starts showing synchronizing. Increasing that to 90 minutes or so would make it only happen about 6.4 times per year

12 years agoAdd laanwj to gitian download scripts.
Matt Corallo [Fri, 16 Dec 2011 20:04:43 +0000]
Add laanwj to gitian download scripts.

12 years agoAdd laanwj to gitian download scripts.
Matt Corallo [Fri, 16 Dec 2011 20:04:43 +0000]
Add laanwj to gitian download scripts.

12 years agoMerge branch '0.5.0.x' into 0.5.x
Luke Dashjr [Wed, 4 Apr 2012 19:41:07 +0000]
Merge branch '0.5.0.x' into 0.5.x

Conflicts:
src/qt/bitcoingui.h

12 years agoMerge branch '0.4.x' into 0.5.0.x
Luke Dashjr [Wed, 4 Apr 2012 19:36:25 +0000]
Merge branch '0.4.x' into 0.5.0.x

12 years agoUse a messagebox to display the error when -server is provided without providing...
Wladimir J. van der Laan [Sat, 31 Mar 2012 13:08:25 +0000]
Use a messagebox to display the error when -server is provided without providing a rpc password

(plus part of 7cfbe1fee465e82ddbdc8ed17dfcce791bd765f5)

12 years agoMerge branch '0.5.0.x' into 0.5.x
Luke Dashjr [Wed, 4 Apr 2012 14:30:32 +0000]
Merge branch '0.5.0.x' into 0.5.x

12 years agoAdd Luke-Jr's PGP key to gitian-downloader
Luke Dashjr [Mon, 12 Mar 2012 04:45:08 +0000]
Add Luke-Jr's PGP key to gitian-downloader

12 years agoAdd Luke-Jr's PGP key to gitian-downloader
Luke Dashjr [Mon, 12 Mar 2012 04:45:08 +0000]
Add Luke-Jr's PGP key to gitian-downloader

12 years agoremoved an ugly line break in a transaction tooltip for case TransactionStatus::Mature
Philip Kaufmann [Tue, 27 Mar 2012 21:15:05 +0000]
removed an ugly line break in a transaction tooltip for case TransactionStatus::Mature

12 years agoUpdated my GPG key
Pieter Wuille [Mon, 26 Mar 2012 20:12:25 +0000]
Updated my GPG key

12 years agoUpdated my GPG key
Pieter Wuille [Mon, 26 Mar 2012 20:12:25 +0000]
Updated my GPG key

12 years agoMerge branch '0.4.x' into 0.5.0.x
Luke Dashjr [Wed, 4 Apr 2012 14:10:16 +0000]
Merge branch '0.4.x' into 0.5.0.x

Conflicts:
src/main.cpp
src/makefile.unix

12 years agoFix script tests for P2SH
Luke Dashjr [Wed, 4 Apr 2012 13:35:22 +0000]
Fix script tests for P2SH

Upstream: 922e8e2929a2e78270868385aa46f96002fbcff3

12 years agoFix testing setup
Vegard Nossum [Sun, 31 Jul 2011 18:00:38 +0000]
Fix testing setup

There were some problems with the existing testing setup:

 - Makefile rules for test-file compilation used CFLAGS instead of
   CXXFLAGS in makefile.unix

12 years agoDo not invoke anti-DoS system for invalid BIP16 transactions
Pieter Wuille [Sat, 25 Feb 2012 18:02:30 +0000]
Do not invoke anti-DoS system for invalid BIP16 transactions

Doing so would allow an attack on old nodes, which would relay a
standard transaction spending a BIP16 output in an invalid way,
until reaching a new node, which will disconnect their peer.

Reported by makomk on IRC.

12 years agoMerge branch '0.5.0.x' into 0.5.x
Luke Dashjr [Mon, 2 Apr 2012 13:37:09 +0000]
Merge branch '0.5.0.x' into 0.5.x

12 years agoMerge branch 'vfycompsig_0.5.0' into 0.5.0.x
Luke Dashjr [Wed, 28 Mar 2012 00:10:46 +0000]
Merge branch 'vfycompsig_0.5.0' into 0.5.0.x

12 years agoMinimal support for compressed-key signature recovery (for verifymessage)
Luke Dashjr [Wed, 28 Mar 2012 00:03:28 +0000]
Minimal support for compressed-key signature recovery (for verifymessage)

Upstream commits:
11529c6e4f7288d8a64c488a726ee3821c7adefe
d4d9c734c315e99136fe245c5733ca75cab9f8bf

12 years agoMerge branch '0.5.0.x' into 0.5.x
Luke Dashjr [Tue, 27 Mar 2012 00:07:28 +0000]
Merge branch '0.5.0.x' into 0.5.x

12 years agoMerge branch '0.4.x' into 0.5.0.x
Luke Dashjr [Tue, 27 Mar 2012 00:06:55 +0000]
Merge branch '0.4.x' into 0.5.0.x

12 years agoRemove wxWidgets .exe and locales during setup
Gavin Andresen [Mon, 26 Mar 2012 16:33:35 +0000]
Remove wxWidgets .exe and locales during setup

12 years agoCheck minversion before loading the rest of the wallet
Pieter Wuille [Thu, 22 Mar 2012 03:59:59 +0000]
Check minversion before loading the rest of the wallet

When a 0.6 wallet with compressed pubkeys is created, it writes a
minversion record to prevent older clients from reading it. If the 0.5
loading it sees a key record before seeing the minversion record however,
it will fail with DB_CORRUPT instead of DB_TOO_NEW.

12 years agoFix warning about deprecated unescaped backslash
Wladimir J. van der Laan [Wed, 21 Mar 2012 21:29:33 +0000]
Fix warning about deprecated unescaped backslash