unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Unify mark-foo commands
@ 2002-02-09 18:50 Kai Großjohann
  2002-02-11  2:09 ` Richard Stallman
  2002-02-15  9:23 ` Kai Großjohann
  0 siblings, 2 replies; 10+ messages in thread
From: Kai Großjohann @ 2002-02-09 18:50 UTC (permalink / raw)


The mark-sexp command recently acquired the (very nifty) feature that
repeating the command extends the selection (so C-M-SPC C-M-SPC marks
two sexps).

WIBNI the other mark-foo commands behaved similarly?

kai
-- 
~/.signature is: umop 3p!sdn    (Frank Nobis)

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/emacs-devel


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Unify mark-foo commands
  2002-02-09 18:50 Unify mark-foo commands Kai Großjohann
@ 2002-02-11  2:09 ` Richard Stallman
  2002-02-13 16:52   ` Kai Großjohann
  2002-02-14  9:04   ` Kai Großjohann
  2002-02-15  9:23 ` Kai Großjohann
  1 sibling, 2 replies; 10+ messages in thread
From: Richard Stallman @ 2002-02-11  2:09 UTC (permalink / raw)
  Cc: emacs-devel

    The mark-sexp command recently acquired the (very nifty) feature that
    repeating the command extends the selection (so C-M-SPC C-M-SPC marks
    two sexps).

    WIBNI the other mark-foo commands behaved similarly?

That would be consistent.  Want to write it?

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/emacs-devel


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Unify mark-foo commands
  2002-02-11  2:09 ` Richard Stallman
@ 2002-02-13 16:52   ` Kai Großjohann
  2002-02-14 12:46     ` Richard Stallman
  2002-02-14  9:04   ` Kai Großjohann
  1 sibling, 1 reply; 10+ messages in thread
From: Kai Großjohann @ 2002-02-13 16:52 UTC (permalink / raw)


Richard Stallman <rms@gnu.org> writes:

>     The mark-sexp command recently acquired the (very nifty) feature that
>     repeating the command extends the selection (so C-M-SPC C-M-SPC marks
>     two sexps).
>
>     WIBNI the other mark-foo commands behaved similarly?
>
> That would be consistent.  Want to write it?

I have now consed up something.  What do people think?

Things I've noticed:

* The extension feature doesn't work if one calls the command via
  M-x.  I came across this problem because mark-end-of-sentence
  doesn't have a keybinding by default.  But mark-sexp behaves the
  same.  (Presumably, this-command or last-command is exit-minibuffer
  or the like, rather than mark-end-of-sentence.)

* Doing C-M-SPC multiple times pushes multiple marks on the mark
  ring.  But maybe the user expects C-M-SPC C-M-SPC to only put one
  mark on the mark ring, like C-u 2 C-M-SPC would have done?

* If mark-page is called with an argument, it doesn't mark more pages.
  Instead, it marks _other_ pages.  I didn't change that command, as
  it is not clear to me what should happen:

  Should C-x C-p C-x C-p do the same as C-u 2 C-x C-p?  That would
  make sense, in a way.

  Or should C-x C-p C-x C-p mark the current page and the next page,
  ie, mark two pages?  That would also make sense.

* I kind of expected the prefix arg to be sticky.  That is, after
  invoking M-- C-M-SPC to mark the _previous_ sexp, I expected further
  C-M-SPC (without M--) to continue marking "in the same direction".

  (a) (b) -!- (c) (d)

  If you put point at the position indicated with "-!-" and do M--
  C-M-SPC C-M-SPC, nothing will be marked.  If you do, instead, M--
  C-M-SPC M-- C-M-SPC, then (a) (b) will be marked.

* The implementation for mark-paragraph looks very different from the
  implementation for mark-sexp, mark-end-of-sentence and mark-word.
  Not sure if this is a problem.

* The docstring for mark-sexp refers to forward-sexp.  Would it be
  better to make it stand alone?

* The docstrings for mark-word and mark-end-of-sentence don't mention
  what negative arguments do.

