]> granicus.if.org Git - python/log
python
10 years agoIssue #15381: Optimized io.BytesIO to make less allocations and copyings.
Serhiy Storchaka [Tue, 3 Feb 2015 09:30:10 +0000 (11:30 +0200)]
Issue #15381: Optimized io.BytesIO to make less allocations and copyings.

10 years agoIssue #22818: Splitting on a pattern that could match an empty string now
Serhiy Storchaka [Tue, 3 Feb 2015 09:04:19 +0000 (11:04 +0200)]
Issue #22818: Splitting on a pattern that could match an empty string now
raises a warning.  Patterns that can only match empty strings are now
rejected.

10 years agoIssue #23099: Closing io.BytesIO with exported buffer is rejected now to
Serhiy Storchaka [Tue, 3 Feb 2015 07:30:51 +0000 (09:30 +0200)]
Issue #23099: Closing io.BytesIO with exported buffer is rejected now to
prevent corrupting exported buffer.

10 years agoIssue #23099: Closing io.BytesIO with exported buffer is rejected now to
Serhiy Storchaka [Tue, 3 Feb 2015 00:00:18 +0000 (02:00 +0200)]
Issue #23099: Closing io.BytesIO with exported buffer is rejected now to
prevent corrupting exported buffer.

10 years agoIssues #23363, #23364, #23365, #23366: Fixed itertools overflow tests.
Serhiy Storchaka [Mon, 2 Feb 2015 23:50:31 +0000 (01:50 +0200)]
Issues #23363, #23364, #23365, #23366: Fixed itertools overflow tests.
Used PyMem_New to check overflow.

10 years agoIssue #22896: Fixed using _getbuffer() in recently added _PyBytes_Format().
Serhiy Storchaka [Mon, 2 Feb 2015 23:49:18 +0000 (01:49 +0200)]
Issue #22896: Fixed using _getbuffer() in recently added _PyBytes_Format().

10 years agoIssues #23363, #23364, #23365, #23366: Fixed itertools overflow tests.
Serhiy Storchaka [Mon, 2 Feb 2015 23:35:10 +0000 (01:35 +0200)]
Issues #23363, #23364, #23365, #23366: Fixed itertools overflow tests.
Used PyMem_New to check overflow.

10 years agoIssues #23363, #23364, #23365, #23366: Fixed itertools overflow tests.
Serhiy Storchaka [Mon, 2 Feb 2015 23:34:09 +0000 (01:34 +0200)]
Issues #23363, #23364, #23365, #23366: Fixed itertools overflow tests.
Used PyMem_New to check overflow.

10 years agoIssue #22896: Avoid to use PyObject_AsCharBuffer(), PyObject_AsReadBuffer()
Serhiy Storchaka [Mon, 2 Feb 2015 23:25:42 +0000 (01:25 +0200)]
Issue #22896: Avoid to use PyObject_AsCharBuffer(), PyObject_AsReadBuffer()
and PyObject_AsWriteBuffer().

10 years agoIssue #22896: Avoid to use PyObject_AsCharBuffer(), PyObject_AsReadBuffer()
Serhiy Storchaka [Mon, 2 Feb 2015 23:21:08 +0000 (01:21 +0200)]
Issue #22896: Avoid to use PyObject_AsCharBuffer(), PyObject_AsReadBuffer()
and PyObject_AsWriteBuffer().

10 years agomerge 3.4
Benjamin Peterson [Mon, 2 Feb 2015 22:47:31 +0000 (17:47 -0500)]
merge 3.4

10 years agomerge 3.3
Benjamin Peterson [Mon, 2 Feb 2015 22:47:26 +0000 (17:47 -0500)]
merge 3.3

