Commit Graph

576 Commits

Author SHA1 Message Date
Barry Warsaw 6839d3af10 #XEmacs 21 now supports Imenu, so I am able to test (and fix) some
#simple things.  First step: rename the Imenu supportive variables and
#functions in this file to py-imenu-* so I can grok what is part of
#python-mode and what is part of Imenu.

(py-imenu-create-index-engine): Fixed problem with two classes in a
single file, caused by new semantics of py-beginning-of-def-or-class
when called programmatically.

#Note, there are still some problems with Imenu when arguments to
#functions are funky, but it should be much better now.
1998-10-28 00:10:45 +00:00
Barry Warsaw 38e21e75ad #Some minor changes in the commentary, obstensibly to test the new
#checkin script.
1998-10-27 22:09:25 +00:00
Barry Warsaw 1bbc031999 #Fixed some typos in docstrings. 1998-10-27 21:54:56 +00:00
Guido van Rossum e8c10f90a7 All the news that's fit to print. In other words, it's 1.5.2a2 time. 1998-10-17 19:43:13 +00:00
Guido van Rossum fdb8fb8b31 A few new ones... 1998-10-02 01:21:40 +00:00
Barry Warsaw 4f94c73879 (py-comint-output-filter-function): Horrible kludgearound for making
the de-queing of exec files work for NT XEmacs 21.0.
1998-09-25 19:40:10 +00:00
Barry Warsaw d35c255e44 (py-guess-indent-offset): Only print message about py-indent-offset
when in an interactive session (suggested by B. Wiener).
1998-09-25 00:08:38 +00:00
Barry Warsaw 02e5f69c90 (py-execute-file, py-execute-import-or-reload): Use a Python `raw'
string in the argument to execfile() so a Windows temp directory
named, e.g. c:\\tmp doesn't get interpreted as a file name with an
embedded tab!  (given by C. Waldman).
1998-09-24 23:48:40 +00:00
Barry Warsaw 218eb75ba7 (py-block-comment-prefix): Remove trailing space. Also explain that
this string should not end with whitespace.

(py-compute-indentation): Append whitespace regexp to
py-block-comment-prefix so that any combination of intervening
whitespace will be recognized.
1998-09-22 19:51:47 +00:00
Barry Warsaw bc3760b09d #Code rearranging to quiet byte-compiler 1998-09-14 16:16:18 +00:00
Jeremy Hylton faff0bdcba correct bogus instructions 'ccoment out' -> 'uncomment' 1998-09-10 20:18:09 +00:00
Guido van Rossum 106a470da2 Fixed the words in the comment and error message about defining FULL_PATH.
(It's not SCRIPTPATH!)
1998-09-10 18:22:18 +00:00
Jeremy Hylton 1deebabc77 include <string.h> to get prototype for strcmp
change error messages to be a little more straightforward

change definition of FULL_PATH so that an error is raised if the
setuid wrapper is used un-edited
1998-09-10 18:10:59 +00:00
Barry Warsaw 4d1874093f (py-in-literal): How'd this get through? c-point => py-point 1998-08-29 06:32:31 +00:00
Barry Warsaw f7039e29ec Update commentary. For most stuff, point people to the web page 1998-08-20 22:10:46 +00:00
Barry Warsaw 6dfbe5dcec (py-shell-map): New variable contains the keymap used in *Python*
shell buffers.

(py-shell): Moved the require of comint to the top level.  Also
use-local-map py-shell-map instead of hacking on the comint-mode-map.
This eliminates breakage of other comint-mode buffers (e.g. shell).
1998-08-20 21:51:27 +00:00
Barry Warsaw a81fb33c6b (py-shell): comint-output-filter-functions is already buffer-local 1998-08-20 20:00:53 +00:00
Barry Warsaw 3c96f6f361 (py-process-filter): Deleted this function. In order to fix
interactions with newer Emacsen, I've rewritten the way all the
process filters work in the *Python* buffer.  We use more of the
comint infrastructure, specifically the default process filter.  This
means that scrolling is now handled by the default comint variables
including comint-scroll-to-bottom-on-output.  Note that this is
somewhat experimental change!

(py-comint-output-filter-function): Moved to here from the obsolete
py-process-filter function, the logic to pop and exec the next queued
file waiting to be executed.

(py-execute-file): Don't bind comint-scroll-to-bottom-on-output to t,
and save the excursion when inserting the "working on" message.  This
lets the standard comint scrolling variables as set by the user,
continue to work.

(python-mode, py-shell, py-describe-mode): Remove description of
py-scroll-process-buffer.  Also in py-shell, make
comint-output-filter-functions buffer-local, and add
py-comint-output-filter-function to this hook (instead of setting the
process filter).

(py-scroll-process-buffer): Deleted this variable.  See comint
variables including comint-scroll-to-bottom-on-output.

(py-execute-region): When exec files are being queued, push the next
temp file on the end of the list.

(py-submit-bug-report): Removed reporting of py-scroll-process-buffer.
1998-08-20 19:44:51 +00:00
Barry Warsaw 93c88cca06 (imenu-example--create-python-index-engine): Fix nesting breakage when
a method definition has args that span multiple lines; be sure to go
to the beginning of the method definition -- but watch out for the
match-data!
1998-08-18 02:00:44 +00:00
Guido van Rossum 0ceaada2da New contributor. 1998-08-11 19:23:31 +00:00
Guido van Rossum 27b3bc3fbf Reordered the news to make it more accessible. Also removed some dups. 1998-08-11 18:42:26 +00:00
Guido van Rossum ab9d6f0be9 Got all the 1.5.2 news that's fit to print. Now we may need to
organize it better...
1998-08-10 22:01:13 +00:00
Barry Warsaw 650e8a6db2 (imenu-example--python-method-regexp): Patch from Christian Tanzer:
"3.67 fixes Imenu as far as classes are concerned, but some default
values for function arguments are still not supported."

This ought to fix that problem.
1998-08-10 21:46:24 +00:00
Barry Warsaw 12c9294ea3 (py-compute-indentation): Changes to the `t' condition which affect
indetnation of normal statements: The regular expression that searches
for indenting comment lines has been changed to not require a
space/tab after the first `#'.  We then explicitly look for
py-block-comment-prefix depending on the value of
py-honor-comment-indentation.

I think this more accurately reflects the documentation for
py-honor-comment-indentation.
1998-08-10 21:44:37 +00:00
Guido van Rossum 20392ccb87 # mention Porting in list of files 1998-08-10 16:38:58 +00:00
Guido van Rossum 6ca3defcfa mini-faq on porting python 1998-08-10 16:36:48 +00:00
Barry Warsaw 71c3adb7ec #Typos from previous checkin 1998-08-10 16:34:33 +00:00
Barry Warsaw 41a05c75d4 Huge number of docstring changes, typo fixes, rewordings, GNU standard
conformations, etc., etc. inspired and given by Michael Ernst.  These
include error string fixes, moving of comments to docstrings, some
other non-related typos, terminology standardizing (b/w TP and myself,
and b/w myself and myself :-) although more can still be done.
E.g. "outdenting" => "dedenting".
1998-08-10 16:33:12 +00:00
Barry Warsaw 1b3442493a (py-execute-region): When temp-names are broken (Emacs 19.34), a
serial number isn't enough to uniquify the temp file name -- what if
two users are on the same machine?  Add in the (emacs-pid) to help
further.  Should never be tickled on Emacs 20, XEmacs 20, 21.
1998-08-07 22:24:16 +00:00
Guido van Rossum f5475c95a7 Checkpointing news for 1.5.2a1... (Not all done.) 1998-08-06 17:55:46 +00:00
Guido van Rossum a690394cae New meat. 1998-08-04 22:59:26 +00:00
Guido van Rossum fc8f5d1a7f typo (pwill -> will). 1998-08-04 22:58:51 +00:00
Barry Warsaw 7c29b2328b (py-beginning-of-def-or-class, py-end-of-def-or-class,
py-mark-def-or-class): Integrated Michael Ernst latest patches.
Primarily, it allows functions that search or mark defs/classes based
on programmatic specification, to take an 'either flag value which
allows searching for both classes and defs (stopping at the nearest
construct).

Also clean up some docstrings.
1998-07-07 17:45:38 +00:00
Barry Warsaw 003932a508 (py-comment-indent-function): A replacement for
comment-indent-function's default lambda value (in simple.el), this
version finally kills this nit: auto-filling a comment that starts in
column zero with filladapt turned off would cascade the #'s to the
right.

Now auto-filling seems to work with or without filladapt, and with the
comment starting in any column.

(python-mode): Set comment-indent-function.
1998-07-07 15:11:24 +00:00
Guido van Rossum 0b3b43ca6f New blood. 1998-06-30 17:02:57 +00:00
Guido van Rossum 795a4bc666 Added a line to process SGI_ABI. 1998-06-08 21:22:12 +00:00
Guido van Rossum 750c8cee7e Add LDLAST to the list of variables processed by the sed script. 1998-05-20 15:53:22 +00:00
Barry Warsaw 3bfed5b6b1 (py-ask-about-save): New variable used in
py-execute-import-or-reload.  Same semantics as
compilation-ask-about-save.
1998-05-19 16:25:04 +00:00
Barry Warsaw 1d0364b2dc (py-execute-string): Bind to C-c C-s, and put on menu 1998-05-19 16:15:26 +00:00
Barry Warsaw 751f4931d8 (py-stringlit-re): Another ME patch to recognize SQTQs and DQTQs
(single and double quoted triple quoted strings :-) with embedded
single like-quotes.  Also recognizes raw prefix.
1998-05-19 16:06:21 +00:00
Barry Warsaw 820273d6d1 More ME patches:
(py-execute-import-or-reload): Cool new command that imports or
reloads the current file as a module, so as not to clutter the global
namespace.  Bound to C-c C-m.

(py-execute-def-or-class): New command that sends the current def or
class to the interpreter.  Bound to C-M-x.

(py-execute-string): New command that sends arbitrary string to the
interpreter.  Not bound by default.

(py-describe-mode): Doco updates.
1998-05-19 15:54:45 +00:00
Barry Warsaw ab0e86cbcc (beginning-of-python-def-or-class): Renamed to
py-beginning-of-def-or-class, and defaliased for backwards
compatibility.  ME patch to add optional second argument, count.

(end-of-python-def-or-class): Renamed to py-end-of-def-or-class, and
defaliased for backwards compatibility.  ME patch to add optional
second argument, count.
1998-05-19 15:31:46 +00:00
Barry Warsaw ebc7b7ac45 More ME patches:
(py-shell): Recognize the Python debugger prompt

(py-jump-to-exception): Force into python-mode any buffer that gets
jumped to on exception.  Cope with py-exception-buffer possibly a
cons.
1998-05-19 15:01:06 +00:00
Barry Warsaw 145ab1ce9d #Documentation and comment typos patch given by Michael Ernst. More
#of his patches to follow.
1998-05-19 14:49:49 +00:00
Guido van Rossum cc8e1a4ed7 Add some help for AIX. (Konrad Hinsen) 1998-04-30 13:34:12 +00:00
Barry Warsaw 77d1fce2f6 (py-compute-indentation): Use forward-comment to skip over all
whitespace and comment noise.
1998-04-16 20:04:59 +00:00
Guido van Rossum 974f295dd4 Some more new stuff. 1998-04-13 21:00:54 +00:00
Guido van Rossum 9238f23c50 Two more, for beta testers who reported real bugs. 1998-04-13 18:14:22 +00:00
Guido van Rossum c45cf02938 Added changes from 1.5 to 1.5.1.
The sections are now in a more useful order: the most recent changes
are listed first.
1998-04-10 20:06:21 +00:00
Guido van Rossum 07c44c7ad5 Document -x too. 1998-04-10 19:46:00 +00:00
Guido van Rossum 29d465bef7 Document -t flag. 1998-04-10 19:36:09 +00:00
Guido van Rossum 13aa5cedcb Jeff Epler 1998-04-10 19:18:03 +00:00
Barry Warsaw ea609c18a0 (py-toggle-shells): Added a message in the minibuf. 1998-04-10 16:08:26 +00:00
Barry Warsaw a239880a22 Quick and extremely dirty hacks to toggle between using CPython and
JPython interpreters.  This implementation may suck.

(py-jpython-command, py-jpython-command-args): New variables.

(py-mode-map): py-toggle-shells bound to C-c C-t

(py-toggle-shells): Command to toggle between using CPython (the
default) and JPython.  This is buffer local, and notice the mode-name
change.

(py-shell): Use either CPython or JPython.  Note that py-execute-*
still needs to be modified.
1998-04-09 23:28:20 +00:00
Guido van Rossum e2bb8bb90d Tons of new names... 1998-04-09 21:01:06 +00:00
Barry Warsaw 3179fe03ca (imenu-example--python-class-regexp): Fix to recognize Module.Class in
inheritance list.
1998-04-04 21:36:53 +00:00
Barry Warsaw 5204b4a984 #Oops, I lost the CVS/RCS $Revision$ 1998-04-02 19:27:18 +00:00
Barry Warsaw 92166d9a75 (py-compute-indentation): When looking at a continuation line inside
an open paren, do a better job of reindenting the line.  For example:

def foo():
    print 'hello %s, %d' % (
    a, b)

Hit TAB on the line starting with `a'.  Without this patch this line
will never be reindented.
1998-04-01 21:59:41 +00:00
Barry Warsaw 585f733b39 Two patches for Emacs 20.2 compatibility:
(py-compute-indentation): int-to-char isn't defined in Emacs, but we
don't really need it anyway, so just remove this conversion.  XEmacs
is happy either way.

