[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master e111833 149/433: # Updated
From: |
Dmitry Gutov |
Subject: |
[elpa] master e111833 149/433: # Updated |
Date: |
Thu, 15 Mar 2018 19:43:53 -0400 (EDT) |
branch: master
commit e1118332086e6bea166308434617d5485c58021b
Author: mas <mas>
Commit: mas <mas>
# Updated
---
NEWS | 6 ++++++
TODO | 75 ++++++++++++++++++++++++++++----------------------------------------
2 files changed, 37 insertions(+), 44 deletions(-)
diff --git a/NEWS b/NEWS
index 6e6fe8a..31594e9 100644
--- a/NEWS
+++ b/NEWS
@@ -6,6 +6,12 @@ Please send MMM Mode bug reports to address@hidden
* Changes in MMM Mode 0.4.5
+** Font-Lock works again in XEmacs
+
+The MMM code to handle font-locking broke in XEmacs several versions
+back due to differences in the font-lock implementation between Emacs
+and XEmacs. It appears to be working once again.
+
** Here-Document submode class improved
Here-document names such as <<TEXT_EOF and <<END_PERL_CODE are now
diff --git a/TODO b/TODO
index afcd827..25cb840 100644
--- a/TODO
+++ b/TODO
@@ -3,61 +3,48 @@ Hey Emacs, this is a -*-text-*- file!
To Do List for MMM Mode
=======================
-Font-locking isn't working in XEmacs. `font-lock-keywords' is getting
-set to nil at the wrong time, but I can't pin it down.
+Improve re-parsing current region to use inclusion/offsets/etc.
-If font-locking needs help, try narrowing the region before
-fontifying, or even advising `parse-partial-sexp' and friends.
+Add JDE-mode, JavaSQL (see +mmm), Eperl, ASP, etc.
The local-variables improvements can probably be used to set minor
modes locally to submode regions. This could replace tmmofl,
especially if we search for regions other than by regexps, say by
syntax properties.
-Improve re-parsing current region to use inclusion/offsets/etc.
-
Trap paragraph motion commands to stop at submode boundaries?
-Add JDE-mode, JavaSQL (see +mmm), Eperl, ASP, etc.
-
-How about this? Whenever text is inserted anywhere in the buffer:
-1. If in or after a region (with hanging back?), scan for its back.
-2. If before a region with hanging front, scan for its front?
-3. Scan the inserted text for new regions.
-Mess with the order of scanning for stuff. Of course this could get
-tricky with nested regions, plus we don't want to be too slow while
-people are just typing. Maybe just scan changes of length >1?
-
-Use `mmm-looking-back-at' to auto-detect new submode regions in
-`after-change-functions'. Say we type "<%" and we're suddenly in a
-CPerl region, until we type "%>". Actually, the two-character ending
-delimiter makes that tricky. It would probably be nicer all around to
-just automatically insert the ending delimiter when the beginning one
-is detected, but that must be user-configurable.
-
-When we hit return anywhere in a Mason %-line, it should end the
-submode region. If C-j ended it and began a new one on the next line,
-that would also be nice. This is a rather Mason-specific thing, so
-maybe do it in that class hook. But other classes might have similar
-single-line regions. Add a new submode class argument, such as KEYMAP,
-or even ONE-LINE?
-
-Allowing nested submode regions. A submode class can specify its
-"parent" submode class. This could also be used to implement htp.p,
-by first scanning for the function calls as a major-mode submode
-region, then requiring that parent type for the HTML mode class.
-Similarly, eval-elisp could have one class to find the Local Variables
-list, then another within it. Nested submodes should alternate with a
-different highlight color, `mmm-secondary-submode-face'.
+On text insertion (in `after-change-functions'), do two things.
+First, if inside in a region, or after a hanging one, scan for its
+back and adjust if necessary. Second, scan both for complete regions
+and for hanging fronts. In the latter case, we may insert the back or
+start a hanging region; user option. Don't just scan the inserted
+text, but backwards, using `mmm-looking-back-at'. Remember to handle
+delimiter inclusion and offsets as best possible.
+
+It would be nice if C-j ended a Mason one-liner began a new one on the
+next line. This is a rather Mason-specific thing, but other classes
+might have similar single-line regions. Add a new submode class
+argument, such as KEYMAP, or even ONE-LINE?
+
+Allow a submode class to specify its allowable "parent" submode
+classes. This could also be used to implement htp.p, by first
+scanning for the function calls as a major-mode submode region, then
+requiring that parent type for the HTML mode class. Nested submodes
+alternate highlight colors, say with `mmm-secondary-submode-face'.
Ought %text in Mason to be a non-submode, since any Mason tags inside
-it will probably be /edited/ as Perl (being, say, code examples)? Only
-problem is it might confuse the programmer into thinking that code
-will get executed. Maybe use a different face. Could do that with
-another grouping class, say uneval-mason, that overrides the faces of
-mason and has :parent mason-text. Lot of duplication though. Maybe
-allow a mode to specify what about it changes (in this case, its face)
-if its parent is X, or Y, or whatever.
+it will probably be /edited/ as Perl (being, say, code examples)?
+Only problem is it might confuse the programmer into thinking that
+code will get executed. Maybe use a different face. Could do that
+with another grouping class, say uneval-mason, that overrides the
+faces of mason and has :parent mason-text, and allow a mode to specify
+what about it changes depending on its parent, or a parent to specify
+changes to its children, or a group to specify changes to its members.
+
+If font-locking needs more help, try narrowing the region before
+fontifying, or even advising `parse-partial-sexp' and friends. At
+present, it seems good enough, though.
It'd be nice if submode regions could preserve the indentation of the
dominant major mode code around them. For example, Perl code embedded
- [elpa] master a2d04ab 128/433: # Removed another duplicate entry, (continued)
- [elpa] master a2d04ab 128/433: # Removed another duplicate entry, Dmitry Gutov, 2018/03/15
- [elpa] master d1ed795 135/433: Added autoloading of submode classes., Dmitry Gutov, 2018/03/15
- [elpa] master 606c79e 132/433: # Updated, Dmitry Gutov, 2018/03/15
- [elpa] master 1834f4b 133/433: (mmm-classes-alist): Updated docstring for new offset values and, Dmitry Gutov, 2018/03/15
- [elpa] master 5b4b568 137/433: (mmm-get-class-spec): Implemented autoloaded submode classes., Dmitry Gutov, 2018/03/15
- [elpa] master 20deb97 138/433: # Updated, Dmitry Gutov, 2018/03/15
- [elpa] master ff7d773 136/433: (mmm-add-group): Made subclasses of a group private., Dmitry Gutov, 2018/03/15
- [elpa] master a9c086a 130/433: (mmm-ify, mmm-match-region, mmm-match->point): Added new values for, Dmitry Gutov, 2018/03/15
- [elpa] master 369d7e3 144/433: (mmm-ensure-fboundp): Created function., Dmitry Gutov, 2018/03/15
- [elpa] master 74d61d7 146/433: Added comments about `sgml-parent-document'., Dmitry Gutov, 2018/03/15
- [elpa] master e111833 149/433: # Updated,
Dmitry Gutov <=
- [elpa] master 6cba9ad 164/433: (mmm-save-local-variables): Added `mode-popup-menu' for XEmacs., Dmitry Gutov, 2018/03/15
- [elpa] master b7ddfb1 145/433: # Commented on improvement of here-doc class., Dmitry Gutov, 2018/03/15
- [elpa] master e18bbf0 172/433: (mmm-display-insertion-key): Prevented (nthcdr -1 ...); breaks in XEmacs., Dmitry Gutov, 2018/03/15
- [elpa] master c8e7b80 168/433: (mmm-make-region): Explicitly set keyword defaults in &rest parameter., Dmitry Gutov, 2018/03/15
- [elpa] master 6c89465 154/433: (mmm-set-font-lock-defaults): Made into a macro., Dmitry Gutov, 2018/03/15
- [elpa] master f7ab3b2 148/433: (mmm-update-mode-info): Used compatibility wrapper for font-lock defaults., Dmitry Gutov, 2018/03/15
- [elpa] master 26fe946 147/433: (mmm-set-font-lock-defaults): Added compatibility wrapper function., Dmitry Gutov, 2018/03/15
- [elpa] master 083aafe 156/433: (mmm-never-modes): Added `forms-mode'., Dmitry Gutov, 2018/03/15
- [elpa] master cad3237 159/433: # Added placeholder for rpm-sh., Dmitry Gutov, 2018/03/15
- [elpa] master 536a559 153/433: Autoloaded `mmm-ensure-fboundp'., Dmitry Gutov, 2018/03/15