[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