Subject: 23.1; please define push-tag-mark in etags.el

From: Richard Kim <[email-masked]>
Date: Mon, 01 Mar 2010 11:27:05 -0800

GNU/Emacs defines pop-tag-mark command to go along with find-tag
command for traversing back in cursor movement history.  However
GNU/Emacs does not define matching push-tag-mark command.  I would
like to request that something like the following be added to etags.el

  (defun push-tag-mark ()
    "Push the current position to the ring of markers so that
    \\[pop-tag-mark] can be used to come back to current position."
    (interactive)
    (ring-insert find-tag-marker-ring (point-marker)))

I make this request for the following reasons:

- This is a useful command by itself which I use often

- This would be useful for use by tools other than etags, e.g.,
  forthcoming cedet tool or even for existing tools, e.g.,

    (defadvice imenu
      (before use-etags-stack activate compile)
      "Push point onto stack used by etags so that \\[pop-tag-mark] can be used."
      (push-tag-mark))

    (defadvice cscope-call
      (before use-etags-stack activate compile)
      "Push point onto stack used by etags so that \\[pop-tag-mark] can be used."
      (push-tag-mark))

- Since xemacs defines push-tag-mark already, it makes it easier for
  tool developers, so that we don't have to add code such as the
  following in our own packages:

  (unless (fboundp 'push-tag-mark)
    (defun push-tag-mark ()
      (interactive)
      (ring-insert find-tag-marker-ring (point-marker))))

Thanks.