(py-parse-state): The Emacs branch (i.e. w/o buffer-syntactic-context)
wasn't adjusting point correctly.
1998-04-01 21:13:51 +00:00
Barry Warsaw f9b99f4375 (py-postprocess-output-buffer): Return t if an exception was found,
otherwise return nil.

(py-execute-region): When executing the buffer asynchronously in a
subprocess, if an exception occurred, show both the output buffer and
the file containing the exception, leaving point on the source line
containing bottom-most error in the traceback.  If no exception
occurred, jump to the output buffer (no change).
1998-03-26 16:08:59 +00:00
Barry Warsaw 512af04b35 (py-execute-region): Watch out for shell-command-on-region killing a
zero sized output buffer.
1998-03-25 23:27:17 +00:00
Barry Warsaw beef9e73c3 Removed all the mixed indentation face stuff. It's not as helpful as
it at first seems.  I think we've got a good idea of what to do, but
it'll be a bit of work... for later.
1998-03-20 17:06:11 +00:00
Barry Warsaw 8ca702823d (py-tab-face): => py-mixed-indentation-face
(python-font-lock-keywords): Better regexp given by Sjoerd.  This
matches only mixed indentation which is probably more useful than
matching all tabs.
1998-03-20 14:48:30 +00:00
Barry Warsaw e908b6ba57 (py-in-literal, py-fast-in-literal): New functions (mostly) stolen
from CC Mode.

