all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Re: Multiple major modes
  2007-06-12 15:06         ` Multiple major modes (was: Should nXML be included) Stefan Monnier
@ 2007-06-12 15:15           ` Leo
  2007-06-12 18:48           ` Lennart Borgman (gmail)
  1 sibling, 0 replies; 56+ messages in thread
From: Leo @ 2007-06-12 15:15 UTC (permalink / raw)
  To: emacs-devel

----- Stefan Monnier (2007-06-12) wrote:-----

>> and something that should be addressed without imposing restrictions
>> on specialized major modes.
>
> Actually, I think that in order to address it well, we will need to
> impose restrictions on major modes (though only on the ones involved
> in multiple-major-mode buffers) and maybe also on minor modes.

There seems to be a few multi mode implementation, what is the
preference from Emacs developers?

-- 
Leo <sdl.web AT gmail.com>                         (GPG Key: 9283AA3F)

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-06-12 15:06         ` Multiple major modes (was: Should nXML be included) Stefan Monnier
  2007-06-12 15:15           ` Multiple major modes Leo
@ 2007-06-12 18:48           ` Lennart Borgman (gmail)
  2007-06-12 20:14             ` Re[2]: " Eric M. Ludlam
  1 sibling, 1 reply; 56+ messages in thread
From: Lennart Borgman (gmail) @ 2007-06-12 18:48 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Eric M. Ludlam, emacs-devel, Leo, Jason Rumney

Stefan Monnier wrote:
>> Multiple major mode support is a separate issue from nxml,
> 
> 100% agreement, obviously.

Of course. I just thought it was a good time to mention it.

>> and something that should be addressed without imposing restrictions on
>> specialized major modes.
> 
> Actually, I think that in order to address it well, we will need to impose
> restrictions on major modes (though only on the ones involved in
> multiple-major-mode buffers) and maybe also on minor modes.


I think so to. I have seen some areas where some form of coherence is 
necessary:

- fontification
- indentation
- parsing

I think nxml-mode is a very good candidate for those that can be used in 
a multiple-major-mode buffers, since a mix of for example XHTML and PHP 
is common.

This might seem impossible, since such code could not be valid XHTML. 
Actually it is not, the rng parser used in nxhtml-mode is quite good on 
guessing an apropriate state for completion. (But do not ask me what the 
rng parser does, I do not understand it.)

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-06-12 20:14             ` Re[2]: " Eric M. Ludlam
@ 2007-06-12 21:04               ` Lennart Borgman (gmail)
  2007-06-12 23:10                 ` Stefan Monnier
  2007-06-13 16:22               ` Richard Stallman
  1 sibling, 1 reply; 56+ messages in thread
From: Lennart Borgman (gmail) @ 2007-06-12 21:04 UTC (permalink / raw)
  To: Eric M. Ludlam; +Cc: sdl.web, emacs-devel, monnier, jasonr

Eric M. Ludlam wrote:
>   [ ... ]
>>>> "Lennart Borgman (gmail)" <lennart.borgman@gmail.com> seems to think that:
>> Stefan Monnier wrote:
>>>> and something that should be addressed without imposing restrictions on
>>>> specialized major modes.
>>> Actually, I think that in order to address it well, we will need to impose
>>> restrictions on major modes (though only on the ones involved in
>>> multiple-major-mode buffers) and maybe also on minor modes.
> 
> My parsing tool (semantic, referenced earlier) solved some problems w/
> lots of mode-specific configurations via 'mode-local' variables and
> methods.  David Ponce wrote this, and suggested it here once before.
> I don't recall what the end resolution was on it.
> 
> A multi-mode style thing would likely be simplified if key behaviors
> were all defined via mode-local configurations, as that would allow
> the multi-mode manager to get a complete query list of all
> configuration differences without running the major-mode function.
> 
> http://cedet.cvs.sourceforge.net/cedet/cedet/common/mode-local.el?view=log

Would it be possible to catch all local bindings by setting the major 
mode in a temporary buffer and then save them for later use? This would 
avoid having to change major modes, perhaps.

> This tools has a spiff macro `with-mode-local', which lets you run a
> bunch of code as if some other mode were active.  This is used in our
> grammar file so we can operate on grammar syntax w/ lisp syntax mixed
> in.  We can also operate on tags from other buffers by momentarily
> using features of the originating major-mode.
> 
> Enjoy
> Eric

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-06-12 21:04               ` Lennart Borgman (gmail)
@ 2007-06-12 23:10                 ` Stefan Monnier
  2007-06-13 16:22                   ` Richard Stallman
  0 siblings, 1 reply; 56+ messages in thread
From: Stefan Monnier @ 2007-06-12 23:10 UTC (permalink / raw)
  To: Lennart Borgman (gmail); +Cc: jasonr, emacs-devel, sdl.web, Eric M. Ludlam

> Would it be possible to catch all local bindings by setting the major mode
> in a temporary buffer and then save them for later use? This would avoid
> having to change major modes, perhaps.

This could be a default heuristic to be compatible with major modes which
have not been adapted, but better provide a more robust solution as well, so
that this hack can be phased out little by little.


        Stefan

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-06-12 20:14             ` Re[2]: " Eric M. Ludlam
  2007-06-12 21:04               ` Lennart Borgman (gmail)
@ 2007-06-13 16:22               ` Richard Stallman
  2007-06-19  2:09                 ` Re[2]: " Eric M. Ludlam
  1 sibling, 1 reply; 56+ messages in thread
From: Richard Stallman @ 2007-06-13 16:22 UTC (permalink / raw)
  To: Eric M. Ludlam; +Cc: jasonr, lennart.borgman, sdl.web, monnier, emacs-devel

    This tools has a spiff macro `with-mode-local', which lets you run a
    bunch of code as if some other mode were active.

Can you explain, in a nutshell, how the mechanism works?

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-06-12 23:10                 ` Stefan Monnier
@ 2007-06-13 16:22                   ` Richard Stallman
  0 siblings, 0 replies; 56+ messages in thread
From: Richard Stallman @ 2007-06-13 16:22 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: eric, emacs-devel, lennart.borgman, sdl.web, jasonr

MuMaMo, which was discussed here a few months ago, seems to be basically
a good way of handling multiple major modes.  If people are discussing
other ways, I suggest comparing them with MuMaMo.

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-06-19  2:09                 ` Re[2]: " Eric M. Ludlam
@ 2007-06-24 14:41                   ` Richard Stallman
  2007-06-25 14:04                     ` Re[2]: " Eric M. Ludlam
  0 siblings, 1 reply; 56+ messages in thread
From: Richard Stallman @ 2007-06-24 14:41 UTC (permalink / raw)
  To: Eric M. Ludlam; +Cc: jasonr, lennart.borgman, sdl.web, monnier, emacs-devel

      Define all your variables with `defvar-mode-local'.
      If changing a default value, use `setq-mode-local'

Does this mean we would have to go thru all of Emacs and put in
such definitions for all the variables that major modes can change?

Currently, the idea is that major modes can make any global variable
buffer-local.  Are you suggesting we divide all variables into two
classes, those that can be and those that can't be?  If so, what is
the benefit of that?

Would it make sense for `defvar' itself to do whatever you want
`defvar-mode-local' to do?

      For a program, use `define-overload' to specify a function that
      can have a mode specific override.  Supply a default body for modes
      that accept the default.

Since multiple major modes work (in different buffers) without this
feature, why would we need to add this feature merely to support
multiple major modes in one buffer?

      The mode-local system will automatically assign buffer-local values
      to mode-local defined variables.

I don't understand.  Does this mean that everything defined with
`defvar-mode-local' gets buffer-local in all buffers?  If so,
how is that different from `make-variable-buffer-local'?

I guess there must be parts of this explanation that are missing.

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-06-25 14:04                     ` Re[2]: " Eric M. Ludlam
@ 2007-07-01 20:40                       ` Richard Stallman
  2007-07-05  2:29                         ` Re[2]: " Eric M. Ludlam
  2007-07-01 20:40                       ` Richard Stallman
  1 sibling, 1 reply; 56+ messages in thread
From: Richard Stallman @ 2007-07-01 20:40 UTC (permalink / raw)
  To: Eric M. Ludlam; +Cc: jasonr, lennart.borgman, sdl.web, monnier, emacs-devel

Please forgive my delay in studying your message and responding.

    >Currently, the idea is that major modes can make any global variable
    >buffer-local.  Are you suggesting we divide all variables into two
    >classes, those that can be and those that can't be?  If so, what is
    >the benefit of that?

    There would be two classes.

I don't entirely follow.  Two classes of what?  Two classes of variables?

If so, could you describe each of the two classes?

				 There would be values that are specific
    to the major mode, and variables that are local to just some buffer.
    The buffer local value would trump the mode-specific value, and any
    mode-specific value would trump the global value.

That part makes sense to me; but can't we make all kinds of bindings
possible for every variable?

    The mode-local feature I wrote (with a lot of help from David Ponce)
    works in all versions of Emacs commonly used today.  It does this work
    by modifying the buffer-local values for different major-modes.  It
    provides the concept of what a mode-local variable might be.  Ideally
    it would not operate this way, and instead have built-in support for
    real mode-local values and method tables.

That makes sense.  We could implement mode-local bindings at the low
level if that is what we want.

What should their semantics be?

      A side effect is that
    you could have minor modes that operate across both major modes in a
    single buffer, and that minor mode won't get tromped.

How would this work?

    It is obvious that if a mode-local type tool or syntax were adopted
    into Emacs, that it would be a big effort to transition everything to
    it.

I hope we can design the mechanism to avoid the need for pervasive
changes in the code of major modes.  Perhaps we would need to change
some of the current calls to make-local-variable to call some new
primitive, make-mode-variable, instead.  But even that would be a pain
if every major mode HAD to do it.

      The real advantage would come if the
    concepts were built into Emacs and the help system which could then
    show chains of values (For C-h v) or chains of function doc (for C-h f)
    based on mode.

