How do I view the mark ring?












6















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



























    6















    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

























      6












      6








      6








      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














      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













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jan 12 at 17:02









      extremeaxe5extremeaxe5

      1533




      1533






















          3 Answers
          3






          active

          oldest

          votes


















          6














          C-h v mark-ring



          C-h v global-mark-ring



          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


























          • Hey, I'll make your answer the accepted one. Could you highlight (in some way) the two lines C-h v mark-ring and C-h v global-mark-ring? (As they're the ones that answer the question). I'll remove this comment when you've done so.

            – extremeaxe5
            Jan 13 at 9:52



















          4














          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































            3














            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
              });


              }
              });














              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









              6














              C-h v mark-ring



              C-h v global-mark-ring



              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


























              • Hey, I'll make your answer the accepted one. Could you highlight (in some way) the two lines C-h v mark-ring and C-h v global-mark-ring? (As they're the ones that answer the question). I'll remove this comment when you've done so.

                – extremeaxe5
                Jan 13 at 9:52
















              6














              C-h v mark-ring



              C-h v global-mark-ring



              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


























              • Hey, I'll make your answer the accepted one. Could you highlight (in some way) the two lines C-h v mark-ring and C-h v global-mark-ring? (As they're the ones that answer the question). I'll remove this comment when you've done so.

                – extremeaxe5
                Jan 13 at 9:52














              6












              6








              6







              C-h v mark-ring



              C-h v global-mark-ring



              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















              C-h v mark-ring



              C-h v global-mark-ring



              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














              share|improve this answer



              share|improve this answer








              edited Jan 14 at 13:44

























              answered Jan 12 at 18:08









              Alexandr KarbivnichiyAlexandr Karbivnichiy

              40924




              40924













              • Hey, I'll make your answer the accepted one. Could you highlight (in some way) the two lines C-h v mark-ring and C-h v global-mark-ring? (As they're the ones that answer the question). I'll remove this comment when you've done so.

                – extremeaxe5
                Jan 13 at 9:52



















              • Hey, I'll make your answer the accepted one. Could you highlight (in some way) the two lines C-h v mark-ring and C-h v global-mark-ring? (As they're the ones that answer the question). I'll remove this comment when you've done so.

                – extremeaxe5
                Jan 13 at 9:52

















              Hey, I'll make your answer the accepted one. Could you highlight (in some way) the two lines C-h v mark-ring and C-h v global-mark-ring? (As they're the ones that answer the question). I'll remove this comment when you've done so.

              – extremeaxe5
              Jan 13 at 9:52





              Hey, I'll make your answer the accepted one. Could you highlight (in some way) the two lines C-h v mark-ring and C-h v global-mark-ring? (As they're the ones that answer the question). I'll remove this comment when you've done so.

              – extremeaxe5
              Jan 13 at 9:52











              4














              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




























                4














                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


























                  4












                  4








                  4







                  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 Jan 12 at 18:11









                  RémiRémi

                  1,294613




                  1,294613























                      3














                      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




























                        3














                        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


























                          3












                          3








                          3







                          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 Jan 12 at 19:48









                          DrewDrew

                          48k463105




                          48k463105






























                              draft saved

                              draft discarded




















































                              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

                              MongoDB - Not Authorized To Execute Command

                              How to fix TextFormField cause rebuild widget in Flutter

                              in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith