#endif
-#if defined(_MSC_VER)
+#if defined(_MSC_VER)
#include <intrin.h>
#include <immintrin.h>
#endif
result; \
})
-#elif defined(_MSC_VER)
+#elif defined(_MSC_VER)
/* _Interlocked* functions provide a full memory barrier and are therefore
enough for acq_rel and seq_cst. If the HLE variants aren't available
in hardware they will fall back to a full memory barrier as well.
} _Py_atomic_int;
-#if defined(_M_X64)
+#if defined(_M_X64)
#define _Py_atomic_store_64bit(ATOMIC_VAL, NEW_VAL, ORDER) \
switch (ORDER) { \
case _Py_memory_order_acquire: \
break;
}
}
- return old;
+ return old;
}
#else
break;
}
}
- return old;
+ return old;
}
#define _Py_atomic_store_explicit(ATOMIC_VAL, NEW_VAL, ORDER) \
} _Py_atomic_int;
-#if defined(_M_ARM64)
+#if defined(_M_ARM64)
#define _Py_atomic_store_64bit(ATOMIC_VAL, NEW_VAL, ORDER) \
switch (ORDER) { \
case _Py_memory_order_acquire: \
break;
}
}
- return old;
+ return old;
}
#else
break;
}
}
- return old;
+ return old;
}
#define _Py_atomic_store_explicit(ATOMIC_VAL, NEW_VAL, ORDER) \
if (sizeof(*ATOMIC_VAL._value) == 8) { \
_Py_atomic_store_64bit(ATOMIC_VAL._value, NEW_VAL, ORDER) } else { \
- _Py_atomic_store_32bit(ATOMIC_VAL._value, NEW_VAL, ORDER) }
+ _Py_atomic_store_32bit(ATOMIC_VAL._value, NEW_VAL, ORDER) }
#define _Py_atomic_load_explicit(ATOMIC_VAL, ORDER) \
( \
fs.st_mtime, datetime.timezone.utc)
# remove microseconds, like in If-Modified-Since
last_modif = last_modif.replace(microsecond=0)
-
+
if last_modif <= ims:
self.send_response(HTTPStatus.NOT_MODIFIED)
self.end_headers()
self.send_response(HTTPStatus.OK)
self.send_header("Content-type", ctype)
self.send_header("Content-Length", str(fs[6]))
- self.send_header("Last-Modified",
+ self.send_header("Last-Modified",
self.date_time_string(fs.st_mtime))
self.end_headers()
return f
* INSTALLATION, setup.py: INSTALLATION: Remove the coexist.patch
instructions
-
+
**************** setup.py:
-
+
Remove the idles script, add some words on IDLE Fork to the
long_description, and clean up some line spacing.
* PyShell.py, idle, idles: Implement idle command interface as
suggested by GvR [idle-dev] 16 July **************** PyShell: Added
functionality:
-
+
usage: idle.py [-c command] [-d] [-i] [-r script] [-s] [-t title]
[arg] ...
-
+
idle file(s) (without options) edit the file(s)
-
+
-c cmd run the command in a shell -d enable the
debugger -i open an interactive shell -i file(s) open a
shell and also an editor window for each file -r script run a file
as a script in a shell -s run $IDLESTARTUP or
$PYTHONSTARTUP before anything else -t title set title of shell
window
-
+
Remaining arguments are applied to the command (-c) or script (-r).
-
+
****************** idles: Removed the idles script, not needed
-
+
****************** idle: Removed the IdleConf references, not
required anymore
2001-07-16 17:08 kbk
* INSTALLATION, coexist.patch: Added installation instructions.
-
+
Added a patch which modifies idlefork so that it can co-exist with
"official" IDLE in the site-packages directory. This patch is not
necessary if only idlefork IDLE is installed. See INSTALLATION for
2001-07-16 15:50 kbk
* idles: Add a script "idles" which opens a Python Shell window.
-
+
The default behaviour of idlefork idle is to open an editor window
instead of a shell. Complex expressions may be run in a fresh
environment by selecting "run". There are times, however, when a
* PyShell.py, setup.py: Add a script "idles" which opens a Python
Shell window.
-
+
The default behaviour of idlefork idle is to open an editor window
instead of a shell. Complex expressions may be run in a fresh
environment by selecting "run". There are times, however, when a
* setup.py: Installing Idle to site-packages via Distutils does not
copy the Idle help.txt file.
-
+
Ref SF Python Patch 422471
2001-07-14 15:26 kbk
* keydefs.py: py-cvs-2001_07_13 (Rev 1.3) merge
-
+
"Make copy, cut and paste events case insensitive. Reported by
Patrick K. O'Brien on idle-dev. (Should other bindings follow
suit?)" --GvR
2001-07-14 15:21 kbk
* idle.py: py-cvs-2001_07_13 (Rev 1.4) merge
-
+
"Move the action of loading the configuration to the IdleConf
module rather than the idle.py script. This has advantages and
disadvantages; the biggest advantage being that we can more easily
2001-07-14 15:18 kbk
* extend.txt: py-cvs-2001_07_13 (Rev 1.4) merge
-
+
"Quick update to the extension mechanism (extend.py is gone, long
live config.txt)" --GvR
2001-07-14 15:15 kbk
* StackViewer.py: py-cvs-2001_07_13 (Rev 1.16) merge
-
+
"Refactored, with some future plans in mind. This now uses the new
gotofileline() method defined in FileList.py" --GvR
2001-07-14 15:10 kbk
* PyShell.py: py-cvs-2001_07_13 (Rev 1.34) merge
-
+
"Amazing. A very subtle change in policy in descr-branch actually
found a bug here. Here's the deal: Class PyShell derives from
class OutputWindow. Method PyShell.close() wants to invoke its
2001-07-14 14:59 kbk
* PyParse.py: py-cvs-2001_07_13 (Rel 1.9) merge
-
+
"Taught IDLE's autoident parser that "yield" is a keyword that
begins a stmt. Along w/ the preceding change to keyword.py, making
all this work w/ a future-stmt just looks harder and harder."
--tim_one
-
+
(From Rel 1.8: "Hack to make this still work with Python 1.5.2.
;-( " --fdrake)
2001-07-14 14:51 kbk
* IdleConf.py: py-cvs-2001_07_13 (Rel 1.7) merge
-
+
"Move the action of loading the configuration to the IdleConf
module rather than the idle.py script. This has advantages and
disadvantages; the biggest advantage being that we can more easily
2001-07-14 14:45 kbk
* FileList.py: py-cvs-2000_07_13 (Rev 1.9) merge
-
+
"Delete goodname() method, which is unused. Add gotofileline(), a
convenience method which I intend to use in a variant. Rename
test() to _test()." --GvR
-
+
This was an interesting merge. The join completely missed removing
goodname(), which was adjacent, but outside of, a small conflict.
I only caught it by comparing the 1.1.3.2/1.1.3.3 diff. CVS ain't
2001-07-14 10:13 kbk
* PyShell.py: cvs-py-rel2_1 (Rev 1.29 - 1.33) merge
-
+
Merged the following py-cvs revs without conflict: 1.29 Reduce
copyright text output at startup 1.30 Delay setting sys.args until
Tkinter is fully initialized 1.31 Whitespace normalization 1.32
Turn syntax warning into error when interactive 1.33 Fix warning
initialization bug
-
+
Note that module is extensively modified wrt py-cvs
2001-07-14 06:33 kbk
2001-07-13 13:35 kbk
* EditorWindow.py: py-cvs-rel2_1 (Rev 1.33 - 1.37) merge
-
+
VP IDLE version depended on VP's ExecBinding.py and spawn.py to get
the path to the Windows Doc directory (relative to python.exe).
Removed this conflicting code in favor of py-cvs updates which on
Windows use a hard coded path relative to the location of this
module. py-cvs updates include support for webbrowser.py. Module
still has BrowserControl.py for 1.5.2 support.
-
+
At this point, the differences wrt py-cvs relate to menu
functionality.
======================================================================
Python release 1.5.2b2, IDLE version 0.3
======================================================================
-
+
Wed Feb 17 22:47:41 1999 Guido van Rossum <guido@cnri.reston.va.us>
* NEWS.txt: News in 0.3.
======================================================================
Python release 1.5.2b1, IDLE version 0.2
======================================================================
-
+
Fri Jan 8 17:26:02 1999 Guido van Rossum <guido@cnri.reston.va.us>
* README.txt, NEWS.txt: What's new in this release.
<open windows> # windows
Help
- About IDLE # eEW.about_dialog, help_about.AboutDialog
+ About IDLE # eEW.about_dialog, help_about.AboutDialog
---
IDLE Help # eEW.help_dialog, helpshow_idlehelp
Python Doc # eEW.python_docs
<No menu>
Center Insert # eEW.center_insert_event
-
+
CODE STYLE -- Generally PEP 8.
import
5. Test Coverage
Install the coverage package into your Python 3.6 site-packages
-directory. (Its exact location depends on the OS).
+directory. (Its exact location depends on the OS).
> python3 -m pip install coverage
(On Windows, replace 'python3 with 'py -3.6' or perhaps just 'python'.)
/self->trace/
{
printf("%d\t%*s:", timestamp, 15, probename);
- printf("%*s", self->indent, "");
+ printf("%*s", self->indent, "");
printf("%s:%s:%d\n", basename(copyinstr(arg0)), copyinstr(arg1), arg2);
self->indent++;
}
{
self->indent--;
printf("%d\t%*s:", timestamp, 15, probename);
- printf("%*s", self->indent, "");
+ printf("%*s", self->indent, "");
printf("%s:%s:%d\n", basename(copyinstr(arg0)), copyinstr(arg1), arg2);
}
((('args', ..., ..., 'var_positional'),), ...))
self.assertEqual(self.signature(A.f3),
((('args', ..., ..., 'var_positional'),), ...))
- self.assertEqual(self.signature(A.f4),
+ self.assertEqual(self.signature(A.f4),
((('args', ..., ..., 'var_positional'),
('kwargs', ..., ..., 'var_keyword')), ...))
@cpython_only
# -*- coding: latin1 -*-
-# IMPORTANT: this file has the utf-8 BOM signature '\xef\xbb\xbf'
+# IMPORTANT: this file has the utf-8 BOM signature '\xef\xbb\xbf'
# at the start of it. Make sure this is preserved if any changes
# are made! Also note that the coding cookie above conflicts with
# the presence of a utf-8 BOM signature -- this is intended.
-# IMPORTANT: this file has the utf-8 BOM signature '\xef\xbb\xbf'
+# IMPORTANT: this file has the utf-8 BOM signature '\xef\xbb\xbf'
# at the start of it. Make sure this is preserved if any changes
# are made!
# -*- coding: utf-8 -*-
-# IMPORTANT: this file has the utf-8 BOM signature '\xef\xbb\xbf'
+# IMPORTANT: this file has the utf-8 BOM signature '\xef\xbb\xbf'
# at the start of it. Make sure this is preserved if any changes
# are made!
# Tests for the 'tokenize' module.
-# Large bits stolen from test_grammar.py.
+# Large bits stolen from test_grammar.py.
# Comments
"#"
set -l old_status $status
# Prompt override?
- if test -n "__VENV_PROMPT__"
+ if test -n "__VENV_PROMPT__"
printf "%s%s" "__VENV_PROMPT__" (set_color normal)
else
# ...Otherwise, prepend env
* http://lxr.mozilla.org/seamonkey/source/modules/libimg/png/mozpngconf.h#115
*
* The list of relevant exported symbols can be had with this command:
- *
+ *
nm pyexpat.so \
| grep -v " [a-zBUA] " \
| grep -v "_fini\|_init\|initpyexpat"
#ifdef HAVE_SOCKADDR_ALG
struct sockaddr_alg alg;
#endif
-#ifdef AF_VSOCK
+#ifdef AF_VSOCK
struct sockaddr_vm vm;
#endif
} sock_addr_t;
}
static PyGetSetDef cell_getsetlist[] = {
- {"cell_contents", (getter)cell_get_contents,
+ {"cell_contents", (getter)cell_get_contents,
(setter)cell_set_contents, NULL},
{NULL} /* sentinel */
};
Unlike the dictionary implementation, the lookkey function can return
NULL if the rich comparison returns an error.
-
+
Use cases for sets differ considerably from dictionaries where looked-up
keys are more likely to be present. In contrast, sets are primarily
about membership testing where the presence of an element is not known in
/*[clinic end generated code: output=48f9563db34aedb3 input=4c774f2d05770bc6]*/
{
INPUT_RECORD *rec = NULL;
-
+
if (!PyWindowsConsoleIO_Check(file)) {
PyErr_SetString(PyExc_TypeError, "expected raw console object");
return NULL;
if (!rec)
goto error;
memset(rec, 0, sizeof(INPUT_RECORD) * size);
-
+
INPUT_RECORD *prec = rec;
for (DWORD i = 0; i < size; ++i, ++p, ++prec) {
prec->EventType = KEY_EVENT;
}
PyMem_Free((void*)rec);
-
+
Py_RETURN_NONE;
error:
if (rec)
/*[clinic end generated code: output=c6942a0efa119000 input=22f07ee9001bbf0f]*/
{
int res;
-
+
_Py_BEGIN_SUPPRESS_IPH
res = _ungetch(char_value);
_Py_END_SUPPRESS_IPH
/* *********************************************************
* List of test cases and the function that implements it.
- *
+ *
* Names are compared case-sensitively with the first
* argument. If no match is found, or no first argument was
* provided, the names of all test cases are printed and
*
* The int returned from test functions is used as the exit
* code, and test_capi treats all non-zero exit codes as a
- * failed test.
+ * failed test.
*********************************************************/
struct TestCase
{
$(PYTHON) ../freeze.py -o $(OUTDIR) ok.py
make -C $(OUTDIR)
$(OUTDIR)/ok
-
+
_PKG_SHORT_ERRORS_SUPPORTED
if test $_pkg_short_errors_supported = yes; then
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
- else
+ else
$1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
fi
# Put the nasty error message in config.log where it belongs