(py-guess-indent-offset): Teach it about colons in `literals'
(e.g. comments and strings).  Don't false hit colons in literals; keep
searching for a real block introducing line.
1998-03-19 22:48:02 +00:00
Barry Warsaw b6c1f1f927 #minor change to eval-while-compile so that it must both find
#custom.el and have an up-to-date version (i.e. one that defines
#defcustom -- which Emacs 19.34's by default does not).
1998-03-19 22:33:06 +00:00
Barry Warsaw 0d2805b771 (py-tab-face, python-font-lock-keywords): Color all tabs at the start
of a line in py-tab-face to aid in seeing mixed tab/space indentation.
This face defaults to the `default' face so it is unobtrusive until
you `M-x customize-face' py-tab-face to something obnoxious like
"Yellow".
1998-03-19 21:52:06 +00:00
Barry Warsaw 639eea670c (py-smart-indentation): Updated docstring for new policy.
(python-mode): Implement new policy: never turn indent-tabs-mode on.
Only turn it off if tab-width != py-indent-offset.
1998-03-16 18:12:13 +00:00
Barry Warsaw 8046befce7 #(py-smart-indentation): Small fixes for clarity in the docstring. 1998-03-13 20:04:52 +00:00
Barry Warsaw 9e9968859e (python-mode): Removed vi vi vi hack for setting the tab width from a
magic comment.  Now Guido only has to worry about the northern
Wisconsin Braces Freedom Fighter Militia.
1998-03-13 18:53:15 +00:00
Barry Warsaw 742a5116d2 (py-smart-indentation): New variable which controls the automagic
setting of py-indent-offset and indent-tabs-mode.

(python-mode): After python-mode-hook is run, do the automagic
calculation if py-smart-indentation is non-nil.

(py-parse-state): Get rid of unused variable to quiet the
byte-compiler.
1998-03-13 17:29:15 +00:00
Guido van Rossum 38d3fe012e Add LINKFORSHARED and LDLAST as in the main Makefile. 1998-03-11 17:49:55 +00:00
Barry Warsaw 2f32fbba34 (py-execute-region): Simplified calculation of temporary file name.
When running synchronously in a subproc buffer, be sure to
pop-to-buffer so the output is visible.
1998-02-25 16:45:43 +00:00
Barry Warsaw 6c6db0a073 (py-temp-directory): Minor docstring nit. 1998-02-25 16:33:56 +00:00
Barry Warsaw 50b3eb6a9e (py-master-file): Fixed some typos in the docstring. 1998-02-25 15:57:47 +00:00
Barry Warsaw f64b4054af (py-compute-indentation): Several changes made to improve navigation
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.
1998-02-12 16:52:14 +00:00
Barry Warsaw 8ee4a60c70 (py-scroll-process-buffer): Default value changed to nil to act more
like default shell-mode behavior.
1998-02-06 16:01:52 +00:00
Barry Warsaw f1b3e89800 (py-parse-state): When looking for landing inside triple-quoted
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.
1998-02-05 23:35:09 +00:00
Barry Warsaw 8f972b762a (py-python-command-args): New variable, allows user to customize the
arguments past to py-python-command when invoking the Python shell.
1998-02-05 20:45:49 +00:00
Barry Warsaw f06777dd7c (py-outdent-p): When looking at the previous line, watch out for
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()
1998-01-21 05:36:18 +00:00
Barry Warsaw 9ec9fbc355 (py-goto-initial-line): Shut up the byte compiler. 1998-01-21 05:15:57 +00:00
Barry Warsaw 82aecb9d66 (py-mode-map): Add a binding of C-m to py-newline-and-indent. This is
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.
1998-01-21 05:14:24 +00:00
Barry Warsaw c210e69981 (py-compute-indentation): In the most common case, where indentation
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)
1998-01-20 22:52:56 +00:00
Barry Warsaw c0ecb53194 (py-master-file): New buffer-local variable which can be set in the
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.
1998-01-20 21:43:34 +00:00
Guido van Rossum b25c0e739c delete gMakefile, clarify Makefile.pre.in 1998-01-13 18:53:42 +00:00
Guido van Rossum 5eb3f90ad5 No longer needed, sez Jim. 1998-01-13 18:52:40 +00:00
Guido van Rossum fbea1d35db Added from 1.5b2 to 1.5. 1997-12-31 00:04:35 +00:00
Guido van Rossum 14777f87d8 New blood. 1997-12-30 04:31:04 +00:00
Guido van Rossum 105ff952bd Typed in the relevant changes since 1.5b1. 1997-12-11 20:35:47 +00:00
Guido van Rossum 5a978dc7e5 Doug Marien. 1997-12-11 20:24:38 +00:00
Barry Warsaw 3723152c5b Update to the Big Comment at the top of the file. It should better
explain what the users of the various Emacsen have to do to get this
all working.
1997-12-11 17:23:13 +00:00
Guido van Rossum 87908f5925 New names. 1997-12-10 18:57:35 +00:00
Barry Warsaw 5ea20d52c7 Added some links to OO-Browser, given by Harri Pasanen.
Updated the to do list.
1997-12-06 00:00:47 +00:00
Barry Warsaw 9981d2226d (py-jump-on-exception): Variable which if t, means that if an
exception occurs in a synchronous Python subprocess, the mode will
automatically jump to the innermost exception.
1997-12-03 05:25:48 +00:00
Barry Warsaw 27ee115fd7 Removed redundant eval-when-compile.
(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.
1997-12-03 05:03:44 +00:00
Barry Warsaw 5c38bf6c62 (python-mode): Patch to make font-lock work automatically for Emacs.
Unnecessary for XEmacs, but oh well...
1997-12-02 22:01:04 +00:00
Barry Warsaw 673d05f0ee Test for an up-to-date Custom library when byte-compiling, and issue
an informative message when one cannot be found, as is the case with a
vanilla Emacs 19.34 (and NTEmacs 19.34).
1997-12-02 21:51:57 +00:00
Guido van Rossum 2888a12eed Add attributions to Jeffrey Ollie and Tim Peters for re.py. 1997-12-02 19:44:54 +00:00
Barry Warsaw 8529ebb78c Require 'cl when compiling so that the push macro gets picked in Emacs
19.34.
1997-12-01 20:03:12 +00:00
Barry Warsaw ffbc17da19 (py-traceback-line-re): Relaxation of regexp to catch SyntaxErrors.
Harri Pasanen.
1997-11-27 20:08:14 +00:00
Barry Warsaw f471056b0a (py-process-filter): py-delete-file-silently is obsolete. Use a
py-safe wrapped delete-file call instead.
1997-11-26 21:00:36 +00:00
Barry Warsaw 3b3ff4e96e (py-compute-indentation): Check for multiline stringness and
commentness so that hitting TAB in the middle of a comment will still
indent the line.
1997-11-26 20:58:48 +00:00
Barry Warsaw 8c4a8de75e (py-mode-map): Bind py-mark-def-or-class to C-M-h with a different
spelling so that it doesn't clobber the standard M-BS binding.  This
should be portable between X/Emacsen.
1997-11-26 20:30:33 +00:00
Guido van Rossum 7ea639b133 Added list of what's new in 1.5b1. Changed intro and some section titles. 1997-11-26 16:36:28 +00:00
Guido van Rossum 4d8e7c5464 Four more valuable contributors... 1997-11-26 16:35:55 +00:00
Barry Warsaw c8520351af (python-mode): Make imenu-create-index-function buffer local.
(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>
1997-11-26 06:14:40 +00:00
Barry Warsaw 4da6bd51dd (py-mark-def-or-class): Added an exchange-point-and-mark and a
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.
1997-11-26 06:00:26 +00:00
Barry Warsaw e467bfbfe9 (python-mode): Patch to fix Imenu support under Emacs, given by
Torsten Hilbrich <Torsten.Hilbrich@bln.de>.
1997-11-26 05:40:58 +00:00
Barry Warsaw 47384789b2 (py-kill-emacs-hook): Simplification. 1997-11-26 05:27:45 +00:00
Barry Warsaw a0ee8cd982 Added comment about where to find details on python-mode.el, pointing
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.
1997-11-26 01:04:44 +00:00
Guido van Rossum 4aa6186216 Drop Capitalized Important Words. 1997-11-25 15:40:06 +00:00
Guido van Rossum 275feea40f New names... 1997-11-24 17:50:47 +00:00
Guido van Rossum 4a9aff2eba A comparison with several other languages that also appears in the
Handbook of Object Technology.
1997-11-20 21:15:28 +00:00
Guido van Rossum 51bb7b7940 Dang. Formatting glitch. 1997-11-20 15:42:46 +00:00
Guido van Rossum f5831ae92e New blurb, derived from my Handbook of Object Technology abstract. 1997-11-20 15:42:18 +00:00
Guido van Rossum 6f5a312cec New version from Neale... He promised it's the last. 1997-11-11 16:36:14 +00:00
Guido van Rossum 3120bc3888 v1.1; added attribution to Neale Pickett. 1997-11-08 07:16:19 +00:00
Guido van Rossum 1abbd7f3f1 Added vgrindefs. 1997-11-07 19:58:10 +00:00
Guido van Rossum 93a47d7c3c Plucked this from the net. 1997-11-07 19:57:54 +00:00
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
Guido van Rossum 2bd358c9fd A nice blurb that Mark Hammond wrote, aimed at Windows users. 1997-11-05 17:15:02 +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
Guido van Rossum 615022fbf8 Doing the most complicated CVS dance I've ever seen. Barry has had
his *own* RCS file for python-mode.el, and I've agreed that it would
be better if his version was in the Python source tree.  However I
don't want to totally get rid of the old RCS file (which has
interesting info such as which version was in which Python release).
So I've moved the old one to python-mode-old.el behind the scenes,
and this checkin message indicates that I'm now deleting it.
If you do an update, you will actually get Barry's *new* version!
1997-11-03 17:14:19 +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
Guido van Rossum 9a513efffa Final touch -- Don's SGI_ABI patches. 1997-10-09 23:32:24 +00:00
Guido van Rossum 91922677ea Don Beaudry's changes to support SGI_ABI on Irix 6.x. 1997-10-09 20:24:13 +00:00
Guido van Rossum 764a377cef Typo in description of news in errno; added setlocale() call. 1997-10-08 22:49:49 +00:00
Guido van Rossum b68b77f62d A few last-minute additions and some rearrangements and corrections.
What's "xlib"?  I took the line that mentioned it out.
1997-10-07 19:12:50 +00:00
Barry Warsaw 93374539ad Updated for Python 1.5, including my experiences with Purify on
Solaris 2.6 and with a threaded interpreter.  I also included my name
and email address.
1997-10-07 15:50:58 +00:00
Guido van Rossum 43b26ea0fa Whole bunch of additions... 1997-10-07 14:52:19 +00:00
Guido van Rossum 92664b890b Completed the changes between 1.5a3 and now. Not yet sorted though. 1997-10-07 00:12:43 +00:00
Guido van Rossum 1f83ccee88 Done with adding changes from 1.4 till 1.5a3. 1997-10-06 21:04:35 +00:00
Guido van Rossum 474ba3bd46 The directory containing config.h has changed. 1997-10-05 03:01:28 +00:00
Fred Drake bfeb74d4ca install: New target that installs shared modules in
$exec_prefix/lib/python$VERSION/site-packages by default.
1997-10-04 04:56:40 +00:00
Guido van Rossum 4cf4de5d11 Brought up to date with new options and env vars. 1997-09-08 04:06:15 +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
Guido van Rossum 522578e90f Complete log of changes since 1.5a3 at the end. 1997-08-28 03:43:21 +00:00
Guido van Rossum 2da391f387 I'm tired -- checking in more news items. This isn't complete; I'm
about halfways.
1997-08-18 21:17:32 +00:00
Guido van Rossum 6688d35c43 Removed ancient FAQ from distribution 1997-08-18 19:55:01 +00:00
Guido van Rossum 61000333bf Another checkpoint -- reorganized, in sections. 1997-08-15 04:39:58 +00:00
Guido van Rossum 34900f8147 . 1997-08-15 02:52:20 +00:00
Guido van Rossum f0b69f01eb Checkpoint checkin of list of changes. Much more to follow, but it's
late...
1997-08-15 02:50:47 +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
Guido van Rossum fb84255e67 New version of Vladimir Marangozov's AIX hacks -- simpler etc. 1997-08-06 23:42:07 +00:00
Guido van Rossum bef03ae032 Adapted to the new build system. 1997-07-19 22:52:43 +00:00
Guido van Rossum 8aea8d9600 Remove -s option and $PYTHONSUPPRESS environment variable. 1997-07-19 20:46:22 +00:00
Guido van Rossum 5624abd086 Emptied (in expectation of a laundry list of what's new in 1.5). 1997-07-19 20:45:30 +00:00
Guido van Rossum ecd3b153d5 Added note about libpython1.5.a. 1997-07-19 20:44:33 +00:00
Guido van Rossum 132cd063f5 Some new names. 1997-07-19 20:44:09 +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
Guido van Rossum 821a558f39 Moved the 1.4 NEWS file here (it had to happen someday...). 1997-05-23 04:05:31 +00:00
Guido van Rossum cbf1b9c40e Added warning about the optimizer bug on AIX 4.2.1 1997-05-22 20:20:57 +00:00
Guido van Rossum d0c87ee6c4 Oops, another forgotten renaming: varobject -> PyVarObject. 1997-05-15 21:31:03 +00:00
Guido van Rossum 6a9ee0eeaf New heros. 1997-05-09 03:21:12 +00:00
Guido van Rossum b6a7f77c9f Oops -- missed FloatingPointError in renaming. 1997-05-09 03:03:23 +00:00
Guido van Rossum 45510aee8f Fix old typo PyArgs_VaParse -> PyArg_VaParse. 1997-05-05 21:53:03 +00:00
Guido van Rossum 1a43ce848b Added inittab. 1997-04-29 20:22:47 +00:00
Guido van Rossum 04e30c188a Remove err_input from rename list -- it is a static inside errors.c. 1997-04-29 18:25:32 +00:00
Guido van Rossum 58d8e3dd9e Remove renaming instructions for ANY -- this is not renamed in
mymalloc.h.  (Since it's a macro, I don't care much.  It is used
internally only; others can use void *.)
1997-04-29 18:19:10 +00:00
Guido van Rossum 5d88aa3a36 Oops, added <URL:...> around the URL. 1997-04-11 16:46:56 +00:00
Guido van Rossum 24c93591cd (Sjoerd:) Incorporate `build number' stuff. 1997-04-11 15:25:47 +00:00
Guido van Rossum 44adb0c95f Added note about SWIG (replacing a whole lot of nonsense about how
difficult it is to do).
1997-04-11 15:19:35 +00:00
Guido van Rossum 31ef35b861 Added two new questions about number conversions. 1997-03-25 18:25:20 +00:00
Guido van Rossum 14d1c721d5 Added note about adding \n to source for exec and compile. 1997-03-19 14:43:28 +00:00
Guido van Rossum 4a908be231 Added Q. about HTTP/1.1. 1997-03-16 18:34:00 +00:00
Guido van Rossum 80eb3c0202 Zap all env vars beginning with PYTHON to prevent an obvious form of attack. 1997-03-11 18:24:21 +00:00
Guido van Rossum 17e973cb32 Remove the list of Python users, replace it with a pointer to the
on-line list of same.
1997-02-26 16:11:55 +00:00
Guido van Rossum 7b6f3435e4 Added new ftp mirror site ftp://ftp.cdrom.com/pub/python/ (Walnut Creek CDROM). 1997-02-25 23:08:03 +00:00
Barry Warsaw fb07f408b6 (python-font-lock-keywords): Use new convention for installing in mode 1997-02-24 03:37:22 +00:00
Guido van Rossum 01094e4089 Change the question about os.environ changes not working -- it now
works unless you don't have putenv.
1997-02-17 18:40:02 +00:00
Guido van Rossum 8651d27e0a Two changes:
- add awarning about reconfiguring after Slackware96 fix
- add reference to Jim F's ExtensionClass module
1997-02-17 18:27:32 +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 bb779ec4d9 README file for hints on Purify'ing or Quantify'ing the Python
interpreter.  It also mentions the soon to be checked in pure module.
1997-01-16 23:55:38 +00:00
Barry Warsaw fca8371e1f (python-cc-style): Added definitions for c-hanging-braces-alist which
make the most sense for PyMethodDef structures.  [one small fix]
1996-12-20 16:43:32 +00:00
Barry Warsaw 7607e8f4fb (python-cc-style): Added definitions for c-hanging-braces-alist which
make the most sense for PyMethodDef structures.
1996-12-20 16:42:04 +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 eb14d61e28 (python-cc-style): typo "c-offset-alist" => "c-offsets-alist" 1996-12-12 22:57:05 +00:00
Barry Warsaw 1d75734608 Added a provide so the corresponding require will succeed. 1996-12-10 16:29:21 +00:00
Barry Warsaw 5632ce033f (python-cc-style): Although open braces for substatements typically
hang on the right side, if they are on a separate line, indent them
under the keyword.
1996-12-09 23:01:30 +00:00
Barry Warsaw 8c0710fdd3 (python-cc-style): Oops, we decided to use TABs for 8 spaces where
possible.
1996-12-09 22:07:22 +00:00
Barry Warsaw 0b32459004 C coding standard for Python C files.
Currently fairly minimal, but I'll be adding to this as needed.  I
think it's pretty darn close.

