How do I view the mark ring?












3















Is there a command to view the entries in the mark ring, similar to listing buffers with C-x C-b or viewing the kill ring with the function browse-kill-ring or viewing the jump list (in info mode) with L?



It doesn't need to be bound to a key -- I don't even know of (and cannot find) any function that does this.










share|improve this question







New contributor




extremeaxe5 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

























    3















    Is there a command to view the entries in the mark ring, similar to listing buffers with C-x C-b or viewing the kill ring with the function browse-kill-ring or viewing the jump list (in info mode) with L?



    It doesn't need to be bound to a key -- I don't even know of (and cannot find) any function that does this.










    share|improve this question







    New contributor




    extremeaxe5 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.























      3












      3








      3








      Is there a command to view the entries in the mark ring, similar to listing buffers with C-x C-b or viewing the kill ring with the function browse-kill-ring or viewing the jump list (in info mode) with L?



      It doesn't need to be bound to a key -- I don't even know of (and cannot find) any function that does this.










      share|improve this question







      New contributor




      extremeaxe5 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      Is there a command to view the entries in the mark ring, similar to listing buffers with C-x C-b or viewing the kill ring with the function browse-kill-ring or viewing the jump list (in info mode) with L?



      It doesn't need to be bound to a key -- I don't even know of (and cannot find) any function that does this.







      mark-ring






      share|improve this question







      New contributor




      extremeaxe5 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question







      New contributor




      extremeaxe5 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question






      New contributor




      extremeaxe5 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 8 hours ago









      extremeaxe5extremeaxe5

      1362




      1362




      New contributor




      extremeaxe5 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      extremeaxe5 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      extremeaxe5 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          3 Answers
          3






          active

          oldest

          votes


















          2














          A ring is an elisp data structure. It can be created by make-ring function and assigned to any variable.




          Each buffer remembers previous locations of the mark, in the “mark
          ring”.




          That “mark ring” is an elisp variable mark-ring that is a buffer local variable(each buffer has its own value of that variable). mark-ring is declared in emacs/26.1/lisp/simple.el, and core push/pop functions operate on this variable.

          To view value of mark-ring variable in a current buffer: C-h v mark-ring



          Other packages create/use their own rings; For example emacs/26.1/lisp/progmodes/xref.el ("crossreference)" that jumps to source code definitions uses xref--marker-ring variable to contain its marker ring:



          (defvar xref--marker-ring (make-ring xref-marker-ring-length)
          "Ring of markers to implement the marker stack.")


          ggtags uses it too.



          To view value of global-mark-ring(not local, shared by all buffers): C-h v global-mark-ring.






          share|improve this answer








          New contributor




          Alex Karbivnichiy is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.




























            2














            The helm package offer the M-x helm-all-mark-rings and M-x helm-mark-ring to interactively browse the mark-ring (the first show both global and local mark-ring when the latter show only the local one)






            share|improve this answer































              1














              If you use Icicles then you can use C-SPC to go to any marker, choosing it using completion against the text of its line.




              • With no prefix arg or a positive prefix arg C-SPC is just set-mark-command, as usual in Emacs (set the mark).


              • C-0 C-SPC (prefix arg 0) invokes command icicle-goto-any-marker, which lets you choose any marker in any buffer.


              • C-- C-SPC (negative prefix arg) invokes icicle-goto-marker, which lets you choose a marker in the current buffer.



              Each of the go-to-marker commands is a multi-command, which means you can act on any number of completion candidates, so you can navigate among the markers that match your current input in the minibuffer (with an empty minibuffer, all markers are candidates).



              C-h f icicle-goto-marker:




              icicle-goto-marker is an interactive Lisp function in
              icicles-cmd2.el.



              It is bound to menu-bar search goto icicles icicle-goto-marker.



              (icicle-goto-marker)



              Go to a marker in this buffer, choosing it by the line that includes it.



              If crosshairs.el is loaded, then the target position is highlighted.



              By default, candidates are sorted in marker order, that is, with
              respect to their buffer positions. Use C-M-, or C-, to change the
              sort order.



              During completion you can use these keys:





              • C-RET - Goto marker named by current completion candidate


              • C-down - Goto marker named by next completion candidate


              • C-up - Goto marker named by previous completion candidate


              • C-next - Goto marker named by next apropos-completion candidate


              • C-prior - Goto marker named by previous apropos-completion candidate


              • C-end - Goto marker named by next prefix-completion candidate


              • C-home - Goto marker named by previous prefix-completion candidate


              • <S-delete> - Delete marker named by current completion candidate


              When candidate action and cycling are combined (e.g. C-next), option
              icicle-act-before-cycle-flag determines which occurs first.



              With prefix C-M- instead of C-, the same keys (C-M-mouse-2,
              <C-M-f1>, C-M-down, and so on) provide help about candidates.



              Use mouse-2, RET, or S-RET to choose a candidate as the final
              destination, or C-g’ to quit. This is an Icicles command - see
              command icicle-mode.



              See also commands icicle-goto-any-marker and
              icicle-goto-global-marker.







              share|improve this answer























                Your Answer








                StackExchange.ready(function() {
                var channelOptions = {
                tags: "".split(" "),
                id: "583"
                };
                initTagRenderer("".split(" "), "".split(" "), channelOptions);

                StackExchange.using("externalEditor", function() {
                // Have to fire editor after snippets, if snippets enabled
                if (StackExchange.settings.snippets.snippetsEnabled) {
                StackExchange.using("snippets", function() {
                createEditor();
                });
                }
                else {
                createEditor();
                }
                });

                function createEditor() {
                StackExchange.prepareEditor({
                heartbeatType: 'answer',
                autoActivateHeartbeat: false,
                convertImagesToLinks: false,
                noModals: true,
                showLowRepImageUploadWarning: true,
                reputationToPostImages: null,
                bindNavPrevention: true,
                postfix: "",
                imageUploader: {
                brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
                contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
                allowUrls: true
                },
                onDemand: true,
                discardSelector: ".discard-answer"
                ,immediatelyShowMarkdownHelp:true
                });


                }
                });






                extremeaxe5 is a new contributor. Be nice, and check out our Code of Conduct.










                draft saved

                draft discarded


















                StackExchange.ready(
                function () {
                StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2femacs.stackexchange.com%2fquestions%2f47073%2fhow-do-i-view-the-mark-ring%23new-answer', 'question_page');
                }
                );

                Post as a guest















                Required, but never shown

























                3 Answers
                3






                active

                oldest

                votes








                3 Answers
                3






                active

                oldest

                votes









                active

                oldest

                votes






                active

                oldest

                votes









                2














                A ring is an elisp data structure. It can be created by make-ring function and assigned to any variable.




                Each buffer remembers previous locations of the mark, in the “mark
                ring”.




                That “mark ring” is an elisp variable mark-ring that is a buffer local variable(each buffer has its own value of that variable). mark-ring is declared in emacs/26.1/lisp/simple.el, and core push/pop functions operate on this variable.

                To view value of mark-ring variable in a current buffer: C-h v mark-ring



                Other packages create/use their own rings; For example emacs/26.1/lisp/progmodes/xref.el ("crossreference)" that jumps to source code definitions uses xref--marker-ring variable to contain its marker ring:



                (defvar xref--marker-ring (make-ring xref-marker-ring-length)
                "Ring of markers to implement the marker stack.")


                ggtags uses it too.



                To view value of global-mark-ring(not local, shared by all buffers): C-h v global-mark-ring.






                share|improve this answer








                New contributor




                Alex Karbivnichiy is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                Check out our Code of Conduct.

























                  2














                  A ring is an elisp data structure. It can be created by make-ring function and assigned to any variable.




                  Each buffer remembers previous locations of the mark, in the “mark
                  ring”.




                  That “mark ring” is an elisp variable mark-ring that is a buffer local variable(each buffer has its own value of that variable). mark-ring is declared in emacs/26.1/lisp/simple.el, and core push/pop functions operate on this variable.

                  To view value of mark-ring variable in a current buffer: C-h v mark-ring



                  Other packages create/use their own rings; For example emacs/26.1/lisp/progmodes/xref.el ("crossreference)" that jumps to source code definitions uses xref--marker-ring variable to contain its marker ring:



                  (defvar xref--marker-ring (make-ring xref-marker-ring-length)
                  "Ring of markers to implement the marker stack.")


                  ggtags uses it too.



                  To view value of global-mark-ring(not local, shared by all buffers): C-h v global-mark-ring.






                  share|improve this answer








                  New contributor




                  Alex Karbivnichiy is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.























                    2












                    2








                    2







                    A ring is an elisp data structure. It can be created by make-ring function and assigned to any variable.




                    Each buffer remembers previous locations of the mark, in the “mark
                    ring”.




                    That “mark ring” is an elisp variable mark-ring that is a buffer local variable(each buffer has its own value of that variable). mark-ring is declared in emacs/26.1/lisp/simple.el, and core push/pop functions operate on this variable.

                    To view value of mark-ring variable in a current buffer: C-h v mark-ring



                    Other packages create/use their own rings; For example emacs/26.1/lisp/progmodes/xref.el ("crossreference)" that jumps to source code definitions uses xref--marker-ring variable to contain its marker ring:



                    (defvar xref--marker-ring (make-ring xref-marker-ring-length)
                    "Ring of markers to implement the marker stack.")


                    ggtags uses it too.



                    To view value of global-mark-ring(not local, shared by all buffers): C-h v global-mark-ring.






                    share|improve this answer








                    New contributor




                    Alex Karbivnichiy is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                    Check out our Code of Conduct.










                    A ring is an elisp data structure. It can be created by make-ring function and assigned to any variable.




                    Each buffer remembers previous locations of the mark, in the “mark
                    ring”.




                    That “mark ring” is an elisp variable mark-ring that is a buffer local variable(each buffer has its own value of that variable). mark-ring is declared in emacs/26.1/lisp/simple.el, and core push/pop functions operate on this variable.

                    To view value of mark-ring variable in a current buffer: C-h v mark-ring



                    Other packages create/use their own rings; For example emacs/26.1/lisp/progmodes/xref.el ("crossreference)" that jumps to source code definitions uses xref--marker-ring variable to contain its marker ring:



                    (defvar xref--marker-ring (make-ring xref-marker-ring-length)
                    "Ring of markers to implement the marker stack.")


                    ggtags uses it too.



                    To view value of global-mark-ring(not local, shared by all buffers): C-h v global-mark-ring.







                    share|improve this answer








                    New contributor




                    Alex Karbivnichiy is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                    Check out our Code of Conduct.









                    share|improve this answer



                    share|improve this answer






                    New contributor




                    Alex Karbivnichiy is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                    Check out our Code of Conduct.









                    answered 7 hours ago









                    Alex KarbivnichiyAlex Karbivnichiy

                    1963




                    1963




                    New contributor




                    Alex Karbivnichiy is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                    Check out our Code of Conduct.





                    New contributor





                    Alex Karbivnichiy is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                    Check out our Code of Conduct.






                    Alex Karbivnichiy is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                    Check out our Code of Conduct.























                        2














                        The helm package offer the M-x helm-all-mark-rings and M-x helm-mark-ring to interactively browse the mark-ring (the first show both global and local mark-ring when the latter show only the local one)






                        share|improve this answer




























                          2














                          The helm package offer the M-x helm-all-mark-rings and M-x helm-mark-ring to interactively browse the mark-ring (the first show both global and local mark-ring when the latter show only the local one)






                          share|improve this answer


























                            2












                            2








                            2







                            The helm package offer the M-x helm-all-mark-rings and M-x helm-mark-ring to interactively browse the mark-ring (the first show both global and local mark-ring when the latter show only the local one)






                            share|improve this answer













                            The helm package offer the M-x helm-all-mark-rings and M-x helm-mark-ring to interactively browse the mark-ring (the first show both global and local mark-ring when the latter show only the local one)







                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered 7 hours ago









                            RémiRémi

                            1,266613




                            1,266613























                                1














                                If you use Icicles then you can use C-SPC to go to any marker, choosing it using completion against the text of its line.




                                • With no prefix arg or a positive prefix arg C-SPC is just set-mark-command, as usual in Emacs (set the mark).


                                • C-0 C-SPC (prefix arg 0) invokes command icicle-goto-any-marker, which lets you choose any marker in any buffer.


                                • C-- C-SPC (negative prefix arg) invokes icicle-goto-marker, which lets you choose a marker in the current buffer.



                                Each of the go-to-marker commands is a multi-command, which means you can act on any number of completion candidates, so you can navigate among the markers that match your current input in the minibuffer (with an empty minibuffer, all markers are candidates).



                                C-h f icicle-goto-marker:




                                icicle-goto-marker is an interactive Lisp function in
                                icicles-cmd2.el.



                                It is bound to menu-bar search goto icicles icicle-goto-marker.



                                (icicle-goto-marker)



                                Go to a marker in this buffer, choosing it by the line that includes it.



                                If crosshairs.el is loaded, then the target position is highlighted.



                                By default, candidates are sorted in marker order, that is, with
                                respect to their buffer positions. Use C-M-, or C-, to change the
                                sort order.



                                During completion you can use these keys:





                                • C-RET - Goto marker named by current completion candidate


                                • C-down - Goto marker named by next completion candidate


                                • C-up - Goto marker named by previous completion candidate


                                • C-next - Goto marker named by next apropos-completion candidate


                                • C-prior - Goto marker named by previous apropos-completion candidate


                                • C-end - Goto marker named by next prefix-completion candidate


                                • C-home - Goto marker named by previous prefix-completion candidate


                                • <S-delete> - Delete marker named by current completion candidate


                                When candidate action and cycling are combined (e.g. C-next), option
                                icicle-act-before-cycle-flag determines which occurs first.



                                With prefix C-M- instead of C-, the same keys (C-M-mouse-2,
                                <C-M-f1>, C-M-down, and so on) provide help about candidates.



                                Use mouse-2, RET, or S-RET to choose a candidate as the final
                                destination, or C-g’ to quit. This is an Icicles command - see
                                command icicle-mode.



                                See also commands icicle-goto-any-marker and
                                icicle-goto-global-marker.







                                share|improve this answer




























                                  1














                                  If you use Icicles then you can use C-SPC to go to any marker, choosing it using completion against the text of its line.




                                  • With no prefix arg or a positive prefix arg C-SPC is just set-mark-command, as usual in Emacs (set the mark).


                                  • C-0 C-SPC (prefix arg 0) invokes command icicle-goto-any-marker, which lets you choose any marker in any buffer.


                                  • C-- C-SPC (negative prefix arg) invokes icicle-goto-marker, which lets you choose a marker in the current buffer.



                                  Each of the go-to-marker commands is a multi-command, which means you can act on any number of completion candidates, so you can navigate among the markers that match your current input in the minibuffer (with an empty minibuffer, all markers are candidates).



                                  C-h f icicle-goto-marker:




                                  icicle-goto-marker is an interactive Lisp function in
                                  icicles-cmd2.el.



                                  It is bound to menu-bar search goto icicles icicle-goto-marker.



                                  (icicle-goto-marker)



                                  Go to a marker in this buffer, choosing it by the line that includes it.



                                  If crosshairs.el is loaded, then the target position is highlighted.



                                  By default, candidates are sorted in marker order, that is, with
                                  respect to their buffer positions. Use C-M-, or C-, to change the
                                  sort order.



                                  During completion you can use these keys:





                                  • C-RET - Goto marker named by current completion candidate


                                  • C-down - Goto marker named by next completion candidate


                                  • C-up - Goto marker named by previous completion candidate


                                  • C-next - Goto marker named by next apropos-completion candidate


                                  • C-prior - Goto marker named by previous apropos-completion candidate


                                  • C-end - Goto marker named by next prefix-completion candidate


                                  • C-home - Goto marker named by previous prefix-completion candidate


                                  • <S-delete> - Delete marker named by current completion candidate


                                  When candidate action and cycling are combined (e.g. C-next), option
                                  icicle-act-before-cycle-flag determines which occurs first.



                                  With prefix C-M- instead of C-, the same keys (C-M-mouse-2,
                                  <C-M-f1>, C-M-down, and so on) provide help about candidates.



                                  Use mouse-2, RET, or S-RET to choose a candidate as the final
                                  destination, or C-g’ to quit. This is an Icicles command - see
                                  command icicle-mode.



                                  See also commands icicle-goto-any-marker and
                                  icicle-goto-global-marker.







                                  share|improve this answer


























                                    1












                                    1








                                    1







                                    If you use Icicles then you can use C-SPC to go to any marker, choosing it using completion against the text of its line.




                                    • With no prefix arg or a positive prefix arg C-SPC is just set-mark-command, as usual in Emacs (set the mark).


                                    • C-0 C-SPC (prefix arg 0) invokes command icicle-goto-any-marker, which lets you choose any marker in any buffer.


                                    • C-- C-SPC (negative prefix arg) invokes icicle-goto-marker, which lets you choose a marker in the current buffer.



                                    Each of the go-to-marker commands is a multi-command, which means you can act on any number of completion candidates, so you can navigate among the markers that match your current input in the minibuffer (with an empty minibuffer, all markers are candidates).



                                    C-h f icicle-goto-marker:




                                    icicle-goto-marker is an interactive Lisp function in
                                    icicles-cmd2.el.



                                    It is bound to menu-bar search goto icicles icicle-goto-marker.



                                    (icicle-goto-marker)



                                    Go to a marker in this buffer, choosing it by the line that includes it.



                                    If crosshairs.el is loaded, then the target position is highlighted.



                                    By default, candidates are sorted in marker order, that is, with
                                    respect to their buffer positions. Use C-M-, or C-, to change the
                                    sort order.



                                    During completion you can use these keys:





                                    • C-RET - Goto marker named by current completion candidate


                                    • C-down - Goto marker named by next completion candidate


                                    • C-up - Goto marker named by previous completion candidate


                                    • C-next - Goto marker named by next apropos-completion candidate


                                    • C-prior - Goto marker named by previous apropos-completion candidate


                                    • C-end - Goto marker named by next prefix-completion candidate


                                    • C-home - Goto marker named by previous prefix-completion candidate


                                    • <S-delete> - Delete marker named by current completion candidate


                                    When candidate action and cycling are combined (e.g. C-next), option
                                    icicle-act-before-cycle-flag determines which occurs first.



                                    With prefix C-M- instead of C-, the same keys (C-M-mouse-2,
                                    <C-M-f1>, C-M-down, and so on) provide help about candidates.



                                    Use mouse-2, RET, or S-RET to choose a candidate as the final
                                    destination, or C-g’ to quit. This is an Icicles command - see
                                    command icicle-mode.



                                    See also commands icicle-goto-any-marker and
                                    icicle-goto-global-marker.







                                    share|improve this answer













                                    If you use Icicles then you can use C-SPC to go to any marker, choosing it using completion against the text of its line.




                                    • With no prefix arg or a positive prefix arg C-SPC is just set-mark-command, as usual in Emacs (set the mark).


                                    • C-0 C-SPC (prefix arg 0) invokes command icicle-goto-any-marker, which lets you choose any marker in any buffer.


                                    • C-- C-SPC (negative prefix arg) invokes icicle-goto-marker, which lets you choose a marker in the current buffer.



                                    Each of the go-to-marker commands is a multi-command, which means you can act on any number of completion candidates, so you can navigate among the markers that match your current input in the minibuffer (with an empty minibuffer, all markers are candidates).



                                    C-h f icicle-goto-marker:




                                    icicle-goto-marker is an interactive Lisp function in
                                    icicles-cmd2.el.



                                    It is bound to menu-bar search goto icicles icicle-goto-marker.



                                    (icicle-goto-marker)



                                    Go to a marker in this buffer, choosing it by the line that includes it.



                                    If crosshairs.el is loaded, then the target position is highlighted.



                                    By default, candidates are sorted in marker order, that is, with
                                    respect to their buffer positions. Use C-M-, or C-, to change the
                                    sort order.



                                    During completion you can use these keys:





                                    • C-RET - Goto marker named by current completion candidate


                                    • C-down - Goto marker named by next completion candidate


                                    • C-up - Goto marker named by previous completion candidate


                                    • C-next - Goto marker named by next apropos-completion candidate


                                    • C-prior - Goto marker named by previous apropos-completion candidate


                                    • C-end - Goto marker named by next prefix-completion candidate


                                    • C-home - Goto marker named by previous prefix-completion candidate


                                    • <S-delete> - Delete marker named by current completion candidate


                                    When candidate action and cycling are combined (e.g. C-next), option
                                    icicle-act-before-cycle-flag determines which occurs first.



                                    With prefix C-M- instead of C-, the same keys (C-M-mouse-2,
                                    <C-M-f1>, C-M-down, and so on) provide help about candidates.



                                    Use mouse-2, RET, or S-RET to choose a candidate as the final
                                    destination, or C-g’ to quit. This is an Icicles command - see
                                    command icicle-mode.



                                    See also commands icicle-goto-any-marker and
                                    icicle-goto-global-marker.








                                    share|improve this answer












                                    share|improve this answer



                                    share|improve this answer










                                    answered 5 hours ago









                                    DrewDrew

                                    47.2k462104




                                    47.2k462104






















                                        extremeaxe5 is a new contributor. Be nice, and check out our Code of Conduct.










                                        draft saved

                                        draft discarded


















                                        extremeaxe5 is a new contributor. Be nice, and check out our Code of Conduct.













                                        extremeaxe5 is a new contributor. Be nice, and check out our Code of Conduct.












                                        extremeaxe5 is a new contributor. Be nice, and check out our Code of Conduct.
















                                        Thanks for contributing an answer to Emacs Stack Exchange!


                                        • Please be sure to answer the question. Provide details and share your research!

                                        But avoid



                                        • Asking for help, clarification, or responding to other answers.

                                        • Making statements based on opinion; back them up with references or personal experience.


                                        To learn more, see our tips on writing great answers.




                                        draft saved


                                        draft discarded














                                        StackExchange.ready(
                                        function () {
                                        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2femacs.stackexchange.com%2fquestions%2f47073%2fhow-do-i-view-the-mark-ring%23new-answer', 'question_page');
                                        }
                                        );

                                        Post as a guest















                                        Required, but never shown





















































                                        Required, but never shown














                                        Required, but never shown












                                        Required, but never shown







                                        Required, but never shown

































                                        Required, but never shown














                                        Required, but never shown












                                        Required, but never shown







                                        Required, but never shown







                                        Popular posts from this blog

                                        How to make a Squid Proxy server?

                                        第一次世界大戦

                                        Touch on Surface Book