Subject: 24.0.50; Add vc-git-stash to keymap
From: Jambunathan K <[email-masked]>
To: [email-masked]
Date: Mon, 19 Sep 2011 03:20:25 +0530
List-Id: <debbugs-submit.debbugs.gnu.org>

Please add vc-git-stash to keymap[1]. I suggest the following binding

S     => vc-git-stash
C-u S => vc-git-stash-snapshot

1. I am not sure why the stash command keys are capitalized. Pressing
   SHIFT seems a needless overhead to me. IMHO, they should all be
   lowercased.

2. I need a way to create a stash or a snapshot when there are ZERO
   snapshots. This is currently not possible. May be the "Stash : "
   header line[2] could be decorated with the needed keymap decorations.

   My 2 cents follows: Speaking of keymaps, the stash operations seem to
   be orthogonal to regular vc-dir operations. Elsewhere there were
   discussions about applying a series of stashes to work area -
   implying some a potential need for marking and reordering stash
   lines. What this essentially means is that stash operations are
   "global"/"set" operations in a *vc-dir* and accordingly they deserve
   a prefix of their own (in addition to the current "local,
   this-stash-only" keymap bindings.)

In GNU Emacs 24.0.50.1 (i386-mingw-nt5.1.2600)
 of 2011-09-06 on 3249CTO
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (4.5) --no-opt'

Footnotes: 
[1]  

,----[ C-h v vc-git-stash-map RET ]
| vc-git-stash-map is a variable defined in `vc-git.el'.
| Its value is shown below.
| 
|   This variable is potentially risky when used as a file local variable.
| 
| Documentation:
| Not documented as a variable.
| 
| Value: (keymap
|  (83 . vc-git-stash-snapshot)
|  (80 . vc-git-stash-pop-at-point)
|  (65 . vc-git-stash-apply-at-point)
|  (13 . vc-git-stash-show-at-point)
|  (61 . vc-git-stash-show-at-point)
|  (11 . vc-git-stash-delete-at-point)
|  (down-mouse-3 . vc-git-stash-menu)
|  (mouse-2 . ignore))
| 
| [back]
`----

[2]  

#+begin_src emacs-lisp [around line 540 vc-git.el]
	(propertize "Stash      :\n" 'face 'font-lock-type-face
		    'help-echo stash-help-echo)
#+end_src

#+begin_src emacs-lisp [around line 550 vc-git.el]
       (concat
	(propertize "Stash      : " 'face 'font-lock-type-face
		    'help-echo stash-help-echo)
	(propertize "Nothing stashed"
		    'help-echo stash-help-echo
		    'face 'font-lock-variable-name-face))
#+end_src