unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* mode-line under vc
@ 2007-07-16 23:49 Nick Roberts
  2007-07-17  2:28 ` Dan Nicolaescu
  2007-07-17  8:11 ` David Kastrup
  0 siblings, 2 replies; 7+ messages in thread
From: Nick Roberts @ 2007-07-16 23:49 UTC (permalink / raw)
  To: emacs-devel


I generally like the changes to the mode-line for files under version control
but have a few suggestions:

1) "Edited file" sounds a bit ambiguous to me, like maybe I haven't saved my
   changes. "Locally Modified" is what CVS uses with "cvs status", and this
   seems clearer to me.

2) Do we really need to explain that "CVS" in the mode-line means
  "under the CVS version control system" in the help-echo?  It's kind of
  long and seems a bit repetitive, unlike explaining the difference between
  ":" and "-" which _is_ obscure.

3) Its not clear what VC is in "mouse-1: VC Menu".  Replacing it with
 "mouse-1: version control" would be self-explanatory and help compensate for
  the proposed change in 2).

With these changes I also think the help-echo would fit well on one line.

-- 
Nick                                           http://www.inet.net.nz/~nickrob

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

* Re: mode-line under vc
  2007-07-16 23:49 mode-line under vc Nick Roberts
@ 2007-07-17  2:28 ` Dan Nicolaescu
  2007-07-17  4:11   ` Nick Roberts
  2007-07-17  8:11 ` David Kastrup
  1 sibling, 1 reply; 7+ messages in thread
From: Dan Nicolaescu @ 2007-07-17  2:28 UTC (permalink / raw)
  To: Nick Roberts; +Cc: emacs-devel

Nick Roberts <nickrob@snap.net.nz> writes:

  > I generally like the changes to the mode-line for files under version control
  > but have a few suggestions:

Feel free to make changes in CVS. 

  > 1) "Edited file" sounds a bit ambiguous to me, like maybe I haven't saved my
  >    changes. "Locally Modified" is what CVS uses with "cvs status", and this
  >    seems clearer to me.

Good idea.

  > 2) Do we really need to explain that "CVS" in the mode-line means
  >   "under the CVS version control system" in the help-echo?  It's kind of
  >   long and seems a bit repetitive, unlike explaining the difference between
  >   ":" and "-" which _is_ obscure.

The reason I added it is that it can happen that people are not
familiar with some of the (now many) version control systems... Inside
a company different projects can use different version control
systems. It would be nice if we had the "pretty" name available: 
SVN is actually Subversion
HG is Mercurial
(bzr is Bazaar?)

  > 3) Its not clear what VC is in "mouse-1: VC Menu".  Replacing it with
  >  "mouse-1: version control" would be self-explanatory and help compensate for
  >   the proposed change in 2).

IMO the "menu" should appear there, to make it very obvious what you
get, if you use mouse-1

  > With these changes I also think the help-echo would fit well on one line.
  > 
  > -- 
  > Nick                                           http://www.inet.net.nz/~nickrob

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

* Re: mode-line under vc
  2007-07-17  2:28 ` Dan Nicolaescu
@ 2007-07-17  4:11   ` Nick Roberts
  2007-07-17  4:49     ` Stefan Monnier
  2007-07-17  6:09     ` Dan Nicolaescu
  0 siblings, 2 replies; 7+ messages in thread
From: Nick Roberts @ 2007-07-17  4:11 UTC (permalink / raw)
  To: Dan Nicolaescu; +Cc: emacs-devel

>  > 2) Do we really need to explain that "CVS" in the mode-line means
>  >   "under the CVS version control system" in the help-echo?  It's kind of
>  >   long and seems a bit repetitive, unlike explaining the difference between
>  >   ":" and "-" which _is_ obscure.

> The reason I added it is that it can happen that people are not
> familiar with some of the (now many) version control systems... Inside
> a company different projects can use different version control
> systems. It would be nice if we had the "pretty" name available: 
> SVN is actually Subversion
> HG is Mercurial
> (bzr is Bazaar?)

If the user has previously checked these files out, he is likely to know about
the version control system in question.  If he doesn't know what SVN stands
for, then Subversion may not mean much either.  I think that tooltips should
just provide hints, not documentation.  If absolutely necessary the user can
Google for more information.

 >   > 3) Its not clear what VC is in "mouse-1: VC Menu".  Replacing it with
 >   >  "mouse-1: version control" would be self-explanatory and help
 >   >  compensate for the proposed change in 2).
 > 
 > IMO the "menu" should appear there, to make it very obvious what you
 > get, if you use mouse-1

When the mouse is over the mode-name clicking mouse-1 pops up a menu, yet the
tooltip just says "mouse-1: major mode".

In any case this binding (VC Menu) doesn't work if the window isn't already
selected. You need to do something like mouse-major-mode-menu:

(defun mouse-major-mode-menu (event &optional prefix)
  "Pop up a mode-specific menu of mouse commands.
Default to the Edit menu if the major mode doesn't define a menu."
  ;; Switch to the window clicked on, because otherwise
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ;; the mode's commands may not make sense.

-- 
Nick                                           http://www.inet.net.nz/~nickrob

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

* Re: mode-line under vc
  2007-07-17  4:11   ` Nick Roberts