I agree, that would be good to do.

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-06-25 14:04                     ` Re[2]: " Eric M. Ludlam
  2007-07-01 20:40                       ` Richard Stallman
@ 2007-07-01 20:40                       ` Richard Stallman
  2007-07-04 16:35                         ` T. V. Raman
  2007-07-05  1:44                         ` Re[2]: " Eric M. Ludlam
  1 sibling, 2 replies; 56+ messages in thread
From: Richard Stallman @ 2007-07-01 20:40 UTC (permalink / raw)
  To: Eric M. Ludlam; +Cc: jasonr, lennart.borgman, sdl.web, monnier, emacs-devel

    The function overload mechanism is also a feature I use in semantic.
    Most features that work in multiple major modes today provide a
    variable where you can put a symbol that is a function that would then
    provide some mode-specific functionality.

    My semantic tool has hundreds of these functions, so I abstracted the
    concept up so that the implementations could be declarative, instead
    of programmatic. 

I really don't like the idea of function overloads.  This mechanism
shares the drawbacks of advice: that a function doesn't do what its
definition says.

		      It also makes it easy to make most functions
    overridable, which helps avoid forcing users to use advice when
    customizing my tool.

It is easy to replace advising with another similar mechanism,
but it doesn't solve the problem.

It seems to me that there is no need for this.  Calling a variable
with funcall should do the same job.  That way, the call _shows_
that the function isn't fixed.

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-07-01 20:40                       ` Richard Stallman
@ 2007-07-04 16:35                         ` T. V. Raman
  2007-07-04 17:01                           ` David Kastrup
  2007-07-05  1:31                           ` Richard Stallman
  2007-07-05  1:44                         ` Re[2]: " Eric M. Ludlam
  1 sibling, 2 replies; 56+ messages in thread
From: T. V. Raman @ 2007-07-04 16:35 UTC (permalink / raw)
  To: rms; +Cc: lennart.borgman, emacs-devel, monnier, eric, jasonr, sdl.web

For the record, advice does update the function documentation,
assuming one documents the advice.


>>>>> "Richard" == Richard Stallman <rms@gnu.org> writes:
    Richard>     The function overload mechanism is also a
    Richard> feature I use in semantic.  Most features that work
    Richard> in multiple major modes today provide a variable
    Richard> where you can put a symbol that is a function that
    Richard> would then provide some mode-specific functionality.
    Richard> 
    Richard>     My semantic tool has hundreds of these
    Richard> functions, so I abstracted the concept up so that
    Richard> the implementations could be declarative, instead of
    Richard> programmatic.
    Richard> 
    Richard> I really don't like the idea of function overloads.
    Richard> This mechanism shares the drawbacks of advice: that
    Richard> a function doesn't do what its definition says.
    Richard> 
    Richard> 		      It also makes it easy to make most
    Richard> functions overridable, which helps avoid forcing
    Richard> users to use advice when customizing my tool.
    Richard> 
    Richard> It is easy to replace advising with another similar
    Richard> mechanism, but it doesn't solve the problem.
    Richard> 
    Richard> It seems to me that there is no need for this.
    Richard> Calling a variable with funcall should do the same
    Richard> job.  That way, the call _shows_ that the function
    Richard> isn't fixed.
    Richard> 
    Richard> 
    Richard> _______________________________________________
    Richard> Emacs-devel mailing list Emacs-devel@gnu.org
    Richard> http://lists.gnu.org/mailman/listinfo/emacs-devel

-- 
Best Regards,
--raman

      
Email:  raman@users.sf.net
WWW:    http://emacspeak.sf.net/raman/
AIM:    emacspeak       GTalk: tv.raman.tv@gmail.com
PGP:    http://emacspeak.sf.net/raman/raman-almaden.asc
Google: tv+raman 
IRC:    irc://irc.freenode.net/#emacs

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-07-04 16:35                         ` T. V. Raman
@ 2007-07-04 17:01                           ` David Kastrup
  2007-07-05  1:31                           ` Richard Stallman
  1 sibling, 0 replies; 56+ messages in thread
From: David Kastrup @ 2007-07-04 17:01 UTC (permalink / raw)
  To: raman; +Cc: emacs-devel

"T. V. Raman" <raman@users.sf.net> writes:

> For the record, advice does update the function documentation,
> assuming one documents the advice.

Once the advice is loaded and applied.

Now it just needs to update the more extensive documentation in the
manual, and we are all set.

Except that it is hard to guess the cumulative effects of multiple
pieces of advice.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-07-04 16:35                         ` T. V. Raman
  2007-07-04 17:01                           ` David Kastrup
@ 2007-07-05  1:31                           ` Richard Stallman
  2007-07-05 14:49                             ` Stefan Monnier
  2007-07-07  0:48                             ` Johan Bockgård
  1 sibling, 2 replies; 56+ messages in thread
From: Richard Stallman @ 2007-07-05  1:31 UTC (permalink / raw)
  To: raman; +Cc: lennart.borgman, emacs-devel, monnier, eric, jasonr, sdl.web

    For the record, advice does update the function documentation,
    assuming one documents the advice.

It doesn't update the source code of the function definition,
which is the main thing that someone debugging will look at.

This suggests an idea to me.  Maybe Emacs could highlight the function
definition somehow, to indicate that the function has been advised.

That might solve the problem that makes advising bad for debugging.
Would someone like to try it?

To be sure whether it solves that problem, we would have to try it for
a while, and see the results.  We can't assume this a priori.

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-07-05  1:31                           ` Richard Stallman
@ 2007-07-05 14:49                             ` Stefan Monnier
  2007-07-06  4:38                               ` Richard Stallman
  2007-07-07  0:48                             ` Johan Bockgård
  1 sibling, 1 reply; 56+ messages in thread
From: Stefan Monnier @ 2007-07-05 14:49 UTC (permalink / raw)
  To: rms; +Cc: raman, lennart.borgman, emacs-devel, eric, jasonr, sdl.web

> That might solve the problem that makes advising bad for debugging.
> Would someone like to try it?

I don't find advising difficult for debugging.

Actually, the problem with defadvice (for me) is not when the advice is
enabled, but when it's not because then there's no trace anywhere that the
function you're looking at has a special relationship to some other piece of
code elsewhere.

So whenever I change a function (i.e. whenever I change some piece of code
in Emacs) I may potentially break an advice.  So if I don't want to break
other advices (or should I say "pieces of advice") I'd have to constantly
grep the code to see if the function I'm changing happens to be
advised somewhere.

When the advice is outside Emacs, I don't care so much about breaking it,
but if it's inside Emacs it's a more serious problem,


        Stefan

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-07-05  2:29                         ` Re[2]: " Eric M. Ludlam
@ 2007-07-05 20:34                           ` Richard Stallman
  0 siblings, 0 replies; 56+ messages in thread
From: Richard Stallman @ 2007-07-05 20:34 UTC (permalink / raw)
  To: Eric M. Ludlam; +Cc: emacs-devel, lennart.borgman, sdl.web, monnier, jasonr

    Sorry for being vague.  There would be "buffer-local variables", and
    "mode-local variables".