10 years agoreduce memory usage of test (closes #23369)
Benjamin Peterson [Mon, 2 Feb 2015 22:47:07 +0000 (17:47 -0500)]
reduce memory usage of test (closes #23369)

10 years agomerge 3.4
Benjamin Peterson [Mon, 2 Feb 2015 19:22:19 +0000 (14:22 -0500)]
merge 3.4

10 years agoadjust for py3k module renaming
Benjamin Peterson [Mon, 2 Feb 2015 19:22:13 +0000 (14:22 -0500)]
adjust for py3k module renaming

10 years agomerge 3.4
Benjamin Peterson [Mon, 2 Feb 2015 19:06:29 +0000 (14:06 -0500)]
merge 3.4

10 years ago_clear_type_cache is cpython-only
Benjamin Peterson [Mon, 2 Feb 2015 19:06:11 +0000 (14:06 -0500)]
_clear_type_cache is cpython-only

10 years agoMerge 3.4 (asyncio)
Victor Stinner [Mon, 2 Feb 2015 17:36:59 +0000 (18:36 +0100)]
Merge 3.4 (asyncio)

10 years agoIssue #23353, asyncio: Workaround CPython bug #23353
Victor Stinner [Mon, 2 Feb 2015 17:36:31 +0000 (18:36 +0100)]
Issue #23353, asyncio: Workaround CPython bug #23353

Don't use yield/yield-from in an except block of a generator. Store the
exception and handle it outside the except block.

10 years agoIssue 23359: Tighten inner search loop for sets (don't and-mask every entry lookup).
Raymond Hettinger [Mon, 2 Feb 2015 16:35:00 +0000 (08:35 -0800)]
Issue 23359: Tighten inner search loop for sets (don't and-mask every entry lookup).

10 years agomerge 3.4 (#21295)
Benjamin Peterson [Mon, 2 Feb 2015 15:52:56 +0000 (10:52 -0500)]
merge 3.4 (#21295)

10 years agorevert lineno and col_offset changes from #16795 (closes #21295)
Benjamin Peterson [Mon, 2 Feb 2015 15:51:20 +0000 (10:51 -0500)]
revert lineno and col_offset changes from #16795 (closes #21295)

10 years agoOptimization guides suggest copying memory in an ascending direction when possible.
Raymond Hettinger [Mon, 2 Feb 2015 06:53:41 +0000 (22:53 -0800)]
Optimization guides suggest copying memory in an ascending direction when possible.

10 years agomerge 3.4 (#23364, #23363)
Benjamin Peterson [Mon, 2 Feb 2015 02:36:01 +0000 (21:36 -0500)]
merge 3.4 (#23364, #23363)

10 years agomerge 3.3 (#23364, #23363)
Benjamin Peterson [Mon, 2 Feb 2015 02:35:34 +0000 (21:35 -0500)]
merge 3.3 (#23364, #23363)

10 years agocheck for overflows in permutations() and product() (closes #23363, closes #23364)
Benjamin Peterson [Mon, 2 Feb 2015 02:34:07 +0000 (21:34 -0500)]
check for overflows in permutations() and product() (closes #23363, closes #23364)

10 years agomerge 3.4 (#23365)
Benjamin Peterson [Mon, 2 Feb 2015 02:11:54 +0000 (21:11 -0500)]
merge 3.4 (#23365)

10 years agomerge 3.3 (#23365)
Benjamin Peterson [Mon, 2 Feb 2015 02:11:39 +0000 (21:11 -0500)]
merge 3.3 (#23365)

10 years agocheck for overflow in combinations_with_replacement (closes #23365)
Benjamin Peterson [Mon, 2 Feb 2015 02:10:47 +0000 (21:10 -0500)]
check for overflow in combinations_with_replacement (closes #23365)

10 years agomerge 3.4 (#23366)
Benjamin Peterson [Mon, 2 Feb 2015 02:01:43 +0000 (21:01 -0500)]
merge 3.4 (#23366)

10 years agomerge 3.3 (#23366)
Benjamin Peterson [Mon, 2 Feb 2015 02:00:15 +0000 (21:00 -0500)]
merge 3.3 (#23366)

10 years agodetect overflow in combinations (closes #23366)
Benjamin Peterson [Mon, 2 Feb 2015 01:59:00 +0000 (20:59 -0500)]
detect overflow in combinations (closes #23366)

10 years agomerge 3.4
Benjamin Peterson [Mon, 2 Feb 2015 01:18:29 +0000 (20:18 -0500)]
merge 3.4

10 years agohttps goodness
Benjamin Peterson [Mon, 2 Feb 2015 01:17:22 +0000 (20:17 -0500)]
https goodness

10 years agofix tests on systems that can't validate python.org
Benjamin Peterson [Mon, 2 Feb 2015 01:16:59 +0000 (20:16 -0500)]
fix tests on systems that can't validate python.org

10 years agomerge 3.4
Benjamin Peterson [Sun, 1 Feb 2015 23:02:21 +0000 (18:02 -0500)]
merge 3.4

10 years agomerge 3.3
Benjamin Peterson [Sun, 1 Feb 2015 23:02:15 +0000 (18:02 -0500)]
merge 3.3

10 years agoremove extra ws
Benjamin Peterson [Sun, 1 Feb 2015 23:02:09 +0000 (18:02 -0500)]
remove extra ws

10 years agomerge 3.4 (#23369)
Benjamin Peterson [Sun, 1 Feb 2015 23:00:19 +0000 (18:00 -0500)]
merge 3.4 (#23369)

10 years agomerge 3.3 (#23369)
Benjamin Peterson [Sun, 1 Feb 2015 22:59:49 +0000 (17:59 -0500)]
merge 3.3 (#23369)

10 years agofix possible overflow in encode_basestring_ascii (closes #23369)
Benjamin Peterson [Sun, 1 Feb 2015 22:53:53 +0000 (17:53 -0500)]
fix possible overflow in encode_basestring_ascii (closes #23369)

10 years agoMerge cosmetic change.
Stefan Krah [Sun, 1 Feb 2015 18:47:25 +0000 (19:47 +0100)]
Merge cosmetic change.

10 years agoWhitespace.
Stefan Krah [Sun, 1 Feb 2015 18:46:31 +0000 (19:46 +0100)]
Whitespace.

10 years agoWhitespace.
Stefan Krah [Sun, 1 Feb 2015 18:45:14 +0000 (19:45 +0100)]
Whitespace.

10 years agoIssue #23352: Merge from 3.4.
Stefan Krah [Sun, 1 Feb 2015 18:42:45 +0000 (19:42 +0100)]
Issue #23352: Merge from 3.4.

10 years agoIssue #23352: Document that Py_buffer.suboffsets must be NULL if no suboffsets
Stefan Krah [Sun, 1 Feb 2015 18:42:12 +0000 (19:42 +0100)]
Issue #23352: Document that Py_buffer.suboffsets must be NULL if no suboffsets
are required.

10 years agoMerge from 3.4.
Stefan Krah [Sun, 1 Feb 2015 18:19:49 +0000 (19:19 +0100)]
Merge from 3.4.

10 years agoDon't seek to the start of the file when open ZipFile with the 'w' mode
Serhiy Storchaka [Sun, 1 Feb 2015 17:01:10 +0000 (19:01 +0200)]
Don't seek to the start of the file when open ZipFile with the 'w' mode
(regression introduced in issue #14099).

10 years agoIssue #23370: Fix off-by-one error for non-contiguous buffers.
Stefan Krah [Sun, 1 Feb 2015 15:19:23 +0000 (16:19 +0100)]
Issue #23370: Fix off-by-one error for non-contiguous buffers.

10 years agoMerged documentation update from 3.4.
Vinay Sajip [Sun, 1 Feb 2015 15:18:14 +0000 (15:18 +0000)]
Merged documentation update from 3.4.

10 years agoAdded a cookbook entry on logging audible messages.
Vinay Sajip [Sun, 1 Feb 2015 15:17:34 +0000 (15:17 +0000)]
Added a cookbook entry on logging audible messages.

10 years agoIssue #22445: PyBuffer_IsContiguous() now implements precise contiguity
Stefan Krah [Sun, 1 Feb 2015 13:53:54 +0000 (14:53 +0100)]
Issue #22445: PyBuffer_IsContiguous() now implements precise contiguity
tests, compatible with NumPy's NPY_RELAXED_STRIDES_CHECKING compilation
flag.  Previously the function reported false negatives for corner cases.

10 years agoIssue #23212: Update Windows copy of OpenSSL to 1.0.1l
Steve Dower [Sat, 31 Jan 2015 20:20:40 +0000 (12:20 -0800)]
Issue #23212: Update Windows copy of OpenSSL to 1.0.1l

10 years agoNull merge with 3.4
Steve Dower [Sat, 31 Jan 2015 20:30:22 +0000 (12:30 -0800)]
Null merge with 3.4

10 years agoIssue #23212: Update Windows copy of OpenSSL to 1.0.1l
Steve Dower [Sat, 31 Jan 2015 20:19:10 +0000 (12:19 -0800)]
Issue #23212: Update Windows copy of OpenSSL to 1.0.1l

10 years agoFixes python3_d.dll build so that functions are forwarded to python35_d.dll
Steve Dower [Sat, 31 Jan 2015 19:17:07 +0000 (11:17 -0800)]
Fixes python3_d.dll build so that functions are forwarded to python35_d.dll

10 years agoKeep the definition of i consistent between set_lookkey() and set_insert_clean().
Raymond Hettinger [Sat, 31 Jan 2015 10:45:12 +0000 (02:45 -0800)]
Keep the definition of i consistent between set_lookkey() and set_insert_clean().

10 years agoMerge heads
Serhiy Storchaka [Sat, 31 Jan 2015 10:23:01 +0000 (12:23 +0200)]
Merge heads

10 years agoMerge 3.4 (generator)
Victor Stinner [Sat, 31 Jan 2015 10:08:40 +0000 (11:08 +0100)]
Merge 3.4 (generator)

10 years agoIssue #23326: Removed __ne__ implementations. Since fixing default __ne__
Serhiy Storchaka [Sat, 31 Jan 2015 10:05:05 +0000 (12:05 +0200)]
Issue #23326: Removed __ne__ implementations.  Since fixing default __ne__
implementation in issue #21408 they are redundant.

10 years agoIssue #22765: Fixed test_gdb failures. Supressed unexpected gdb output.
Serhiy Storchaka [Sat, 31 Jan 2015 09:50:22 +0000 (11:50 +0200)]
Issue #22765: Fixed test_gdb failures. Supressed unexpected gdb output.
Patch by Bohuslav Kabrda.

10 years agoIssue #22765: Fixed test_gdb failures. Supressed unexpected gdb output.
Serhiy Storchaka [Sat, 31 Jan 2015 09:48:52 +0000 (11:48 +0200)]
Issue #22765: Fixed test_gdb failures. Supressed unexpected gdb output.
Patch by Bohuslav Kabrda.

10 years agoIssue #23353: Fix the exception handling of generators in PyEval_EvalFrameEx().
Victor Stinner [Sat, 31 Jan 2015 09:29:47 +0000 (10:29 +0100)]
Issue #23353: Fix the exception handling of generators in PyEval_EvalFrameEx().
At entry, save or swap the exception state even if PyEval_EvalFrameEx() is
called with throwflag=0. At exit, the exception state is now always restored or
swapped, not only if why is WHY_YIELD or WHY_RETURN. Patch co-written with
Antoine Pitrou.

10 years agoMinor tweak to improve code clarity.
Raymond Hettinger [Sat, 31 Jan 2015 04:09:23 +0000 (20:09 -0800)]
Minor tweak to improve code clarity.

10 years agoFix typo in a comment.
Raymond Hettinger [Sat, 31 Jan 2015 02:02:15 +0000 (18:02 -0800)]
Fix typo in a comment.

10 years agoallow changing __class__ between a heaptype and non-heaptype in some cases (closes...
Benjamin Peterson [Fri, 30 Jan 2015 18:33:42 +0000 (13:33 -0500)]
allow changing __class__ between a heaptype and non-heaptype in some cases (closes #22986)

Patch by Nathaniel Smith.

10 years agomerge
Raymond Hettinger [Fri, 30 Jan 2015 06:02:17 +0000 (22:02 -0800)]
merge

10 years agoMove the set search finger before the smalltable.
Raymond Hettinger [Fri, 30 Jan 2015 06:00:32 +0000 (22:00 -0800)]
Move the set search finger before the smalltable.

10 years agoMerge: Fix asyncio doc typo.
R David Murray [Fri, 30 Jan 2015 00:54:03 +0000 (19:54 -0500)]
Merge: Fix asyncio doc typo.

10 years agoFix asyncio doc typo.
R David Murray [Fri, 30 Jan 2015 00:53:33 +0000 (19:53 -0500)]
Fix asyncio doc typo.

10 years agoMerge 3.4 (asyncio doc)
Victor Stinner [Fri, 30 Jan 2015 00:39:01 +0000 (01:39 +0100)]
Merge 3.4 (asyncio doc)

10 years agoasyncio doc: document the new ResourceWarning warnings
Victor Stinner [Fri, 30 Jan 2015 00:35:14 +0000 (01:35 +0100)]
asyncio doc: document the new ResourceWarning warnings

10 years agoMerge 3.4 (asyncio)
Victor Stinner [Fri, 30 Jan 2015 00:21:06 +0000 (01:21 +0100)]
Merge 3.4 (asyncio)

10 years agoIssue #23347, asyncio: send_signal(), terminate(), kill() don't check if the
Victor Stinner [Fri, 30 Jan 2015 00:20:44 +0000 (01:20 +0100)]
Issue #23347, asyncio: send_signal(), terminate(), kill() don't check if the
transport was closed. The check broken a Tulip example and this limitation is
arbitrary. Check if _proc is None should be enough.

Enhance also close(): do nothing when called the second time.

10 years agoMerge 3.4 (asyncio doc)
Victor Stinner [Thu, 29 Jan 2015 23:56:10 +0000 (00:56 +0100)]
Merge 3.4 (asyncio doc)

10 years agoasyncio doc: add a section about task cancellation
Victor Stinner [Thu, 29 Jan 2015 23:55:58 +0000 (00:55 +0100)]
asyncio doc: add a section about task cancellation

10 years agoMerge 3.4 (asyncio doc)
Victor Stinner [Thu, 29 Jan 2015 23:37:22 +0000 (00:37 +0100)]
Merge 3.4 (asyncio doc)

10 years agoIssue #21962, asyncio doc: Suggest the usage of wait_for() to replace
Victor Stinner [Thu, 29 Jan 2015 23:37:04 +0000 (00:37 +0100)]
Issue #21962, asyncio doc: Suggest the usage of wait_for() to replace
the lack of timeout parameter for locks and queues.

10 years agoMerge 3.4 (asyncio)
Victor Stinner [Thu, 29 Jan 2015 23:16:31 +0000 (00:16 +0100)]
Merge 3.4 (asyncio)

10 years agoIssue #23347, asyncio: Make BaseSubprocessTransport.wait() private
Victor Stinner [Thu, 29 Jan 2015 23:16:14 +0000 (00:16 +0100)]
Issue #23347, asyncio: Make BaseSubprocessTransport.wait() private

10 years agoMerge 3.4 (asyncio)
Victor Stinner [Thu, 29 Jan 2015 23:11:55 +0000 (00:11 +0100)]
Merge 3.4 (asyncio)

10 years agoasyncio: Fix ResourceWarning in test_subprocess.test_proc_exit()
Victor Stinner [Thu, 29 Jan 2015 23:11:42 +0000 (00:11 +0100)]
asyncio: Fix ResourceWarning in test_subprocess.test_proc_exit()

10 years agoMerge 3.4 (asyncio)
Victor Stinner [Thu, 29 Jan 2015 23:05:36 +0000 (00:05 +0100)]
Merge 3.4 (asyncio)

10 years agoasyncio: sync with Tulip
Victor Stinner [Thu, 29 Jan 2015 23:05:19 +0000 (00:05 +0100)]
asyncio: sync with Tulip

Issue #23347: send_signal(), kill() and terminate() methods of
BaseSubprocessTransport now check if the transport was closed and if the
process exited.

Issue #23347: Refactor creation of subprocess transports. Changes on
BaseSubprocessTransport:

* Add a wait() method to wait until the child process exit
* The constructor now accepts an optional waiter parameter. The _post_init()
  coroutine must not be called explicitly anymore. It makes subprocess
  transports closer to other transports, and it gives more freedom if we want
  later to change completly how subprocess transports are created.
* close() now kills the process instead of kindly terminate it: the child
  process may ignore SIGTERM and continue to run. Call explicitly terminate()
  and wait() if you want to kindly terminate the child process.
* close() now logs a warning in debug mode if the process is still running and
  needs to be killed
* _make_subprocess_transport() is now fully asynchronous again: if the creation
  of the transport failed, wait asynchronously for the process eixt. Before the
  wait was synchronous. This change requires close() to *kill*, and not
  terminate, the child process.
* Remove the _kill_wait() method, replaced with a more agressive close()
  method. It fixes _make_subprocess_transport() on error.
  BaseSubprocessTransport.close() calls the close() method of pipe transports,
  whereas _kill_wait() closed directly pipes of the subprocess.Popen object
  without unregistering file descriptors from the selector (which caused severe
  bugs).

These changes simplifies the code of subprocess.py.

10 years agoMerge 3.4 (asyncio)
Victor Stinner [Thu, 29 Jan 2015 23:04:27 +0000 (00:04 +0100)]
Merge 3.4 (asyncio)

10 years agoIssue #23243, asyncio: Emit a ResourceWarning when an event loop or a transport
Victor Stinner [Thu, 29 Jan 2015 16:50:58 +0000 (17:50 +0100)]
Issue #23243, asyncio: Emit a ResourceWarning when an event loop or a transport
is not explicitly closed. Close also explicitly transports in test_sslproto.

10 years agoIssue #22668: Merge from 3.4.
Stefan Krah [Thu, 29 Jan 2015 16:40:59 +0000 (17:40 +0100)]
Issue #22668: Merge from 3.4.

10 years agoIssue #22668: Remove endianness assumption in test.
Stefan Krah [Thu, 29 Jan 2015 16:33:31 +0000 (17:33 +0100)]
Issue #22668: Remove endianness assumption in test.

10 years agoWhitespace.
Stefan Krah [Thu, 29 Jan 2015 13:33:37 +0000 (14:33 +0100)]
Whitespace.

10 years agoCloses #22668: Merge from 3.4.
Stefan Krah [Thu, 29 Jan 2015 13:29:51 +0000 (14:29 +0100)]
Closes #22668: Merge from 3.4.

10 years agoIssue #22668: Ensure that format strings survive slicing after casting.
Stefan Krah [Thu, 29 Jan 2015 13:27:23 +0000 (14:27 +0100)]
Issue #22668: Ensure that format strings survive slicing after casting.

10 years agoMerge 3.4 (asyncio)
Victor Stinner [Thu, 29 Jan 2015 13:15:42 +0000 (14:15 +0100)]
Merge 3.4 (asyncio)

10 years agoasyncio: sync with Tulip
Victor Stinner [Thu, 29 Jan 2015 13:15:19 +0000 (14:15 +0100)]
asyncio: sync with Tulip

* Cleanup gather(): use cancelled() method instead of using private Future
  attribute
* Fix _UnixReadPipeTransport and _UnixWritePipeTransport. Only start reading
  when connection_made() has been called.
* Issue #23333: Fix BaseSelectorEventLoop._accept_connection(). Close the
  transport on error. In debug mode, log errors using call_exception_handler()

10 years agoMerge 3.4 (asyncio doc)
Victor Stinner [Thu, 29 Jan 2015 12:33:28 +0000 (13:33 +0100)]
Merge 3.4 (asyncio doc)

10 years agoasyncio doc: document Protocol state machine
Victor Stinner [Thu, 29 Jan 2015 12:33:15 +0000 (13:33 +0100)]
asyncio doc: document Protocol state machine

10 years agoMerge 3.4 (asyncio)
Victor Stinner [Thu, 29 Jan 2015 01:57:10 +0000 (02:57 +0100)]
Merge 3.4 (asyncio)

10 years agoasyncio: sync with Tulip
Victor Stinner [Thu, 29 Jan 2015 01:56:05 +0000 (02:56 +0100)]
asyncio: sync with Tulip

* _SelectorTransport constructor: extra parameter is now optional
* Fix _SelectorDatagramTransport constructor. Only start reading after
  connection_made() has been called.
* Fix _SelectorSslTransport.close(). Don't call protocol.connection_lost() if
  protocol.connection_made() was not called yet: if the SSL handshake failed or
  is still in progress. The close() method can be called if the creation of the
  connection is cancelled, by a timeout for example.

10 years agoMerge 3.4 (asyncio)
Victor Stinner [Thu, 29 Jan 2015 01:15:35 +0000 (02:15 +0100)]
Merge 3.4 (asyncio)

10 years agoasyncio: BaseSubprocessTransport._kill_wait() now also call close()
Victor Stinner [Thu, 29 Jan 2015 01:14:30 +0000 (02:14 +0100)]
asyncio: BaseSubprocessTransport._kill_wait() now also call close()

close() closes pipes, which is not None yet by _kill_wait().

10 years agoAlways #define _PyLong_FromDev as we always need it to compile rather than
Gregory P. Smith [Thu, 29 Jan 2015 00:08:07 +0000 (16:08 -0800)]
Always #define _PyLong_FromDev as we always need it to compile rather than
only defining it when HAVE_MKNOD && HAVE_MAKEDEV are true.

This "oops" issue reported by John E. Malmberg on core-mentorship.
(what kinds of systems don't HAVE_MKNOD && HAVE_MAKEDEV?)