@ 2007-07-17  4:49     ` Stefan Monnier
  2007-07-17  5:06       ` Nick Roberts
  2007-07-17  6:09     ` Dan Nicolaescu
  1 sibling, 1 reply; 7+ messages in thread
From: Stefan Monnier @ 2007-07-17  4:49 UTC (permalink / raw)
  To: Nick Roberts; +Cc: Dan Nicolaescu, emacs-devel

> In any case this binding (VC Menu) doesn't work if the window isn't already
> selected. You need to do something like mouse-major-mode-menu:

> (defun mouse-major-mode-menu (event &optional prefix)
>   "Pop up a mode-specific menu of mouse commands.
> Default to the Edit menu if the major mode doesn't define a menu."
>   ;; Switch to the window clicked on, because otherwise
>      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   ;; the mode's commands may not make sense.

Are you sure it's needed?  It'd sound like a bug in keyboard.c (or somesuch)
if it is.


        Stefan


PS: Yes, it may be needed if the menu is popped manually via a defun as is
done for mouse-major-mode-menu, but for menus that are popped directly by
the keymap-traversal code it seems like a bug.

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

* Re: mode-line under vc
  2007-07-17  4:49     ` Stefan Monnier
@ 2007-07-17  5:06       ` Nick Roberts
  0 siblings, 0 replies; 7+ messages in thread
From: Nick Roberts @ 2007-07-17  5:06 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Dan Nicolaescu, emacs-devel

 > > In any case this binding (VC Menu) doesn't work if the window isn't already
 > > selected. You need to do something like mouse-major-mode-menu:
 > 
 > > (defun mouse-major-mode-menu (event &optional prefix)
 > >   "Pop up a mode-specific menu of mouse commands.
 > > Default to the Edit menu if the major mode doesn't define a menu."
 > >   ;; Switch to the window clicked on, because otherwise
 > >      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 > >   ;; the mode's commands may not make sense.
 > 
 > Are you sure it's needed?  It'd sound like a bug in keyboard.c (or somesuch)
 > if it is.

If you enable debugger on error, put a file under version control in a sole
buffer, do C-x C-b, click mouse-1 in the Buffer List buffer to select it, then
click mouse-1 the on the versrion control string in the mode-line and select
"Show Other Version" you get:

Debugger entered--Lisp error: (error "Buffer *Buffer List* is not associated with a file")
  signal(error ("Buffer *Buffer List* is not associated with a file"))
  error("Buffer %s is not associated with a file" "*Buffer List*")

So it doesn't work, whereas doing something similar on mode-name does work.

Therefore a change is needed, although it might be different to the one I
suggested.

-- 
Nick                                           http://www.inet.net.nz/~nickrob

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

* Re: mode-line under vc
  2007-07-17  4:11   ` Nick Roberts
  2007-07-17  4:49     ` Stefan Monnier
@ 2007-07-17  6:09     ` Dan Nicolaescu
  1 sibling, 0 replies; 7+ messages in thread
From: Dan Nicolaescu @ 2007-07-17  6:09 UTC (permalink / raw)
  To: Nick Roberts; +Cc: emacs-devel