I think you really mean two classes of bindings, right?

    ;; programmatic
    (setq-mode-local 'c-mode my-var t)

    then all buffers in c-mode would get the new value of my-var.

Ok.  What happens if you do (setq my-var 69) in a buffer in C mode?
Does it change the value to 69 for all C mode buffers?

    If a multi-major-mode tool knows a particular major-mode doesn't use
    buffer-local variables, then it would not need to run the major-mode
    function (which could call `kill-all-local-variables') for every
    section switch and lots of work needed to save and restore
    buffer-local values that may or may not be mode-specific would be
    saved.

That's true, if we only consider local variables.  But major modes
set other things too: local keymap, syntax table, abbrev table.
We would need a new way to handle them too, right?

Here is another idea: `run-mode-hooks' could record all local bindings
made by a certain major mode, as mode-local bindings.  This way,
nearly all major modes would "just work" with the new mechanism; we
would not have to change their code.  Of course, `delay-mode-hooks'
would need to cooperate.

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-07-05 14:49                             ` Stefan Monnier
@ 2007-07-06  4:38                               ` Richard Stallman
  2007-07-06  6:01                                 ` Stephen J. Turnbull
  2007-07-06 16:00                                 ` Stefan Monnier
  0 siblings, 2 replies; 56+ messages in thread
From: Richard Stallman @ 2007-07-06  4:38 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: raman, lennart.borgman, emacs-devel, eric, jasonr, sdl.web

    I don't find advising difficult for debugging.

I am surprised.  Why not?

    Actually, the problem with defadvice (for me) is not when the advice is
    enabled, but when it's not because then there's no trace anywhere that the
    function you're looking at has a special relationship to some other piece of
    code elsewhere.

They are two different problems.  Enabled advice can cause confusion
in debugging, because the function may not do what its source code
says; that can cause confusion in debugging.  Separately, changing the
function can break code in advice of that function.

Both of them can be real.  I'm surprised that you think that only the
latter one is important.

When you change a function, often you would search for its callers
to make sure you don't break them.  That search would find advice
for the function, as well as callers.  Thus, I tend to think that
the second problem won't be so bad.

However, when debugging you are likely to need to look
at lots of functions, and it would be a pain to have to search
for advice for each of these functions.

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-07-06  4:38                               ` Richard Stallman
@ 2007-07-06  6:01                                 ` Stephen J. Turnbull
  2007-07-07 13:07                                   ` Richard Stallman
  2007-07-06 16:00                                 ` Stefan Monnier
  1 sibling, 1 reply; 56+ messages in thread
From: Stephen J. Turnbull @ 2007-07-06  6:01 UTC (permalink / raw)
  To: rms
  Cc: lennart.borgman, jasonr, raman, Stefan Monnier, eric, emacs-devel,
	sdl.web

Richard Stallman writes:

 >     I don't find advising difficult for debugging.
 > 
 > I am surprised.  Why not?

I can't speak for Stefan, but I can say why I rarely have a problem
with it.  Once I've localized to a function (usually via a backtrace),
the first thing I normally do is `describe-function', and then jump to
the source via find-function from the help buffer.

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-07-06  4:38                               ` Richard Stallman
  2007-07-06  6:01                                 ` Stephen J. Turnbull
@ 2007-07-06 16:00                                 ` Stefan Monnier
  2007-07-06 16:10                                   ` Drew Adams
  1 sibling, 1 reply; 56+ messages in thread
From: Stefan Monnier @ 2007-07-06 16:00 UTC (permalink / raw)
  To: rms; +Cc: raman, lennart.borgman, emacs-devel, eric, jasonr, sdl.web

>     I don't find advising difficult for debugging.
> I am surprised.  Why not?

No idea, but I just can't remember a single case where it has bothered me.

> When you change a function, often you would search for its callers
> to make sure you don't break them.

In most cases the function is "internal" so I only search with C-s.


        Stefan

^ permalink raw reply	[flat|nested] 56+ messages in thread

* RE: Multiple major modes
  2007-07-06 16:00                                 ` Stefan Monnier
@ 2007-07-06 16:10                                   ` Drew Adams
  2007-07-07 13:06                                     ` Richard Stallman
  0 siblings, 1 reply; 56+ messages in thread
From: Drew Adams @ 2007-07-06 16:10 UTC (permalink / raw)
  To: Emacs-Devel

> >     I don't find advising difficult for debugging.
> > I am surprised.  Why not?
>
> No idea, but I just can't remember a single case where it has bothered me.

FWIW -

Perhaps it also depends on how one debugs? I tend not to use edebug; I use
`debug-on-entry' and `(debug)'. Advice bothers me during debugging because
the steps followed include a lot of advice stuff that muddies the waters,
for me.

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-07-05  1:31                           ` Richard Stallman
  2007-07-05 14:49                             ` Stefan Monnier
@ 2007-07-07  0:48                             ` Johan Bockgård
  1 sibling, 0 replies; 56+ messages in thread
From: Johan Bockgård @ 2007-07-07  0:48 UTC (permalink / raw)
  To: emacs-devel

Richard Stallman <rms@gnu.org> writes:

> This suggests an idea to me.  Maybe Emacs could highlight the function
> definition somehow, to indicate that the function has been advised.

FWIW, there is already an entry in TODO

    ** Emacs Lisp mode could put an overlay on the defun for every
      function that has advice.  The overlay could have `after-text'
      like " [Function has advice]".  It might look like (defun foo
      [Function has advice] (x y) The overlay could also be a button
      that you could use to view the advice.

> That might solve the problem that makes advising bad for debugging.

Here's an example where advice can be really confusing:

;; See ad-default-compilation-action
(require 'bytecomp)

(defun foo (x y)
  (+ x y))

(defadvice foo (before bar activate)
  (car x))

(foo 1 2)
  =>

Debugger entered--Lisp error: (wrong-type-argument listp 1)
  foo(1 2)
  eval((foo 1 2))
  eval-last-sexp-1(nil)
  eval-last-sexp(nil)
  call-interactively(eval-last-sexp)


(If the advice is not compiled "car(1)" is present in the backtrace.)

-- 
Johan Bockgård

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-07-06 16:10                                   ` Drew Adams
@ 2007-07-07 13:06                                     ` Richard Stallman
  2007-07-07 17:21                                       ` Stephen J. Turnbull
  0 siblings, 1 reply; 56+ messages in thread
From: Richard Stallman @ 2007-07-07 13:06 UTC (permalink / raw)
  To: Drew Adams; +Cc: emacs-devel

    Perhaps it also depends on how one debugs? I tend not to use edebug; I use
    `debug-on-entry' and `(debug)'. Advice bothers me during debugging because
    the steps followed include a lot of advice stuff that muddies the waters,
    for me.

That is also how I do debugging.

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-07-06  6:01                                 ` Stephen J. Turnbull
@ 2007-07-07 13:07                                   ` Richard Stallman
  2007-07-07 14:13                                     ` Lennart Borgman (gmail)
  2007-07-07 17:43                                     ` Stephen J. Turnbull
  0 siblings, 2 replies; 56+ messages in thread
From: Richard Stallman @ 2007-07-07 13:07 UTC (permalink / raw)
  To: Stephen J. Turnbull
  Cc: lennart.borgman, jasonr, raman, monnier, eric, emacs-devel,
	sdl.web

      Once I've localized to a function (usually via a backtrace),
    the first thing I normally do is `describe-function', and then jump to
    the source via find-function from the help buffer.

I often do that, but I don't read carefully thru the buffer thaht
`describe-function' displays.  If it said something about advice, I
wouldn't even notice, unless I read carefully thru the buffer to look
for such.  And I am in too much of a hurry to make a practice
of always reading that text carefully.

Maybe this is a consequence of getting older.

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-07-07 13:07                                   ` Richard Stallman
@ 2007-07-07 14:13                                     ` Lennart Borgman (gmail)
  2007-07-08 16:56                                       ` Richard Stallman
  2007-07-07 17:43                                     ` Stephen J. Turnbull
  1 sibling, 1 reply; 56+ messages in thread
From: Lennart Borgman (gmail) @ 2007-07-07 14:13 UTC (permalink / raw)
  To: rms; +Cc: emacs-devel, raman, monnier, eric, Stephen J. Turnbull, jasonr,
	sdl.web

Richard Stallman wrote:
>       Once I've localized to a function (usually via a backtrace),
>     the first thing I normally do is `describe-function', and then jump to
>     the source via find-function from the help buffer.
> 
> I often do that, but I don't read carefully thru the buffer thaht
> `describe-function' displays.  If it said something about advice, I
> wouldn't even notice, unless I read carefully thru the buffer to look
> for such.  And I am in too much of a hurry to make a practice
> of always reading that text carefully.

Did someone already say "highlight the advice info" in the help buffer?

> Maybe this is a consequence of getting older.

Yes, of course. There is still just as much to do in life and less time 
left.

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-07-07 13:06                                     ` Richard Stallman
@ 2007-07-07 17:21                                       ` Stephen J. Turnbull
  2007-07-08 16:55                                         ` Richard Stallman
  0 siblings, 1 reply; 56+ messages in thread
From: Stephen J. Turnbull @ 2007-07-07 17:21 UTC (permalink / raw)
  To: rms; +Cc: Drew Adams, emacs-devel

Richard Stallman writes:

 >     Perhaps it also depends on how one debugs? I tend not to use
 >     edebug; I use `debug-on-entry' and `(debug)'. Advice bothers me
 >     during debugging because the steps followed include a lot of
 >     advice stuff that muddies the waters, for me.

 > That is also how I do debugging.

Which suggests adding a feature to the debugger (or to advice) to skip
over advice when debugging.  (This is a "by the way2 suggestion to
improve debugging in the presence of advice one happens to encounter,
not intended as an argument that "advice is OK".)

No, I don't have time (or sufficient knowledge of the debugger and
advice, for that matter) to do it. :-(

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-07-07 13:07                                   ` Richard Stallman
  2007-07-07 14:13                                     ` Lennart Borgman (gmail)
@ 2007-07-07 17:43                                     ` Stephen J. Turnbull
  1 sibling, 0 replies; 56+ messages in thread
From: Stephen J. Turnbull @ 2007-07-07 17:43 UTC (permalink / raw)
  To: rms; +Cc: lennart.borgman, emacs-devel, jasonr, monnier, eric, raman,
	sdl.web

Richard Stallman writes:

 >       Once I've localized to a function (usually via a backtrace),
 >     the first thing I normally do is `describe-function', and then jump to
 >     the source via find-function from the help buffer.
 > 
 > I often do that, but I don't read carefully thru the buffer thaht
 > `describe-function' displays.

Aha.  It would be a good idea to put the "this function is advised"
notice first.  That way at least it would less often catch you by
surprise.

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-07-07 17:21                                       ` Stephen J. Turnbull
@ 2007-07-08 16:55                                         ` Richard Stallman
  2007-07-09  5:29                                           ` Stephen J. Turnbull
  0 siblings, 1 reply; 56+ messages in thread
From: Richard Stallman @ 2007-07-08 16:55 UTC (permalink / raw)
  To: Stephen J. Turnbull; +Cc: drew.adams, emacs-devel

    Which suggests adding a feature to the debugger (or to advice) to skip
    over advice when debugging.

I don't follow.  What would that feature do?

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-07-07 14:13                                     ` Lennart Borgman (gmail)
@ 2007-07-08 16:56                                       ` Richard Stallman
  0 siblings, 0 replies; 56+ messages in thread
From: Richard Stallman @ 2007-07-08 16:56 UTC (permalink / raw)
  To: Lennart Borgman (gmail)
  Cc: emacs-devel, raman, monnier, eric, stephen, jasonr, sdl.web

    > I often do that, but I don't read carefully thru the buffer thaht
    > `describe-function' displays.  If it said something about advice, I
    > wouldn't even notice, unless I read carefully thru the buffer to look
    > for such.  And I am in too much of a hurry to make a practice
    > of always reading that text carefully.

    Did someone already say "highlight the advice info" in the help buffer?

I have doubts that it will help that much, but it can't hurt.  Would
someone please implement it?

Moving that advice info closer to the top might also be useful
if it is not already close to the top.

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-07-05  1:44                         ` Re[2]: " Eric M. Ludlam
@ 2007-07-08 22:23                           ` Richard Stallman
  2007-07-09  0:49                             ` Re[2]: " Eric M. Ludlam
  0 siblings, 1 reply; 56+ messages in thread
From: Richard Stallman @ 2007-07-08 22:23 UTC (permalink / raw)
  To: Eric M. Ludlam; +Cc: jasonr, lennart.borgman, sdl.web, monnier, emacs-devel

    The use syntax of an overloadable function is similar to programs that
    call `indent-for-tab-command', or `indent-according-to-mode', but
    there is no restriction forcing `according-to-mode' as part of the
    function name.

I understand the similarity, but I see the difference too.
The source code of `indent-according-to-mode' shows that it
calls something that can be set differently by different modes.

That's why I prefer using a variable.

However, you didn't show precisely what this feature looks like.
Perhaps I got the wrong idea of the feature.  Can you show me
what it looks like?

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-07-08 16:55                                         ` Richard Stallman
@ 2007-07-09  5:29                                           ` Stephen J. Turnbull
  2007-07-09 17:21                                             ` Richard Stallman
  0 siblings, 1 reply; 56+ messages in thread
From: Stephen J. Turnbull @ 2007-07-09  5:29 UTC (permalink / raw)
  To: rms; +Cc: drew.adams, emacs-devel

Richard Stallman writes:

 >     Which suggests adding a feature to the debugger (or to advice) to skip
 >     over advice when debugging.
 > 
 > I don't follow.  What would that feature do?

When you step through a function, you can either step into or step
across function calls.  By analogy, when you are stepping through an
advised function, it should be technically possible to step across any
advice code or infrastructure to the point of the (ad-do-it) call.
This might help keep the view of the function that you see in the
source and the view of the function that you get from stepping more
coherent.

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-07-09  0:49                             ` Re[2]: " Eric M. Ludlam
@ 2007-07-09 17:21                               ` Richard Stallman
  0 siblings, 0 replies; 56+ messages in thread
From: Richard Stallman @ 2007-07-09 17:21 UTC (permalink / raw)
  To: Eric M. Ludlam; +Cc: jasonr, lennart.borgman, sdl.web, monnier, emacs-devel

I now see that my previous concerns were misguided.
(I had misunderstood what the feature does.)
This feature doesn't cause a problem like that of advice.
It seems like basically a good idea.

I do have a criticism of one part of the API, though.

    (defun semantic-analyze-split-name-default (name)
      "Don't split up NAME by default."
      name)

It seems like a mistake to make the API depend on manipulating symbol
names.  I'd rather have a separate construct to define the default
meaning, giving the standard name, here `semantic-analyze-split-name'.

How does it actually work?

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple major modes
  2007-07-09  5:29                                           ` Stephen J. Turnbull
@ 2007-07-09 17:21                                             ` Richard Stallman
  0 siblings, 0 replies; 56+ messages in thread
From: Richard Stallman @ 2007-07-09 17:21 UTC (permalink / raw)
  To: Stephen J. Turnbull; +Cc: drew.adams, emacs-devel

    When you step through a function, you can either step into or step
    across function calls.  By analogy, when you are stepping through an
    advised function, it should be technically possible to step across any
    advice code or infrastructure to the point of the (ad-do-it) call.

To pretend that the advice is not there is counterproductive.
That would only exacerbate the problem caused by advice -- which is
that it runs and you don't notice.

When you do know about the advice, you might sometimes want to run
across it in the debugger without stopping.  A command to do that
could be useful on those special occasions, so I would be happy to
have it installed for that purpose.

^ permalink raw reply	[flat|nested] 56+ messages in thread

* Multiple Major Modes
@ 2008-06-10 21:26 Nordlöw
  2008-06-10 21:47 ` Lennart Borgman (gmail)
  2008-06-11  5:42 ` William Xu
  0 siblings, 2 replies; 56+ messages in thread
From: Nordlöw @ 2008-06-10 21:26 UTC (permalink / raw)
  To: help-gnu-emacs

Has anyone used any of the MultipleModes (http://www.emacswiki.org/cgi-
bin/wiki/MultipleModes), for example mumamo and mmm-mode, for mixing
text/outline/muse/org-mode (or similar note) with programming modes?

If not can I reuse any code for this purpose; For example what kinds
of prefixes/tags does mumamo react on?


Thanks in advance,
Nordlöw


^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple Major Modes
  2008-06-10 21:26 Nordlöw
@ 2008-06-10 21:47 ` Lennart Borgman (gmail)
  2008-06-11  5:42 ` William Xu
  1 sibling, 0 replies; 56+ messages in thread
From: Lennart Borgman (gmail) @ 2008-06-10 21:47 UTC (permalink / raw)
  To: Nordlöw; +Cc: help-gnu-emacs

Nordlöw wrote:
> Has anyone used any of the MultipleModes (http://www.emacswiki.org/cgi-
> bin/wiki/MultipleModes), for example mumamo and mmm-mode, for mixing
> text/outline/muse/org-mode (or similar note) with programming modes?
> 
> If not can I reuse any code for this purpose; For example what kinds
> of prefixes/tags does mumamo react on?


Look in mumamo-fun.el to find out how to do it.




^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple Major Modes
  2008-06-10 21:26 Nordlöw
  2008-06-10 21:47 ` Lennart Borgman (gmail)
@ 2008-06-11  5:42 ` William Xu
  1 sibling, 0 replies; 56+ messages in thread
From: William Xu @ 2008-06-11  5:42 UTC (permalink / raw)
  To: help-gnu-emacs

Nordlöw <per.nordlow@gmail.com> writes:

> Has anyone used any of the MultipleModes (http://www.emacswiki.org/cgi-
> bin/wiki/MultipleModes), for example mumamo and mmm-mode, for mixing
> text/outline/muse/org-mode (or similar note) with programming modes?

I'm using mmm-mode for text-mode embedded with html-mode, works fairly
well.  

-- 
William

http://williamxu.net9.org

There is a time in the tides of men,
Which, taken at its flood, leads on to success.
On the other hand, don't count on it.
- T. K. Lawson





^ permalink raw reply	[flat|nested] 56+ messages in thread

* Multiple Major Modes
@ 2009-10-29  9:45 Nordlöw
  2009-10-29 13:40 ` Pascal J. Bourguignon
                   ` (2 more replies)
  0 siblings, 3 replies; 56+ messages in thread
From: Nordlöw @ 2009-10-29  9:45 UTC (permalink / raw)
  To: help-gnu-emacs

Does anyone though of an extension the enables a major-mode to exist
only within a part of buffer along with another major-mode. Part is
preferrably delimited by some magic strings.

Thanks in advance,
Nordlöw


^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple Major Modes
  2009-10-29  9:45 Multiple Major Modes Nordlöw
@ 2009-10-29 13:40 ` Pascal J. Bourguignon
  2009-10-29 20:04 ` Joost Kremers
  2009-11-01 21:24 ` Dave Love
  2 siblings, 0 replies; 56+ messages in thread
From: Pascal J. Bourguignon @ 2009-10-29 13:40 UTC (permalink / raw)
  To: help-gnu-emacs

Nordlöw <per.nordlow@gmail.com> writes:

> Does anyone though of an extension the enables a major-mode to exist
> only within a part of buffer along with another major-mode. Part is
> preferrably delimited by some magic strings.

mmm-mode

-- 
__Pascal Bourguignon__


^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple Major Modes
  2009-10-29  9:45 Multiple Major Modes Nordlöw
  2009-10-29 13:40 ` Pascal J. Bourguignon
@ 2009-10-29 20:04 ` Joost Kremers
  2009-10-29 22:14   ` Lennart Borgman
       [not found]   ` <mailman.9707.1256854525.2239.help-gnu-emacs@gnu.org>
  2009-11-01 21:24 ` Dave Love
  2 siblings, 2 replies; 56+ messages in thread
From: Joost Kremers @ 2009-10-29 20:04 UTC (permalink / raw)
  To: help-gnu-emacs

Nordlöw wrote:
> Does anyone though of an extension the enables a major-mode to exist
> only within a part of buffer along with another major-mode. Part is
> preferrably delimited by some magic strings.

http://www.emacswiki.org/emacs/MultipleModes


-- 
Joost Kremers                                      joostkremers@yahoo.com
Selbst in die Unterwelt dringt durch Spalten Licht
EN:SiS(9)


^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple Major Modes
  2009-10-29 20:04 ` Joost Kremers
@ 2009-10-29 22:14   ` Lennart Borgman
       [not found]   ` <mailman.9707.1256854525.2239.help-gnu-emacs@gnu.org>
  1 sibling, 0 replies; 56+ messages in thread
From: Lennart Borgman @ 2009-10-29 22:14 UTC (permalink / raw)
  To: Pascal J. Bourguignon, Sebastien LE MAGUER; +Cc: help-gnu-emacs

On Thu, Oct 29, 2009 at 9:04 PM, Joost Kremers <joostkremers@yahoo.com> wrote:
> Nordlöw wrote:
>> Does anyone though of an extension the enables a major-mode to exist
>> only within a part of buffer along with another major-mode. Part is
>> preferrably delimited by some magic strings.
>
> http://www.emacswiki.org/emacs/MultipleModes

Pascal and Bastien, you recommended mmm-mode that is one of the
alternatives on that list. I have for a long time wondered if it works
with Emacs 22/23. Are you using it?

Are there any features in it that you believe are missing in mumamo?




^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple Major Modes
       [not found]   ` <mailman.9707.1256854525.2239.help-gnu-emacs@gnu.org>
@ 2009-10-29 23:03     ` Pascal J. Bourguignon
  2009-10-29 23:49       ` Lennart Borgman
       [not found]       ` <mailman.9710.1256860199.2239.help-gnu-emacs@gnu.org>
  2009-10-30  3:28     ` Joseph Brenner
  1 sibling, 2 replies; 56+ messages in thread
From: Pascal J. Bourguignon @ 2009-10-29 23:03 UTC (permalink / raw)
  To: help-gnu-emacs

Lennart Borgman <lennart.borgman@gmail.com> writes:

> On Thu, Oct 29, 2009 at 9:04 PM, Joost Kremers <joostkremers@yahoo.com> wrote:
>> Nordlöw wrote:
>>> Does anyone though of an extension the enables a major-mode to exist
>>> only within a part of buffer along with another major-mode. Part is
>>> preferrably delimited by some magic strings.
>>
>> http://www.emacswiki.org/emacs/MultipleModes
>
> Pascal and Bastien, you recommended mmm-mode that is one of the
> alternatives on that list. I have for a long time wondered if it works
> with Emacs 22/23. Are you using it?
>
> Are there any features in it that you believe are missing in mumamo?

I don't use any multimode mode.  I suggested mmm-mode because it comes
with standard emacs (22.3) installations.

-- 
__Pascal Bourguignon__


^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple Major Modes
  2009-10-29 23:03     ` Pascal J. Bourguignon
@ 2009-10-29 23:49       ` Lennart Borgman
       [not found]       ` <mailman.9710.1256860199.2239.help-gnu-emacs@gnu.org>
  1 sibling, 0 replies; 56+ messages in thread
From: Lennart Borgman @ 2009-10-29 23:49 UTC (permalink / raw)
  To: Pascal J. Bourguignon; +Cc: help-gnu-emacs

On Fri, Oct 30, 2009 at 12:03 AM, Pascal J. Bourguignon
<pjb@informatimago.com> wrote:
> Lennart Borgman <lennart.borgman@gmail.com> writes:
>
>> On Thu, Oct 29, 2009 at 9:04 PM, Joost Kremers <joostkremers@yahoo.com> wrote:
>>> Nordlöw wrote:
>>>> Does anyone though of an extension the enables a major-mode to exist
>>>> only within a part of buffer along with another major-mode. Part is
>>>> preferrably delimited by some magic strings.
>>>
>>> http://www.emacswiki.org/emacs/MultipleModes
>>
>> Pascal and Bastien, you recommended mmm-mode that is one of the
>> alternatives on that list. I have for a long time wondered if it works
>> with Emacs 22/23. Are you using it?
>>
>> Are there any features in it that you believe are missing in mumamo?
>
> I don't use any multimode mode.  I suggested mmm-mode because it comes
> with standard emacs (22.3) installations.


Thanks for the clarification.

What standard installations of emacs 22.3 does it come with? mmm-mode
is not part of emacs itself (nor is any other multi major mode
framework).




^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple Major Modes
       [not found]       ` <mailman.9710.1256860199.2239.help-gnu-emacs@gnu.org>
@ 2009-10-30  0:52         ` Pascal J. Bourguignon
  0 siblings, 0 replies; 56+ messages in thread
From: Pascal J. Bourguignon @ 2009-10-30  0:52 UTC (permalink / raw)
  To: help-gnu-emacs

Lennart Borgman <lennart.borgman@gmail.com> writes:

> On Fri, Oct 30, 2009 at 12:03 AM, Pascal J. Bourguignon
> <pjb@informatimago.com> wrote:
>> Lennart Borgman <lennart.borgman@gmail.com> writes:
>>
>>> On Thu, Oct 29, 2009 at 9:04 PM, Joost Kremers <joostkremers@yahoo.com> wrote:
>>>> Nordlöw wrote:
>>>>> Does anyone though of an extension the enables a major-mode to exist
>>>>> only within a part of buffer along with another major-mode. Part is
>>>>> preferrably delimited by some magic strings.
>>>>
>>>> http://www.emacswiki.org/emacs/MultipleModes
>>>
>>> Pascal and Bastien, you recommended mmm-mode that is one of the
>>> alternatives on that list. I have for a long time wondered if it works
>>> with Emacs 22/23. Are you using it?
>>>
>>> Are there any features in it that you believe are missing in mumamo?
>>
>> I don't use any multimode mode.  I suggested mmm-mode because it comes
>> with standard emacs (22.3) installations.
>
>
> Thanks for the clarification.
>
> What standard installations of emacs 22.3 does it come with? mmm-mode
> is not part of emacs itself (nor is any other multi major mode
> framework).

Indeed. Sorry for the confusion.  
mmm-mode is installed as a gentoo package.
gentoo doesn't seem to provide the mumamo package.


-- 
__Pascal Bourguignon__


^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple Major Modes
       [not found]   ` <mailman.9707.1256854525.2239.help-gnu-emacs@gnu.org>
  2009-10-29 23:03     ` Pascal J. Bourguignon
@ 2009-10-30  3:28     ` Joseph Brenner
  2009-11-01 23:14       ` Lennart Borgman
       [not found]       ` <mailman.9873.1257117309.2239.help-gnu-emacs@gnu.org>
  1 sibling, 2 replies; 56+ messages in thread
From: Joseph Brenner @ 2009-10-30  3:28 UTC (permalink / raw)
  To: help-gnu-emacs


Lennart Borgman <lennart.borgman@gmail.com> writes:
> Joost Kremers <joostkremers@yahoo.com> wrote:
>> Nordlöw wrote:
>>> Does anyone though of an extension the enables a major-mode to exist
>>> only within a part of buffer along with another major-mode. Part is
>>> preferrably delimited by some magic strings.
>>
>> http://www.emacswiki.org/emacs/MultipleModes
>
> Pascal and Bastien, you recommended mmm-mode that is one of the
> alternatives on that list. I have for a long time wondered if it works
> with Emacs 22/23. Are you using it?

I use mmm-mode sometimes.  It works pretty well for Mason files (perl
code embedded in html-like coding), which is what it was originally
designed for.  I believe it's the oldest and probably most mature
multi-mode package.

> Are there any features in it that you believe are missing in mumamo?

I don't know anything about mumamo: mmm-mode works well enough that I've 
never seen any need to try any of the other ways.  



^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple Major Modes
  2009-10-29  9:45 Multiple Major Modes Nordlöw
  2009-10-29 13:40 ` Pascal J. Bourguignon
  2009-10-29 20:04 ` Joost Kremers
@ 2009-11-01 21:24 ` Dave Love
  2009-11-02 12:32   ` Lennart Borgman
  2009-11-02 14:01   ` Richard Riley
  2 siblings, 2 replies; 56+ messages in thread
From: Dave Love @ 2009-11-01 21:24 UTC (permalink / raw)
  To: help-gnu-emacs

Nordlöw <per.nordlow@gmail.com> writes:

> Does anyone though of an extension the enables a major-mode to exist
> only within a part of buffer along with another major-mode. Part is
> preferrably delimited by some magic strings.

I think you want more flexibility for delimiting mode chunks in general.

<URL:http://www.loveshack.ukfsn.org/emacs/multi-mode.el> implements
roughly what we intended by the Emacs TODO item on the topic many years
ago (if it's still there).

I'm rather baffled by this nxhtml thing referred to, and its complexity.
It claims to be trying to solve a problem that the indirect buffer
approach doesn't have.  Can someone explain why?

Doing this sort of thing properly really needs support from Emacs, which
was originally meant to be added as necessary.


^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple Major Modes
  2009-10-30  3:28     ` Joseph Brenner
@ 2009-11-01 23:14       ` Lennart Borgman
       [not found]       ` <mailman.9873.1257117309.2239.help-gnu-emacs@gnu.org>
  1 sibling, 0 replies; 56+ messages in thread
From: Lennart Borgman @ 2009-11-01 23:14 UTC (permalink / raw)
  To: Joseph Brenner; +Cc: help-gnu-emacs

On Fri, Oct 30, 2009 at 4:28 AM, Joseph Brenner <doom@kzsu.stanford.edu> wrote:
>
> Lennart Borgman <lennart.borgman@gmail.com> writes:
>> Joost Kremers <joostkremers@yahoo.com> wrote:
>>> Nordlöw wrote:
>>>> Does anyone though of an extension the enables a major-mode to exist
>>>> only within a part of buffer along with another major-mode. Part is
>>>> preferrably delimited by some magic strings.
>>>
>>> http://www.emacswiki.org/emacs/MultipleModes
>>
>> Pascal and Bastien, you recommended mmm-mode that is one of the
>> alternatives on that list. I have for a long time wondered if it works
>> with Emacs 22/23. Are you using it?
>
> I use mmm-mode sometimes.  It works pretty well for Mason files (perl
> code embedded in html-like coding), which is what it was originally
> designed for.  I believe it's the oldest and probably most mature
> multi-mode package.
>
>> Are there any features in it that you believe are missing in mumamo?
>
> I don't know anything about mumamo: mmm-mode works well enough that I've
> never seen any need to try any of the other ways.


Thanks for the answer Joseph. I just added some support for Mason
files to mumamo. It is not perfect (surprise! and there is an
indentation bug currently - those are very resistent to treatment),
but I would be glad if you or someone else that have been using
mmm-mode tested it and gave some feedback.

If you want to help with this then download the latest beta of nXhtml here:

  http://ourcomments.org/Emacs/DL/elisp/nxhtml/beta/

That is a zip file which you set up by simply adding one line to .emacs, see

  http://ourcomments.org/Emacs/nXhtml/doc/nxhtml.html#qg

When you are in a Mason file turn do

  M-x mason-html-mumamo-mode

to test it. (BTW, what file extensions do Mason files normally have?)




^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple Major Modes
  2009-11-01 21:24 ` Dave Love
@ 2009-11-02 12:32   ` Lennart Borgman
  2009-11-02 14:01   ` Richard Riley
  1 sibling, 0 replies; 56+ messages in thread
From: Lennart Borgman @ 2009-11-02 12:32 UTC (permalink / raw)
  To: fx; +Cc: help-gnu-emacs

On Sun, Nov 1, 2009 at 10:24 PM, Dave Love <fx@domain.invalid> wrote:
>
> I'm rather baffled by this nxhtml thing referred to, and its complexity.
> It claims to be trying to solve a problem that the indirect buffer
> approach doesn't have.  Can someone explain why?


Hi Dave,

I guess you mean the complexity of MuMaMo, which is a part of nXhtml?
nXhtml contains much more.

I you have asked some years ago about the indirect buffer thing I
could have answered it quickly, but I have forgotten all details about
why I abondoned that approach. (It was the first approach I tried.) I
am not sure whether to use indirect buffers for just fontification is
useful. It does create problems for other elisp code since they might
be interested in the actual buffer used. Please notice that some minor
modes for example work for a whole buffer and some just within a major
mode. So some buffer local variables should be preserved across chunks
while others should not. (That problem is quite hard to solve with the
current limitations of Emacs though. I have made some suggestions (in
private messages) for how to solve it but they require low level
changes in Emacs and it is quite hard to figure out exactly what is
needed.)


I really think some simplifications can be made to mumamo.el, but
maybe not as much as one might expect without looking closer at the
problems it tries to solve. Some of the complexity comes from my bad
understanding of complex parts of Emacs from the beginning so there
are some left-over code. It should of course be removed later. The
code in mumamo.el is not always pretty and should be simplified in
many cases. It is however hard to do since complicated cases easily
breaks. I have tried to write some unit tests to simplify the
rewriting work.

On the other hand most of the complexity comes from the problems that
mumamo.el tries to solve. Caching of chunk information and state
information is for example essential. You have a comment in
multi-mode.el that it would be hard to implement chunks in chunks if
chunk information was cached. It is rather the opposite since you have
to search the file from the beginning to get chunks right and that is
especially important for chunks in chunks. I did not realize the full
impact of this from the beginning and I have had to rewrite much of
the chunk dividing code because of this. (And there is still
unnecessary complexity from my rather worthless attempts trying to
make chunk dividing stable without always finding them from the start
of the file.)


Looking at the bug database in Launchpad for nXhtml (and also the old
bugs stored on EmacsWiki) will perhaps make it more clear what the
complexity in mumamo.el is about.

I have tried to avoid discussing the complexities with multi major
modes on Emacs devel since it would take too much time and space. I
have tried to do that in some private messages instead. If you are
interested I could send you some of my suggestions.


I would very much prefer merging different approaches to multi major
modes. It is actually very complex (though on the surface it does not
seem so). Having several approaches will waste a lot of time. On the
other hand forgetting good ideas will also do that. Suggestions for
simplifications of mumamo.el are very welcome.



> Doing this sort of thing properly really needs support from Emacs, which
> was originally meant to be added as necessary.


Yes, but it is hard to find out what support is needed without
actually trying to solve the problems first.




^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple Major Modes
  2009-11-01 21:24 ` Dave Love
  2009-11-02 12:32   ` Lennart Borgman
@ 2009-11-02 14:01   ` Richard Riley
  2009-11-02 14:22     ` Lennart Borgman
  2009-11-02 15:11     ` Richard Riley
  1 sibling, 2 replies; 56+ messages in thread
From: Richard Riley @ 2009-11-02 14:01 UTC (permalink / raw)
  To: help-gnu-emacs

Dave Love <fx@domain.invalid> writes:

> Nordlöw <per.nordlow@gmail.com> writes:
>
>> Does anyone though of an extension the enables a major-mode to exist
>> only within a part of buffer along with another major-mode. Part is
>> preferrably delimited by some magic strings.
>
> I think you want more flexibility for delimiting mode chunks in general.
>
> <URL:http://www.loveshack.ukfsn.org/emacs/multi-mode.el> implements
> roughly what we intended by the Emacs TODO item on the topic many years
> ago (if it's still there).
>
> I'm rather baffled by this nxhtml thing referred to, and its complexity.
> It claims to be trying to solve a problem that the indirect buffer
> approach doesn't have.  Can someone explain why?
>
> Doing this sort of thing properly really needs support from Emacs, which
> was originally meant to be added as necessary.
>

I just tried multi-mode. Very fast and clean. Can it also fontify in the
php sections or am I missing something?

,----
| (require 'html-php)
| (add-to-list 'auto-mode-alist '("\\.php\\'" . html-php-mode)) 
-- 





^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple Major Modes
  2009-11-02 14:01   ` Richard Riley
@ 2009-11-02 14:22     ` Lennart Borgman
  2009-11-02 14:28       ` Richard Riley
  2009-11-02 15:11     ` Richard Riley
  1 sibling, 1 reply; 56+ messages in thread
From: Lennart Borgman @ 2009-11-02 14:22 UTC (permalink / raw)
  To: Richard Riley; +Cc: help-gnu-emacs

On Mon, Nov 2, 2009 at 3:01 PM, Richard Riley <rileyrgdev@gmail.com> wrote:
> Dave Love <fx@domain.invalid> writes:
>
>> Nordlöw <per.nordlow@gmail.com> writes:
>>
>>> Does anyone though of an extension the enables a major-mode to exist
>>> only within a part of buffer along with another major-mode. Part is
>>> preferrably delimited by some magic strings.
>>
>> I think you want more flexibility for delimiting mode chunks in general.
>>
>> <URL:http://www.loveshack.ukfsn.org/emacs/multi-mode.el> implements
>> roughly what we intended by the Emacs TODO item on the topic many years
>> ago (if it's still there).
>>
>> I'm rather baffled by this nxhtml thing referred to, and its complexity.
>> It claims to be trying to solve a problem that the indirect buffer
>> approach doesn't have.  Can someone explain why?
>>
>> Doing this sort of thing properly really needs support from Emacs, which
>> was originally meant to be added as necessary.
>>
>
> I just tried multi-mode. Very fast and clean. Can it also fontify in the
> php sections or am I missing something?


Yes, it does. (It is just a bug at startup of it, press some key.)




^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple Major Modes
  2009-11-02 14:22     ` Lennart Borgman
@ 2009-11-02 14:28       ` Richard Riley
  2009-11-02 14:44         ` Richard Riley
  0 siblings, 1 reply; 56+ messages in thread
From: Richard Riley @ 2009-11-02 14:28 UTC (permalink / raw)
  To: help-gnu-emacs

Lennart Borgman <lennart.borgman@gmail.com> writes:

> On Mon, Nov 2, 2009 at 3:01 PM, Richard Riley <rileyrgdev@gmail.com> wrote:
>> Dave Love <fx@domain.invalid> writes:
>>
>>> Nordlöw <per.nordlow@gmail.com> writes:
>>>
>>>> Does anyone though of an extension the enables a major-mode to exist
>>>> only within a part of buffer along with another major-mode. Part is
>>>> preferrably delimited by some magic strings.
>>>
>>> I think you want more flexibility for delimiting mode chunks in general.
>>>
>>> <URL:http://www.loveshack.ukfsn.org/emacs/multi-mode.el> implements
>>> roughly what we intended by the Emacs TODO item on the topic many years
>>> ago (if it's still there).
>>>
>>> I'm rather baffled by this nxhtml thing referred to, and its complexity.
>>> It claims to be trying to solve a problem that the indirect buffer
>>> approach doesn't have.  Can someone explain why?
>>>
>>> Doing this sort of thing properly really needs support from Emacs, which
>>> was originally meant to be added as necessary.
>>>
>>
>> I just tried multi-mode. Very fast and clean. Can it also fontify in the
>> php sections or am I missing something?
>
> Yes, it does. (It is just a bug at startup of it, press some key.)
>

Yes, it also depends if the first line of the php is on the same line as the
<?php tag or not.

flyspell is causing me some grief with it too and am trying to narrow
down why.

 





^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple Major Modes
  2009-11-02 14:28       ` Richard Riley
@ 2009-11-02 14:44         ` Richard Riley
  0 siblings, 0 replies; 56+ messages in thread
From: Richard Riley @ 2009-11-02 14:44 UTC (permalink / raw)
  To: help-gnu-emacs

Richard Riley <rileyrgdev@gmail.com> writes:

> Lennart Borgman <lennart.borgman@gmail.com> writes:
>
>> On Mon, Nov 2, 2009 at 3:01 PM, Richard Riley <rileyrgdev@gmail.com> wrote:
>>> Dave Love <fx@domain.invalid> writes:
>>>
>>>> Nordlöw <per.nordlow@gmail.com> writes:
>>>>
>>>>> Does anyone though of an extension the enables a major-mode to exist
>>>>> only within a part of buffer along with another major-mode. Part is
>>>>> preferrably delimited by some magic strings.
>>>>
>>>> I think you want more flexibility for delimiting mode chunks in general.
>>>>
>>>> <URL:http://www.loveshack.ukfsn.org/emacs/multi-mode.el> implements
>>>> roughly what we intended by the Emacs TODO item on the topic many years
>>>> ago (if it's still there).
>>>>
>>>> I'm rather baffled by this nxhtml thing referred to, and its complexity.
>>>> It claims to be trying to solve a problem that the indirect buffer
>>>> approach doesn't have.  Can someone explain why?
>>>>
>>>> Doing this sort of thing properly really needs support from Emacs, which
>>>> was originally meant to be added as necessary.
>>>>
>>>
>>> I just tried multi-mode. Very fast and clean. Can it also fontify in the
>>> php sections or am I missing something?
>>
>> Yes, it does. (It is just a bug at startup of it, press some key.)
>>
>
> Yes, it also depends if the first line of the php is on the same line as the
> <?php tag or not.
>
> flyspell is causing me some grief with it too and am trying to narrow
> down why.
>

With regards to the fontification (and multi-mode) in general it doesn't
work too well in conjunction with saveplace.el : if the cursor is
located inside a php block when you open the file then moving outside of
the block does not trigger xhtml mode again.

 





^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple Major Modes
  2009-11-02 14:01   ` Richard Riley
  2009-11-02 14:22     ` Lennart Borgman
@ 2009-11-02 15:11     ` Richard Riley
  1 sibling, 0 replies; 56+ messages in thread
From: Richard Riley @ 2009-11-02 15:11 UTC (permalink / raw)
  To: help-gnu-emacs

Richard Riley <rileyrgdev@gmail.com> writes:

> Dave Love <fx@domain.invalid> writes:
>
>> Nordlöw <per.nordlow@gmail.com> writes:
>>
>>> Does anyone though of an extension the enables a major-mode to exist
>>> only within a part of buffer along with another major-mode. Part is
>>> preferrably delimited by some magic strings.
>>
>> I think you want more flexibility for delimiting mode chunks in general.
>>
>> <URL:http://www.loveshack.ukfsn.org/emacs/multi-mode.el> implements
>> roughly what we intended by the Emacs TODO item on the topic many years
>> ago (if it's still there).
>>
>> I'm rather baffled by this nxhtml thing referred to, and its complexity.
>> It claims to be trying to solve a problem that the indirect buffer
>> approach doesn't have.  Can someone explain why?
>>
>> Doing this sort of thing properly really needs support from Emacs, which
>> was originally meant to be added as necessary.
>>
>
> I just tried multi-mode. Very fast and clean. Can it also fontify in the
> php sections or am I missing something?
>
> ,----
> | (require 'html-php)
> | (add-to-list 'auto-mode-alist '("\\.php\\'" . html-php-mode)) 

What php-mode is recommended for use with multi-mode?

The one I had adds php-mode to the front of the auto-mode-alist for
pho'like extensions meaning all subsequent php file opens put them into
php-mode and not html-php-mode.






^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple Major Modes
       [not found]       ` <mailman.9873.1257117309.2239.help-gnu-emacs@gnu.org>
@ 2009-12-11  6:19         ` Joseph Brenner
  2009-12-11 17:08           ` Lennart Borgman
  0 siblings, 1 reply; 56+ messages in thread
From: Joseph Brenner @ 2009-12-11  6:19 UTC (permalink / raw)
  To: help-gnu-emacs


Lennart Borgman <lennart.borgman@gmail.com> writes:

> Joseph Brenner <doom@kzsu.stanford.edu> wrote:

>> I don't know anything about mumamo: mmm-mode works well enough that I've
>> never seen any need to try any of the other ways.

Actually, mmm-mode seems to have a lot of problems with cvs emacs
these days.  I was asking Alan Shutko about it, and he offered to
make me the maintainer... I can't see taking on the job myself just
now though (I know nothing about "overlays" except what it says in
the elisp reference manual).

> Thanks for the answer Joseph. I just added some support for Mason
> files to mumamo. It is not perfect (surprise! and there is an
> indentation bug currently - those are very resistent to treatment),

[...]

> When you are in a Mason file turn do
>
>   M-x mason-html-mumamo-mode

I've tried this, and I'm seeing syntax coloring in the HTML sections, but
none in the perl sections.  Is that about what you expected?

> to test it. (BTW, what file extensions do Mason files normally have?)

The currently recommended Mason file extensions are *.mhtml for internal
components, and *.html for external ones:

  http://www.masonhq.com/?FAQ:ServerConfiguration#h-what_filename_extensions_should_i_use_for_mason_components_

That means, of course that the file extension alone gives you no way to
distinguish between a plain html file and a top-level Mason file.

Also there are other, older conventions: I've seen *.mc and *.mas in use
(*.mas was used in the O'Reilly book on Mason).


^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple Major Modes
  2009-12-11  6:19         ` Joseph Brenner
@ 2009-12-11 17:08           ` Lennart Borgman
  2009-12-11 21:57             ` Joe Brenner
  0 siblings, 1 reply; 56+ messages in thread
From: Lennart Borgman @ 2009-12-11 17:08 UTC (permalink / raw)
  To: Joseph Brenner; +Cc: help-gnu-emacs

On Fri, Dec 11, 2009 at 7:19 AM, Joseph Brenner <doom@kzsu.stanford.edu> wrote:
>
> Lennart Borgman <lennart.borgman@gmail.com> writes:
>
>> Thanks for the answer Joseph. I just added some support for Mason
>> files to mumamo. It is not perfect (surprise! and there is an
>> indentation bug currently - those are very resistent to treatment),
>
> [...]
>
>> When you are in a Mason file turn do
>>
>>   M-x mason-html-mumamo-mode
>
> I've tried this, and I'm seeing syntax coloring in the HTML sections, but
> none in the perl sections.  Is that about what you expected?


I always expect some unexpected problems ... ;-)

But, no, it should of course do syntax coloring etc in the perl
sections too. Maybe I have misunderstood something. Can you give me an
example, please?


>> to test it. (BTW, what file extensions do Mason files normally have?)
>
> The currently recommended Mason file extensions are *.mhtml for internal
> components, and *.html for external ones:
>
>  http://www.masonhq.com/?FAQ:ServerConfiguration#h-what_filename_extensions_should_i_use_for_mason_components_
>
> That means, of course that the file extension alone gives you no way to
> distinguish between a plain html file and a top-level Mason file.


Thanks. I am a bit surprised by the second convention.


> Also there are other, older conventions: I've seen *.mc and *.mas in use
> (*.mas was used in the O'Reilly book on Mason).




^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple Major Modes
  2009-12-11 17:08           ` Lennart Borgman
@ 2009-12-11 21:57             ` Joe Brenner
  2009-12-11 22:06               ` Lennart Borgman
  0 siblings, 1 reply; 56+ messages in thread
From: Joe Brenner @ 2009-12-11 21:57 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: help-gnu-emacs

Lennart Borgman <lennart.borgman@gmail.com> wrote:

> On Fri, Dec 11, 2009 at 7:19 AM, Joseph Brenner <doom@kzsu.stanford.edu> wrote:
> >
> > Lennart Borgman <lennart.borgman@gmail.com> writes:
> >
> >> Thanks for the answer Joseph. I just added some support for Mason
> >> files to mumamo. It is not perfect (surprise! and there is an
> >> indentation bug currently - those are very resistent to treatment),
> >
> > [...]
> >
> >> When you are in a Mason file turn do
> >>
> >>   M-x mason-html-mumamo-mode
> >
> > I've tried this, and I'm seeing syntax coloring in the HTML sections, but
> > none in the perl sections.  Is that about what you expected?
>
>
> I always expect some unexpected problems ... ;-)
>
> But, no, it should of course do syntax coloring etc in the perl
> sections too. Maybe I have misunderstood something. Can you give me an
> example, please?

I tried to reproduce it to take a screen shot, but now it's working okay
for me.  Previously I was seeing a perl section in two-tone, with just
the html areas colorized.

So this is a problem that only comes up after my emacs has been running
for awhile (some of my other mumamo experiments have been locking up
emacs, so I've had to do more fresh restarts than I normally would...).

> >> to test it. (BTW, what file extensions do Mason files normally have?)
> >
> > The currently recommended Mason file extensions are *.mhtml for internal
> > components, and *.html for external ones:
> >
> >  http://www.masonhq.com/?FAQ:ServerConfiguration#h-what_filename_extensions_should_i_use_for_mason_components_
> >
> > That means, of course that the file extension alone gives you no way to
> > distinguish between a plain html file and a top-level Mason file.
>
> Thanks. I am a bit surprised by the second convention.

The reasoning seems to be that the client is asking for html, and that's
what you're going to deliver to them... the fact that Mason is used to
generate the html is an internal detail there's no point in bothering
them with.





^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple Major Modes
  2009-12-11 21:57             ` Joe Brenner
@ 2009-12-11 22:06               ` Lennart Borgman
  2009-12-12  2:16                 ` Joe Brenner
  0 siblings, 1 reply; 56+ messages in thread
From: Lennart Borgman @ 2009-12-11 22:06 UTC (permalink / raw)
  To: Joe Brenner; +Cc: help-gnu-emacs

On Fri, Dec 11, 2009 at 10:57 PM, Joe Brenner <doom@kzsu.stanford.edu> wrote:
>> >
>> > I've tried this, and I'm seeing syntax coloring in the HTML sections, but
>> > none in the perl sections.  Is that about what you expected?
>>
>>
>> I always expect some unexpected problems ... ;-)
>>
>> But, no, it should of course do syntax coloring etc in the perl
>> sections too. Maybe I have misunderstood something. Can you give me an
>> example, please?
>
> I tried to reproduce it to take a screen shot, but now it's working okay
> for me.  Previously I was seeing a perl section in two-tone, with just
> the html areas colorized.
>
> So this is a problem that only comes up after my emacs has been running
> for awhile (some of my other mumamo experiments have been locking up
> emacs, so I've had to do more fresh restarts than I normally would...).


This can happen if some bug in mumamo is hit. Normally you can get it
working again by just calling the multi major mode again.

However when this happens I would be glad for a bug report. Those bugs
are a bit hard to find so any report may help. Please look in the
message buffer and see if there is any information and then report it
as an nXhtml bug.


>> >> to test it. (BTW, what file extensions do Mason files normally have?)
>> >
>> > The currently recommended Mason file extensions are *.mhtml for internal
>> > components, and *.html for external ones:
>> >
>> >  http://www.masonhq.com/?FAQ:ServerConfiguration#h-what_filename_extensions_should_i_use_for_mason_components_
>> >
>> > That means, of course that the file extension alone gives you no way to
>> > distinguish between a plain html file and a top-level Mason file.
>>
>> Thanks. I am a bit surprised by the second convention.
>
> The reasoning seems to be that the client is asking for html, and that's
> what you're going to deliver to them... the fact that Mason is used to
> generate the html is an internal detail there's no point in bothering
> them with.

Hm, I see. It is maybe a pretty good reason on that side. But do
clients really care about the URL "file extension"?




^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple Major Modes
  2009-12-11 22:06               ` Lennart Borgman
@ 2009-12-12  2:16                 ` Joe Brenner
  2009-12-12  2:18                   ` Lennart Borgman
  0 siblings, 1 reply; 56+ messages in thread
From: Joe Brenner @ 2009-12-12  2:16 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: help-gnu-emacs


Lennart Borgman <lennart.borgman@gmail.com> wrote:

> >> >> to test it. (BTW, what file extensions do Mason files normally have?)
> >> >
> >> > The currently recommended Mason file extensions are *.mhtml for internal
> >> > components, and *.html for external ones:
> >> >
> >> >  http://www.masonhq.com/?FAQ:ServerConfiguration#h-what_filename_extensions_should_i_use_for_mason_components_
> >> >
> >> > That means, of course that the file extension alone gives you no way to
> >> > distinguish between a plain html file and a top-level Mason file.
> >>
> >> Thanks. I am a bit surprised by the second convention.
> >
> > The reasoning seems to be that the client is asking for html, and that's
> > what you're going to deliver to them... the fact that Mason is used to
> > generate the html is an internal detail there's no point in bothering
> > them with.
>
> Hm, I see. It is maybe a pretty good reason on that side. But do
> clients really care about the URL "file extension"?

Well, I do.  If the URL ends in ".asp", I think "oh, no...".





^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple Major Modes
  2009-12-12  2:16                 ` Joe Brenner
@ 2009-12-12  2:18                   ` Lennart Borgman
  2009-12-12  2:37                     ` Joe Brenner
  0 siblings, 1 reply; 56+ messages in thread
From: Lennart Borgman @ 2009-12-12  2:18 UTC (permalink / raw)
  To: Joe Brenner; +Cc: help-gnu-emacs

On Sat, Dec 12, 2009 at 3:16 AM, Joe Brenner <doom@kzsu.stanford.edu> wrote:
>
> Lennart Borgman <lennart.borgman@gmail.com> wrote:
>
>> >> >> to test it. (BTW, what file extensions do Mason files normally have?)
>> >> >
>> >> > The currently recommended Mason file extensions are *.mhtml for internal
>> >> > components, and *.html for external ones:
>> >> >
>> >> >  http://www.masonhq.com/?FAQ:ServerConfiguration#h-what_filename_extensions_should_i_use_for_mason_components_
>> >> >
>> >> > That means, of course that the file extension alone gives you no way to
>> >> > distinguish between a plain html file and a top-level Mason file.
>> >>
>> >> Thanks. I am a bit surprised by the second convention.
>> >
>> > The reasoning seems to be that the client is asking for html, and that's
>> > what you're going to deliver to them... the fact that Mason is used to
>> > generate the html is an internal detail there's no point in bothering
>> > them with.
>>
>> Hm, I see. It is maybe a pretty good reason on that side. But do
>> clients really care about the URL "file extension"?
>
> Well, I do.  If the URL ends in ".asp", I think "oh, no...".


Oh, you are not the type of client I was thinking of... I am glad to
hear you care though ;-)

I was more thinking about web browsers.




^ permalink raw reply	[flat|nested] 56+ messages in thread

* Re: Multiple Major Modes
  2009-12-12  2:18                   ` Lennart Borgman
@ 2009-12-12  2:37                     ` Joe Brenner
  0 siblings, 0 replies; 56+ messages in thread
From: Joe Brenner @ 2009-12-12  2:37 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: help-gnu-emacs


Lennart Borgman <lennart.borgman@gmail.com> wrote:
> Joe Brenner <doom@kzsu.stanford.edu> wrote:
> > Lennart Borgman <lennart.borgman@gmail.com> wrote:

> >> >> >> to test it. (BTW, what file extensions do Mason files normally have?)
> >> >> >
> >> >> > The currently recommended Mason file extensions are *.mhtml for internal
> >> >> > components, and *.html for external ones:
> >> >> >
> >> >> >   http://www.masonhq.com/?FAQ:ServerConfiguration#h-what_filename_extensions_should_i_use_for_mason_components_
> >> >> >
> >> >> > That means, of course that the file extension alone gives you no way to
> >> >> > distinguish between a plain html file and a top-level Mason file.
> >> >>
> >> >> Thanks. I am a bit surprised by the second convention.
> >> >
> >> > The reasoning seems to be that the client is asking for html, and that's
> >> > what you're going to deliver to them... the fact that Mason is used to
> >> > generate the html is an internal detail there's no point in bothering
> >> > them with.
> >>
> >> Hm, I see. It is maybe a pretty good reason on that side. But do
> >> clients really care about the URL "file extension"?
> >
> > Well, I do.  If the URL ends in ".asp", I think "oh, no...".

> Oh, you are not the type of client I was thinking of... I am glad to
> hear you care though ;-)
>
> I was more thinking about web browsers.

No, not web browsers, exactly.  But a common use case for Mason is
re-engineering sites that were developed statically and turned out to be
maintenance nightmares.  There the published interface is URLs ending in
*.html, and changing that because you're changing the back-end wouldn't
make any sense.





^ permalink raw reply	[flat|nested] 56+ messages in thread

end of thread, other threads:[~2009-12-12  2:37 UTC | newest]

Thread overview: 56+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-10-29  9:45 Multiple Major Modes Nordlöw
2009-10-29 13:40 ` Pascal J. Bourguignon
2009-10-29 20:04 ` Joost Kremers
2009-10-29 22:14   ` Lennart Borgman
     [not found]   ` <mailman.9707.1256854525.2239.help-gnu-emacs@gnu.org>
2009-10-29 23:03     ` Pascal J. Bourguignon
2009-10-29 23:49       ` Lennart Borgman
     [not found]       ` <mailman.9710.1256860199.2239.help-gnu-emacs@gnu.org>
2009-10-30  0:52         ` Pascal J. Bourguignon
2009-10-30  3:28     ` Joseph Brenner
2009-11-01 23:14       ` Lennart Borgman
     [not found]       ` <mailman.9873.1257117309.2239.help-gnu-emacs@gnu.org>
2009-12-11  6:19         ` Joseph Brenner
2009-12-11 17:08           ` Lennart Borgman
2009-12-11 21:57             ` Joe Brenner
2009-12-11 22:06               ` Lennart Borgman
2009-12-12  2:16                 ` Joe Brenner
2009-12-12  2:18                   ` Lennart Borgman
2009-12-12  2:37                     ` Joe Brenner
2009-11-01 21:24 ` Dave Love
2009-11-02 12:32   ` Lennart Borgman
2009-11-02 14:01   ` Richard Riley
2009-11-02 14:22     ` Lennart Borgman
2009-11-02 14:28       ` Richard Riley
2009-11-02 14:44         ` Richard Riley
2009-11-02 15:11     ` Richard Riley
  -- strict thread matches above, loose matches on Subject: below --
2008-06-10 21:26 Nordlöw
2008-06-10 21:47 ` Lennart Borgman (gmail)
2008-06-11  5:42 ` William Xu
2007-06-11 23:27 Should nXML be included Leo
2007-06-12 10:50 ` Lennart Borgman (gmail)
2007-06-12 11:21   ` Jason Rumney
2007-06-12 12:57     ` Lennart Borgman (gmail)
2007-06-12 14:20       ` Jason Rumney
2007-06-12 15:06         ` Multiple major modes (was: Should nXML be included) Stefan Monnier
2007-06-12 15:15           ` Multiple major modes Leo
2007-06-12 18:48           ` Lennart Borgman (gmail)
2007-06-12 20:14             ` Re[2]: " Eric M. Ludlam
2007-06-12 21:04               ` Lennart Borgman (gmail)
2007-06-12 23:10                 ` Stefan Monnier
2007-06-13 16:22                   ` Richard Stallman
2007-06-13 16:22               ` Richard Stallman
2007-06-19  2:09                 ` Re[2]: " Eric M. Ludlam
2007-06-24 14:41                   ` Richard Stallman
2007-06-25 14:04                     ` Re[2]: " Eric M. Ludlam
2007-07-01 20:40                       ` Richard Stallman
2007-07-05  2:29                         ` Re[2]: " Eric M. Ludlam
2007-07-05 20:34                           ` Richard Stallman
2007-07-01 20:40                       ` Richard Stallman
2007-07-04 16:35                         ` T. V. Raman
2007-07-04 17:01                           ` David Kastrup
2007-07-05  1:31                           ` Richard Stallman
2007-07-05 14:49                             ` Stefan Monnier
2007-07-06  4:38                               ` Richard Stallman
2007-07-06  6:01                                 ` Stephen J. Turnbull
2007-07-07 13:07                                   ` Richard Stallman
2007-07-07 14:13                                     ` Lennart Borgman (gmail)
2007-07-08 16:56                                       ` Richard Stallman
2007-07-07 17:43                                     ` Stephen J. Turnbull
2007-07-06 16:00                                 ` Stefan Monnier
2007-07-06 16:10                                   ` Drew Adams
2007-07-07 13:06                                     ` Richard Stallman
2007-07-07 17:21                                       ` Stephen J. Turnbull
2007-07-08 16:55                                         ` Richard Stallman
2007-07-09  5:29                                           ` Stephen J. Turnbull
2007-07-09 17:21                                             ` Richard Stallman
2007-07-07  0:48                             ` Johan Bockgård
2007-07-05  1:44                         ` Re[2]: " Eric M. Ludlam
2007-07-08 22:23                           ` Richard Stallman
2007-07-09  0:49                             ` Re[2]: " Eric M. Ludlam
2007-07-09 17:21                               ` Richard Stallman

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.