Commit Graph

107 Commits

Author SHA1 Message Date
Barry Warsaw 6ae21ad687 #(py-emacs-features): Fixed typo in docstring. 1997-11-06 14:36:49 +00:00
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