Nick Roberts <nickrob@snap.net.nz> writes:

  > >  > 2) Do we really need to explain that "CVS" in the mode-line means
  > >  >   "under the CVS version control system" in the help-echo?  It's kind of
  > >  >   long and seems a bit repetitive, unlike explaining the difference between
  > >  >   ":" and "-" which _is_ obscure.
  > 
  > > The reason I added it is that it can happen that people are not
  > > familiar with some of the (now many) version control systems... Inside
  > > a company different projects can use different version control
  > > systems. It would be nice if we had the "pretty" name available: 
  > > SVN is actually Subversion
  > > HG is Mercurial
  > > (bzr is Bazaar?)
  > 
  > If the user has previously checked these files out, he is likely to know about
  > the version control system in question.  

That's not always the case, the code can just be in a shared place in
the file system.

  > If he doesn't know what SVN stands
  > for, then Subversion may not mean much either.  I think that tooltips should
  > just provide hints, not documentation.  If absolutely necessary the user can
  > Google for more information.

I believe that we should try to reduce the amount of googling
necessary, we should give as much information as possible in a concise
form. I'm inclined to believe that this qualifies, but if you feel
strongly about it, just make the change. 


  >  >   > 3) Its not clear what VC is in "mouse-1: VC Menu".  Replacing it with
  >  >   >  "mouse-1: version control" would be self-explanatory and help
  >  >   >  compensate for the proposed change in 2).
  >  > 
  >  > IMO the "menu" should appear there, to make it very obvious what you
  >  > get, if you use mouse-1
  > 
  > When the mouse is over the mode-name clicking mouse-1 pops up a menu, yet the
  > tooltip just says "mouse-1: major mode".

And IMHO that is confusing, it would be better to say "major mode menu".

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

* Re: mode-line under vc
  2007-07-16 23:49 mode-line under vc Nick Roberts
  2007-07-17  2:28 ` Dan Nicolaescu
@ 2007-07-17  8:11 ` David Kastrup
  1 sibling, 0 replies; 7+ messages in thread
From: David Kastrup @ 2007-07-17  8:11 UTC (permalink / raw)
  To: Nick Roberts; +Cc: emacs-devel

Nick Roberts <nickrob@snap.net.nz> writes:

> I generally like the changes to the mode-line for files under version control
> but have a few suggestions:
>
> 1) "Edited file" sounds a bit ambiguous to me, like maybe I haven't saved my
>    changes. "Locally Modified" is what CVS uses with "cvs status", and this
>    seems clearer to me.
>
> 2) Do we really need to explain that "CVS" in the mode-line means
>   "under the CVS version control system" in the help-echo?  It's kind of
>   long and seems a bit repetitive, unlike explaining the difference between
>   ":" and "-" which _is_ obscure.

Hey, actually I would want to add "+" to it as well.  The reason is
that I would like the workflow of pcl-cvs (and its ilk) without the
interface.

Let's face it: the normal use case for version control nowadays is to
check in _changesets_, not single-file changes.  So I want to be able
to _stage_ a file (instead of checking it in), with changelog
composition being only on demand.  And then check in all staged files
with a single command (and also have the C-x v = command or a variant,
maybe C-x V =, looking at all staged files).  git actually makes
staging an explicit process reflected in the file system (the file
gets added to the "index") which means that there is, in theory, even
a fourth state "/": namely a saved file with a different version
staged.  Maybe one should use two letters here: "-" for nothing
pending, ":-" for unstaged modifications, ":" for staged
modifications, "::" for modifications not corresponding to the staged
modifications, "-:" staged modifications but a reverted file.  Whether
or not one should provide interfaces for getting into all those
situations is a different question.

vc has the concept of "snapshots" and "dired under vc".  I think one
should possibly extend on that.  Nowadays, it is pretty much
indispensible to work with PCL-whatever for much work.  Being able to
fold this into the vc framework would help people to support the
exploding plethora of version control systems.

-- 
David Kastrup

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

end of thread, other threads:[~2007-07-17  8:11 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-16 23:49 mode-line under vc Nick Roberts
2007-07-17  2:28 ` Dan Nicolaescu
2007-07-17  4:11   ` Nick Roberts
2007-07-17  4:49     ` Stefan Monnier
2007-07-17  5:06       ` Nick Roberts
2007-07-17  6:09     ` Dan Nicolaescu
2007-07-17  8:11 ` David Kastrup

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).