Barry Warsaw
b8f1166922
(python-font-lock-keywords): Pick up block introducing keywords with
...
immediately following colons. Sjoerd noticed this one too. Here's a
nonsense.py file that flexes all the font-lock keyword combinations.
class A:
class B(A):
pass
def __init__(self):
if i == 2 and j == 3 or k == 4:
import stuff
from otherstuff import cool
for i in range(cool.count):
if i == j:
break
elif j == 1:
continue
print i
else:
return not i
elif q is not i:
return lambda x: x + 1
else:
try:
try:
raise stuff.error
except stuff.error, v:
print v
except:
global q
finally:
while q > 0:
q = q - 1
assert q == 0
def make():
a = A()
exec "nonsense"
del a
1997-11-06 14:35:15 +00:00
Barry Warsaw
ef3c891773
(python-font-lock-keywords): Fix for consecutive keyword font locking,
...
given by Sjoerd Mullender <Sjoerd.Mullender@cwi.nl>.
1997-11-05 18:55:50 +00:00
Barry Warsaw
5e21cb0bfb
(py-emacs-features): Test for working make-temp-name, which is broken
...
on NTEmacs 19.34.6.
(py-serial-number): New variable.
(py-execute-region): If make-temp-name is broken, simply append a
serial number to the string "python-" to get a temporary file name.
It's possible concurrent NTEmacs can step on each others toes, but it
makes no sense to further coddle a busted NTEmacs.
1997-11-05 18:41:11 +00:00
Barry Warsaw
a9ce70f3bc
(py-execute-region): Fixed small bug with queuing file for execution
...
in a py-shell. Temp files now get cleaned up.
1997-11-05 16:56:51 +00:00
Barry Warsaw
2518c67984
(mark-python-def-or-class): Renamed to py-mark-def-or-class globally.
...
(py-mode-map): Moved py-mark-def-or-class from M-C-h to C-c C-m since
the old binding conflicts with the standard global backward-kill-word
binding, and this new binding is more conformant with other language
modes. Moved py-mark-block to C-c C-k.
1997-11-05 00:51:08 +00:00
Barry Warsaw
6d48c4a00b
(py-backspace-function): New variable.
...
(py-electric-backspace, py-electric-delete): Support the XEmacs 20 Way
for backspace and delete mappings. In XEmacs 19, Emacs 19, and Emacs
20, both backspace and delete keysyms are bound to
py-electric-backspace. In XEmacs 20, backspace and delete keysyms are
bound separately, allowing the user to specify forward or backward
deletion of the delete keysym through the variable
delete-key-deletes-forward. All this is the Right Way To Do It and
this implementation was largely ripped from CC Mode.
1997-11-04 19:21:50 +00:00
Barry Warsaw
a97a3f34d6
First round of changes, mostly subprocess stuff.
...
(py-execute-file): Better interaction with comint. Set
comint-scroll-to-bottom-on-output to t. Wrapper buffer change in
unwind-protect in case process filter fails.
(py-shell): Start Python with -i flag to fix tty problem on Windows;
presumably -- not yet tested.
(py-clear-queue): New function to clear the pending exec file queue.
Not currently keybound.
(py-execute-region, py-execute-buffer): Added optional async flag (use
via C-u prefix) to execute the region in a new asynchrous buffer, even
if the Python shell is running.
(py-append-to-process-buffer): Removed as obsolete. Comint provides
this functionality.
Removed fbound test defun of match-string. All modern X/Emacsen have
this function.
1997-11-04 18:47:06 +00:00
Barry Warsaw
affc0ca0e8
Changes in preparation for integrating into the Python CVS tree.
...
Introductory comment updates.
(python-font-lock-keywords): Added "assert"
(py-block-closing-keywords-re): New variable.
(py-no-outdent-re): Rewrite to use py-block-closing-keywords-re.
(py-shell): py-process-filter should no longer be necessary. Comint
should do all the work. Note that more fixes to the py-shell process
mechanism need to be done.
(py-execute-region): Check for empty region. Some questionable
changes to set-buffer after shell-command-on-region. Again, this all
needs to be closely examined for X/Emacs 19/20 compatibility.
(py-goto-beyond-final-line): py-parse-partial-sexp-works-p should no
longer be necessary.
(py-statement-closes-block-p): Use py-block-closing-keywords-re.
1997-11-03 16:59:38 +00:00
Barry Warsaw
c12c62ee5a
(py-parse-partial-sexp-works-p): Removed as obsolete. All current
...
Emacs and XEmacs versions should have working parse-partial-sexp's.
(py-emacs-features): Defined as future placeholder.
1997-09-04 04:18:07 +00:00
Barry Warsaw
516b6208c7
#Fixed two byte-compiler errors
1997-08-09 06:43:20 +00:00
Barry Warsaw
c72c11c9e3
#Checkpointing X/Emacs 20'fication of this mode.
1997-08-09 06:42:08 +00:00
Barry Warsaw
7d6b7d3f54
#Bumping to version 3.0
1997-08-08 16:19:03 +00:00
Barry Warsaw
e6648967b7
(py-shell): Remove support for Emacs 18, implicitly add support for
...
Emacs 20, and bind TAB key to self-insert-command in *Python* process.
1997-07-10 15:58:36 +00:00
Barry Warsaw
fb07f408b6
(python-font-lock-keywords): Use new convention for installing in mode
1997-02-24 03:37:22 +00:00
Barry Warsaw
941f70c331
(py-mode-map): Comment Out Region / Uncomment Region should use
...
py-comment-region instead of comment-region.
1997-01-30 20:16:18 +00:00
Barry Warsaw
2ccda502f6
#Updated authorship line
1997-01-30 19:50:39 +00:00
Barry Warsaw
f770578225
(py-parse-partial-sexp-works-p): New variable to work around a bug in
...
parse-partial-sexp in some Emacsen.
(py-goto-beyond-final-line): use py-parse-partial-sexp-works-p.
1997-01-30 19:49:39 +00:00
Barry Warsaw
b05399373c
(py-delete-function): new variable
...
(py-delete-char): funcall py-delete-function.
1996-12-17 22:05:07 +00:00
Barry Warsaw
5c8bef1888
(python-mode): added comment-end definitions.
1996-12-17 21:56:10 +00:00
Barry Warsaw
3622e0d090
(match-string): Added a definition for older Emacsen.
1996-10-29 15:32:57 +00:00
Barry Warsaw
7cb505c89b
(py-indent-line): take an optional universal argument which says to
...
defeat extra outdentation for block closing statements (return, raise,
break, continue, pass).
(py-compute-indentation): extra argument to honor block closing
statements.
(py-electric-colon, py-indent-region): use py-compute-indentation's
extra argument
(py-statement-closes-block-p): `pass' treated as a block closing
statement.
1996-10-23 20:44:59 +00:00
Barry Warsaw
7a73ef852f
(py-process-filter): Make sure current-buffer is restored, even in the
...
event of error. Can't use new Emacs primitive save-current-buffer, so
use unwind-protect instead.
1996-09-30 23:00:40 +00:00
Barry Warsaw
2e049b2b05
(python-font-lock-keywords): with Python 1.4 `access' is no a keyword
1996-09-04 15:21:55 +00:00
Barry Warsaw
b3e81d58aa
I have been increasingly annoyed about the fact that
...
add-change-log-entry-other-window is so bad about guessing the proper
name of Python functions, methods and variables, so finally I wrote
the following (unidiff patch against python-mode.el 2.73):
Per Cederqvist <ceder@signum.se>
1996-09-04 15:12:42 +00:00
Barry Warsaw
01af401e27
#stylistics
1996-09-04 14:57:22 +00:00
Barry Warsaw
550a02e6ae
(python-mode): typos
1996-09-04 14:23:00 +00:00
Barry Warsaw
615d4a458f
(python-mode): font-lock-defaults must be make-local-variable'd
1996-09-04 14:14:10 +00:00
Barry Warsaw
604cefa8df
(py-dump-help-string): Use documentation-property to get docstring.
1996-09-03 18:17:04 +00:00
Barry Warsaw
b1f895150a
(python-mode): font-lock-defaults necessary for Emacs 19, but doesn't
...
hurt for XEmacs.
1996-09-03 16:38:30 +00:00
Barry Warsaw
c72ad871ba
#py-shell gets an autoload cookie
1996-09-03 16:16:04 +00:00
Barry Warsaw
261f87dac1
*** empty log message ***
1996-08-20 19:57:34 +00:00
Barry Warsaw
f67a57efc4
(py-no-outdent-re): Added return, break, raise, continue since we
...
already outdent for those statements.
1996-08-12 19:52:27 +00:00
Barry Warsaw
cf34d2a010
#updated commentary
1996-08-06 15:57:58 +00:00
Barry Warsaw
5490a06fc7
(py-menu): Create default value
1996-08-06 15:43:33 +00:00
Barry Warsaw
c5a8cbd35d
(py-forward-into-nomenclature): Slightly better regex for stopping on
...
underscore.
1996-08-05 21:53:02 +00:00
Barry Warsaw
a766182f08
(py-electric-colon): Use (py-next-statement -1) instead of
...
(forward-line -1), to properly catch continued statements.
1996-08-02 16:22:43 +00:00
Barry Warsaw
3fcaf61768
#updated comments
1996-08-01 20:11:51 +00:00
Barry Warsaw
755c6714cc
(python-mode): automatically install imenu stuff.
1996-08-01 20:02:55 +00:00
Barry Warsaw
8143746750
(imenu-example--python-show-method-args-p,
...
imenu-example--python-class-regexp,
imenu-example--python-method-regexp,
imenu-example--python-method-no-arg-parens,
imenu-example--python-method-arg-parens,
imenu-example--generic-python-expression,
imenu-example--python-generic-regexp,
imenu-example--python-generic-parens): New variables.
(imenu-example--create-python-index,
imenu-example--create-python-index-engine): New functions.
1996-08-01 19:48:02 +00:00
Barry Warsaw
ce60bc7192
(py-keep-region-active): Zap duplicate defun.
1996-08-01 18:17:14 +00:00
Barry Warsaw
6e527d2ca3
(py-delete-char): Check for py-honor-comment-indentation.
1996-08-01 15:57:48 +00:00
Barry Warsaw
a7891718e1
(py-mode): comment-start is now "# " so indent-for-comment does the
...
right thing.
(py-comment-region): let-bind comment-start to "## " so commented
regions get transformed into non-indenting comment lines.
(py-compute-region): Implement modification to rule for recognizing
"indenting comment lines".
1996-08-01 15:53:09 +00:00
Barry Warsaw
9e277db76b
#comment update
1996-07-31 22:33:40 +00:00
Barry Warsaw
c08a949549
#comment update
1996-07-31 22:27:58 +00:00
Barry Warsaw
5c0d00f553
#updated to do list
1996-07-31 21:30:21 +00:00
Barry Warsaw
170ffa775d
(py-parse-state): stop searching backwards when we found a keyword at
...
column zero. Perhaps a kludge, but similar in nature to Emacs'
beginning-of-defun shortcut.
1996-07-31 20:57:22 +00:00
Barry Warsaw
f831d81999
(py-statement-closes-block-p, py-compute-indentation): Outdent one
...
level after a return, raise, break, or continue statement.
1996-07-31 20:42:59 +00:00
Barry Warsaw
42f707f40f
(python-mode): Added menu support, requires easymenu.
1996-07-29 21:05:05 +00:00
Barry Warsaw
c846f46113
(py-forward-into-nomenclature): small fix to not infinitely loop at
...
underscores.
1996-07-25 18:53:17 +00:00
Barry Warsaw
fb3494276e
#comment update, re: py-mode-syntax-table
1996-07-24 18:32:08 +00:00
Barry Warsaw
9e5a9c8c99
(py-forward-into-nomenclature, py-backward-into-nomenclature): New functions.
1996-07-24 18:26:53 +00:00
Barry Warsaw
71e315b9d9
(py-shift-region-left): When checking for left edged code, watch for
...
blank lines.
1996-07-23 15:03:16 +00:00
Barry Warsaw
fc9cc3a9ce
added a thing on the to-do list
1996-07-08 22:37:06 +00:00
Barry Warsaw
44b7220b8b
(python-font-lock-keywords): added class and def
1996-07-05 20:11:35 +00:00
Barry Warsaw
8e9d7d7e83
(py-mode-syntax-table): revert underscore to word class, even though I
...
don't agree with it.
1996-07-03 23:15:51 +00:00
Barry Warsaw
039707399e
(py-delete-char): Obey numeric argument.
1996-07-03 23:12:52 +00:00
Barry Warsaw
dea4a29e9a
(py-shift-region-left, py-shift-region-right, py-indent-right,
...
py-outdent-left, py-mode-map): Folded all functionality into
py-shift-region-* commands. Bound C-c C-l to py-shift-region-left and
C-c C-r to py-shift-region-right. Removed py-indent-right and
py-indent-left.
1996-07-03 22:59:12 +00:00
Barry Warsaw
f2389a0b24
(py-indent-right, py-outdent-left): fixed placement of point after
...
adjustments.
1996-04-08 23:05:56 +00:00
Barry Warsaw
43ecf8ee58
(py-parse-state): make sure we don't land inside a triple-quoted
...
string
1996-04-06 00:00:19 +00:00
Barry Warsaw
5f204775bf
(py-indent-right, py-outdent-left): Watch out for (mark) returning
...
nil.
1996-03-25 21:24:26 +00:00
Barry Warsaw
4669d7e415
#updated some comments
1996-03-22 16:13:24 +00:00
Barry Warsaw
826255ba32
(py-indent-right, py-indent-left): support indentation of regions or
...
current line.
1996-03-22 16:09:34 +00:00
Barry Warsaw
867a32ab53
(py-comment-region): obsoleted by comment-region
...
(python-mode): set comment-start to "## " for comment-region.
(py-mode-map): Bind C-c# to comment-region.
1996-03-07 18:30:26 +00:00
Barry Warsaw
62d9d6ed40
(python-font-lock-keywords): make it a defconst
1996-03-06 20:32:27 +00:00
Barry Warsaw
6d627754c1
(py-honor-comment-indentation, py-compute-indentation): allow other
...
than nil or t values.
1996-03-06 18:41:38 +00:00
Barry Warsaw
33d6ec062e
(py-honor-comment-indentation): new variable.
...
(py-compute-indentation): use new variable.
1996-03-05 16:28:07 +00:00
Barry Warsaw
6245a3ca3f
#removed font-lock cruft
1996-03-05 16:20:19 +00:00
Barry Warsaw
33ab6e4915
(python-font-lock-keywords): Much improved descrimination between
...
keywords and names with keywords in them.
1996-03-05 00:44:31 +00:00
Barry Warsaw
fd0fb38055
(py-compute-indentation): fix skipping backwards over comments by
...
using forward-comment (and Emacs 19 function) if available.
1996-03-04 17:15:40 +00:00
Barry Warsaw
9fbcc6a6c2
(py-shell): Fixed Emacs 18 bug, use of boundp instead of fboundp.
1996-01-23 22:52:02 +00:00
Barry Warsaw
17914f4e17
(py-indent-offset): Change default to 4.
1995-11-03 18:25:15 +00:00
Barry Warsaw
2bbe49bf6f
changed underscore to have symbol syntax
1995-10-18 14:41:12 +00:00
Barry Warsaw
52bc17cd9e
(py-indent-offset): this should be buffer local.
1995-10-12 21:15:49 +00:00
Barry Warsaw
095e9c6954
(py-align-multiline-strings-p): new variable
1995-09-19 20:01:42 +00:00
Barry Warsaw
0c6563f7c7
(py-electric-colon): turn off electric behavior inside strings and
...
comments.
1995-09-14 20:57:02 +00:00
Barry Warsaw
57697af9b0
(python-mode): comment-multi-line must be nil for Emacs 19
1995-09-14 20:01:14 +00:00
Barry Warsaw
c01c5c859c
(py-compute-indentation): when inside a comment, indent to under the
...
most previous non-blank line.
1995-09-14 18:49:11 +00:00
Barry Warsaw
fec75d66a7
#changed all email address to go through python.org
1995-07-05 23:26:15 +00:00
Barry Warsaw
4dba7e2b67
(py-append-to-process-buffer): XEmacs doesn't have last-input-start or
...
last-input-end either!
1995-07-05 23:01:43 +00:00
Barry Warsaw
4d82c9aef5
(python-font-lock-keywords): merged with XEmacs 19.12 font-lock.el
...
value
1995-07-05 22:50:55 +00:00
Barry Warsaw
e64bfee412
(py-process-filter): if command takes a long time, input typed before
...
the next prompt could end up in the middle of the line, instead of
after it. Fix given by klm@nist.gov .
1995-07-05 22:27:23 +00:00
Barry Warsaw
6e98f3350f
(py-shell): cope with make-comint instead of make-shell
1995-07-05 22:06:50 +00:00
Barry Warsaw
b01b4fa130
Added tbd's on python-font-lock-keywords
1995-06-20 18:55:34 +00:00
Barry Warsaw
7a1f6f4f2a
#updated to-do list
1995-05-08 21:36:20 +00:00
Barry Warsaw
3aca2a1f1c
(py-electric-colon): use a save-excursion instead of a progn in
...
indentation calculation test.
1995-03-20 18:32:14 +00:00
Barry Warsaw
d865bc5984
#(py-electric-colon): updated comment
1995-03-15 18:23:16 +00:00
Barry Warsaw
a6a714eb3b
(py-electric-colon): don't indent, only outdent.
1995-03-15 18:19:15 +00:00
Barry Warsaw
1a6c82f1e6
(py-indent-right, py-outdent-left): new commands, bound to C-c C-r and
...
C-c C-l respectively.
1995-03-15 16:23:59 +00:00
Barry Warsaw
9b623b3d63
(py-electric-colon): don't re-indent the line if it starts in column
...
zero
1995-03-14 23:59:07 +00:00
Barry Warsaw
464c94af2a
(py-no-outdent-re): fixed the regexp for try: clauses
1995-03-14 23:25:44 +00:00
Barry Warsaw
3874a3d7ef
(py-outdent-p): new function
...
(py-electric-colon, py-indent-line): watch out for intervening blank
or comment lines.
1995-03-14 22:05:53 +00:00
Barry Warsaw
4f009fb092
(py-no-outdent-re): new constant
...
(py-indent-line, py-electric-colon): watch for compound statements one
line after another.
1995-03-14 20:53:08 +00:00
Barry Warsaw
b5e0ecbd33
(py-submit-bug-report): fixed summary querying
...
#Added a summary of changes
1995-03-14 18:32:54 +00:00
Barry Warsaw
0012c1ec74
(py-outdent-re): new constant
...
(py-electric-colon): use py-outdent-re instead of hardcoding
(py-indent-line): look for py-outdent-re and outdent a level
accordingly
1995-03-14 16:32:55 +00:00
Barry Warsaw
b86bbada37
#(py-indent-line): cosmetic
1995-03-14 15:56:35 +00:00
Barry Warsaw
b91b743476
(py-electric-colon): new command
1995-03-14 15:55:20 +00:00
Barry Warsaw
cfec359016
#updated copywrite notice by removing the GPL language according to
...
#Guido's request.
# Updated the `Created' date
1995-03-10 15:58:16 +00:00
Barry Warsaw
fc8a01fc5a
(py-delete-char): must have 'supersede value for 'delete-selection and
...
'pedning-delete properties.
1995-03-09 16:07:29 +00:00
Barry Warsaw
65bc7a7bf2
(python-font-lock-keywords): better defaults.
1995-03-08 22:25:47 +00:00
Barry Warsaw
74d9cc5b73
(py-keep-region-active): new function.
1995-03-08 22:05:16 +00:00
Barry Warsaw
c723b75fe3
#(python-font-lock-keywords): paren typo
1995-03-08 22:03:16 +00:00
Barry Warsaw
4f005cf5d6
(python-font-lock-keywords): new variable
1995-03-08 22:02:44 +00:00
Barry Warsaw
850437a932
(py-mode-map): py-mark-block moved to C-c C-m (was C-c C-b).
...
py-submit-bug-report placed on C-c C-b, and py-version placed on C-c
C-v.
(py-version, py-submit-bug-report): new functions
(py-version, py-help-address): new variables
1995-03-08 21:50:28 +00:00
Barry Warsaw
7b0f5681d8
#initial stylistic rewrite
1995-03-08 21:33:04 +00:00
Barry Warsaw
3ff444992f
(py-compute-indentation): in `t' clause, watch for the
...
re-search-backwards landing you inside a mult-line string.
1994-12-16 00:13:34 +00:00
Barry Warsaw
7ae7768890
Initial revision
1994-12-12 20:38:05 +00:00