On Wed, May 22, 2019 at 01:36:41PM +0200, Jeremie Courreges-Anglas wrote:
> On Wed, May 22 2019, Leonid Bobrov <mazoc...@disroot.org> wrote:
> > It seems that nobody cares about compatibility with GNU Emacs. Besides
> > this behaviour is annoying because when I set a mark, scroll a buffer,
> > and decide to go to the end of buffer that overwrites my mark and I have
> > to start over. Also besides that you have to figure out this behavior
> > because manpage just says:
> > ```
> >            M-<           beginning-of-buffer
> >            M->           end-of-buffer
> > ```
> > Should we consider this documentation bug and patch a manpage?
> >
> > On Thu, Feb 14, 2019 at 04:46:21PM +0200, Leonid Bobrov wrote:
> >> Ping.
> >> 
> >> On Wed, Feb 06, 2019 at 11:29:47PM +0200, Leonid Bobrov wrote:
> >> > Hi!
> >> > 
> >> > Going to end and begging of buffer doesn't set marks in Emacs.
> 
> This doesn't match my understanding of marks in emacs, nor what emacs
> C-h k says:
> 
> --8<--
> M-< runs the command beginning-of-buffer (found in global-map), which is
> an interactive compiled Lisp function in ‘simple.el’.
> 
> It is bound to ., b, <menu-bar> <Info> <Beginning>, <begin>, <C-home>,
> M-<, <menu-bar> <edit> <goto> <beg-of-buf>.
> 
> (beginning-of-buffer &optional ARG)
> 
> This function is for interactive use only;
> in Lisp code use `(goto-char (point-min))' instead.
> 
> Move point to the beginning of the buffer.
> With numeric arg N, put point N/10 of the way from the beginning.
> If the buffer is narrowed, this command uses the beginning of the
> accessible part of the buffer.
> 
> Push mark at previous position, unless either a C-u prefix
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> is supplied, or Transient Mark mode is enabled and the mark is active.
> -->8--
> 
> So if you're pushing for a change here we'd need a better explanation.
> 
> -- 
> jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE
> 

Oh, I haven't noticed that behavior in Emacs before. So, if I haven't
pushed a mark before, then Emacs will automatically push it (while mg
pushes it in all cases).

Also that C-u prefix part is not true (I made a check, also thank you
for new knowledge), in Emacs it pushes a mark if I haven't pushed it
myself.

In Emacs Transient Mark mode is on by default, but mg doesn't have this
mode. Also mg doesn't have that N/10 behavior when giving it a numeric
arg.

In order to be compatible with GNU Emacs, I have to implement Transient
Mark mode, make it on by default, while in this mode using M-< and M->
shouldn't push mark if it's active and I have to implement N/10 behavior
when giving a numeric arg to M-< and M->, is everything correct?

Reply via email to