Oh boy.  I write such trivial extensions and you guys have to spend
so much time on discussing it with me.  I wonder whether that means
that I'm a nuisance rather than help.  But I don't know what else to
do but ask -- I want to do it right!

I know that the NEWS file needs to be updated.  I guess the Emacs
manual also needs to be updated.  If I get the go-ahead, I'll do that
as well.

~/work/gnu/emacs $ cvs diff lisp
cvs server: Diffing lisp
Index: lisp/ChangeLog
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.3440
diff -u -r1.3440 ChangeLog
--- lisp/ChangeLog	12 Feb 2002 17:38:06 -0000	1.3440
+++ lisp/ChangeLog	13 Feb 2002 16:47:39 -0000
@@ -1,3 +1,9 @@
+2002-02-13  Kai Gro^[,A_^[(Bjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>
+
+	* simple.el (mark-word): Mark more if repeated.
+	* textmodes/paragraphs.el (mark-paragraph): Ditto.
+	(mark-end-of-sentence): Ditto.
+
 2002-02-12  Eli Zaretskii  <eliz@is.elta.co.il>
 
 	* progmodes/pascal.el (pascal-imenu-generic-expression): Add
@@ -59,7 +65,7 @@
 	* cus-start.el: Don't warn about "x-*" symbols when building a
 	non-GUI version.
 
-2002-02-11  Pavel Jan^[,Bm^[(Bk  <Pavel@Janik.cz>
+2002-02-11  Pavel Jan^[,Am^[(Bk  <Pavel@Janik.cz>
 
 	* strokes.el (strokes-do-stroke, strokes-do-complex-stroke):
 	Doc fix.
@@ -85,7 +91,7 @@
 	(dump-charsets, dump-codings): Deleted (obsolete).
 	From Dave Love <fx@gnu.org>.
 
-2002-02-10  Pavel Jan^[,Bm^[(Bk  <Pavel@Janik.cz>
+2002-02-10  Pavel Jan^[,Am^[(Bk  <Pavel@Janik.cz>
 
 	* menu-bar.el (menu-bar-showhide-menu): Rename functions for
 	toggling.
@@ -109,7 +115,7 @@
 	
 	* ediff.el: typo in comment.
 	
-2002-02-09  Pavel Jan^[,Bm^[(Bk  <Pavel@Janik.cz>
+2002-02-09  Pavel Jan^[,Am^[(Bk  <Pavel@Janik.cz>
 
 	* menu-bar.el (menu-bar-options-save): Take care of
 	line-number-mode and column-number-mode variables.
@@ -8533,7 +8539,7 @@
 	(toplevel): Add completion-list-mode-finish to temp-buffer-show-hook.
 
 	* language/european.el ("Polish"): Change sample text.
-	From jsbien@mimuw.edu.pl (Janusz S. Bie^[,Bq^[(B).
+	From jsbien@mimuw.edu.pl (Janusz S. Bie^[$,1 d^[(B).
 
 	* progmodes/sh-script.el (sh-indent-line): Add optional PREFIX-ARG
 	parameter.
Index: lisp/simple.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/simple.el,v
retrieving revision 1.520
diff -u -r1.520 simple.el
--- lisp/simple.el	6 Feb 2002 15:08:45 -0000	1.520
+++ lisp/simple.el	13 Feb 2002 16:47:40 -0000
@@ -2812,10 +2812,14 @@
   (forward-word (- arg)))
 
 (defun mark-word (arg)
-  "Set mark arg words away from point."
+  "Set mark arg words away from point.
+If this command is repeated, it marks the next ARG words after the ones
+already marked."
   (interactive "p")
   (push-mark
-    (save-excursion
+   (save-excursion
+     (if (and (eq last-command this-command) (mark t))
+	 (goto-char (mark)))
       (forward-word arg)
       (point))
     nil t))
cvs server: Diffing lisp/calc
cvs server: Diffing lisp/calendar
cvs server: Diffing lisp/emacs-lisp
cvs server: Diffing lisp/emulation
cvs server: Diffing lisp/eshell
cvs server: Diffing lisp/gnus
cvs server: Diffing lisp/international
cvs server: Diffing lisp/language
cvs server: Diffing lisp/mail
cvs server: Diffing lisp/net
cvs server: Diffing lisp/obsolete
cvs server: Diffing lisp/play
cvs server: Diffing lisp/progmodes
cvs server: Diffing lisp/term
cvs server: Diffing lisp/textmodes
Index: lisp/textmodes/paragraphs.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/textmodes/paragraphs.el,v
retrieving revision 1.58
diff -u -r1.58 paragraphs.el
--- lisp/textmodes/paragraphs.el	30 Nov 2001 17:18:26 -0000	1.58
+++ lisp/textmodes/paragraphs.el	13 Feb 2002 16:47:40 -0000
@@ -325,14 +325,23 @@
 the number of paragraphs marked equals ARG.
 
 If ARG is negative, point is put at end of this paragraph, mark is put
-at beginning of this or a previous paragraph."
+at beginning of this or a previous paragraph.
+
+If this command is repeated, it marks the next ARG paragraphs after (or
+before, if arg is negative) the ones already marked."
   (interactive "p")
-  (unless arg (setq arg 1))
-  (when (zerop arg)
-    (error "Cannot mark zero paragraphs"))
-  (forward-paragraph arg)
-  (push-mark nil t t)
-  (backward-paragraph arg))
+  (let (here)
+    (unless arg (setq arg 1))
+    (when (zerop arg)
+      (error "Cannot mark zero paragraphs"))
+    (when (and (eq last-command this-command) (mark t))
+      (setq here (point))
+      (goto-char (mark)))
+    (forward-paragraph arg)
+    (push-mark nil t t)
+    (if here
+	(goto-char here)
+      (backward-paragraph arg))))
 
 (defun kill-paragraph (arg)
   "Kill forward to end of paragraph.
@@ -424,13 +433,17 @@
   (kill-region (point) (progn (backward-sentence arg) (point))))
 
 (defun mark-end-of-sentence (arg)
-  "Put mark at end of sentence.  Arg works as in `forward-sentence'."
+  "Put mark at end of sentence.  Arg works as in `forward-sentence'.
+If this command is repeated, it marks the next ARG sentences after the
+ones already marked."
   (interactive "p")
   (push-mark
-    (save-excursion
-      (forward-sentence arg)
-      (point))
-    nil t))
+   (save-excursion
+     (if (and (eq last-command this-command) (mark t))
+	 (goto-char (mark)))
+     (forward-sentence arg)
+     (point))
+   nil t))
 
 (defun transpose-sentences (arg)
   "Interchange this (next) and previous sentence."
cvs server: Diffing lisp/toolbar
~/work/gnu/emacs $ 

kai
-- 
~/.signature is: umop 3p!sdn    (Frank Nobis)

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/emacs-devel


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Unify mark-foo commands
  2002-02-11  2:09 ` Richard Stallman
  2002-02-13 16:52   ` Kai Großjohann
@ 2002-02-14  9:04   ` Kai Großjohann
  2002-02-14 10:13     ` Eli Zaretskii
                       ` (2 more replies)
  1 sibling, 3 replies; 10+ messages in thread
From: Kai Großjohann @ 2002-02-14  9:04 UTC (permalink / raw)
  Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 593 bytes --]

Richard Stallman <rms@gnu.org> writes:

>     The mark-sexp command recently acquired the (very nifty) feature that
>     repeating the command extends the selection (so C-M-SPC C-M-SPC marks
>     two sexps).
>
>     WIBNI the other mark-foo commands behaved similarly?
>
> That would be consistent.  Want to write it?

Here is another version.  This version also does mark-defun, and
modifies etc/NEWS and the emacs manual.

Sorry, Pavel, for munging your name in the ChangeLog file.

Okay to commit?  (With the right ChangeLog file.)

kai
-- 
~/.signature is: umop 3p!sdn    (Frank Nobis)


[-- Attachment #2: core --]
[-- Type: text/x-patch, Size: 9532 bytes --]

Index: etc/NEWS
===================================================================
RCS file: /cvsroot/emacs/emacs/etc/NEWS,v
retrieving revision 1.597
diff -u -r1.597 NEWS
--- etc/NEWS	12 Feb 2002 18:58:21 -0000	1.597
+++ etc/NEWS	14 Feb 2002 09:02:28 -0000
@@ -240,9 +240,12 @@
 example, if you set `jit-lock-defer-time' to 0.25, fontification will
 only happen after 0.25s of idle time.
 
-** If you hit M-C-SPC (mark-sexp) repeatedly, the marked region
-will now be extended each time, so you can mark the next two sexps with
-M-C-SPC M-C-SPC, for example.
+** Marking commands extend the region when invoked multiple times.  If
+you hit M-C-SPC (mark-sexp), M-@ (mark-word), M-h (mark-paragraph), or
+C-M-h (mark-defun) repeatedly, the marked region will now be extended
+each time, so you can mark the next two sexps with M-C-SPC M-C-SPC,
+for example.  This feature also works for mark-end-of-sentence, if you
+bind that to a key.
 
 ** In the *Occur* buffer, `o' switches to it in another window, and
 C-o displays the current line's occurrence in another window without
Index: lisp/ChangeLog
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.3444
diff -u -r1.3444 ChangeLog
--- lisp/ChangeLog	14 Feb 2002 01:55:43 -0000	1.3444
+++ lisp/ChangeLog	14 Feb 2002 09:02:29 -0000
@@ -1,3 +1,9 @@
+2002-02-13  Kai Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>
+
+	* simple.el (mark-word): Mark more if repeated.
+	* textmodes/paragraphs.el (mark-paragraph): Ditto.
+	(mark-end-of-sentence): Ditto.
+
 2002-02-13  Kim F. Storm  <storm@cua.dk>
 
 	* cus-start.el (mode-line-in-non-selected-windows):
@@ -90,7 +96,7 @@
 	* cus-start.el: Don't warn about "x-*" symbols when building a
 	non-GUI version.
 
-2002-02-11  Pavel Janík  <Pavel@Janik.cz>
+2002-02-11  Pavel Janík  <Pavel@Janik.cz>
 
 	* strokes.el (strokes-do-stroke, strokes-do-complex-stroke):
 	Doc fix.
@@ -116,7 +122,7 @@
 	(dump-charsets, dump-codings): Deleted (obsolete).
 	From Dave Love <fx@gnu.org>.
 
-2002-02-10  Pavel Janík  <Pavel@Janik.cz>
+2002-02-10  Pavel Janík  <Pavel@Janik.cz>
 
 	* menu-bar.el (menu-bar-showhide-menu): Rename functions for
 	toggling.
@@ -140,7 +146,7 @@
 	
 	* ediff.el: typo in comment.
 	
-2002-02-09  Pavel Janík  <Pavel@Janik.cz>
+2002-02-09  Pavel Janík  <Pavel@Janik.cz>
 
 	* menu-bar.el (menu-bar-options-save): Take care of
 	line-number-mode and column-number-mode variables.
@@ -8564,7 +8570,7 @@
 	(toplevel): Add completion-list-mode-finish to temp-buffer-show-hook.
 
 	* language/european.el ("Polish"): Change sample text.
-	From jsbien@mimuw.edu.pl (Janusz S. Bień).
+	From jsbien@mimuw.edu.pl (Janusz S. Bień).
 
 	* progmodes/sh-script.el (sh-indent-line): Add optional PREFIX-ARG
 	parameter.
Index: lisp/simple.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/simple.el,v
retrieving revision 1.520
diff -u -r1.520 simple.el
--- lisp/simple.el	6 Feb 2002 15:08:45 -0000	1.520
+++ lisp/simple.el	14 Feb 2002 09:02:29 -0000
@@ -2812,10 +2812,14 @@
   (forward-word (- arg)))
 
 (defun mark-word (arg)
-  "Set mark arg words away from point."
+  "Set mark arg words away from point.
+If this command is repeated, it marks the next ARG words after the ones
+already marked."
   (interactive "p")
   (push-mark
-    (save-excursion
+   (save-excursion
+     (if (and (eq last-command this-command) (mark t))
+	 (goto-char (mark)))
       (forward-word arg)
       (point))
     nil t))
Index: lisp/emacs-lisp/lisp.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/emacs-lisp/lisp.el,v
retrieving revision 1.44
diff -u -r1.44 lisp.el
--- lisp/emacs-lisp/lisp.el	11 Jan 2002 21:22:28 -0000	1.44
+++ lisp/emacs-lisp/lisp.el	14 Feb 2002 09:02:29 -0000
@@ -250,13 +250,21 @@
 
 (defun mark-defun ()
   "Put mark at end of this defun, point at beginning.
-The defun marked is the one that contains point or follows point."
+The defun marked is the one that contains point or follows point.
+If this command is repeated, marks more defuns after the ones
+already marked."
   (interactive)
-  (push-mark (point))
-  (end-of-defun)
-  (push-mark (point) nil t)
-  (beginning-of-defun)
-  (re-search-backward "^\n" (- (point) 1) t))
+  (let (here)
+    (when (and (eq last-command this-command) (mark t))
+      (setq here (point))
+      (goto-char (mark)))
+    (push-mark (point))
+    (end-of-defun)
+    (push-mark (point) nil t)
+    (if here
+	(goto-char here)
+      (beginning-of-defun)
+      (re-search-backward "^\n" (- (point) 1) t))))
 
 (defun narrow-to-defun (&optional arg)
   "Make text outside current defun invisible.
Index: lisp/textmodes/paragraphs.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/textmodes/paragraphs.el,v
retrieving revision 1.58
diff -u -r1.58 paragraphs.el
--- lisp/textmodes/paragraphs.el	30 Nov 2001 17:18:26 -0000	1.58
+++ lisp/textmodes/paragraphs.el	14 Feb 2002 09:02:29 -0000
@@ -325,14 +325,23 @@
 the number of paragraphs marked equals ARG.
 
 If ARG is negative, point is put at end of this paragraph, mark is put
-at beginning of this or a previous paragraph."
+at beginning of this or a previous paragraph.
+
+If this command is repeated, it marks the next ARG paragraphs after (or
+before, if arg is negative) the ones already marked."
   (interactive "p")
-  (unless arg (setq arg 1))
-  (when (zerop arg)
-    (error "Cannot mark zero paragraphs"))
-  (forward-paragraph arg)
-  (push-mark nil t t)
-  (backward-paragraph arg))
+  (let (here)
+    (unless arg (setq arg 1))
+    (when (zerop arg)
+      (error "Cannot mark zero paragraphs"))
+    (when (and (eq last-command this-command) (mark t))
+      (setq here (point))
+      (goto-char (mark)))
+    (forward-paragraph arg)
+    (push-mark nil t t)
+    (if here
+	(goto-char here)
+      (backward-paragraph arg))))
 
 (defun kill-paragraph (arg)
   "Kill forward to end of paragraph.
@@ -424,13 +433,17 @@
   (kill-region (point) (progn (backward-sentence arg) (point))))
 
 (defun mark-end-of-sentence (arg)
-  "Put mark at end of sentence.  Arg works as in `forward-sentence'."
+  "Put mark at end of sentence.  Arg works as in `forward-sentence'.
+If this command is repeated, it marks the next ARG sentences after the
+ones already marked."
   (interactive "p")
   (push-mark
-    (save-excursion
-      (forward-sentence arg)
-      (point))
-    nil t))
+   (save-excursion
+     (if (and (eq last-command this-command) (mark t))
+	 (goto-char (mark)))
+     (forward-sentence arg)
+     (point))
+   nil t))
 
 (defun transpose-sentences (arg)
   "Interchange this (next) and previous sentence."
Index: man/mark.texi
===================================================================
RCS file: /cvsroot/emacs/emacs/man/mark.texi,v
retrieving revision 1.18
diff -u -r1.18 mark.texi
--- man/mark.texi	3 Dec 2001 00:04:41 -0000	1.18
+++ man/mark.texi	14 Feb 2002 09:02:29 -0000
@@ -278,7 +278,9 @@
 @kbd{M-@@} (@code{mark-word}) puts the mark at the end of the next
 word, while @kbd{C-M-@@} (@code{mark-sexp}) puts it at the end of the
 next balanced expression (@pxref{Expressions}).  These commands handle
-arguments just like @kbd{M-f} and @kbd{C-M-f}.
+arguments just like @kbd{M-f} and @kbd{C-M-f}.  If you repeat these
+commands, the region is extended.  For example, you can type either
+@kbd{C-u 2 M-@@} or @kbd{M-@@ M-@@} to mark the next two words.
 
 @kindex C-x h
 @findex mark-whole-buffer
@@ -292,17 +294,20 @@
 point.  If the prefix argument is @minus{}@var{n}, @kbd{M-h} also
 marks @var{n} paragraphs, running back form the one surrounding point.
 In that last case, point moves forward to the end of that paragraph,
-and the mark goes at the start of the region.
+and the mark goes at the start of the region.  The @kbd{M-h} command
+also supports the extension of the region, similar to @kbd{M-@} and
+@kbd{C-M-@@}.
 
   @kbd{C-M-h} (@code{mark-defun}) similarly puts point before, and the
 mark after, the current (or following) major top-level definition, or
-defun (@pxref{Moving by Defuns}).  (Currently it only marks one
-defun.)  @kbd{C-x C-p} (@code{mark-page}) puts point before the
-current page, and mark at the end (@pxref{Pages}).  The mark goes
-after the terminating page delimiter (to include it in the region),
-while point goes after the preceding page delimiter (to exclude it).
-A numeric argument specifies a later page (if positive) or an earlier
-page (if negative) instead of the current page.
+defun (@pxref{Moving by Defuns}).  (Currently it only marks one defun,
+but repeating it marks more defuns, like for @kbd{M-@@}.)  @kbd{C-x
+C-p} (@code{mark-page}) puts point before the current page, and mark
+at the end (@pxref{Pages}).  The mark goes after the terminating page
+delimiter (to include it in the region), while point goes after the
+preceding page delimiter (to exclude it).  A numeric argument
+specifies a later page (if positive) or an earlier page (if negative)
+instead of the current page.
 
   Finally, @kbd{C-x h} (@code{mark-whole-buffer}) sets up the entire
 buffer as the region, by putting point at the beginning and the mark at

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Unify mark-foo commands
  2002-02-14  9:04   ` Kai Großjohann
@ 2002-02-14 10:13     ` Eli Zaretskii
  2002-02-15 10:36     ` Richard Stallman
  2002-02-15 10:36     ` Richard Stallman
  2 siblings, 0 replies; 10+ messages in thread
From: Eli Zaretskii @ 2002-02-14 10:13 UTC (permalink / raw)
  Cc: rms, emacs-devel


On Thu, 14 Feb 2002, Kai =?iso-8859-1?q?Gro=DFjohann?= wrote:

> Here is another version.  This version also does mark-defun, and
> modifies etc/NEWS and the emacs manual.

Since you document the change, please mark it with a "+++" in NEWS when 
you commit the changes.

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/emacs-devel


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Unify mark-foo commands
  2002-02-13 16:52   ` Kai Großjohann
@ 2002-02-14 12:46     ` Richard Stallman
  2002-02-14 13:15       ` Kai Großjohann
  0 siblings, 1 reply; 10+ messages in thread
From: Richard Stallman @ 2002-02-14 12:46 UTC (permalink / raw)
  Cc: emacs-devel

    * Doing C-M-SPC multiple times pushes multiple marks on the mark
      ring.  But maybe the user expects C-M-SPC C-M-SPC to only put one
      mark on the mark ring, like C-u 2 C-M-SPC would have done?

Definitely it should put only one mark on.

    * If mark-page is called with an argument, it doesn't mark more pages.
      Instead, it marks _other_ pages.  I didn't change that command, as

Good.  That command is not in the same class.  mark-paragraph and
mark-defun should not be changed either.

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/emacs-devel


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Unify mark-foo commands
  2002-02-14 12:46     ` Richard Stallman
@ 2002-02-14 13:15       ` Kai Großjohann
  0 siblings, 0 replies; 10+ messages in thread
From: Kai Großjohann @ 2002-02-14 13:15 UTC (permalink / raw)
  Cc: emacs-devel

Richard Stallman <rms@gnu.org> writes:

>     * Doing C-M-SPC multiple times pushes multiple marks on the mark
>       ring.  But maybe the user expects C-M-SPC C-M-SPC to only put one
>       mark on the mark ring, like C-u 2 C-M-SPC would have done?
>
> Definitely it should put only one mark on.

OK.

>     * If mark-page is called with an argument, it doesn't mark more pages.
>       Instead, it marks _other_ pages.  I didn't change that command, as
>
> Good.  That command is not in the same class.  mark-paragraph and
> mark-defun should not be changed either.

No?  I've fallen very much in love with the feature, already.

In fact, maybe it would even be useful for mark-word to extend the
selection from mark-sexp and so on.  I imagine I would like it.
(Only when transient-mark-mode is on.)

kai
-- 
~/.signature is: umop 3p!sdn    (Frank Nobis)

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/emacs-devel


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Unify mark-foo commands
  2002-02-09 18:50 Unify mark-foo commands Kai Großjohann
  2002-02-11  2:09 ` Richard Stallman
@ 2002-02-15  9:23 ` Kai Großjohann
  1 sibling, 0 replies; 10+ messages in thread
From: Kai Großjohann @ 2002-02-15  9:23 UTC (permalink / raw)


Kai.Grossjohann@cs.uni-dortmund.de (Kai Großjohann) writes:

> The mark-sexp command recently acquired the (very nifty) feature that
> repeating the command extends the selection (so C-M-SPC C-M-SPC marks
> two sexps).
>
> WIBNI the other mark-foo commands behaved similarly?

I have now committed the patch that does this.  To be specific:

* mark-sexp has been changed so that it doesn't push a second mark
  when hitting C-M-SPC the second time.  Instead, the first mark is
  moved.

* mark-word now does the same as mark-sexp, more or less.

* mark-defun and mark-paragraph also support the extension feature,
  but these two still push multiple marks.  (I didn't know how to turn
  that off, and I don't think it's a really serious problem.)

I hope that this was the right thing to do.

kai
-- 
~/.signature is: umop 3p!sdn    (Frank Nobis)

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/emacs-devel


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Unify mark-foo commands
  2002-02-14  9:04   ` Kai Großjohann
  2002-02-14 10:13     ` Eli Zaretskii
@ 2002-02-15 10:36     ` Richard Stallman
  2002-02-15 10:36     ` Richard Stallman
  2 siblings, 0 replies; 10+ messages in thread
From: Richard Stallman @ 2002-02-15 10:36 UTC (permalink / raw)
  Cc: emacs-devel

Could you possibly send patches in a way that avoids doing
quoted-printable encoding on them?  We have a way to decode that, but
its consequence is that we cannot simply read the patch in the message
itself.


_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/emacs-devel


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Unify mark-foo commands
  2002-02-14  9:04   ` Kai Großjohann
  2002-02-14 10:13     ` Eli Zaretskii
  2002-02-15 10:36     ` Richard Stallman
@ 2002-02-15 10:36     ` Richard Stallman
  2 siblings, 0 replies; 10+ messages in thread
From: Richard Stallman @ 2002-02-15 10:36 UTC (permalink / raw)
  Cc: emacs-devel

The change looks good now.  I've concluded it is ok to include
mark-paragraph in this change, as you have done.



_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/emacs-devel


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2002-02-15 10:36 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-02-09 18:50 Unify mark-foo commands Kai Großjohann
2002-02-11  2:09 ` Richard Stallman
2002-02-13 16:52   ` Kai Großjohann
2002-02-14 12:46     ` Richard Stallman
2002-02-14 13:15       ` Kai Großjohann
2002-02-14  9:04   ` Kai Großjohann
2002-02-14 10:13     ` Eli Zaretskii
2002-02-15 10:36     ` Richard Stallman
2002-02-15 10:36     ` Richard Stallman
2002-02-15  9:23 ` Kai Großjohann

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).