summaryrefslogtreecommitdiffstats
path: root/Misc
Commit message (Collapse)AuthorAgeFilesLines
* (py-compute-indentation): Several changes made to improve navigationBarry Warsaw1998-02-121-14/+33
| | | | | | | | | | | | | | | | over and around triple-quoted strings: - move the beginning-of-line to above the p-p-s call - in the `t' clause of the big cond, where we skip over triple-quoted strings, first find out if we're looking at a single or TQS, then skip over it in one fell swoop, instead of trying to loop over skipage of SQS's. (py-parse-state): Implement XEmacs only hack to more accurately figure out whether we're in a string or not. Can't do this in Emacs because it lacks the necessary primitive, so we just do it the old (and mostly accurate, but foolable) way for Emacs.
* (py-scroll-process-buffer): Default value changed to nil to act moreBarry Warsaw1998-02-061-1/+1
| | | | like default shell-mode behavior.
* (py-parse-state): When looking for landing inside triple-quotedBarry Warsaw1998-02-051-1/+1
| | | | | | string, don't check for indentation at column zero. This will falsely hit a line inside a docstring that starts at column zero but ends in a colon.
* (py-python-command-args): New variable, allows user to customize theBarry Warsaw1998-02-051-1/+6
| | | | arguments past to py-python-command when invoking the Python shell.
* (py-outdent-p): When looking at the previous line, watch out forBarry Warsaw1998-01-211-1/+3
| | | | | | | | | | | | | | | continuation lines. This fixes this bug report, reported by Frank Stajano. # But if I split the "raise" line and reindent, the else WRONGLY goes up a # level (?!?) while condition1: if condition2: raise error3, \ moreInfo4 else: # meant to close "if condition2" action5()
* (py-goto-initial-line): Shut up the byte compiler.Barry Warsaw1998-01-211-1/+1
|
* (py-mode-map): Add a binding of C-m to py-newline-and-indent. This isBarry Warsaw1998-01-211-1/+2
| | | | | | | | | | | a religious issue: RMS decrees that the Enter (RET) key should just do a newline and a LFD (C-j) should do a newline and indent (i.e. the python-mode version of this). Almost everyone I know disagrees and finds that RET should do newline and indent. Almost everyone hacks their modes to do this, if they know how. Because it's hard for newbies to figure out how to do this, and because most DOS keyboards lack a LFD (leaving users to the more obscure C-j), I think it makes better sense to add this default binding.
* (py-compute-indentation): In the most common case, where indentationBarry Warsaw1998-01-201-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | is based on the line above, watch out for landing inside a triple quoted string. In this case, use iterative search + parse-partial-sexp backwards to find the beginning of the string. Note this does affect performance, but very little in the common cases (I hope). It could be made *much* faster by adding Emacs and XEmacs dependent code -- different code naturally. :-( Fixes the following reported bug: if len(sys.argv) >= 6: # More lines here fptr = open('/etc/hosts', 'w') fptr.write("""# /etc/hosts -- autocreated by /etc/ppp/ip-up # # Address from pppd %-15s %s # For loopbacking 127.0.0.1 localhost 255.255.255.255 broadcast """ % (ipaddr, ipname) ) os.chmod('/etc/hosts', 0644)
* (py-master-file): New buffer-local variable which can be set in theBarry Warsaw1998-01-201-0/+24
| | | | | | | | | file local variable section of a file. When set, and the user hits C-c C-c, this file gets executed instead of the buffer's file. Idea given by Roy Dragseth <royd@math.uit.no>, but implemented differently. (py-execute-buffer): Support py-master-file variable. If this names a relative path, default-directory is prepended via expand-file-name.
* delete gMakefile, clarify Makefile.pre.inGuido van Rossum1998-01-131-2/+1
|
* No longer needed, sez Jim.Guido van Rossum1998-01-131-83/+0
|
* Added from 1.5b2 to 1.5.Guido van Rossum1997-12-311-0/+75
|
* New blood.Guido van Rossum1997-12-301-0/+5
|
* Typed in the relevant changes since 1.5b1.Guido van Rossum1997-12-111-2/+172
|
* Doug Marien.Guido van Rossum1997-12-111-0/+1
|
* Update to the Big Comment at the top of the file. It should betterBarry Warsaw1997-12-111-24/+43
| | | | | explain what the users of the various Emacsen have to do to get this all working.
* New names.Guido van Rossum1997-12-101-0/+3
|
* Added some links to OO-Browser, given by Harri Pasanen.Barry Warsaw1997-12-061-2/+8
| | | | Updated the to do list.
* (py-jump-on-exception): Variable which if t, means that if anBarry Warsaw1997-12-031-7/+19
| | | | | exception occurs in a synchronous Python subprocess, the mode will automatically jump to the innermost exception.
* Removed redundant eval-when-compile.Barry Warsaw1997-12-031-19/+13
| | | | | | | | | | | (python-mode): Conditionalize imenu initializations to when we can safely require imenu. Under Emacs this should prevent python-mode from hosing the global value of imenu-create-index-function and messing things up for all other modes. Problem identified by Christian Egli. (py-describe-mode): py-delete-char => py-electric-backspace. Given by Christian Egli.
* (python-mode): Patch to make font-lock work automatically for Emacs.Barry Warsaw1997-12-021-0/+1
| | | | Unnecessary for XEmacs, but oh well...
* Test for an up-to-date Custom library when byte-compiling, and issueBarry Warsaw1997-12-021-1/+20
| | | | | an informative message when one cannot be found, as is the case with a vanilla Emacs 19.34 (and NTEmacs 19.34).
* Add attributions to Jeffrey Ollie and Tim Peters for re.py.Guido van Rossum1997-12-021-6/+6
|
* Require 'cl when compiling so that the push macro gets picked in EmacsBarry Warsaw1997-12-011-0/+2
| | | | 19.34.
* (py-traceback-line-re): Relaxation of regexp to catch SyntaxErrors.Barry Warsaw1997-11-271-2/+2
| | | | Harri Pasanen.
* (py-process-filter): py-delete-file-silently is obsolete. Use aBarry Warsaw1997-11-261-1/+1
| | | | py-safe wrapped delete-file call instead.
* (py-compute-indentation): Check for multiline stringness andBarry Warsaw1997-11-261-4/+4
| | | | | commentness so that hitting TAB in the middle of a comment will still indent the line.
* (py-mode-map): Bind py-mark-def-or-class to C-M-h with a differentBarry Warsaw1997-11-261-2/+3
| | | | | spelling so that it doesn't clobber the standard M-BS binding. This should be portable between X/Emacsen.
* Added list of what's new in 1.5b1. Changed intro and some section titles.Guido van Rossum1997-11-261-11/+216
|
* Four more valuable contributors...Guido van Rossum1997-11-261-0/+4
|
* (python-mode): Make imenu-create-index-function buffer local.Barry Warsaw1997-11-261-3/+4
| | | | | | | | | (imenu-example--create-python-index-engine): Use buffer-substring-no-properties. Also, don't use imenu-create-submenu-name. Apparently it is obsolete. These Imenu patches were given by Christian Egli <christian.egli@stest.ch>
* (py-mark-def-or-class): Added an exchange-point-and-mark and aBarry Warsaw1997-11-261-2/+4
| | | | | | | | | py-keep-region-active so that the marked def/class gets the zmacs-region or transient-mark region highlighted. Also point should be left at the end of the marked region. (py-mode-map): Moved py-mark-def-or-class to M-C-h to conform to Emacs major mode standards.
* (python-mode): Patch to fix Imenu support under Emacs, given byBarry Warsaw1997-11-261-1/+3
| | | | Torsten Hilbrich <Torsten.Hilbrich@bln.de>.
* (py-kill-emacs-hook): Simplification.Barry Warsaw1997-11-261-11/+5
|
* Added comment about where to find details on python-mode.el, pointingBarry Warsaw1997-11-261-23/+183
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to the Web site. (py-defun-start-re, py-class-start-re): Changed to defconst. (py-traceback-line-re): Regular expression describing what traceback lines look like. (py-point): New defsubst copied from CC Mode. (py-highlight-line): Function which does the work of making a traceback line mouseable. This only works on XEmacs. Someone familar with Emacs text properties and such will have to do that port. (py-mode-map): Added C-c- bound to py-up-exception and C-c= bound to py-down-exception. Also, more concise form for mapcar. (py-mode-output-map): New keymap for the *Python Output* buffer which only has keybindings for py-mouseto-exception and py-goto-exception. All other self-insert-command's are bound to beep. This is actually bogus because the buffer should really be made read-only and the functions that insert in that buffer should bind inhibit-read-only. Also, this map should be bound to highlighted extents in a *Python* shell buffer, but this stuff hasn't been migrated into there. (py-postprocess-output-buffer): New function which extentifies the *Python Output* buffer. The bogosities are that this only runs when the synchronous process in the buffer is finished (so it doesn't work for async procs), and it should also be merged into py-process-filter so the *Python* shell gets mouseable too. (py-shell): Added C-c- and C-c= to the comint buffer's keymap. The bogosity is that py-goto-exception should also be bound, but it cannot be bound to C-cC-c (since that interferes with comint-interrupt-subjob's typical binding). Also, traceback lines aren't mouseable in this buffer. (py-execute-region): Support for traceback jumping. This really is quite a kludge, but necessary based on the way all this stuff works. There's bound to be broken interactions here. (py-jump-to-exception, py-mouseto-exception, py-goto-exception, py-find-next-exception, py-down-exception, py-up-exception): All new commands and functions to implement traceback jumping. (py-compute-indentation): Hope this change doesn't get lost in all the noise above!!!! This fixes broken non-indentation of a line when TAB is hit inside a string that isn't a multi-line string.
* Drop Capitalized Important Words.Guido van Rossum1997-11-251-1/+1
|
* New names...Guido van Rossum1997-11-241-0/+3
|
* A comparison with several other languages that also appears in theGuido van Rossum1997-11-201-0/+129
| | | | Handbook of Object Technology.
* Dang. Formatting glitch.Guido van Rossum1997-11-201-2/+2
|
* New blurb, derived from my Handbook of Object Technology abstract.Guido van Rossum1997-11-201-43/+27
|
* New version from Neale... He promised it's the last.Guido van Rossum1997-11-111-3/+3
|
* v1.1; added attribution to Neale Pickett.Guido van Rossum1997-11-081-6/+6
|
* Added vgrindefs.Guido van Rossum1997-11-071-0/+1
|
* Plucked this from the net.Guido van Rossum1997-11-071-0/+10
|
* #(py-emacs-features): Fixed typo in docstring.Barry Warsaw1997-11-061-2/+2
|
* (python-font-lock-keywords): Pick up block introducing keywords withBarry Warsaw1997-11-061-11/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* (python-font-lock-keywords): Fix for consecutive keyword font locking,Barry Warsaw1997-11-051-6/+2
| | | | given by Sjoerd Mullender <Sjoerd.Mullender@cwi.nl>.
* (py-emacs-features): Test for working make-temp-name, which is brokenBarry Warsaw1997-11-051-10/+20
| | | | | | | | | | | 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.
* A nice blurb that Mark Hammond wrote, aimed at Windows users.Guido van Rossum1997-11-051-0/+81
|
* (py-execute-region): Fixed small bug with queuing file for executionBarry Warsaw1997-11-051-2/+1
| | | | in a py-shell. Temp files now get cleaned up.