[Python-mode] [ python-mode-Patches-1023335 ] Handle triple-quoted strings correctly.
SourceForge.net
noreply at sourceforge.net
Sat Mar 11 07:07:22 CET 2006
Patches item #1023335, was opened at 2004-09-06 18:22
Message generated for change (Comment added) made by edloper
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=581351&aid=1023335&group_id=86916
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Edward Loper (edloper)
Assigned to: Edward Loper (edloper)
Summary: Handle triple-quoted strings correctly.
Initial Comment:
This patch adds an option that will color triple-quoted strings
correctly. It works by turning off syntax-highlighting for strings and
comments (by registering quotes and hashes in the syntax table as
normal punctuation); and using a fairly advanced keyword matcher
to find all strings and comments. The keyword matcher uses a text-
property to keep track of the syntax category of each character, and
only updates it as needed. Therefore, the option can only be used if
text-properties are available (but they are available on all current
versions of emacs, as far as I know).
Caveat: it's possible that this will be slow on some machines, or
under certian circumstances. But it's not noticably slower on the
machines & files I've tested it on.
----------------------------------------------------------------------
>Comment By: Edward Loper (edloper)
Date: 2006-03-11 01:07
Message:
Logged In: YES
user_id=195958
I have attached a new version of the patch, which should
hopefully address both Skip's issue, and the problem that
Johannes Gijsbers pointed out.
I'd appreciate it if several people could try it out
(preferably on both emacs and xemacs), and let me know if
it works.
danielx_: download the patch file (handle-tqs-v2.diff) at
the bottom of this page, and run "patch python-mode.el
handle-tqs-v2.diff".
The changes I made were:
- removed (require 'text-properties), since 'text-
properties isn't defined as a feature in emacs; and it
should be available by default in both xemacs and emacs,
anyway.
- Replaced calls to "replace-regexp-in-string" with a
compatibility function "py-replace-regexp-in-string",
since the former is only available on xemacs.
- Fixed a bug in the regexp used to find the end of
comments (this was what caused problems in
BaseHTTPServer.py).
----------------------------------------------------------------------
Comment By: Daniel (danielx_)
Date: 2005-11-19 18:43
Message:
Logged In: YES
user_id=1383230
Sorry, how do I install this? I'm using python-mode
ver1.0alpha, found on the "Files" page.
----------------------------------------------------------------------
Comment By: Skip Montanaro (montanaro)
Date: 2005-06-04 16:46
Message:
Logged In: YES
user_id=44345
Ed, this looks like this would be a good addition, but there are
some problems. Is there any resolution to Johannes' note about
comment breakage? I just patched my copy of python-mode.el.
When I visit a .py file it complains that it can't find the
text-properties package. (This is XEmacs 21.4.15.) I didn't
see anything like text-properties or properties in the package
list.
----------------------------------------------------------------------
Comment By: Johannes Gijsbers (jlgijsbers)
Date: 2004-11-01 11:15
Message:
Logged In: YES
user_id=469548
I applied this patch to the latest python-mode and while
triple-quoted-strings mostly work fine (thank you! thank
you! thank you!), comments seem to be a bit broken. Take a
look at BaseHTTPServer.py from the Python CVS for a
particularly bad example.
I'm running "GNU Emacs 21.3.50.1 (i386-pc-linux-gnu, GTK+
Version 2.4.10)
of 2004-10-11 on surfboy, modified by Debian", compiled
from Emacs CVS using the emacs-snapshot package.
----------------------------------------------------------------------
Comment By: Edward Loper (edloper)
Date: 2004-09-06 22:15
Message:
Logged In: YES
user_id=195958
So I did. Trying again.
----------------------------------------------------------------------
Comment By: Skip Montanaro (montanaro)
Date: 2004-09-06 21:41
Message:
Logged In: YES
user_id=44345
Edward, perhaps you forgot to check the box when uploading
the patch? There's nothing currently attached to this item.
-Skip
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=581351&aid=1023335&group_id=86916
More information about the Python-mode
mailing list