To use this, just load the file and in a C buffer type:

M-x c-set-style RET python RET

[there are ways to automate much of this!]
1996-12-09 21:57:25 +00:00
Guido van Rossum ba469ba9d7 More stale info. 1996-12-05 22:26:17 +00:00
Guido van Rossum 794137903f New URL for Swiss ftp mirror. 1996-12-05 22:01:11 +00:00
Guido van Rossum f06ee5fa07 /usr/local/bin/python -> /usr/bin/env python 1996-11-27 19:52:01 +00:00
Guido van Rossum bec74843de Added note about "boot" implying "clobber".
Added definition TARGET=python for more flexibility.
1996-11-27 19:38:53 +00:00
Guido van Rossum 47427674f6 Corrected *noconfig* to be *shared*; added cc: vlad back. 1996-11-27 19:38:00 +00:00
Guido van Rossum 4662b87604 monty -> grail in Grail URL. 1996-11-27 15:24:34 +00:00
Guido van Rossum c59120ba17 Added os.remove()/unlink(), rmdir(), rename(), and [f]truncate(). 1996-11-14 14:10:11 +00:00
Guido van Rossum caa83c4b9e Added Q. about enabling *shared* on Linux. 1996-11-13 15:06:24 +00:00
Guido van Rossum 7d42d95bd7 Fix syntax of commented-out variables 1996-11-06 16:39:12 +00:00