unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#10754: define-minor-mode and doc of derived mode
@ 2012-02-07 18:02 Glenn Morris
  2012-02-07 20:27 ` Glenn Morris
  0 siblings, 1 reply; 28+ messages in thread
From: Glenn Morris @ 2012-02-07 18:02 UTC (permalink / raw)
  To: 10754

Package: emacs
Version: 24.0.93
Severity: wishlist

If you use a nil DOC argument with define-minor-mode, it constructs a
doc string for you. The information in this doc string is almost always
applicable to the derived mode (it explains how the mode's ARG works).
Often you will basically want to duplicate this info in the mode's doc,
and add a little bit more. So it would be nice if there was some token
you could write in the DOC arg that gets replaced with the default
doc-string.

Eg:

(define-minor-mode foo-mode "%default-doc.

Foo mode is fantastic because of these reasons... " ...)


This would also save you having to change the doc of foo-mode if the way
define-minor-mode treats ARG changes again.

I don't know whether %default-doc (or whatever) should include the first
line "Toggle ... on or off.", in which case it would be restricted to be
at the start of DOC, or just the part about ARG, in which case it could
come anywhere in DOC.





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

* bug#10754: define-minor-mode and doc of derived mode
  2012-02-07 18:02 bug#10754: define-minor-mode and doc of derived mode Glenn Morris
@ 2012-02-07 20:27 ` Glenn Morris
  2018-06-07 11:20   ` John Shahid
  0 siblings, 1 reply; 28+ messages in thread
From: Glenn Morris @ 2012-02-07 20:27 UTC (permalink / raw)
  To: 10754

Glenn Morris wrote:

> I don't know whether %default-doc (or whatever) should include the first
> line "Toggle ... on or off.", in which case it would be restricted to be
> at the start of DOC, or just the part about ARG, in which case it could
> come anywhere in DOC.

On reflection, I think it's just the bit about ARG that would be useful.
So maybe a %{arg} construct anywhere in DOC.





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

* bug#10754: define-minor-mode and doc of derived mode
  2012-02-07 20:27 ` Glenn Morris
@ 2018-06-07 11:20   ` John Shahid
  2018-06-07 13:46     ` Drew Adams
  0 siblings, 1 reply; 28+ messages in thread
From: John Shahid @ 2018-06-07 11:20 UTC (permalink / raw)
  To: Glenn Morris; +Cc: 10754


Reposting to the thread instead of sending this just to Glenn.

There are over 200 modes that use define-minor-mode. I'm not sure how
many of those docstring have argument documentation. For some of those
modes documenting arg doesn't make much sense.

For those who have an arg document, does it make sense to do them all in
a single patch ? Also, is there any consensus on using %{arg} ? I have a
local patch with linum-mode changed, which I can send for review.





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

* bug#10754: define-minor-mode and doc of derived mode
  2018-06-07 11:20   ` John Shahid
@ 2018-06-07 13:46     ` Drew Adams
  2018-06-08  2:25       ` John Shahid
  0 siblings, 1 reply; 28+ messages in thread
From: Drew Adams @ 2018-06-07 13:46 UTC (permalink / raw)
  To: John Shahid, Glenn Morris; +Cc: 10754

> There are over 200 modes that use define-minor-mode. I'm not sure how
> many of those docstring have argument documentation. For some of those
> modes documenting arg doesn't make much sense.
> 
> For those who have an arg document, does it make sense to do them all in
> a single patch ? Also, is there any consensus on using %{arg} ? I have a
> local patch with linum-mode changed, which I can send for review.

Is this related to bug #29497?





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

* bug#10754: define-minor-mode and doc of derived mode
  2018-06-07 13:46     ` Drew Adams
@ 2018-06-08  2:25       ` John Shahid
  2018-06-08 21:45         ` John Shahid
  0 siblings, 1 reply; 28+ messages in thread
From: John Shahid @ 2018-06-08  2:25 UTC (permalink / raw)
  To: Drew Adams; +Cc: 10754

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

I wasn't aware of that bug. Yes it is trying to address the concern in
bug #29497
as well as #30610

On Thu, Jun 7, 2018, 9:46 AM Drew Adams <drew.adams@oracle.com> wrote:

> > There are over 200 modes that use define-minor-mode. I'm not sure how
> > many of those docstring have argument documentation. For some of those
> > modes documenting arg doesn't make much sense.
> >
> > For those who have an arg document, does it make sense to do them all in
> > a single patch ? Also, is there any consensus on using %{arg} ? I have a
> > local patch with linum-mode changed, which I can send for review.
>
> Is this related to bug #29497?
>

[-- Attachment #2: Type: text/html, Size: 1034 bytes --]

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

* bug#10754: define-minor-mode and doc of derived mode
  2018-06-08  2:25       ` John Shahid
@ 2018-06-08 21:45         ` John Shahid
  2018-06-16 10:52           ` Eli Zaretskii
  0 siblings, 1 reply; 28+ messages in thread
From: John Shahid @ 2018-06-08 21:45 UTC (permalink / raw)
  To: Drew Adams; +Cc: 10754

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


attached a poc patch. wdyt ?


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-allow-interpolation-of-arg-in-define-minor-mode-DOC.patch --]
[-- Type: text/x-diff, Size: 3350 bytes --]

From 1a1efd1417356d26dd818622497512c28005f03c Mon Sep 17 00:00:00 2001
From: John Shahid <jvshahid@gmail.com>
Date: Tue, 5 Jun 2018 19:56:12 -0400
Subject: [PATCH] allow interpolation of %{arg} in define-minor-mode DOC

* easy-mmode.el (define-minor-mode): interpolate %{arg} in DOC with
  documentation of the mode argument
* linum.el (linum-mode): use %{arg} in the docstring
---
 lisp/emacs-lisp/easy-mmode.el | 28 +++++++++++++++++++++-------
 lisp/linum.el                 |  4 +---
 2 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el
index a81b6fefb2..8d5dd39ea3 100644
--- a/lisp/emacs-lisp/easy-mmode.el
+++ b/lisp/emacs-lisp/easy-mmode.el
@@ -81,6 +81,23 @@ easy-mmode-pretty-mode-name
       ;; space.)
       (replace-regexp-in-string (regexp-quote lighter) lighter name t t))))
 
+(defconst easy-mmode-arg-docstring
+  "With a prefix argument ARG, enable %s if ARG is positive, and
+disable it otherwise.  If called from Lisp, enable the mode if
+ARG is omitted or nil, and toggle it if ARG is `toggle'. Disable
+the mode otherwise")
+
+(defun easy-mmode-mode-docstring (doc mode-pretty-name keymap-sym)
+  (let ((doc (or doc
+                 (format "Toggle %s on or off.
+%%{arg}.
+\\{%s}" mode-pretty-name keymap-sym))))
+  (replace-regexp-in-string "%{arg}"
+                              (format easy-mmode-arg-docstring
+                                      mode-pretty-name
+                                      mode-pretty-name)
+                              doc)))
+
 ;;;###autoload
 (defalias 'easy-mmode-define-minor-mode 'define-minor-mode)
 ;;;###autoload
@@ -101,7 +118,9 @@ define-minor-mode
 if the argument is omitted or nil or a positive integer).
 
 If DOC is nil, give the mode command a basic doc-string
-documenting what its argument does.
+documenting what its argument does. All occurences of the string
+\"%{arg}\" in DOC will be replaced by a docstring explaining
+usages of the mode argument.
 
 Optional INIT-VALUE is the initial value of the mode's variable.
 Optional LIGHTER is displayed in the mode line when the mode is on.
@@ -270,12 +289,7 @@ define-minor-mode
 
        ;; The actual function.
        (defun ,modefun (&optional arg ,@extra-args)
-	 ,(or doc
-	      (format (concat "Toggle %s on or off.
-With a prefix argument ARG, enable %s if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'.
-\\{%s}") pretty-name pretty-name keymap-sym))
+         ,(easy-mmode-mode-docstring doc pretty-name keymap-sym)
 	 ;; Use `toggle' rather than (if ,mode 0 1) so that using
 	 ;; repeat-command still does the toggling correctly.
 	 (interactive (list (or current-prefix-arg 'toggle)))
diff --git a/lisp/linum.el b/lisp/linum.el
index 9df0c5d023..6a0baf40a6 100644
--- a/lisp/linum.el
+++ b/lisp/linum.el
@@ -75,9 +75,7 @@ linum-delay
 ;;;###autoload
 (define-minor-mode linum-mode
   "Toggle display of line numbers in the left margin (Linum mode).
-With a prefix argument ARG, enable Linum mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
+%{arg}.
 
 Linum mode is a buffer-local minor mode."
   :lighter ""                           ; for desktop.el
-- 
2.17.1


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

* bug#10754: define-minor-mode and doc of derived mode
  2018-06-08 21:45         ` John Shahid
@ 2018-06-16 10:52           ` Eli Zaretskii
  2018-06-16 17:23             ` Stefan Monnier
  0 siblings, 1 reply; 28+ messages in thread
From: Eli Zaretskii @ 2018-06-16 10:52 UTC (permalink / raw)
  To: John Shahid, Stefan Monnier; +Cc: 10754

> From: John Shahid <jvshahid@gmail.com>
> Date: Fri, 08 Jun 2018 21:45:03 +0000
> Cc: 10754@debbugs.gnu.org
> 
> attached a poc patch. wdyt ?
> 
> >From 1a1efd1417356d26dd818622497512c28005f03c Mon Sep 17 00:00:00 2001
> From: John Shahid <jvshahid@gmail.com>
> Date: Tue, 5 Jun 2018 19:56:12 -0400
> Subject: [PATCH] allow interpolation of %{arg} in define-minor-mode DOC
> 
> * easy-mmode.el (define-minor-mode): interpolate %{arg} in DOC with
>   documentation of the mode argument
> * linum.el (linum-mode): use %{arg} in the docstring

Stefan, WDYT about this?





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

* bug#10754: define-minor-mode and doc of derived mode
  2018-06-16 10:52           ` Eli Zaretskii
@ 2018-06-16 17:23             ` Stefan Monnier
  2018-06-17 15:55               ` John Shahid
  0 siblings, 1 reply; 28+ messages in thread
From: Stefan Monnier @ 2018-06-16 17:23 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: John Shahid, 10754

> Stefan, WDYT about this?

Fine by me (tho I'd replace "will be replaced by a docstring explaining"
with "will be replaced by a paragraph explaining").


        Stefan





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

* bug#10754: define-minor-mode and doc of derived mode
  2018-06-16 17:23             ` Stefan Monnier
@ 2018-06-17 15:55               ` John Shahid
  2018-06-17 18:31                 ` Stefan Monnier
  0 siblings, 1 reply; 28+ messages in thread
From: John Shahid @ 2018-06-17 15:55 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 10754


Stefan Monnier <monnier@IRO.UMontreal.CA> writes:

>> Stefan, WDYT about this?
>
> Fine by me (tho I'd replace "will be replaced by a docstring explaining"
> with "will be replaced by a paragraph explaining").

Sounds good. I can make this minor edit and audit the rest of the minor
modes.

I just thought of an alternative approach. Instead of interpolating the
docstring we could append the extra argument description to the
docstring ? We can add an optional arg to `define-minor-mode'.

-js





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

* bug#10754: define-minor-mode and doc of derived mode
  2018-06-17 15:55               ` John Shahid
@ 2018-06-17 18:31                 ` Stefan Monnier
  2018-06-17 19:45                   ` John Shahid
  0 siblings, 1 reply; 28+ messages in thread
From: Stefan Monnier @ 2018-06-17 18:31 UTC (permalink / raw)
  To: John Shahid; +Cc: 10754

> I just thought of an alternative approach.  Instead of interpolating the
> docstring we could append the extra argument description to the
> docstring ?

FWIW, it's the approach I would have taken.

> We can add an optional arg to `define-minor-mode'.

I'd rather avoid it if I can.


        Stefan





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

* bug#10754: define-minor-mode and doc of derived mode
  2018-06-17 18:31                 ` Stefan Monnier
@ 2018-06-17 19:45                   ` John Shahid
  2018-06-17 21:00                     ` Stefan Monnier
  0 siblings, 1 reply; 28+ messages in thread
From: John Shahid @ 2018-06-17 19:45 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 10754

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


Stefan Monnier <monnier@IRO.UMontreal.CA> writes:

>> I just thought of an alternative approach.  Instead of interpolating the
>> docstring we could append the extra argument description to the
>> docstring ?
>
> FWIW, it's the approach I would have taken.

Great. I changed the patch to append to the docstring instead of
interpolate it. I like this approach better, it is cleaner imho.

>
>> We can add an optional arg to `define-minor-mode'.
>
> I'd rather avoid it if I can.

I meant a keyword argument when I was saying optional. I forgot that
`define-minor-mode' takes actual optional arguments.


I attached the new patch, below. If this looks good, I will amend the
patch to include other minor modes.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-optionally-include-argument-description-in-minor-mod.patch --]
[-- Type: text/x-diff, Size: 4211 bytes --]

From d0e79015e211b5389c08c39f8fbe3044ab3a7de3 Mon Sep 17 00:00:00 2001
From: John Shahid <jvshahid@gmail.com>
Date: Tue, 5 Jun 2018 19:56:12 -0400
Subject: [PATCH] optionally include argument description in minor mode DOC

* easy-mmode.el (define-minor-mode): add a new option
  `append-arg-docstring' to append DOC with documentation of the mode
  argument
* linum.el (linum-mode): set append-arg-docstring to t
---
 lisp/emacs-lisp/easy-mmode.el | 32 +++++++++++++++++++++++++-------
 lisp/linum.el                 |  4 +---
 2 files changed, 26 insertions(+), 10 deletions(-)

diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el
index a81b6fefb2..7701842a94 100644
--- a/lisp/emacs-lisp/easy-mmode.el
+++ b/lisp/emacs-lisp/easy-mmode.el
@@ -81,6 +81,25 @@ easy-mmode-pretty-mode-name
       ;; space.)
       (replace-regexp-in-string (regexp-quote lighter) lighter name t t))))
 
+(defconst easy-mmode-arg-docstring
+  "If called interactively, enable %s if ARG is positive, and
+disable it otherwise.  If called from Lisp, enable the mode if
+ARG is omitted or nil, and toggle it if ARG is `toggle'. Disable
+the mode otherwise")
+
+(defun easy-mmode-mode-docstring (doc mode-pretty-name keymap-sym append-arg-docstring)
+  (unless doc
+    (setq append-arg-docstring t)
+    (setq doc (format "Toggle %s on or off.
+\\{%s}" mode-pretty-name keymap-sym)))
+  (if append-arg-docstring
+      (concat doc
+              "\n\n"
+                              (format easy-mmode-arg-docstring
+                                      mode-pretty-name
+                      mode-pretty-name))
+    doc))
+
 ;;;###autoload
 (defalias 'easy-mmode-define-minor-mode 'define-minor-mode)
 ;;;###autoload
@@ -101,7 +120,9 @@ define-minor-mode
 if the argument is omitted or nil or a positive integer).
 
 If DOC is nil, give the mode command a basic doc-string
-documenting what its argument does.
+documenting what its argument does. All occurences of the string
+\"%{arg}\" in DOC will be replaced by a docstring explaining
+usages of the mode argument.
 
 Optional INIT-VALUE is the initial value of the mode's variable.
 Optional LIGHTER is displayed in the mode line when the mode is on.
@@ -179,6 +200,7 @@ define-minor-mode
 	 (group nil)
 	 (type nil)
 	 (extra-args nil)
+         (append-arg-docstring nil)
 	 (extra-keywords nil)
          (variable nil)          ;The PLACE where the state is stored.
          (setter `(setq ,mode))  ;The beginning of the exp to set the mode var.
@@ -201,6 +223,7 @@ define-minor-mode
          (when (and globalp (symbolp mode))
            (setq setter `(setq-default ,mode))
            (setq getter `(default-value ',mode))))
+        (`:append-arg-docstring (setq append-arg-docstring t))
 	(`:extra-args (setq extra-args (pop body)))
 	(`:set (setq set (list :set (pop body))))
 	(`:initialize (setq initialize (list :initialize (pop body))))
@@ -270,12 +293,7 @@ define-minor-mode
 
        ;; The actual function.
        (defun ,modefun (&optional arg ,@extra-args)
-	 ,(or doc
-	      (format (concat "Toggle %s on or off.
-With a prefix argument ARG, enable %s if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'.
-\\{%s}") pretty-name pretty-name keymap-sym))
+         ,(easy-mmode-mode-docstring doc pretty-name keymap-sym append-arg-docstring)
 	 ;; Use `toggle' rather than (if ,mode 0 1) so that using
 	 ;; repeat-command still does the toggling correctly.
 	 (interactive (list (or current-prefix-arg 'toggle)))
diff --git a/lisp/linum.el b/lisp/linum.el
index 9df0c5d023..6e673e58b0 100644
--- a/lisp/linum.el
+++ b/lisp/linum.el
@@ -75,12 +75,10 @@ linum-delay
 ;;;###autoload
 (define-minor-mode linum-mode
   "Toggle display of line numbers in the left margin (Linum mode).
-With a prefix argument ARG, enable Linum mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 Linum mode is a buffer-local minor mode."
   :lighter ""                           ; for desktop.el
+  :append-arg-docstring t
   (if linum-mode
       (progn
         (if linum-eager
-- 
2.17.1


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

* bug#10754: define-minor-mode and doc of derived mode
  2018-06-17 19:45                   ` John Shahid
@ 2018-06-17 21:00                     ` Stefan Monnier
  2018-06-17 23:19                       ` John Shahid
  0 siblings, 1 reply; 28+ messages in thread
From: Stefan Monnier @ 2018-06-17 21:00 UTC (permalink / raw)
  To: John Shahid; +Cc: 10754

>>> We can add an optional arg to `define-minor-mode'.
>> I'd rather avoid it if I can.
> I meant a keyword argument when I was saying optional.

That's what I understood, and I'd still rather avoid that.

I think we can avoid it by looking for the presence of ARG in
the docstring (or by simply always adding it, and then going through
the various minor modes and remove the corresponding text from their
docstrings).


        Stefan






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

* bug#10754: define-minor-mode and doc of derived mode
  2018-06-17 21:00                     ` Stefan Monnier
@ 2018-06-17 23:19                       ` John Shahid
  2018-06-18 13:47                         ` Stefan Monnier
  0 siblings, 1 reply; 28+ messages in thread
From: John Shahid @ 2018-06-17 23:19 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 10754


Stefan Monnier <monnier@IRO.UMontreal.CA> writes:

> I think we can avoid it by looking for the presence of ARG in
> the docstring

I think this can work, but it doesn't feel very elegant or obvious from
the pov of the caller of `define-minor-mode'. What's wrong with adding
an extra keyword arg ?

> (or by simply always adding it, and then going through
> the various minor modes and remove the corresponding text from their
> docstrings).

I think this change needs to be backward compatible. There could be
other callers that aren't packaged with Emacs.





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

* bug#10754: define-minor-mode and doc of derived mode
  2018-06-17 23:19                       ` John Shahid
@ 2018-06-18 13:47                         ` Stefan Monnier
  2018-06-20 19:33                           ` John Shahid
  0 siblings, 1 reply; 28+ messages in thread
From: Stefan Monnier @ 2018-06-18 13:47 UTC (permalink / raw)
  To: John Shahid; +Cc: 10754

>> I think we can avoid it by looking for the presence of ARG in
>> the docstring
> I think this can work, but it doesn't feel very elegant or obvious from
> the pov of the caller of `define-minor-mode'.  What's wrong with adding
> an extra keyword arg ?

I think in the long term (asymptotically), the arg is unneeded.
But if we add the arg, the long term will be that *all* calls will use
the arg, so we'll never be able to get rid of it.

I'd be OK with an arg of the form :dont-add-arg-paragraph (for those
hypothetical cases where the paragraph is undesirable) but not
:add-arg-paragraph.

>> (or by simply always adding it, and then going through
>> the various minor modes and remove the corresponding text from their
>> docstrings).
> I think this change needs to be backward compatible.  There could be
> other callers that aren't packaged with Emacs.

Having the same text twice in the output of `C-h f` is fairly harmless
in my opinion.  We've had similar situations where `C-h v` automatically
adds text like "this is only for interactive use" even tho the docstring
may already say it.


        Stefan





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

* bug#10754: define-minor-mode and doc of derived mode
  2018-06-18 13:47                         ` Stefan Monnier
@ 2018-06-20 19:33                           ` John Shahid
  2018-06-20 21:55                             ` Stefan Monnier
  0 siblings, 1 reply; 28+ messages in thread
From: John Shahid @ 2018-06-20 19:33 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 10754


Stefan Monnier <monnier@IRO.UMontreal.CA> writes:

>>> I think we can avoid it by looking for the presence of ARG in
>>> the docstring
>> I think this can work, but it doesn't feel very elegant or obvious from
>> the pov of the caller of `define-minor-mode'.  What's wrong with adding
>> an extra keyword arg ?
>
> I think in the long term (asymptotically), the arg is unneeded.
> But if we add the arg, the long term will be that *all* calls will use
> the arg, so we'll never be able to get rid of it.

I'm worried about minor modes that don't even mention the argument. Not
sure if that should be a concern since they should be documenting the
ARG in the first place. I can provide examples, but the Emacs codebase
has a few of those.

>
> I'd be OK with an arg of the form :dont-add-arg-paragraph (for those
> hypothetical cases where the paragraph is undesirable) but not
> :add-arg-paragraph.

Sounds good. I will make this change and reply with a patch.

>
>>> (or by simply always adding it, and then going through
>>> the various minor modes and remove the corresponding text from their
>>> docstrings).
>> I think this change needs to be backward compatible.  There could be
>> other callers that aren't packaged with Emacs.
>
> Having the same text twice in the output of `C-h f` is fairly harmless
> in my opinion.  We've had similar situations where `C-h v` automatically
> adds text like "this is only for interactive use" even tho the docstring
> may already say it.
>
>
>         Stefan






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

* bug#10754: define-minor-mode and doc of derived mode
  2018-06-20 19:33                           ` John Shahid
@ 2018-06-20 21:55                             ` Stefan Monnier
  2018-06-27 21:26                               ` John Shahid
  0 siblings, 1 reply; 28+ messages in thread
From: Stefan Monnier @ 2018-06-20 21:55 UTC (permalink / raw)
  To: John Shahid; +Cc: 10754

>> I think in the long term (asymptotically), the arg is unneeded.
>> But if we add the arg, the long term will be that *all* calls will use
>> the arg, so we'll never be able to get rid of it.
> I'm worried about minor modes that don't even mention the argument.

I suspect that it's a misfeature which would be fixed by always adding
that paragraph.

> Not sure if that should be a concern since they should be documenting the
> ARG in the first place.

Exactly.

> I can provide examples, but the Emacs codebase has a few of those.

The only problematic case would be if adding this paragraph would be harmful.


        Stefan





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

* bug#10754: define-minor-mode and doc of derived mode
  2018-06-20 21:55                             ` Stefan Monnier
@ 2018-06-27 21:26                               ` John Shahid
  2018-06-27 21:31                                 ` John Shahid
  0 siblings, 1 reply; 28+ messages in thread
From: John Shahid @ 2018-06-27 21:26 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 10754

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


Stefan Monnier <monnier@IRO.UMontreal.CA> writes:

> The only problematic case would be if adding this paragraph would be
> harmful.

I went through all minor modes and removed any documentation related to
ARG from the docstring that is supplied to `define-minor-mode'. IMHO, I
like the change a lot. It removes 500-ish lines of documentation and
fixes a lot of docstring that were incorrect.

The only problematic modes are those with a large keymaps in the
docstring. The argument doc paragraph ends up being outside the visible
area on the screen which feels awkward. That said, I'm feel the benefit
outweigh this awkwardness.

Finally, I touched around 130 .el files. I wasn't sure if the commit
message should reflect all those changes, given the change is somewhat
systematic.


[-- Attachment #2: 0001-optionally-include-argument-description-in-minor-mod.patch --]
[-- Type: text/x-diff, Size: 117381 bytes --]

From 929ad2689d4fecb5c6870f59bede5ab9f99b934b Mon Sep 17 00:00:00 2001
From: John Shahid <jvshahid@gmail.com>
Date: Tue, 5 Jun 2018 19:56:12 -0400
Subject: [PATCH] optionally include argument description in minor mode DOC

* easy-mmode.el (define-minor-mode): add a new option
  `append-arg-docstring' to append DOC with documentation of the mode
  argument

removed argument documetation from all minor modes.
---
 lisp/abbrev.el                       |  3 --
 lisp/allout-widgets.el               |  3 --
 lisp/allout.el                       |  3 --
 lisp/autoarg.el                      |  6 ---
 lisp/autoinsert.el                   |  3 --
 lisp/autorevert.el                   |  9 -----
 lisp/battery.el                      |  3 --
 lisp/cedet/ede.el                    |  6 ---
 lisp/cedet/ede/dired.el              |  4 +-
 lisp/cedet/semantic.el               |  3 --
 lisp/cedet/semantic/db-mode.el       |  1 -
 lisp/cedet/semantic/decorate/mode.el | 12 +++---
 lisp/cedet/semantic/idle.el          | 19 ++++-----
 lisp/cedet/semantic/mru-bookmark.el  | 10 ++---
 lisp/cedet/semantic/util-modes.el    | 52 +++++++++++--------------
 lisp/cedet/srecode/mode.el           | 11 +++---
 lisp/completion.el                   |  5 +--
 lisp/composite.el                    |  6 ---
 lisp/delsel.el                       |  6 ---
 lisp/desktop.el                      |  3 --
 lisp/dired-x.el                      |  3 --
 lisp/dirtrack.el                     |  8 +---
 lisp/doc-view.el                     |  3 --
 lisp/double.el                       |  3 --
 lisp/elec-pair.el                    |  3 --
 lisp/electric.el                     | 10 +----
 lisp/emacs-lisp/checkdoc.el          |  3 --
 lisp/emacs-lisp/easy-mmode.el        | 27 +++++++++----
 lisp/emacs-lisp/eldoc.el             |  3 --
 lisp/emacs-lock.el                   |  4 +-
 lisp/emulation/cua-base.el           |  3 --
 lisp/epa-hook.el                     |  5 +--
 lisp/epa-mail.el                     | 10 +----
 lisp/erc/erc-track.el                |  3 --
 lisp/face-remap.el                   | 10 ++---
 lisp/files.el                        |  8 +---
 lisp/follow.el                       |  3 --
 lisp/font-core.el                    |  3 --
 lisp/frame.el                        | 12 ------
 lisp/help.el                         |  3 --
 lisp/hexl.el                         |  1 +
 lisp/hi-lock.el                      |  3 --
 lisp/hilit-chg.el                    |  6 ---
 lisp/hl-line.el                      |  6 ---
 lisp/ibuf-ext.el                     |  5 +--
 lisp/icomplete.el                    |  3 --
 lisp/ido.el                          |  5 +--
 lisp/image-file.el                   |  3 --
 lisp/image-mode.el                   |  3 --
 lisp/international/iso-ascii.el      |  5 +--
 lisp/jit-lock.el                     |  1 +
 lisp/jka-cmpr-hook.el                |  3 --
 lisp/language/thai-util.el           |  9 ++---
 lisp/linum.el                        |  4 +-
 lisp/mail/footnote.el                |  3 --
 lisp/mail/mailabbrev.el              |  3 --
 lisp/master.el                       |  3 --
 lisp/mb-depth.el                     |  3 --
 lisp/menu-bar.el                     |  3 --
 lisp/minibuf-eldef.el                |  3 --
 lisp/msb.el                          |  3 --
 lisp/mwheel.el                       |  5 +--
 lisp/net/goto-addr.el                |  5 +--
 lisp/net/rcirc.el                    | 13 +------
 lisp/obsolete/complete.el            |  1 -
 lisp/obsolete/crisp.el               |  5 +--
 lisp/obsolete/iswitchb.el            |  3 --
 lisp/obsolete/longlines.el           |  3 --
 lisp/obsolete/mouse-sel.el           |  3 --
 lisp/obsolete/old-whitespace.el      |  1 -
 lisp/obsolete/tpu-edt.el             |  5 +--
 lisp/obsolete/tpu-extras.el          |  5 +--
 lisp/obsolete/xesam.el               |  3 --
 lisp/outline.el                      |  3 --
 lisp/paren.el                        |  3 --
 lisp/pixel-scroll.el                 |  5 +--
 lisp/progmodes/bug-reference.el      |  5 +--
 lisp/progmodes/compile.el            |  6 ---
 lisp/progmodes/cwarn.el              |  6 +--
 lisp/progmodes/flymake.el            |  3 --
 lisp/progmodes/gdb-mi.el             |  4 +-
 lisp/progmodes/glasses.el            |  7 ++--
 lisp/progmodes/gud.el                |  5 +--
 lisp/progmodes/hideif.el             |  3 --
 lisp/progmodes/hideshow.el           |  3 --
 lisp/progmodes/idlw-shell.el         |  3 --
 lisp/progmodes/pascal.el             |  3 --
 lisp/progmodes/prog-mode.el          |  3 --
 lisp/progmodes/subword.el            |  6 ---
 lisp/progmodes/vhdl-mode.el          | 10 +----
 lisp/progmodes/which-func.el         |  3 --
 lisp/recentf.el                      |  3 --
 lisp/rect.el                         |  1 +
 lisp/reveal.el                       |  9 +----
 lisp/rfn-eshadow.el                  |  3 --
 lisp/ruler-mode.el                   |  5 +--
 lisp/savehist.el                     |  3 --
 lisp/saveplace.el                    |  3 --
 lisp/scroll-all.el                   |  3 --
 lisp/scroll-bar.el                   |  6 ---
 lisp/scroll-lock.el                  | 11 +++---
 lisp/server.el                       |  3 --
 lisp/shell.el                        |  3 --
 lisp/simple.el                       | 58 ++++------------------------
 lisp/strokes.el                      |  3 --
 lisp/t-mouse.el                      |  3 --
 lisp/tar-mode.el                     | 10 ++---
 lisp/term/tvi970.el                  |  3 --
 lisp/term/vt100.el                   |  5 +--
 lisp/textmodes/artist.el             |  2 +-
 lisp/textmodes/enriched.el           |  4 --
 lisp/textmodes/flyspell.el           |  3 --
 lisp/textmodes/ispell.el             |  3 --
 lisp/textmodes/nroff-mode.el         |  3 --
 lisp/textmodes/paragraphs.el         |  3 --
 lisp/textmodes/refill.el             |  3 --
 lisp/textmodes/rst.el                |  3 --
 lisp/textmodes/sgml-mode.el          |  6 ---
 lisp/textmodes/tex-mode.el           |  3 --
 lisp/time.el                         |  3 --
 lisp/tool-bar.el                     |  3 --
 lisp/tooltip.el                      |  3 --
 lisp/type-break.el                   |  9 -----
 lisp/url/url-dired.el                |  3 --
 lisp/url/url-handlers.el             |  5 +--
 lisp/vc/diff-mode.el                 |  6 ---
 lisp/vc/smerge-mode.el               |  4 +-
 lisp/vcursor.el                      |  3 +-
 lisp/view.el                         |  3 --
 lisp/whitespace.el                   | 20 ----------
 lisp/wid-browse.el                   |  5 +--
 lisp/winner.el                       |  3 --
 lisp/xt-mouse.el                     |  3 --
 133 files changed, 129 insertions(+), 618 deletions(-)

diff --git a/lisp/abbrev.el b/lisp/abbrev.el
index fd2f36e198..cddce8f529 100644
--- a/lisp/abbrev.el
+++ b/lisp/abbrev.el
@@ -56,9 +56,6 @@ only-global-abbrevs
 
 (define-minor-mode abbrev-mode
   "Toggle Abbrev mode in the current buffer.
-With a prefix argument ARG, enable Abbrev mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Abbrev mode if ARG is omitted or nil.
 
 In Abbrev mode, inserting an abbreviation causes it to expand and
 be replaced by its expansion."
diff --git a/lisp/allout-widgets.el b/lisp/allout-widgets.el
index 71b1b39008..5abd9788dd 100644
--- a/lisp/allout-widgets.el
+++ b/lisp/allout-widgets.el
@@ -513,9 +513,6 @@ allout-widgets-last-decoration-timing
 ;;;###autoload
 (define-minor-mode allout-widgets-mode
   "Toggle Allout Widgets mode.
-With a prefix argument ARG, enable Allout Widgets mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Allout Widgets mode is an extension of Allout mode that provides
 graphical decoration of outline structure.  It is meant to
diff --git a/lisp/allout.el b/lisp/allout.el
index 26e7f6b56c..a123ece9b9 100644
--- a/lisp/allout.el
+++ b/lisp/allout.el
@@ -1693,9 +1693,6 @@ allout-overlay-preparations
 (define-minor-mode allout-mode
 ;;;_    . Doc string:
   "Toggle Allout outline mode.
-With a prefix argument ARG, enable Allout outline mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 \\<allout-mode-map-value>
 Allout outline mode is a minor mode that provides extensive
diff --git a/lisp/autoarg.el b/lisp/autoarg.el
index 096bdefc1a..4bf5785c7d 100644
--- a/lisp/autoarg.el
+++ b/lisp/autoarg.el
@@ -90,9 +90,6 @@ autoarg-kp-mode-map
 ;;;###autoload
 (define-minor-mode autoarg-mode
   "Toggle Autoarg mode, a global minor mode.
-With a prefix argument ARG, enable Autoarg mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 \\<autoarg-mode-map>
 In Autoarg mode, digits are bound to `digit-argument', i.e. they
@@ -116,9 +113,6 @@ autoarg-mode
 ;;;###autoload
 (define-minor-mode autoarg-kp-mode
   "Toggle Autoarg-KP mode, a global minor mode.
-With a prefix argument ARG, enable Autoarg-KP mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 \\<autoarg-kp-mode-map>
 This is similar to `autoarg-mode' but rebinds the keypad keys
diff --git a/lisp/autoinsert.el b/lisp/autoinsert.el
index 7858041440..cb0d15196f 100644
--- a/lisp/autoinsert.el
+++ b/lisp/autoinsert.el
@@ -412,9 +412,6 @@ define-auto-insert
 ;;;###autoload
 (define-minor-mode auto-insert-mode
   "Toggle Auto-insert mode, a global minor mode.
-With a prefix argument ARG, enable Auto-insert mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Auto-insert mode is enabled, when new files are created you can
 insert a template for the file depending on the mode of the buffer."
diff --git a/lisp/autorevert.el b/lisp/autorevert.el
index 0a9d3bef54..c60fe010a3 100644
--- a/lisp/autorevert.el
+++ b/lisp/autorevert.el
@@ -351,9 +351,6 @@ auto-revert-remove-current-buffer
 ;;;###autoload
 (define-minor-mode auto-revert-mode
   "Toggle reverting buffer when the file changes (Auto-Revert Mode).
-With a prefix argument ARG, enable Auto-Revert Mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Auto-Revert Mode is a minor mode that affects only the current
 buffer.  When enabled, it reverts the buffer when the file on
@@ -393,9 +390,6 @@ turn-on-auto-revert-mode
 ;;;###autoload
 (define-minor-mode auto-revert-tail-mode
   "Toggle reverting tail of buffer when the file grows.
-With a prefix argument ARG, enable Auto-Revert Tail Mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Auto-Revert Tail Mode is enabled, the tail of the file is
 constantly followed, as with the shell command `tail -f'.  This
@@ -460,9 +454,6 @@ turn-on-auto-revert-tail-mode
 ;;;###autoload
 (define-minor-mode global-auto-revert-mode
   "Toggle Global Auto-Revert Mode.
-With a prefix argument ARG, enable Global Auto-Revert Mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 Global Auto-Revert Mode is a global minor mode that reverts any
 buffer associated with a file when the file changes on disk.  Use
diff --git a/lisp/battery.el b/lisp/battery.el
index ca17ae8fc3..192a6ae898 100644
--- a/lisp/battery.el
+++ b/lisp/battery.el
@@ -175,9 +175,6 @@ battery
 ;;;###autoload
 (define-minor-mode display-battery-mode
   "Toggle battery status display in mode line (Display Battery mode).
-With a prefix argument ARG, enable Display Battery mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 The text displayed in the mode line is controlled by
 `battery-mode-line-format' and `battery-status-function'.
diff --git a/lisp/cedet/ede.el b/lisp/cedet/ede.el
index 5bbc2d0f85..1168f26842 100644
--- a/lisp/cedet/ede.el
+++ b/lisp/cedet/ede.el
@@ -475,9 +475,6 @@ ede-turn-on-hook
 
 (define-minor-mode ede-minor-mode
   "Toggle EDE (Emacs Development Environment) minor mode.
-With a prefix argument ARG, enable EDE minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-EDE minor mode if ARG is omitted or nil.
 
 If this file is contained, or could be contained in an EDE
 controlled project, then this mode is activated automatically
@@ -563,9 +560,6 @@ ede-reset-all-buffers
 ;;;###autoload
 (define-minor-mode global-ede-mode
   "Toggle global EDE (Emacs Development Environment) mode.
-With a prefix argument ARG, enable global EDE mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 This global minor mode enables `ede-minor-mode' in all buffers in
 an EDE controlled project."
diff --git a/lisp/cedet/ede/dired.el b/lisp/cedet/ede/dired.el
index 33afc7e547..9600d3dd34 100644
--- a/lisp/cedet/ede/dired.el
+++ b/lisp/cedet/ede/dired.el
@@ -59,9 +59,7 @@ ede-dired-keymap
 
 ;;;###autoload
 (define-minor-mode ede-dired-minor-mode
-  "A minor mode that should only be activated in DIRED buffers.
-If ARG is nil or a positive number, force on, if
-negative, force off."
+  "A minor mode that should only be activated in DIRED buffers."
   :lighter " EDE" :keymap ede-dired-keymap
   (unless (derived-mode-p 'dired-mode)
     (setq ede-dired-minor-mode nil)
diff --git a/lisp/cedet/semantic.el b/lisp/cedet/semantic.el
index b24e2fbbb1..f0a1e6bb5a 100644
--- a/lisp/cedet/semantic.el
+++ b/lisp/cedet/semantic.el
@@ -1096,9 +1096,6 @@ semantic-default-submodes
 ;;;###autoload
 (define-minor-mode semantic-mode
   "Toggle parser features (Semantic mode).
-With a prefix argument ARG, enable Semantic mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Semantic mode if ARG is omitted or nil.
 
 In Semantic mode, Emacs parses the buffers you visit for their
 semantic content.  This information is used by a variety of
diff --git a/lisp/cedet/semantic/db-mode.el b/lisp/cedet/semantic/db-mode.el
index e6a2340b8c..638f2915f0 100644
--- a/lisp/cedet/semantic/db-mode.el
+++ b/lisp/cedet/semantic/db-mode.el
@@ -56,7 +56,6 @@ 'semanticdb-global-mode
 ;;;###autoload
 (define-minor-mode global-semanticdb-minor-mode
   "Toggle Semantic DB mode.
-With ARG, turn Semantic DB mode on if ARG is positive, off otherwise.
 
 In Semantic DB mode, Semantic parsers store results in a
 database, which can be saved for future Emacs sessions."
diff --git a/lisp/cedet/semantic/decorate/mode.el b/lisp/cedet/semantic/decorate/mode.el
index 100e221ce3..77a8471e27 100644
--- a/lisp/cedet/semantic/decorate/mode.el
+++ b/lisp/cedet/semantic/decorate/mode.el
@@ -249,13 +249,13 @@ semantic-decoration-mode-hook
 
 (define-minor-mode semantic-decoration-mode
   "Minor mode for decorating tags.
-Decorations are specified in `semantic-decoration-styles'.
-You can define new decoration styles with
+Decorations are specified in `semantic-decoration-styles'.  You
+can define new decoration styles with
 `define-semantic-decoration-style'.
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
 ;;
 ;;\\{semantic-decoration-map}"
   nil nil nil
diff --git a/lisp/cedet/semantic/idle.el b/lisp/cedet/semantic/idle.el
index 56398d0627..07b7af8942 100644
--- a/lisp/cedet/semantic/idle.el
+++ b/lisp/cedet/semantic/idle.el
@@ -172,11 +172,9 @@ semantic-idle-scheduler-mode
 is enabled, Emacs periodically checks to see if the buffer is out of
 date, and reparses while the user is idle (not typing.)
 
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
-  nil nil nil
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."  nil nil nil
   (if semantic-idle-scheduler-mode
       (if (not (and (featurep 'semantic) (semantic-active-p)))
           (progn
@@ -776,8 +774,6 @@ semantic-idle-summary-idle-function
 
 (define-minor-mode semantic-idle-summary-mode
   "Toggle Semantic Idle Summary mode.
-With ARG, turn Semantic Idle Summary mode on if ARG is positive,
-off otherwise.
 
 When this minor mode is enabled, the echo area displays a summary
 of the lexical token at point whenever Emacs is idle."
@@ -812,8 +808,6 @@ semantic-idle-summary-refresh-echo-area
 
 (define-minor-mode global-semantic-idle-summary-mode
   "Toggle Global Semantic Idle Summary mode.
-With ARG, turn Global Semantic Idle Summary mode on if ARG is
-positive, off otherwise.
 
 When this minor mode is enabled, `semantic-idle-summary-mode' is
 turned on in every Semantic-supported buffer."
@@ -931,9 +925,10 @@ semantic-idle-local-symbol-highlight
 ;;;###autoload
 (define-minor-mode global-semantic-idle-scheduler-mode
   "Toggle global use of option `semantic-idle-scheduler-mode'.
-The idle scheduler will automatically reparse buffers in idle time,
-and then schedule other jobs setup with `semantic-idle-scheduler-add'.
-If ARG is positive or nil, enable, if it is negative, disable."
+
+The idle scheduler will automatically reparse buffers in idle
+time, and then schedule other jobs setup with
+`semantic-idle-scheduler-add'."
   :global t
   :group 'semantic
   :group 'semantic-modes
diff --git a/lisp/cedet/semantic/mru-bookmark.el b/lisp/cedet/semantic/mru-bookmark.el
index ad63014890..5789881d38 100644
--- a/lisp/cedet/semantic/mru-bookmark.el
+++ b/lisp/cedet/semantic/mru-bookmark.el
@@ -252,8 +252,7 @@ global-semantic-mru-bookmark-mode
 
 ;;;###autoload
 (define-minor-mode global-semantic-mru-bookmark-mode
-  "Toggle global use of option `semantic-mru-bookmark-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-mru-bookmark-mode'."
   :global t :group 'semantic :group 'semantic-modes
   ;; Not needed because it's autoloaded instead.
   ;; :require 'semantic-util-modes
@@ -278,10 +277,9 @@ semantic-mru-bookmark-mode
 
 \\{semantic-mru-bookmark-mode-map}
 
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
   :keymap semantic-mru-bookmark-mode-map
   (if semantic-mru-bookmark-mode
       (if (not (and (featurep 'semantic) (semantic-active-p)))
diff --git a/lisp/cedet/semantic/util-modes.el b/lisp/cedet/semantic/util-modes.el
index 54c9578773..180aca5b60 100644
--- a/lisp/cedet/semantic/util-modes.el
+++ b/lisp/cedet/semantic/util-modes.el
@@ -170,8 +170,7 @@ semantic-toggle-minor-mode-globally
 
 ;;;###autoload
 (define-minor-mode global-semantic-highlight-edits-mode
-  "Toggle global use of option `semantic-highlight-edits-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-highlight-edits-mode'."
   :global t :group 'semantic :group 'semantic-modes
   (semantic-toggle-minor-mode-globally
    'semantic-highlight-edits-mode
@@ -209,10 +208,10 @@ semantic-highlight-edits-mode
 properly.
 This mode will highlight those changes as they are made, and clear them
 when the incremental parser accounts for those edits.
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
   :keymap semantic-highlight-edits-mode-map
   (if semantic-highlight-edits-mode
       (if (not (and (featurep 'semantic) (semantic-active-p)))
@@ -237,8 +236,7 @@ semantic-highlight-edits-mode
 
 ;;;###autoload
 (define-minor-mode global-semantic-show-unmatched-syntax-mode
-  "Toggle global use of option `semantic-show-unmatched-syntax-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-show-unmatched-syntax-mode'."
   :global t :group 'semantic :group 'semantic-modes
   ;; Not needed because it's autoloaded instead.
   ;; :require 'semantic/util-modes
@@ -360,10 +358,9 @@ semantic-show-unmatched-syntax-mode
 Often time, the display of unmatched syntax can expose coding
 problems before the compiler is run.
 
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled.
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled.
 
 \\{semantic-show-unmatched-syntax-mode-map}"
   :keymap semantic-show-unmatched-syntax-mode-map
@@ -410,8 +407,7 @@ semantic-show-unmatched-syntax-next
 
 ;;;###autoload
 (define-minor-mode global-semantic-show-parser-state-mode
-  "Toggle global use of option `semantic-show-parser-state-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-show-parser-state-mode'."
   :global t :group 'semantic
   ;; Not needed because it's autoloaded instead.
   ;; :require 'semantic/util-modes
@@ -440,10 +436,10 @@ semantic-show-parser-state-mode
  `~'  ->  The cache needs to be incrementally parsed.
  `%'  ->  The cache is not currently parsable.
  `@'  ->  Auto-parse in progress (not set here.)
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
   :keymap semantic-show-parser-state-mode-map
   (if semantic-show-parser-state-mode
       (if (not (and (featurep 'semantic) (semantic-active-p)))
@@ -557,8 +553,7 @@ semantic-show-parser-state-auto-marker
 
 ;;;###autoload
 (define-minor-mode global-semantic-stickyfunc-mode
-  "Toggle global use of option `semantic-stickyfunc-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-stickyfunc-mode'."
   :global t :group 'semantic :group 'semantic-modes
   ;; Not needed because it's autoloaded instead.
   ;; :require 'semantic/util-modes
@@ -700,10 +695,9 @@ semantic-stickyfunc-mode
 first line which describes the rest of the construct.  This first
 line is what is displayed in the header line.
 
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
   ;; Don't need indicator.  It's quite visible
   :keymap semantic-stickyfunc-mode-map
   (if semantic-stickyfunc-mode
@@ -837,8 +831,7 @@ semantic-stickyfunc-menu
 
 ;;;###autoload
 (define-minor-mode global-semantic-highlight-func-mode
-  "Toggle global use of option `semantic-highlight-func-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-highlight-func-mode'."
   :global t :group 'semantic :group 'semantic-modes
   ;; Not needed because it's autoloaded instead.
   ;; :require 'semantic/util-modes
@@ -933,10 +926,9 @@ semantic-highlight-func-mode
 header line.  This mode recycles the stickyfunc configuration
 classes list.
 
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
   :lighter nil ;; Don't need indicator.  It's quite visible.
   (if semantic-highlight-func-mode
       (progn
diff --git a/lisp/cedet/srecode/mode.el b/lisp/cedet/srecode/mode.el
index 76e7e08761..28e8b3b64e 100644
--- a/lisp/cedet/srecode/mode.el
+++ b/lisp/cedet/srecode/mode.el
@@ -148,10 +148,10 @@ srecode-mode-map
 ;;;###autoload
 (define-minor-mode srecode-minor-mode
   "Toggle srecode minor mode.
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled.
+
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled.
 
 \\{srecode-mode-map}"
   :keymap srecode-mode-map
@@ -176,8 +176,7 @@ srecode-minor-mode
 
 ;;;###autoload
 (define-minor-mode global-srecode-minor-mode
-  "Toggle global use of srecode minor mode.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of srecode minor mode."
   :global t :group 'srecode
   ;; Not needed because it's autoloaded instead.
   ;; :require 'srecode/mode
diff --git a/lisp/completion.el b/lisp/completion.el
index 2ddf0999e4..66b413f6af 100644
--- a/lisp/completion.el
+++ b/lisp/completion.el
@@ -2275,10 +2275,7 @@ completion-saved-bindings
 
 ;;;###autoload
 (define-minor-mode dynamic-completion-mode
-  "Toggle dynamic word-completion on or off.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Toggle dynamic word-completion on or off."
   :global t
   :group 'completion
   ;; This is always good, not specific to dynamic-completion-mode.
diff --git a/lisp/composite.el b/lisp/composite.el
index 76949fb582..7daea54c9e 100644
--- a/lisp/composite.el
+++ b/lisp/composite.el
@@ -829,9 +829,6 @@ auto-compose-chars
 ;;;###autoload
 (define-minor-mode auto-composition-mode
   "Toggle Auto Composition mode.
-With a prefix argument ARG, enable Auto Composition mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Auto Composition mode is enabled, text characters are
 automatically composed by functions registered in
@@ -847,9 +844,6 @@ auto-composition-mode
 ;;;###autoload
 (define-minor-mode global-auto-composition-mode
   "Toggle Auto Composition mode in all buffers.
-With a prefix argument ARG, enable it if ARG is positive, and
-disable it otherwise.  If called from Lisp, enable it if ARG is
-omitted or nil.
 
 For more information on Auto Composition mode, see
 `auto-composition-mode' ."
diff --git a/lisp/delsel.el b/lisp/delsel.el
index bfccdc6a4c..a3c2934947 100644
--- a/lisp/delsel.el
+++ b/lisp/delsel.el
@@ -70,12 +70,6 @@ 'pending-delete-mode
 ;;;###autoload
 (define-minor-mode delete-selection-mode
   "Toggle Delete Selection mode.
-Interactively, with a prefix argument, enable
-Delete Selection mode if the prefix argument is positive,
-and disable it otherwise.  If called from Lisp, toggle
-the mode if ARG is `toggle', disable the mode if ARG is
-a non-positive integer, and enable the mode otherwise
-\(including if ARG is omitted or nil or a positive integer).
 
 When Delete Selection mode is enabled, typed text replaces the selection
 if the selection is active.  Otherwise, typed text is just inserted at
diff --git a/lisp/desktop.el b/lisp/desktop.el
index 3e1ba200b5..a9fa2873b3 100644
--- a/lisp/desktop.el
+++ b/lisp/desktop.el
@@ -161,9 +161,6 @@ desktop
 ;;;###autoload
 (define-minor-mode desktop-save-mode
   "Toggle desktop saving (Desktop Save mode).
-With a prefix argument ARG, enable Desktop Save mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode if ARG
-is omitted or nil.
 
 When Desktop Save mode is enabled, the state of Emacs is saved from
 one session to another.  In particular, Emacs will save the desktop when
diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index 4517dedeeb..f07a5deb4f 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -139,9 +139,6 @@ dired-omit-case-fold-p
 
 (define-minor-mode dired-omit-mode
   "Toggle omission of uninteresting files in Dired (Dired-Omit mode).
-With a prefix argument ARG, enable Dired-Omit mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Dired-Omit mode is a buffer-local minor mode.  When enabled in a
 Dired buffer, Dired does not list files whose filenames match
diff --git a/lisp/dirtrack.el b/lisp/dirtrack.el
index e5e1497c4d..862268d49b 100644
--- a/lisp/dirtrack.el
+++ b/lisp/dirtrack.el
@@ -184,9 +184,6 @@ 'dirtrackp
 ;;;###autoload
 (define-minor-mode dirtrack-mode
   "Toggle directory tracking in shell buffers (Dirtrack mode).
-With a prefix argument ARG, enable Dirtrack mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 This method requires that your shell prompt contain the current
 working directory at all times, and that you set the variable
@@ -205,10 +202,7 @@ 'dirtrack-debug-toggle
   "23.1")
 (define-obsolete-variable-alias 'dirtrack-debug 'dirtrack-debug-mode "23.1")
 (define-minor-mode dirtrack-debug-mode
-  "Toggle Dirtrack debugging.
-With a prefix argument ARG, enable Dirtrack debugging if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle Dirtrack debugging."
   nil nil nil
   (if dirtrack-debug-mode
       (display-buffer (get-buffer-create dirtrack-debug-buffer))))
diff --git a/lisp/doc-view.el b/lisp/doc-view.el
index 970e12402d..017b6c5fd9 100644
--- a/lisp/doc-view.el
+++ b/lisp/doc-view.el
@@ -1859,9 +1859,6 @@ doc-view-mode-maybe
 ;;;###autoload
 (define-minor-mode doc-view-minor-mode
   "Toggle displaying buffer via Doc View (Doc View minor mode).
-With a prefix argument ARG, enable Doc View minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 See the command `doc-view-mode' for more information on this mode."
   nil " DocView" doc-view-minor-mode-map
diff --git a/lisp/double.el b/lisp/double.el
index 4334a4ca70..b21fe5bc20 100644
--- a/lisp/double.el
+++ b/lisp/double.el
@@ -150,9 +150,6 @@ double-translate-key
 ;;;###autoload
 (define-minor-mode double-mode
   "Toggle special insertion on double keypresses (Double mode).
-With a prefix argument ARG, enable Double mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Double mode is enabled, some keys will insert different
 strings when pressed twice.  See `double-map' for details."
diff --git a/lisp/elec-pair.el b/lisp/elec-pair.el
index 85c25f0469..7df7098295 100644
--- a/lisp/elec-pair.el
+++ b/lisp/elec-pair.el
@@ -581,9 +581,6 @@ electric-pair-mode-map
 ;;;###autoload
 (define-minor-mode electric-pair-mode
   "Toggle automatic parens pairing (Electric Pair mode).
-With a prefix argument ARG, enable Electric Pair mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Electric Pair mode is a global minor mode.  When enabled, typing
 an open parenthesis automatically inserts the corresponding
diff --git a/lisp/electric.el b/lisp/electric.el
index c00e7c00a5..72a3978344 100644
--- a/lisp/electric.el
+++ b/lisp/electric.el
@@ -314,9 +314,6 @@ electric-newline-and-maybe-indent
 ;;;###autoload
 (define-minor-mode electric-indent-mode
   "Toggle on-the-fly reindentation (Electric Indent mode).
-With a prefix argument ARG, enable Electric Indent mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When enabled, this reindents whenever the hook `electric-indent-functions'
 returns non-nil, or if you insert a character from `electric-indent-chars'.
@@ -400,9 +397,7 @@ electric-layout-post-self-insert-function
 ;;;###autoload
 (define-minor-mode electric-layout-mode
   "Automatically insert newlines around some chars.
-With a prefix argument ARG, enable Electric Layout mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
+
 The variable `electric-layout-rules' says when and how to insert newlines."
   :global t :group 'electricity
   (cond (electric-layout-mode
@@ -540,9 +535,6 @@ electric-quote-post-self-insert-function
 ;;;###autoload
 (define-minor-mode electric-quote-mode
   "Toggle on-the-fly requoting (Electric Quote mode).
-With a prefix argument ARG, enable Electric Quote mode if
-ARG is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When enabled, as you type this replaces \\=` with ‘, \\=' with ’,
 \\=`\\=` with “, and \\='\\=' with ”.  This occurs only in comments, strings,
diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el
index 300a3908c1..1b3b23d887 100644
--- a/lisp/emacs-lisp/checkdoc.el
+++ b/lisp/emacs-lisp/checkdoc.el
@@ -1237,9 +1237,6 @@ checkdoc-minor-mode-map
 ;;;###autoload
 (define-minor-mode checkdoc-minor-mode
   "Toggle automatic docstring checking (Checkdoc minor mode).
-With a prefix argument ARG, enable Checkdoc minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 In Checkdoc minor mode, the usual bindings for `eval-defun' which is
 bound to \\<checkdoc-minor-mode-map>\\[checkdoc-eval-defun] and `checkdoc-eval-current-buffer' are overridden to include
diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el
index a81b6fefb2..c9184ed82a 100644
--- a/lisp/emacs-lisp/easy-mmode.el
+++ b/lisp/emacs-lisp/easy-mmode.el
@@ -81,6 +81,22 @@ easy-mmode-pretty-mode-name
       ;; space.)
       (replace-regexp-in-string (regexp-quote lighter) lighter name t t))))
 
+(defconst easy-mmode-arg-docstring
+  "If called interactively, enable %s if ARG is positive, and
+disable it otherwise.  If called from Lisp, enable the mode if
+ARG is omitted or nil, and toggle it if ARG is `toggle'. Disable
+the mode otherwise")
+
+(defun easy-mmode-mode-docstring (doc mode-pretty-name keymap-sym)
+  (let ((doc (or doc (format "Toggle %s on or off.
+\\{%s}" mode-pretty-name keymap-sym))))
+    (if (string-match-p "\bARG\b" doc)
+        doc
+      (concat doc
+              "\n\n"
+                              (format easy-mmode-arg-docstring
+                        mode-pretty-name)))))
+
 ;;;###autoload
 (defalias 'easy-mmode-define-minor-mode 'define-minor-mode)
 ;;;###autoload
@@ -101,7 +117,9 @@ define-minor-mode
 if the argument is omitted or nil or a positive integer).
 
 If DOC is nil, give the mode command a basic doc-string
-documenting what its argument does.
+documenting what its argument does. If the word \"ARG\" does not
+appear in DOC, a paragraph will be to appended to DOC explaining
+usages of the mode argument.
 
 Optional INIT-VALUE is the initial value of the mode's variable.
 Optional LIGHTER is displayed in the mode line when the mode is on.
@@ -270,12 +288,7 @@ define-minor-mode
 
        ;; The actual function.
        (defun ,modefun (&optional arg ,@extra-args)
-	 ,(or doc
-	      (format (concat "Toggle %s on or off.
-With a prefix argument ARG, enable %s if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'.
-\\{%s}") pretty-name pretty-name keymap-sym))
+         ,(easy-mmode-mode-docstring doc pretty-name keymap-sym)
 	 ;; Use `toggle' rather than (if ,mode 0 1) so that using
 	 ;; repeat-command still does the toggling correctly.
 	 (interactive (list (or current-prefix-arg 'toggle)))
diff --git a/lisp/emacs-lisp/eldoc.el b/lisp/emacs-lisp/eldoc.el
index a662265f4b..49ba71fb1b 100644
--- a/lisp/emacs-lisp/eldoc.el
+++ b/lisp/emacs-lisp/eldoc.el
@@ -177,9 +177,6 @@ eldoc-edit-message-commands
 ;;;###autoload
 (define-minor-mode eldoc-mode
   "Toggle echo area display of Lisp objects at point (ElDoc mode).
-With a prefix argument ARG, enable ElDoc mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable ElDoc mode
-if ARG is omitted or nil.
 
 ElDoc mode is a buffer-local minor mode.  When enabled, the echo
 area displays information about a function or variable in the
diff --git a/lisp/emacs-lock.el b/lisp/emacs-lock.el
index b6e28fb253..0733c3326c 100644
--- a/lisp/emacs-lock.el
+++ b/lisp/emacs-lock.el
@@ -189,9 +189,7 @@ emacs-lock--set-mode
 (define-minor-mode emacs-lock-mode
   "Toggle Emacs Lock mode in the current buffer.
 If called with a plain prefix argument, ask for the locking mode
-to be used.  With any other prefix ARG, turn mode on if ARG is
-positive, off otherwise.  If called from Lisp, enable the mode if
-ARG is omitted or nil.
+to be used.
 
 Initially, if the user does not pass an explicit locking mode, it
 defaults to `emacs-lock-default-locking-mode' (which see);
diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el
index ff23484dd0..f1143425eb 100644
--- a/lisp/emulation/cua-base.el
+++ b/lisp/emulation/cua-base.el
@@ -1318,9 +1318,6 @@ delete-selection-save-to-register
 ;;;###autoload
 (define-minor-mode cua-mode
   "Toggle Common User Access style editing (CUA mode).
-With a prefix argument ARG, enable CUA mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 CUA mode is a global minor mode.  When enabled, typed text
 replaces the active selection, and you can use C-z, C-x, C-c, and
diff --git a/lisp/epa-hook.el b/lisp/epa-hook.el
index 135c956c3f..19f131cc33 100644
--- a/lisp/epa-hook.el
+++ b/lisp/epa-hook.el
@@ -83,10 +83,7 @@ epa-file-find-file-hook
       (auto-save-mode 0)))
 
 (define-minor-mode auto-encryption-mode
-  "Toggle automatic file encryption/decryption (Auto Encryption mode).
-With a prefix argument ARG, enable Auto Encryption mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle automatic file encryption/decryption (Auto Encryption mode)."
   :global t :init-value t :group 'epa-file :version "23.1"
   ;; We'd like to use custom-initialize-set here so the setup is done
   ;; before dumping, but at the point where the defcustom is evaluated,
diff --git a/lisp/epa-mail.el b/lisp/epa-mail.el
index 7f4c28e967..008593712b 100644
--- a/lisp/epa-mail.el
+++ b/lisp/epa-mail.el
@@ -47,10 +47,7 @@ epa-mail-mode-off-hook
 
 ;;;###autoload
 (define-minor-mode epa-mail-mode
-  "A minor-mode for composing encrypted/clearsigned mails.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "A minor-mode for composing encrypted/clearsigned mails."
   nil " epa-mail" epa-mail-mode-map)
 
 (defun epa-mail--find-usable-key (keys usage)
@@ -238,10 +235,7 @@ epa-mail-import-keys
 
 ;;;###autoload
 (define-minor-mode epa-global-mail-mode
-  "Minor mode to hook EasyPG into Mail mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode to hook EasyPG into Mail mode."
   :global t :init-value nil :group 'epa-mail :version "23.1"
   (remove-hook 'mail-mode-hook 'epa-mail-mode)
   (if epa-global-mail-mode
diff --git a/lisp/erc/erc-track.el b/lisp/erc/erc-track.el
index 7817a0799e..cae18f6093 100644
--- a/lisp/erc/erc-track.el
+++ b/lisp/erc/erc-track.el
@@ -495,9 +495,6 @@ erc-track-minor-mode-map
 ;;;###autoload
 (define-minor-mode erc-track-minor-mode
   "Toggle mode line display of ERC activity (ERC Track minor mode).
-With a prefix argument ARG, enable ERC Track minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 ERC Track minor mode is a global minor mode.  It exists for the
 sole purpose of providing the C-c C-SPC and C-c C-@ keybindings.
diff --git a/lisp/face-remap.el b/lisp/face-remap.el
index 476736773b..c6a976deb0 100644
--- a/lisp/face-remap.el
+++ b/lisp/face-remap.el
@@ -229,9 +229,6 @@ text-scale-mode-amount
 
 (define-minor-mode text-scale-mode
   "Minor mode for displaying buffer text in a larger/smaller font.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 The amount of scaling is determined by the variable
 `text-scale-mode-amount': one step scales the global default
@@ -387,10 +384,9 @@ buffer-face-mode-remapping
 ;;;###autoload
 (define-minor-mode buffer-face-mode
   "Minor mode for a buffer-specific default face.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.  When enabled, the face specified by the
-variable `buffer-face-mode-face' is used to display the buffer text."
+
+When enabled, the face specified by the variable
+`buffer-face-mode-face' is used to display the buffer text."
   :lighter " BufFace"
   (when buffer-face-mode-remapping
     (face-remap-remove-relative buffer-face-mode-remapping))
diff --git a/lisp/files.el b/lisp/files.el
index 398e6dc12b..31e2f39a8d 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -419,14 +419,10 @@ auto-save-visited-interval
 
 (define-minor-mode auto-save-visited-mode
   "Toggle automatic saving to file-visiting buffers on or off.
-With a prefix argument ARG, enable regular saving of all buffers
-visiting a file if ARG is positive, and disable it otherwise.
+
 Unlike `auto-save-mode', this mode will auto-save buffer contents
 to the visited files directly and will also run all save-related
-hooks.  See Info node `Saving' for details of the save process.
-
-If called from Lisp, enable the mode if ARG is omitted or nil,
-and toggle it if ARG is `toggle'."
+hooks.  See Info node `Saving' for details of the save process."
   :group 'auto-save
   :global t
   (when auto-save--timer (cancel-timer auto-save--timer))
diff --git a/lisp/follow.el b/lisp/follow.el
index fd397c077b..7aa7b51473 100644
--- a/lisp/follow.el
+++ b/lisp/follow.el
@@ -383,9 +383,6 @@ turn-off-follow-mode
 ;;;###autoload
 (define-minor-mode follow-mode
   "Toggle Follow mode.
-With a prefix argument ARG, enable Follow mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Follow mode is a minor mode that combines windows into one tall
 virtual window.  This is accomplished by two main techniques:
diff --git a/lisp/font-core.el b/lisp/font-core.el
index ace1476eda..c5b036e04f 100644
--- a/lisp/font-core.el
+++ b/lisp/font-core.el
@@ -78,9 +78,6 @@ font-lock-major-mode
 
 (define-minor-mode font-lock-mode
   "Toggle syntax highlighting in this buffer (Font Lock mode).
-With a prefix argument ARG, enable Font Lock mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Font Lock mode is enabled, text is fontified as you type it:
 
diff --git a/lisp/frame.el b/lisp/frame.el
index 70b4b242a0..56b8c5487c 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -1382,9 +1382,6 @@ set-border-color
 
 (define-minor-mode auto-raise-mode
   "Toggle whether or not selected frames should auto-raise.
-With a prefix argument ARG, enable Auto Raise mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Auto Raise mode does nothing under most window managers, which
 switch focus on mouse clicks.  It only has an effect if your
@@ -1402,9 +1399,6 @@ auto-raise-mode
 
 (define-minor-mode auto-lower-mode
   "Toggle whether or not the selected frame should auto-lower.
-With a prefix argument ARG, enable Auto Lower mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Auto Lower mode does nothing under most window managers, which
 switch focus on mouse clicks.  It only has an effect if your
@@ -2297,9 +2291,6 @@ window-divider-mode-apply
 
 (define-minor-mode window-divider-mode
   "Display dividers between windows (Window Divider mode).
-With a prefix argument ARG, enable Window Divider mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 The option `window-divider-default-places' specifies on which
 side of a window dividers are displayed.  The options
@@ -2450,9 +2441,6 @@ blink-cursor--rescan-frames
 
 (define-minor-mode blink-cursor-mode
   "Toggle cursor blinking (Blink Cursor mode).
-With a prefix argument ARG, enable Blink Cursor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 If the value of `blink-cursor-blinks' is positive (10 by default),
 the cursor stops blinking after that number of blinks, if Emacs
diff --git a/lisp/help.el b/lisp/help.el
index 985d9c567a..28288e57f6 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -1107,9 +1107,6 @@ temp-buffer-max-width
 
 (define-minor-mode temp-buffer-resize-mode
   "Toggle auto-resizing temporary buffer windows (Temp Buffer Resize Mode).
-With a prefix argument ARG, enable Temp Buffer Resize mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Temp Buffer Resize mode is enabled, the windows in which we
 show a temporary buffer are automatically resized in height to
diff --git a/lisp/hexl.el b/lisp/hexl.el
index f37be9d410..f3b5d7d4cc 100644
--- a/lisp/hexl.el
+++ b/lisp/hexl.el
@@ -997,6 +997,7 @@ hexl-insert-octal-char
 
 (define-minor-mode hexl-follow-ascii-mode
   "Minor mode to follow ASCII in current Hexl buffer.
+
 When following is enabled, the ASCII character corresponding to the
 element under the point is highlighted.
 The default activation is controlled by `hexl-follow-ascii'."
diff --git a/lisp/hi-lock.el b/lisp/hi-lock.el
index f3a329f467..13ebffb1af 100644
--- a/lisp/hi-lock.el
+++ b/lisp/hi-lock.el
@@ -289,9 +289,6 @@ hi-lock-map
 ;;;###autoload
 (define-minor-mode hi-lock-mode
   "Toggle selective highlighting of patterns (Hi Lock mode).
-With a prefix argument ARG, enable Hi Lock mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Hi Lock mode is automatically enabled when you invoke any of the
 highlighting commands listed below, such as \\[highlight-regexp].
diff --git a/lisp/hilit-chg.el b/lisp/hilit-chg.el
index 9d4d2d8b38..70bf6b44b9 100644
--- a/lisp/hilit-chg.el
+++ b/lisp/hilit-chg.el
@@ -319,9 +319,6 @@ hilit-chg-string
 ;;;###autoload
 (define-minor-mode highlight-changes-mode
   "Toggle highlighting changes in this buffer (Highlight Changes mode).
-With a prefix argument ARG, enable Highlight Changes mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Highlight Changes is enabled, changes are marked with a text
 property.  Normally they are displayed in a distinctive face, but
@@ -360,9 +357,6 @@ highlight-changes-mode
 ;;;###autoload
 (define-minor-mode highlight-changes-visible-mode
   "Toggle visibility of highlighting due to Highlight Changes mode.
-With a prefix argument ARG, enable Highlight Changes Visible mode
-if ARG is positive, and disable it otherwise.  If called from
-Lisp, enable the mode if ARG is omitted or nil.
 
 Highlight Changes Visible mode only has an effect when Highlight
 Changes mode is on.  When enabled, the changed text is displayed
diff --git a/lisp/hl-line.el b/lisp/hl-line.el
index fc75b478c8..f0ee22a1da 100644
--- a/lisp/hl-line.el
+++ b/lisp/hl-line.el
@@ -132,9 +132,6 @@ hl-line-overlay-buffer
 ;;;###autoload
 (define-minor-mode hl-line-mode
   "Toggle highlighting of the current line (Hl-Line mode).
-With a prefix argument ARG, enable Hl-Line mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Hl-Line mode is a buffer-local minor mode.  If
 `hl-line-sticky-flag' is non-nil, Hl-Line mode highlights the
@@ -203,9 +200,6 @@ hl-line-maybe-unhighlight
 ;;;###autoload
 (define-minor-mode global-hl-line-mode
   "Toggle line highlighting in all buffers (Global Hl-Line mode).
-With a prefix argument ARG, enable Global Hl-Line mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 If `global-hl-line-sticky-flag' is non-nil, Global Hl-Line mode
 highlights the line about the current buffer's point in all live
diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el
index a1adb1df35..d9949d2835 100644
--- a/lisp/ibuf-ext.el
+++ b/lisp/ibuf-ext.el
@@ -403,10 +403,7 @@ ibuffer-ext-visible-p
 
 ;;;###autoload
 (define-minor-mode ibuffer-auto-mode
-  "Toggle use of Ibuffer's auto-update facility (Ibuffer Auto mode).
-With a prefix argument ARG, enable Ibuffer Auto mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle use of Ibuffer's auto-update facility (Ibuffer Auto mode)."
   nil nil nil
   (unless (derived-mode-p 'ibuffer-mode)
     (error "This buffer is not in Ibuffer mode"))
diff --git a/lisp/icomplete.el b/lisp/icomplete.el
index b37db8869b..ad5a9d017d 100644
--- a/lisp/icomplete.el
+++ b/lisp/icomplete.el
@@ -194,9 +194,6 @@ icomplete-backward-completions
 ;;;###autoload
 (define-minor-mode icomplete-mode
   "Toggle incremental minibuffer completion (Icomplete mode).
-With a prefix argument ARG, enable Icomplete mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When this global minor mode is enabled, typing in the minibuffer
 continuously displays a list of possible completions that match
diff --git a/lisp/ido.el b/lisp/ido.el
index 705e7dd630..18cc03f0df 100644
--- a/lisp/ido.el
+++ b/lisp/ido.el
@@ -1579,10 +1579,7 @@ ido-common-initialization
   (add-hook 'choose-completion-string-functions 'ido-choose-completion-string))
 
 (define-minor-mode ido-everywhere
-  "Toggle use of Ido for all buffer/file reading.
-With a prefix argument ARG, enable this feature if ARG is
-positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil."
+  "Toggle use of Ido for all buffer/file reading."
   :global t
   :group 'ido
   (remove-function read-file-name-function #'ido-read-file-name)
diff --git a/lisp/image-file.el b/lisp/image-file.el
index 8a04afc25f..19dc7878a5 100644
--- a/lisp/image-file.el
+++ b/lisp/image-file.el
@@ -179,9 +179,6 @@ image-file-call-underlying
 ;;;###autoload
 (define-minor-mode auto-image-file-mode
   "Toggle visiting of image files as images (Auto Image File mode).
-With a prefix argument ARG, enable Auto Image File mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 An image file is one whose name has an extension in
 `image-file-name-extensions', or matches a regexp in
diff --git a/lisp/image-mode.el b/lisp/image-mode.el
index 0925c6ef9c..19fa28d440 100644
--- a/lisp/image-mode.el
+++ b/lisp/image-mode.el
@@ -617,9 +617,6 @@ image-mode
 ;;;###autoload
 (define-minor-mode image-minor-mode
   "Toggle Image minor mode in this buffer.
-With a prefix argument ARG, enable Image minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Image minor mode provides the key \\<image-mode-map>\\[image-toggle-display],
 to switch back to `image-mode' and display an image file as the
diff --git a/lisp/international/iso-ascii.el b/lisp/international/iso-ascii.el
index 0103d934b2..bcb285eda0 100644
--- a/lisp/international/iso-ascii.el
+++ b/lisp/international/iso-ascii.el
@@ -163,10 +163,7 @@ iso-ascii-display
 (iso-ascii-display 255 "\"y") ; small y with diaeresis or umlaut mark
 
 (define-minor-mode iso-ascii-mode
-  "Toggle ISO-ASCII mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Toggle ISO-ASCII mode."
   :variable ((eq standard-display-table iso-ascii-display-table)
              . (lambda (v)
                  (setq standard-display-table
diff --git a/lisp/jit-lock.el b/lisp/jit-lock.el
index df7272c12e..2b13c60bc6 100644
--- a/lisp/jit-lock.el
+++ b/lisp/jit-lock.el
@@ -266,6 +266,7 @@ jit-lock-mode
 
 (define-minor-mode jit-lock-debug-mode
   "Minor mode to help debug code run from jit-lock.
+
 When this minor mode is enabled, jit-lock runs as little code as possible
 during redisplay and moves the rest to a timer, where things
 like `debug-on-error' and Edebug can be used."
diff --git a/lisp/jka-cmpr-hook.el b/lisp/jka-cmpr-hook.el
index cca8ef703f..d800b60513 100644
--- a/lisp/jka-cmpr-hook.el
+++ b/lisp/jka-cmpr-hook.el
@@ -347,9 +347,6 @@ jka-compr-load-suffixes
 
 (define-minor-mode auto-compression-mode
   "Toggle Auto Compression mode.
-With a prefix argument ARG, enable Auto Compression mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 Auto Compression mode is a global minor mode.  When enabled,
 compressed files are automatically uncompressed for reading, and
diff --git a/lisp/language/thai-util.el b/lisp/language/thai-util.el
index b550b65a56..d6c9732a9e 100644
--- a/lisp/language/thai-util.el
+++ b/lisp/language/thai-util.el
@@ -256,11 +256,10 @@ thai-word-mode-map
 
 (define-minor-mode thai-word-mode
   "Minor mode to make word-oriented commands aware of Thai words.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.  The commands affected are
-\\[forward-word], \\[backward-word], \\[kill-word], \\[backward-kill-word],
-\\[transpose-words], and \\[fill-paragraph]."
+
+The commands affected are \\[forward-word], \\[backward-word],
+\\[kill-word], \\[backward-kill-word], \\[transpose-words], and
+\\[fill-paragraph]."
   :global t :group 'mule
   (cond (thai-word-mode
 	 ;; This enables linebreak between Thai characters.
diff --git a/lisp/linum.el b/lisp/linum.el
index 9df0c5d023..6e673e58b0 100644
--- a/lisp/linum.el
+++ b/lisp/linum.el
@@ -75,12 +75,10 @@ linum-delay
 ;;;###autoload
 (define-minor-mode linum-mode
   "Toggle display of line numbers in the left margin (Linum mode).
-With a prefix argument ARG, enable Linum mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 Linum mode is a buffer-local minor mode."
   :lighter ""                           ; for desktop.el
+  :append-arg-docstring t
   (if linum-mode
       (progn
         (if linum-eager
diff --git a/lisp/mail/footnote.el b/lisp/mail/footnote.el
index d35b87046f..f5d280ae1e 100644
--- a/lisp/mail/footnote.el
+++ b/lisp/mail/footnote.el
@@ -945,9 +945,6 @@ footnote-minor-mode-map
 ;;;###autoload
 (define-minor-mode footnote-mode
   "Toggle Footnote mode.
-With a prefix argument ARG, enable Footnote mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Footnote mode is a buffer-local minor mode.  If enabled, it
 provides footnote support for `message-mode'.  To get started,
diff --git a/lisp/mail/mailabbrev.el b/lisp/mail/mailabbrev.el
index ba1688f411..0ce1a3b12b 100644
--- a/lisp/mail/mailabbrev.el
+++ b/lisp/mail/mailabbrev.el
@@ -134,9 +134,6 @@ mail-abbrev
 ;;;###autoload
 (define-minor-mode mail-abbrevs-mode
   "Toggle abbrev expansion of mail aliases (Mail Abbrevs mode).
-With a prefix argument ARG, enable Mail Abbrevs mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Mail Abbrevs mode is a global minor mode.  When enabled,
 abbrev-like expansion is performed when editing certain mail
diff --git a/lisp/master.el b/lisp/master.el
index 4891c07166..7176897902 100644
--- a/lisp/master.el
+++ b/lisp/master.el
@@ -73,9 +73,6 @@ master-set-slave-hook
 ;;;###autoload
 (define-minor-mode master-mode
   "Toggle Master mode.
-With a prefix argument ARG, enable Master mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Master mode is enabled, you can scroll the slave buffer
 using the following commands:
diff --git a/lisp/mb-depth.el b/lisp/mb-depth.el
index e75e497999..84c73cadfa 100644
--- a/lisp/mb-depth.el
+++ b/lisp/mb-depth.el
@@ -58,9 +58,6 @@ minibuffer-depth-setup
 ;;;###autoload
 (define-minor-mode minibuffer-depth-indicate-mode
   "Toggle Minibuffer Depth Indication mode.
-With a prefix argument ARG, enable Minibuffer Depth Indication
-mode if ARG is positive, and disable it otherwise.  If called
-from Lisp, enable the mode if ARG is omitted or nil.
 
 Minibuffer Depth Indication mode is a global minor mode.  When
 enabled, any recursive use of the minibuffer will show the
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 25e016247b..ad59533e26 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -2285,9 +2285,6 @@ menu-bar-update-buffers
 \f
 (define-minor-mode menu-bar-mode
   "Toggle display of a menu bar on each frame (Menu Bar mode).
-With a prefix argument ARG, enable Menu Bar mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, also
-enable Menu Bar mode if ARG is omitted or nil.
 
 This command applies to all frames that exist and frames to be
 created in the future."
diff --git a/lisp/minibuf-eldef.el b/lisp/minibuf-eldef.el
index 07663ea6a6..a81e663589 100644
--- a/lisp/minibuf-eldef.el
+++ b/lisp/minibuf-eldef.el
@@ -163,9 +163,6 @@ minibuf-eldef-update-minibuffer
 ;;;###autoload
 (define-minor-mode minibuffer-electric-default-mode
   "Toggle Minibuffer Electric Default mode.
-With a prefix argument ARG, enable Minibuffer Electric Default
-mode if ARG is positive, and disable it otherwise.  If called
-from Lisp, enable the mode if ARG is omitted or nil.
 
 Minibuffer Electric Default mode is a global minor mode.  When
 enabled, minibuffer prompts that show a default value only show
diff --git a/lisp/msb.el b/lisp/msb.el
index 383f075bf9..91d83d2e4a 100644
--- a/lisp/msb.el
+++ b/lisp/msb.el
@@ -1132,9 +1132,6 @@ msb-mode-map
 ;;;###autoload
 (define-minor-mode msb-mode
   "Toggle Msb mode.
-With a prefix argument ARG, enable Msb mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 This mode overrides the binding(s) of `mouse-buffer-menu' to provide a
 different buffer menu using the function `msb'."
diff --git a/lisp/mwheel.el b/lisp/mwheel.el
index f055df9ee8..876659f1f7 100644
--- a/lisp/mwheel.el
+++ b/lisp/mwheel.el
@@ -309,10 +309,7 @@ mwheel-scroll
 (defvar mwheel-installed-bindings nil)
 
 (define-minor-mode mouse-wheel-mode
-  "Toggle mouse wheel support (Mouse Wheel mode).
-With a prefix argument ARG, enable Mouse Wheel mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle mouse wheel support (Mouse Wheel mode)."
   :init-value t
   ;; We'd like to use custom-initialize-set here so the setup is done
   ;; before dumping, but at the point where the defcustom is evaluated,
diff --git a/lisp/net/goto-addr.el b/lisp/net/goto-addr.el
index cc1cdd1518..db59df374b 100644
--- a/lisp/net/goto-addr.el
+++ b/lisp/net/goto-addr.el
@@ -270,10 +270,7 @@ goto-address
 
 ;;;###autoload
 (define-minor-mode goto-address-mode
-  "Minor mode to buttonize URLs and e-mail addresses in the current buffer.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode to buttonize URLs and e-mail addresses in the current buffer."
   nil
   ""
   nil
diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el
index abd969216f..5b63e0c34d 100644
--- a/lisp/net/rcirc.el
+++ b/lisp/net/rcirc.el
@@ -186,9 +186,6 @@ rcirc-prompt-start-marker
 
 (define-minor-mode rcirc-omit-mode
   "Toggle the hiding of \"uninteresting\" lines.
-With a prefix argument ARG, enable Rcirc-Omit mode if ARG is
-positive, and disable it otherwise. If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Uninteresting lines are those whose responses are listed in
 `rcirc-omit-responses'."
@@ -1353,10 +1350,7 @@ rcirc-multiline-minor-mode-map
   "Keymap for multiline mode in rcirc.")
 
 (define-minor-mode rcirc-multiline-minor-mode
-  "Minor mode for editing multiple lines in rcirc.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode for editing multiple lines in rcirc."
   :init-value nil
   :lighter " rcirc-mline"
   :keymap rcirc-multiline-minor-mode-map
@@ -1867,10 +1861,7 @@ rcirc-track-minor-mode-map
 
 ;;;###autoload
 (define-minor-mode rcirc-track-minor-mode
-  "Global minor mode for tracking activity in rcirc buffers.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Global minor mode for tracking activity in rcirc buffers."
   :init-value nil
   :lighter ""
   :keymap rcirc-track-minor-mode-map
diff --git a/lisp/obsolete/complete.el b/lisp/obsolete/complete.el
index ee6af77029..f5e4328d33 100644
--- a/lisp/obsolete/complete.el
+++ b/lisp/obsolete/complete.el
@@ -191,7 +191,6 @@ PC-goto-end
 ;;;###autoload
 (define-minor-mode partial-completion-mode
   "Toggle Partial Completion mode.
-With prefix ARG, turn Partial Completion mode on if ARG is positive.
 
 When Partial Completion mode is enabled, TAB (or M-TAB if `PC-meta-flag' is
 nil) is enhanced so that if some string is divided into words and each word is
diff --git a/lisp/obsolete/crisp.el b/lisp/obsolete/crisp.el
index 1d09d9e223..4bd555a72e 100644
--- a/lisp/obsolete/crisp.el
+++ b/lisp/obsolete/crisp.el
@@ -353,10 +353,7 @@ crisp-meta-x-wrapper
 
 ;;;###autoload
 (define-minor-mode crisp-mode
-  "Toggle CRiSP/Brief emulation (CRiSP mode).
-With a prefix argument ARG, enable CRiSP mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Toggle CRiSP/Brief emulation (CRiSP mode)."
   :keymap crisp-mode-map
   :lighter crisp-mode-mode-line-string
   (when crisp-mode
diff --git a/lisp/obsolete/iswitchb.el b/lisp/obsolete/iswitchb.el
index d03621df3c..6192368f8b 100644
--- a/lisp/obsolete/iswitchb.el
+++ b/lisp/obsolete/iswitchb.el
@@ -1417,9 +1417,6 @@ iswitchb-case
 ;;;###autoload
 (define-minor-mode iswitchb-mode
   "Toggle Iswitchb mode.
-With a prefix argument ARG, enable Iswitchb mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Iswitchb mode is a global minor mode that enables switching
 between buffers using substrings.  See `iswitchb' for details."
diff --git a/lisp/obsolete/longlines.el b/lisp/obsolete/longlines.el
index e3121dbd87..d07f7bf34b 100644
--- a/lisp/obsolete/longlines.el
+++ b/lisp/obsolete/longlines.el
@@ -97,9 +97,6 @@ message-indent-citation-function
 ;;;###autoload
 (define-minor-mode longlines-mode
   "Toggle Long Lines mode in this buffer.
-With a prefix argument ARG, enable Long Lines mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Long Lines mode is enabled, long lines are wrapped if they
 extend beyond `fill-column'.  The soft newlines used for line
diff --git a/lisp/obsolete/mouse-sel.el b/lisp/obsolete/mouse-sel.el
index 52e84f2117..f54bcf01c9 100644
--- a/lisp/obsolete/mouse-sel.el
+++ b/lisp/obsolete/mouse-sel.el
@@ -194,9 +194,6 @@ 'mouse-sel--ignore
 ;;;###autoload
 (define-minor-mode mouse-sel-mode
   "Toggle Mouse Sel mode.
-With a prefix argument ARG, enable Mouse Sel mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Mouse Sel mode is a global minor mode.  When enabled, mouse
 selection is enhanced in various ways:
diff --git a/lisp/obsolete/old-whitespace.el b/lisp/obsolete/old-whitespace.el
index 86dd5dc842..0c9fc32118 100644
--- a/lisp/obsolete/old-whitespace.el
+++ b/lisp/obsolete/old-whitespace.el
@@ -747,7 +747,6 @@ 'global-whitespace-mode
 ;;;###autoload
 (define-minor-mode whitespace-global-mode
   "Toggle using Whitespace mode in new buffers.
-With ARG, turn the mode on if ARG is positive, otherwise turn it off.
 
 When this mode is active, `whitespace-buffer' is added to
 `find-file-hook' and `kill-buffer-hook'."
diff --git a/lisp/obsolete/tpu-edt.el b/lisp/obsolete/tpu-edt.el
index 83b713d927..c047381ef7 100644
--- a/lisp/obsolete/tpu-edt.el
+++ b/lisp/obsolete/tpu-edt.el
@@ -980,10 +980,7 @@ tpu-quit
 ;;;
 ;;;###autoload
 (define-minor-mode tpu-edt-mode
-  "Toggle TPU/edt emulation on or off.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Toggle TPU/edt emulation on or off."
   :global t :group 'tpu
   (if tpu-edt-mode (tpu-edt-on) (tpu-edt-off)))
 
diff --git a/lisp/obsolete/tpu-extras.el b/lisp/obsolete/tpu-extras.el
index 8739e1b215..21006ff005 100644
--- a/lisp/obsolete/tpu-extras.el
+++ b/lisp/obsolete/tpu-extras.el
@@ -133,10 +133,7 @@ tpu-backward-char-like-tpu
 
 ;;;###autoload
 (define-minor-mode tpu-cursor-free-mode
-  "Minor mode to allow the cursor to move freely about the screen.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode to allow the cursor to move freely about the screen."
   :init-value nil
   (if (not tpu-cursor-free-mode)
       (tpu-trim-line-ends))
diff --git a/lisp/obsolete/xesam.el b/lisp/obsolete/xesam.el
index 1f3661d924..3e91b2c8df 100644
--- a/lisp/obsolete/xesam.el
+++ b/lisp/obsolete/xesam.el
@@ -512,9 +512,6 @@ xesam-mode
 
 (define-minor-mode xesam-minor-mode
   "Toggle Xesam minor mode.
-With a prefix argument ARG, enable Xesam minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Xesam minor mode is enabled, all text which matches a
 previous Xesam query in this buffer is highlighted."
diff --git a/lisp/outline.el b/lisp/outline.el
index 669935bbc1..59169e4189 100644
--- a/lisp/outline.el
+++ b/lisp/outline.el
@@ -299,9 +299,6 @@ outline-minor-mode-prefix
 ;;;###autoload
 (define-minor-mode outline-minor-mode
   "Toggle Outline minor mode.
-With a prefix argument ARG, enable Outline minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 See the command `outline-mode' for more information on this mode."
   nil " Outl" (list (cons [menu-bar] outline-minor-mode-menu-bar-map)
diff --git a/lisp/paren.el b/lisp/paren.el
index 467e5e985d..1cab6eb2be 100644
--- a/lisp/paren.el
+++ b/lisp/paren.el
@@ -100,9 +100,6 @@ show-paren--overlay-1
 ;;;###autoload
 (define-minor-mode show-paren-mode
   "Toggle visualization of matching parens (Show Paren mode).
-With a prefix argument ARG, enable Show Paren mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Show Paren mode is a global minor mode.  When enabled, any
 matching parenthesis is highlighted in `show-paren-style' after
diff --git a/lisp/pixel-scroll.el b/lisp/pixel-scroll.el
index d362419e0f..227580f4d4 100644
--- a/lisp/pixel-scroll.el
+++ b/lisp/pixel-scroll.el
@@ -105,10 +105,7 @@ pixel-scroll-in-rush-p
 
 ;;;###autoload
 (define-minor-mode pixel-scroll-mode
-  "A minor mode to scroll text pixel-by-pixel.
-With a prefix argument ARG, enable Pixel Scroll mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable Pixel Scroll mode
-if ARG is omitted or nil."
+  "A minor mode to scroll text pixel-by-pixel."
   :init-value nil
   :group 'scrolling
   :global t
diff --git a/lisp/progmodes/bug-reference.el b/lisp/progmodes/bug-reference.el
index d2b3af1972..75bd0ba51e 100644
--- a/lisp/progmodes/bug-reference.el
+++ b/lisp/progmodes/bug-reference.el
@@ -141,10 +141,7 @@ bug-reference-push-button
 
 ;;;###autoload
 (define-minor-mode bug-reference-mode
-  "Toggle hyperlinking bug references in the buffer (Bug Reference mode).
-With a prefix argument ARG, enable Bug Reference mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle hyperlinking bug references in the buffer (Bug Reference mode)."
   nil
   ""
   nil
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 15503ee0b2..7e7c18fb30 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -2164,9 +2164,6 @@ compilation--unsetup
 ;;;###autoload
 (define-minor-mode compilation-shell-minor-mode
   "Toggle Compilation Shell minor mode.
-With a prefix argument ARG, enable Compilation Shell minor mode
-if ARG is positive, and disable it otherwise.  If called from
-Lisp, enable the mode if ARG is omitted or nil.
 
 When Compilation Shell minor mode is enabled, all the
 error-parsing commands of the Compilation major mode are
@@ -2181,9 +2178,6 @@ compilation-shell-minor-mode
 ;;;###autoload
 (define-minor-mode compilation-minor-mode
   "Toggle Compilation minor mode.
-With a prefix argument ARG, enable Compilation minor mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Compilation minor mode is enabled, all the error-parsing
 commands of Compilation major mode are available.  See
diff --git a/lisp/progmodes/cwarn.el b/lisp/progmodes/cwarn.el
index a578896dbf..ff79b90956 100644
--- a/lisp/progmodes/cwarn.el
+++ b/lisp/progmodes/cwarn.el
@@ -180,11 +180,7 @@ cwarn-mode
 
 Note, in addition to enabling this minor mode, the major mode must
 be included in the variable `cwarn-configuration'.  By default C and
-C++ modes are included.
-
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+C++ modes are included."
   :group 'cwarn :lighter cwarn-mode-text
   (cwarn-font-lock-keywords cwarn-mode)
   (font-lock-flush))
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index e8bb3355a0..60d1660e5f 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -915,9 +915,6 @@ flymake-mode-map
 ;;;###autoload
 (define-minor-mode flymake-mode
   "Toggle Flymake mode on or off.
-With a prefix argument ARG, enable Flymake mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'.
 
 Flymake is an Emacs minor mode for on-the-fly syntax checking.
 Flymake collects diagnostic information from multiple sources,
diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el
index 88e34d8df9..6fee895e6a 100644
--- a/lisp/progmodes/gdb-mi.el
+++ b/lisp/progmodes/gdb-mi.el
@@ -1138,9 +1138,7 @@ gdb-delete-out-of-scope
   :version "22.2")
 
 (define-minor-mode gdb-speedbar-auto-raise
-  "Minor mode to automatically raise the speedbar for watch expressions.
-With prefix argument ARG, automatically raise speedbar if ARG is
-positive, otherwise don't automatically raise it."
+  "Minor mode to automatically raise the speedbar for watch expressions."
   :global t
   :group 'gdb
   :version "22.1")
diff --git a/lisp/progmodes/glasses.el b/lisp/progmodes/glasses.el
index c3e8ac35f3..f2bf209946 100644
--- a/lisp/progmodes/glasses.el
+++ b/lisp/progmodes/glasses.el
@@ -312,10 +312,9 @@ glasses-change
 ;;;###autoload
 (define-minor-mode glasses-mode
   "Minor mode for making identifiers likeThis readable.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.  When this mode is active, it tries to
-add virtual separators (like underscores) at places they belong to."
+
+When this mode is active, it tries to add virtual
+separators (like underscores) at places they belong to."
   :group 'glasses :lighter " o^o"
   (save-excursion
     (save-restriction
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 6826674a94..91b4a65edd 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -3363,10 +3363,7 @@ tooltip-mode
 
 ;;;###autoload
 (define-minor-mode gud-tooltip-mode
-  "Toggle the display of GUD tooltips.
-With a prefix argument ARG, enable the feature if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-it if ARG is omitted or nil."
+  "Toggle the display of GUD tooltips."
   :global t
   :group 'gud
   :group 'tooltip
diff --git a/lisp/progmodes/hideif.el b/lisp/progmodes/hideif.el
index 7ac1312d8d..ce7127a3d7 100644
--- a/lisp/progmodes/hideif.el
+++ b/lisp/progmodes/hideif.el
@@ -263,9 +263,6 @@ hif-outside-read-only
 ;;;###autoload
 (define-minor-mode hide-ifdef-mode
   "Toggle features to hide/show #ifdef blocks (Hide-Ifdef mode).
-With a prefix argument ARG, enable Hide-Ifdef mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Hide-Ifdef mode is a buffer-local minor mode for use with C and
 C-like major modes.  When enabled, code within #ifdef constructs
diff --git a/lisp/progmodes/hideshow.el b/lisp/progmodes/hideshow.el
index 799536cbf4..84b2147394 100644
--- a/lisp/progmodes/hideshow.el
+++ b/lisp/progmodes/hideshow.el
@@ -932,9 +932,6 @@ hs-hide-initial-comment-block
 ;;;###autoload
 (define-minor-mode hs-minor-mode
   "Minor mode to selectively hide/show code and comment blocks.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 When hideshow minor mode is on, the menu bar is augmented with hideshow
 commands and the hideshow commands are enabled.
diff --git a/lisp/progmodes/idlw-shell.el b/lisp/progmodes/idlw-shell.el
index dcb81f5a94..616341b0a2 100644
--- a/lisp/progmodes/idlw-shell.el
+++ b/lisp/progmodes/idlw-shell.el
@@ -4251,9 +4251,6 @@ idlwave-shell-electric-debug-buffers
 
 (define-minor-mode idlwave-shell-electric-debug-mode
   "Toggle Idlwave Shell Electric Debug mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 When Idlwave Shell Electric Debug mode is enabled, the Idlwave
 Shell debugging commands are available as single key sequences."
diff --git a/lisp/progmodes/pascal.el b/lisp/progmodes/pascal.el
index 58dc213d8a..6d13d328c5 100644
--- a/lisp/progmodes/pascal.el
+++ b/lisp/progmodes/pascal.el
@@ -1405,9 +1405,6 @@ pascal-outline-map
 
 (define-minor-mode pascal-outline-mode
   "Outline-line minor mode for Pascal mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 When enabled, portions of the text being edited may be made
 invisible.\\<pascal-outline-map>
diff --git a/lisp/progmodes/prog-mode.el b/lisp/progmodes/prog-mode.el
index 19269766c9..b1a17dfa3c 100644
--- a/lisp/progmodes/prog-mode.el
+++ b/lisp/progmodes/prog-mode.el
@@ -196,9 +196,6 @@ prettify-symbols--post-command-hook
 ;;;###autoload
 (define-minor-mode prettify-symbols-mode
   "Toggle Prettify Symbols mode.
-With a prefix argument ARG, enable Prettify Symbols mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Prettify Symbols mode and font-locking are enabled, symbols are
 prettified (displayed as composed characters) according to the rules
diff --git a/lisp/progmodes/subword.el b/lisp/progmodes/subword.el
index cbaa273a7a..ed71b862cf 100644
--- a/lisp/progmodes/subword.el
+++ b/lisp/progmodes/subword.el
@@ -93,9 +93,6 @@ subword-mode-map
 ;;;###autoload
 (define-minor-mode subword-mode
   "Toggle subword movement and editing (Subword mode).
-With a prefix argument ARG, enable Subword mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Subword mode is a buffer-local minor mode.  Enabling it changes
 the definition of a word so that word-based commands stop inside
@@ -269,9 +266,6 @@ superword-mode-map
 ;;;###autoload
 (define-minor-mode superword-mode
   "Toggle superword movement and editing (Superword mode).
-With a prefix argument ARG, enable Superword mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Superword mode is a buffer-local minor mode.  Enabling it changes
 the definition of words such that symbols characters are treated
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el
index f6cb2419de..e17b7f504e 100644
--- a/lisp/progmodes/vhdl-mode.el
+++ b/lisp/progmodes/vhdl-mode.el
@@ -8707,17 +8707,11 @@ vhdl-work-library
 ;;  Enabling/disabling
 
 (define-minor-mode vhdl-electric-mode
-  "Toggle VHDL electric mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable it if ARG
-is omitted or nil."
+  "Toggle VHDL electric mode."
   :global t :group 'vhdl-mode)
 
 (define-minor-mode vhdl-stutter-mode
-  "Toggle VHDL stuttering mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable it if ARG
-is omitted or nil."
+  "Toggle VHDL stuttering mode."
   :global t :group 'vhdl-mode)
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
diff --git a/lisp/progmodes/which-func.el b/lisp/progmodes/which-func.el
index 152f6d2293..7604be0c25 100644
--- a/lisp/progmodes/which-func.el
+++ b/lisp/progmodes/which-func.el
@@ -247,9 +247,6 @@ which-func-update-timer
 ;;;###autoload
 (define-minor-mode which-function-mode
   "Toggle mode line display of current function (Which Function mode).
-With a prefix argument ARG, enable Which Function mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Which Function mode is a global minor mode.  When enabled, the
 current function name is continuously displayed in the mode line,
diff --git a/lisp/recentf.el b/lisp/recentf.el
index c3c4e45922..e318486cde 100644
--- a/lisp/recentf.el
+++ b/lisp/recentf.el
@@ -1342,9 +1342,6 @@ recentf-mode-map
 ;;;###autoload
 (define-minor-mode recentf-mode
   "Toggle \"Open Recent\" menu (Recentf mode).
-With a prefix argument ARG, enable Recentf mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Recentf mode if ARG is omitted or nil.
 
 When Recentf mode is enabled, a \"Open Recent\" submenu is
 displayed in the \"File\" menu, containing a list of files that
diff --git a/lisp/rect.el b/lisp/rect.el
index ba13e12358..8ccf051ee1 100644
--- a/lisp/rect.el
+++ b/lisp/rect.el
@@ -604,6 +604,7 @@ rectangle-mark-mode-map
 ;;;###autoload
 (define-minor-mode rectangle-mark-mode
   "Toggle the region as rectangular.
+
 Activates the region if needed.  Only lasts until the region is deactivated."
   nil nil nil
   (rectangle--reset-crutches)
diff --git a/lisp/reveal.el b/lisp/reveal.el
index 2831c0cc01..a3ecfc490e 100644
--- a/lisp/reveal.el
+++ b/lisp/reveal.el
@@ -191,9 +191,6 @@ reveal-mode-map
 ;;;###autoload
 (define-minor-mode reveal-mode
   "Toggle uncloaking of invisible text near point (Reveal mode).
-With a prefix argument ARG, enable Reveal mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Reveal mode if ARG is omitted or nil.
 
 Reveal mode is a buffer-local minor mode.  When enabled, it
 reveals invisible text around point."
@@ -210,11 +207,7 @@ reveal-mode
 ;;;###autoload
 (define-minor-mode global-reveal-mode
   "Toggle Reveal mode in all buffers (Global Reveal mode).
-Reveal mode renders invisible text around point visible again.
-
-With a prefix argument ARG, enable Global Reveal mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+Reveal mode renders invisible text around point visible again."
   :global t :group 'reveal
   (setq-default reveal-mode global-reveal-mode)
   (if global-reveal-mode
diff --git a/lisp/rfn-eshadow.el b/lisp/rfn-eshadow.el
index 847db68a77..41fd8b5f97 100644
--- a/lisp/rfn-eshadow.el
+++ b/lisp/rfn-eshadow.el
@@ -209,9 +209,6 @@ rfn-eshadow-update-overlay
 \f
 (define-minor-mode file-name-shadow-mode
   "Toggle file-name shadowing in minibuffers (File-Name Shadow mode).
-With a prefix argument ARG, enable File-Name Shadow mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 File-Name Shadow mode is a global minor mode.  When enabled, any
 part of a filename being read in the minibuffer that would be
diff --git a/lisp/ruler-mode.el b/lisp/ruler-mode.el
index 02d5a211ba..366bd15041 100644
--- a/lisp/ruler-mode.el
+++ b/lisp/ruler-mode.el
@@ -591,10 +591,7 @@ ruler--save-header-line-format
 
 ;;;###autoload
 (define-minor-mode ruler-mode
-  "Toggle display of ruler in header line (Ruler mode).
-With a prefix argument ARG, enable Ruler mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Toggle display of ruler in header line (Ruler mode)."
   nil nil
   ruler-mode-map
   :group 'ruler-mode
diff --git a/lisp/savehist.el b/lisp/savehist.el
index 0a261b0b0c..e555450c20 100644
--- a/lisp/savehist.el
+++ b/lisp/savehist.el
@@ -171,9 +171,6 @@ savehist-loaded
 ;;;###autoload
 (define-minor-mode savehist-mode
   "Toggle saving of minibuffer history (Savehist mode).
-With a prefix argument ARG, enable Savehist mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Savehist mode is enabled, minibuffer history is saved
 periodically and when exiting Emacs.  When Savehist mode is
diff --git a/lisp/saveplace.el b/lisp/saveplace.el
index aeb6cf1de7..9d3f10ac35 100644
--- a/lisp/saveplace.el
+++ b/lisp/saveplace.el
@@ -160,9 +160,6 @@ save-place-local-mode
 or exit Emacs.  Visiting this file again will go to that position,
 even in a later Emacs session.
 
-If called with a prefix arg, the mode is enabled if and only if
-the argument is positive.
-
 To save places automatically in all files, put this in your init
 file:
 
diff --git a/lisp/scroll-all.el b/lisp/scroll-all.el
index dea15d58d8..c32960efba 100644
--- a/lisp/scroll-all.el
+++ b/lisp/scroll-all.el
@@ -102,9 +102,6 @@ scroll-all-check-to-scroll
 ;;;###autoload
 (define-minor-mode scroll-all-mode
   "Toggle shared scrolling in same-frame windows (Scroll-All mode).
-With a prefix argument ARG, enable Scroll-All mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Scroll-All mode is enabled, scrolling commands invoked in
 one window apply to all visible windows in the same frame."
diff --git a/lisp/scroll-bar.el b/lisp/scroll-bar.el
index dd4a8aab0e..4d1ad03fa5 100644
--- a/lisp/scroll-bar.el
+++ b/lisp/scroll-bar.el
@@ -133,9 +133,6 @@ get-scroll-bar-mode
 
 (define-minor-mode scroll-bar-mode
   "Toggle vertical scroll bars on all frames (Scroll Bar mode).
-With a prefix argument ARG, enable Scroll Bar mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 This command applies to all frames that exist and frames to be
 created in the future."
@@ -152,9 +149,6 @@ horizontal-scroll-bars-available-p
 
 (define-minor-mode horizontal-scroll-bar-mode
   "Toggle horizontal scroll bars on all frames (Horizontal Scroll Bar mode).
-With a prefix argument ARG, enable Horizontal Scroll Bar mode if
-ARG is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 This command applies to all frames that exist and frames to be
 created in the future."
diff --git a/lisp/scroll-lock.el b/lisp/scroll-lock.el
index 2ce0f4578b..123fbb2b37 100644
--- a/lisp/scroll-lock.el
+++ b/lisp/scroll-lock.el
@@ -49,12 +49,11 @@ scroll-lock-temporary-goal-column
 ;;;###autoload
 (define-minor-mode scroll-lock-mode
   "Buffer-local minor mode for pager-like scrolling.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.  When enabled, keys that normally move
-point by line or paragraph will scroll the buffer by the
-respective amount of lines instead and point will be kept
-vertically fixed relative to window boundaries during scrolling."
+
+When enabled, keys that normally move point by line or paragraph
+will scroll the buffer by the respective amount of lines instead
+and point will be kept vertically fixed relative to window
+boundaries during scrolling."
   :lighter " ScrLck"
   :keymap scroll-lock-mode-map
   (if scroll-lock-mode
diff --git a/lisp/server.el b/lisp/server.el
index ff03cbe622..00e202e5e8 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -770,9 +770,6 @@ server-running-p
 ;;;###autoload
 (define-minor-mode server-mode
   "Toggle Server mode.
-With a prefix argument ARG, enable Server mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Server mode if ARG is omitted or nil.
 
 Server mode runs a process that accepts commands from the
 `emacsclient' program.  See Info node `Emacs server' and
diff --git a/lisp/shell.el b/lisp/shell.el
index 91c65ed171..c78903b3e5 100644
--- a/lisp/shell.el
+++ b/lisp/shell.el
@@ -967,9 +967,6 @@ shell-extract-num
 
 (define-minor-mode shell-dirtrack-mode
   "Toggle directory tracking in this shell buffer (Shell Dirtrack mode).
-With a prefix argument ARG, enable Shell Dirtrack mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 The `dirtrack' package provides an alternative implementation of
 this feature; see the function `dirtrack-mode'."
diff --git a/lisp/simple.el b/lisp/simple.el
index f8c02c1dbf..e98cea78d4 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -401,9 +401,7 @@ next-error-follow-last-line
 
 (define-minor-mode next-error-follow-minor-mode
   "Minor mode for compilation, occur and diff modes.
-With a prefix argument ARG, enable mode if ARG is positive, and
-disable it otherwise.  If called from Lisp, enable mode if ARG is
-omitted or nil.
+
 When turned on, cursor motion in the compilation, grep, occur or diff
 buffer causes automatic display of the corresponding source code location."
   :group 'next-error :init-value nil :lighter " Fol"
@@ -5817,9 +5815,6 @@ handle-shift-selection
 
 (define-minor-mode transient-mark-mode
   "Toggle Transient Mark mode.
-With a prefix argument ARG, enable Transient Mark mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Transient Mark mode if ARG is omitted or nil.
 
 Transient Mark mode is a global minor mode.  When enabled, the
 region is highlighted with the `region' face whenever the mark
@@ -6854,12 +6849,6 @@ visual-line--saved-state
 
 (define-minor-mode visual-line-mode
   "Toggle visual line based editing (Visual Line mode) in the current buffer.
-Interactively, with a prefix argument, enable
-Visual Line mode if the prefix argument is positive,
-and disable it otherwise.  If called from Lisp, toggle
-the mode if ARG is `toggle', disable the mode if ARG is
-a non-positive integer, and enable the mode otherwise
-\(including if ARG is omitted or nil or a positive integer).
 
 When Visual Line mode is enabled, `word-wrap' is turned on in
 this buffer, and simple editing commands are redefined to act on
@@ -7290,12 +7279,6 @@ normal-auto-fill-function
 
 (define-minor-mode auto-fill-mode
   "Toggle automatic line breaking (Auto Fill mode).
-Interactively, with a prefix argument, enable
-Auto Fill mode if the prefix argument is positive,
-and disable it otherwise.  If called from Lisp, toggle
-the mode if ARG is `toggle', disable the mode if ARG is
-a non-positive integer, and enable the mode otherwise
-\(including if ARG is omitted or nil or a positive integer).
 
 When Auto Fill mode is enabled, inserting a space at a column
 beyond `current-fill-column' automatically breaks the line at a
@@ -7410,9 +7393,6 @@ overwrite-mode-binary
 
 (define-minor-mode overwrite-mode
   "Toggle Overwrite mode.
-With a prefix argument ARG, enable Overwrite mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Overwrite mode is enabled, printing characters typed in
 replace existing text on a one-for-one basis, rather than pushing
@@ -7426,9 +7406,6 @@ overwrite-mode
 
 (define-minor-mode binary-overwrite-mode
   "Toggle Binary Overwrite mode.
-With a prefix argument ARG, enable Binary Overwrite mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Binary Overwrite mode is enabled, printing characters typed
 in replace existing text.  Newlines are not treated specially, so
@@ -7446,9 +7423,6 @@ binary-overwrite-mode
 
 (define-minor-mode line-number-mode
   "Toggle line number display in the mode line (Line Number mode).
-With a prefix argument ARG, enable Line Number mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Line numbers do not appear for very large buffers and buffers
 with very long lines; see variables `line-number-display-limit'
@@ -7456,27 +7430,15 @@ line-number-mode
   :init-value t :global t :group 'mode-line)
 
 (define-minor-mode column-number-mode
-  "Toggle column number display in the mode line (Column Number mode).
-With a prefix argument ARG, enable Column Number mode if ARG is
-positive, and disable it otherwise.
-
-If called from Lisp, enable the mode if ARG is omitted or nil."
+  "Toggle column number display in the mode line (Column Number mode)."
   :global t :group 'mode-line)
 
 (define-minor-mode size-indication-mode
-  "Toggle buffer size display in the mode line (Size Indication mode).
-With a prefix argument ARG, enable Size Indication mode if ARG is
-positive, and disable it otherwise.
-
-If called from Lisp, enable the mode if ARG is omitted or nil."
+  "Toggle buffer size display in the mode line (Size Indication mode)."
   :global t :group 'mode-line)
 
 (define-minor-mode auto-save-mode
-  "Toggle auto-saving in the current buffer (Auto Save mode).
-With a prefix argument ARG, enable Auto Save mode if ARG is
-positive, and disable it otherwise.
-
-If called from Lisp, enable the mode if ARG is omitted or nil."
+  "Toggle auto-saving in the current buffer (Auto Save mode)."
   :variable ((and buffer-auto-save-file-name
                   ;; If auto-save is off because buffer has shrunk,
                   ;; then toggling should turn it on.
@@ -8687,9 +8649,6 @@ normal-erase-is-backspace-setup-frame
 
 (define-minor-mode normal-erase-is-backspace-mode
   "Toggle the Erase and Delete mode of the Backspace and Delete keys.
-With a prefix argument ARG, enable this feature if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 On window systems, when this mode is on, Delete is mapped to C-d
 and Backspace is mapped to DEL; when this mode is off, both
@@ -8766,9 +8725,9 @@ vis-mode-saved-buffer-invisibility-spec
 
 (define-minor-mode read-only-mode
   "Change whether the current buffer is read-only.
-With prefix argument ARG, make the buffer read-only if ARG is
-positive, otherwise make it writable.  If buffer is read-only
-and `view-read-only' is non-nil, enter view mode.
+
+If buffer is read-only and `view-read-only' is non-nil, enter
+view mode.
 
 Do not call this from a Lisp program unless you really intend to
 do the same thing as the \\[read-only-mode] command, including
@@ -8792,9 +8751,6 @@ read-only-mode
 
 (define-minor-mode visible-mode
   "Toggle making all invisible text temporarily visible (Visible mode).
-With a prefix argument ARG, enable Visible mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 This mode works by saving the value of `buffer-invisibility-spec'
 and setting it to nil."
diff --git a/lisp/strokes.el b/lisp/strokes.el
index 6ffcff73c2..d5c287c341 100644
--- a/lisp/strokes.el
+++ b/lisp/strokes.el
@@ -1388,9 +1388,6 @@ strokes-mode-map
 ;;;###autoload
 (define-minor-mode strokes-mode
   "Toggle Strokes mode, a global minor mode.
-With a prefix argument ARG, enable Strokes mode if ARG is
-positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 \\<strokes-mode-map>
 Strokes are pictographic mouse gestures which invoke commands.
diff --git a/lisp/t-mouse.el b/lisp/t-mouse.el
index 8a816fd444..3ad719d193 100644
--- a/lisp/t-mouse.el
+++ b/lisp/t-mouse.el
@@ -67,9 +67,6 @@ 't-mouse-mode
 ;;;###autoload
 (define-minor-mode gpm-mouse-mode
   "Toggle mouse support in GNU/Linux consoles (GPM Mouse mode).
-With a prefix argument ARG, enable GPM Mouse mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 This allows the use of the mouse when operating on a GNU/Linux console,
 in the same way as you can use the mouse under X11.
diff --git a/lisp/tar-mode.el b/lisp/tar-mode.el
index f7b14fab51..9860c8b30c 100644
--- a/lisp/tar-mode.el
+++ b/lisp/tar-mode.el
@@ -762,12 +762,10 @@ tar-mode
 
 (define-minor-mode tar-subfile-mode
   "Minor mode for editing an element of a tar-file.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.  This mode arranges for \"saving\" this
-buffer to write the data into the tar-file buffer that it came
-from.  The changes will actually appear on disk when you save the
-tar-file's buffer."
+
+This mode arranges for \"saving\" this buffer to write the data
+into the tar-file buffer that it came from.  The changes will
+actually appear on disk when you save the tar-file's buffer."
   ;; Don't do this, because it is redundant and wastes mode line space.
   ;; :lighter " TarFile"
   nil nil nil
diff --git a/lisp/term/tvi970.el b/lisp/term/tvi970.el
index 97687894ec..0c4b0ae73b 100644
--- a/lisp/term/tvi970.el
+++ b/lisp/term/tvi970.el
@@ -101,9 +101,6 @@ terminal-init-tvi970
 ;; Should keypad numbers send ordinary digits or distinct escape sequences?
 (define-minor-mode tvi970-set-keypad-mode
   "Toggle alternate keypad mode on TVI 970 keypad.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 In alternate keypad mode, the keys send distinct escape
 sequences, meaning that they can have their own bindings,
diff --git a/lisp/term/vt100.el b/lisp/term/vt100.el
index d40c550aff..b61e557e2f 100644
--- a/lisp/term/vt100.el
+++ b/lisp/term/vt100.el
@@ -39,10 +39,7 @@ terminal-init-vt100
 
 ;;; Controlling the screen width.
 (define-minor-mode vt100-wide-mode
-  "Toggle 132/80 column mode for vt100s.
-With a prefix argument ARG, switch to 132-column mode if ARG is
-positive, and 80-column mode otherwise.  If called from Lisp,
-switch to 132-column mode if ARG is omitted or nil."
+  "Toggle 132/80 column mode for vt100s."
   :global t :init-value (= (frame-width) 132)
   :group 'terminals
   (send-string-to-terminal (if vt100-wide-mode "\e[?3h" "\e[?3l"))
diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el
index 61ca0856bc..940a78ae92 100644
--- a/lisp/textmodes/artist.el
+++ b/lisp/textmodes/artist.el
@@ -1198,7 +1198,7 @@ artist-select-prev-op-in-list
 ;;;###autoload
 (define-minor-mode artist-mode
   "Toggle Artist mode.
-With argument ARG, turn Artist mode on if ARG is positive.
+
 Artist lets you draw lines, squares, rectangles and poly-lines,
 ellipses and circles with your mouse and/or keyboard.
 
diff --git a/lisp/textmodes/enriched.el b/lisp/textmodes/enriched.el
index 6b4c44a39e..f2065cbff9 100644
--- a/lisp/textmodes/enriched.el
+++ b/lisp/textmodes/enriched.el
@@ -210,10 +210,6 @@ enriched-mode
 These are files with embedded formatting information in the MIME standard
 text/enriched format.
 
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
-
 Turning the mode on or off runs `enriched-mode-hook'.
 
 More information about Enriched mode is available in the file
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index 9747f8e2eb..8ad6832880 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -505,9 +505,6 @@ flyspell-overlay
 ;;;###autoload
 (define-minor-mode flyspell-mode
   "Toggle on-the-fly spell checking (Flyspell mode).
-With a prefix argument ARG, enable Flyspell mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Flyspell mode is a buffer-local minor mode.  When enabled, it
 spawns a single Ispell process and checks each word.  The default
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index d1d47718f9..d80447e0a5 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -3695,9 +3695,6 @@ ispell-minor-keymap
 ;;;###autoload
 (define-minor-mode ispell-minor-mode
   "Toggle last-word spell checking (Ispell minor mode).
-With a prefix argument ARG, enable Ispell minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Ispell minor mode is a buffer-local minor mode.  When enabled,
 typing SPC or RET warns you if the previous word is incorrectly
diff --git a/lisp/textmodes/nroff-mode.el b/lisp/textmodes/nroff-mode.el
index 6955ed25e1..51a9f5820d 100644
--- a/lisp/textmodes/nroff-mode.el
+++ b/lisp/textmodes/nroff-mode.el
@@ -298,9 +298,6 @@ nroff-electric-newline
 
 (define-minor-mode nroff-electric-mode
   "Toggle automatic nroff request pairing (Nroff Electric mode).
-With a prefix argument ARG, enable Nroff Electric mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Nroff Electric mode is a buffer-local minor mode, for use with
 `nroff-mode'.  When enabled, Emacs checks for an nroff request at
diff --git a/lisp/textmodes/paragraphs.el b/lisp/textmodes/paragraphs.el
index 3e2784ca95..ee812566b9 100644
--- a/lisp/textmodes/paragraphs.el
+++ b/lisp/textmodes/paragraphs.el
@@ -36,9 +36,6 @@ paragraphs
 (put 'use-hard-newlines 'permanent-local t)
 (define-minor-mode use-hard-newlines
   "Toggle distinguishing between hard and soft newlines.
-With a prefix argument ARG, enable the feature if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-it if ARG is omitted or nil.
 
 When enabled, the functions `newline' and `open-line' add the
 text-property `hard' to newlines that they insert, and a line is
diff --git a/lisp/textmodes/refill.el b/lisp/textmodes/refill.el
index 1252afe417..229d6a24dd 100644
--- a/lisp/textmodes/refill.el
+++ b/lisp/textmodes/refill.el
@@ -213,9 +213,6 @@ refill-saved-state
 ;;;###autoload
 (define-minor-mode refill-mode
   "Toggle automatic refilling (Refill mode).
-With a prefix argument ARG, enable Refill mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Refill mode is a buffer-local minor mode.  When enabled, the
 current paragraph is refilled as you edit.  Self-inserting
diff --git a/lisp/textmodes/rst.el b/lisp/textmodes/rst.el
index 40d75a9db8..126804fdab 100644
--- a/lisp/textmodes/rst.el
+++ b/lisp/textmodes/rst.el
@@ -1411,9 +1411,6 @@ rst-mode
 ;;;###autoload
 (define-minor-mode rst-minor-mode
   "Toggle ReST minor mode.
-With a prefix argument ARG, enable ReST minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When ReST minor mode is enabled, the ReST mode keybindings
 are installed on top of the major mode bindings.  Use this
diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el
index 30ca11199d..470f4a348a 100644
--- a/lisp/textmodes/sgml-mode.el
+++ b/lisp/textmodes/sgml-mode.el
@@ -941,9 +941,6 @@ sgml-electric-tag-pair-flush-overlays
 
 (define-minor-mode sgml-electric-tag-pair-mode
   "Toggle SGML Electric Tag Pair mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 SGML Electric Tag Pair mode is a buffer-local minor mode for use
 with `sgml-mode' and related major modes.  When enabled, editing
@@ -2379,9 +2376,6 @@ html-imenu-index
 
 (define-minor-mode html-autoview-mode
   "Toggle viewing of HTML files on save (HTML Autoview mode).
-With a prefix argument ARG, enable HTML Autoview mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 HTML Autoview mode is a buffer-local minor mode for use with
 `html-mode'.  If enabled, saving the file automatically runs
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el
index c65b3b3ea2..c223af4769 100644
--- a/lisp/textmodes/tex-mode.el
+++ b/lisp/textmodes/tex-mode.el
@@ -713,9 +713,6 @@ tex-env-mark
 
 (define-minor-mode latex-electric-env-pair-mode
   "Toggle Latex Electric Env Pair mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable it if ARG
-is omitted or nil.
 
 Latex Electric Env Pair mode is a buffer-local minor mode for use
 with `latex-mode'.  When enabled, typing a \\begin or \\end tag
diff --git a/lisp/time.el b/lisp/time.el
index ab6b5b9632..94f7009953 100644
--- a/lisp/time.el
+++ b/lisp/time.el
@@ -488,9 +488,6 @@ display-time-file-nonempty-p
 ;;;###autoload
 (define-minor-mode display-time-mode
   "Toggle display of time, load level, and mail flag in mode lines.
-With a prefix argument ARG, enable Display Time mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-it if ARG is omitted or nil.
 
 When Display Time mode is enabled, it updates every minute (you
 can control the number of seconds between updates by customizing
diff --git a/lisp/tool-bar.el b/lisp/tool-bar.el
index 18f54dbac6..e2242cf6f7 100644
--- a/lisp/tool-bar.el
+++ b/lisp/tool-bar.el
@@ -44,9 +44,6 @@
 ;; when you are on a tty.  I hope that won't cause too much trouble -- rms.
 (define-minor-mode tool-bar-mode
   "Toggle the tool bar in all graphical frames (Tool Bar mode).
-With a prefix argument ARG, enable Tool Bar mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Tool Bar mode if ARG is omitted or nil.
 
 See `tool-bar-add-item' and `tool-bar-add-item-from-menu' for
 conveniently adding tool bar items."
diff --git a/lisp/tooltip.el b/lisp/tooltip.el
index 81df229a13..384d3d19db 100644
--- a/lisp/tooltip.el
+++ b/lisp/tooltip.el
@@ -42,9 +42,6 @@ tooltip
 
 (define-minor-mode tooltip-mode
   "Toggle Tooltip mode.
-With a prefix argument ARG, enable Tooltip mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 When this global minor mode is enabled, Emacs displays help
 text (e.g. for buttons and menu items that you put the mouse on)
diff --git a/lisp/type-break.el b/lisp/type-break.el
index 98947bac27..c7cdc46036 100644
--- a/lisp/type-break.el
+++ b/lisp/type-break.el
@@ -287,9 +287,6 @@ type-break-mode
 to find a good breaking point in his or her work, but be sufficiently
 annoying to discourage putting typing breaks off indefinitely.
 
-A negative prefix argument disables this mode.
-No argument or any non-negative argument enables it.
-
 The user may enable or disable this mode by setting the variable of the
 same name, though setting it in that way doesn't reschedule a break or
 reset the keystroke counter.
@@ -406,9 +403,6 @@ type-break-mode
 
 (define-minor-mode type-break-mode-line-message-mode
   "Toggle warnings about typing breaks in the mode line.
-With a prefix argument ARG, enable these warnings if ARG is
-positive, and disable them otherwise.  If called from Lisp,
-enable them if ARG is omitted or nil.
 
 The user may also enable or disable this mode simply by setting
 the variable of the same name.
@@ -423,9 +417,6 @@ type-break-mode-line-message-mode
 
 (define-minor-mode type-break-query-mode
   "Toggle typing break queries.
-With a prefix argument ARG, enable these queries if ARG is
-positive, and disable them otherwise.  If called from Lisp,
-enable them if ARG is omitted or nil.
 
 The user may also enable or disable this mode simply by setting
 the variable of the same name."
diff --git a/lisp/url/url-dired.el b/lisp/url/url-dired.el
index 784f70eb1f..b34ffa3057 100644
--- a/lisp/url/url-dired.el
+++ b/lisp/url/url-dired.el
@@ -44,9 +44,6 @@ url-dired-find-file-mouse
 
 (define-minor-mode url-dired-minor-mode
   "Minor mode for directory browsing.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
   :lighter " URL" :keymap url-dired-minor-mode-map)
 
 (defun url-find-file-dired (dir)
diff --git a/lisp/url/url-handlers.el b/lisp/url/url-handlers.el
index 98f9f1e373..3802c39b78 100644
--- a/lisp/url/url-handlers.el
+++ b/lisp/url/url-handlers.el
@@ -102,10 +102,7 @@ url-handler-regexp
 
 ;;;###autoload
 (define-minor-mode url-handler-mode
-  "Toggle using `url' library for URL filenames (URL Handler mode).
-With a prefix argument ARG, enable URL Handler mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle using `url' library for URL filenames (URL Handler mode)."
   :global t :group 'url
   ;; Remove old entry, if any.
   (setq file-name-handler-alist
diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el
index 1e2fbb97fc..e88ccece41 100644
--- a/lisp/vc/diff-mode.el
+++ b/lisp/vc/diff-mode.el
@@ -216,9 +216,6 @@ diff-minor-mode-prefix
 
 (define-minor-mode diff-auto-refine-mode
   "Toggle automatic diff hunk highlighting (Diff Auto Refine mode).
-With a prefix argument ARG, enable Diff Auto Refine mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 Diff Auto Refine mode is a buffer-local minor mode used with
 `diff-mode'.  When enabled, Emacs automatically highlights
@@ -1424,9 +1421,6 @@ diff-mode
 ;;;###autoload
 (define-minor-mode diff-minor-mode
   "Toggle Diff minor mode.
-With a prefix argument ARG, enable Diff minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 \\{diff-minor-mode-map}"
   :group 'diff-mode :lighter " Diff"
diff --git a/lisp/vc/smerge-mode.el b/lisp/vc/smerge-mode.el
index 99a074cf25..cb51fbab8e 100644
--- a/lisp/vc/smerge-mode.el
+++ b/lisp/vc/smerge-mode.el
@@ -1398,9 +1398,7 @@ smerge-parsep-re
 ;;;###autoload
 (define-minor-mode smerge-mode
   "Minor mode to simplify editing output from the diff3 program.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
+
 \\{smerge-mode-map}"
   :group 'smerge :lighter " SMerge"
   (when (and (boundp 'font-lock-mode) font-lock-mode)
diff --git a/lisp/vcursor.el b/lisp/vcursor.el
index 8974330452..ce7a895a62 100644
--- a/lisp/vcursor.el
+++ b/lisp/vcursor.el
@@ -815,8 +815,7 @@ vcursor-check
 
 (define-minor-mode vcursor-use-vcursor-map
   "Toggle the state of the vcursor key map.
-With a prefix argument ARG, enable it if ARG is positive, and disable
-it otherwise.  If called from Lisp, enable it if ARG is omitted or nil.
+
 When on, the keys defined in it are mapped directly on top of the main
 keymap, allowing you to move the vcursor with ordinary motion keys.
 An indication \"!VC\" appears in the mode list.  The effect is
diff --git a/lisp/view.el b/lisp/view.el
index cc328680e2..56f98a6db2 100644
--- a/lisp/view.el
+++ b/lisp/view.el
@@ -381,9 +381,6 @@ view-mode
   ;; bindings instead of using the \\[] construction.  The reason for this
   ;; is that most commands have more than one key binding.
   "Toggle View mode, a minor mode for viewing text but not editing it.
-With a prefix argument ARG, enable View mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable View mode
-if ARG is omitted or nil.
 
 When View mode is enabled, commands that do not change the buffer
 contents are available as usual.  Kill commands insert text in
diff --git a/lisp/whitespace.el b/lisp/whitespace.el
index c2827d3d51..d8249316e4 100644
--- a/lisp/whitespace.el
+++ b/lisp/whitespace.el
@@ -924,11 +924,6 @@ whitespace-action
 ;;;###autoload
 (define-minor-mode whitespace-mode
   "Toggle whitespace visualization (Whitespace mode).
-With a prefix argument ARG, enable Whitespace mode if ARG is
-positive, and disable it otherwise.
-
-If called from Lisp, also enables the mode if ARG is omitted or nil,
-and toggles it if ARG is `toggle'.
 
 See also `whitespace-style', `whitespace-newline' and
 `whitespace-display-mappings'."
@@ -949,11 +944,6 @@ whitespace-mode
 ;;;###autoload
 (define-minor-mode whitespace-newline-mode
   "Toggle newline visualization (Whitespace Newline mode).
-With a prefix argument ARG, enable Whitespace Newline mode if ARG
-is positive, and disable it otherwise.
-
-If called from Lisp, also enables the mode if ARG is omitted or nil,
-and toggles it if ARG is `toggle'.
 
 Use `whitespace-newline-mode' only for NEWLINE visualization
 exclusively.  For other visualizations, including NEWLINE
@@ -979,11 +969,6 @@ whitespace-newline-mode
 ;;;###autoload
 (define-minor-mode global-whitespace-mode
   "Toggle whitespace visualization globally (Global Whitespace mode).
-With a prefix argument ARG, enable Global Whitespace mode if ARG
-is positive, and disable it otherwise.
-
-If called from Lisp, also enables the mode if ARG is omitted or nil,
-and toggles it if ARG is `toggle'.
 
 See also `whitespace-style', `whitespace-newline' and
 `whitespace-display-mappings'."
@@ -1040,11 +1025,6 @@ whitespace-turn-on-if-enabled
 ;;;###autoload
 (define-minor-mode global-whitespace-newline-mode
   "Toggle global newline visualization (Global Whitespace Newline mode).
-With a prefix argument ARG, enable Global Whitespace Newline mode
-if ARG is positive, and disable it otherwise.
-
-If called from Lisp, also enables the mode if ARG is omitted or nil,
-and toggles it if ARG is `toggle'.
 
 Use `global-whitespace-newline-mode' only for NEWLINE
 visualization exclusively.  For other visualizations, including
diff --git a/lisp/wid-browse.el b/lisp/wid-browse.el
index db2be0cc90..d86e9cd2e2 100644
--- a/lisp/wid-browse.el
+++ b/lisp/wid-browse.el
@@ -269,10 +269,7 @@ widget-minor-mode-map
 
 ;;;###autoload
 (define-minor-mode widget-minor-mode
-  "Minor mode for traversing widgets.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode for traversing widgets."
   :lighter " Widget")
 
 ;;; The End:
diff --git a/lisp/winner.el b/lisp/winner.el
index 72b90b0e43..5e13a378a7 100644
--- a/lisp/winner.el
+++ b/lisp/winner.el
@@ -351,9 +351,6 @@ winner-mode-map
 ;;;###autoload
 (define-minor-mode winner-mode
   "Toggle Winner mode on or off.
-With a prefix argument ARG, enable Winner mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'.
 
 Winner mode is a global minor mode that records the changes in
 the window configuration (i.e. how the frames are partitioned
diff --git a/lisp/xt-mouse.el b/lisp/xt-mouse.el
index 8fb65d5bfa..da4af32e5e 100644
--- a/lisp/xt-mouse.el
+++ b/lisp/xt-mouse.el
@@ -312,9 +312,6 @@ xterm-mouse-event
 ;;;###autoload
 (define-minor-mode xterm-mouse-mode
   "Toggle XTerm mouse mode.
-With a prefix argument ARG, enable XTerm mouse mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Turn it on to use Emacs mouse commands, and off to use xterm mouse commands.
 This works in terminal emulators compatible with xterm.  It only
-- 
2.18.0


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

* bug#10754: define-minor-mode and doc of derived mode
  2018-06-27 21:26                               ` John Shahid
@ 2018-06-27 21:31                                 ` John Shahid
  2018-06-29  1:02                                   ` Stefan Monnier
  0 siblings, 1 reply; 28+ messages in thread
From: John Shahid @ 2018-06-27 21:31 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 10754

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


John Shahid <jvshahid@gmail.com> writes:

> Stefan Monnier <monnier@IRO.UMontreal.CA> writes:
>
>> The only problematic case would be if adding this paragraph would be
>> harmful.
>
> I went through all minor modes and removed any documentation related to
> ARG from the docstring that is supplied to `define-minor-mode'. IMHO, I
> like the change a lot. It removes 500-ish lines of documentation and
> fixes a lot of docstring that were incorrect.
>
> The only problematic modes are those with a large keymaps in the
> docstring. The argument doc paragraph ends up being outside the visible
> area on the screen which feels awkward. That said, I'm feel the benefit
> outweigh this awkwardness.
>
> Finally, I touched around 130 .el files. I wasn't sure if the commit
> message should reflect all those changes, given the change is somewhat
> systematic.

I forgot to update the commit message when I amended to the previous
commit.

Below is the final patch.


[-- Attachment #2: 0001-optionally-include-argument-description-in-minor-mod.patch --]
[-- Type: text/x-diff, Size: 117418 bytes --]

From f7edbf748b7158d7b15b69d71bc5224bc782e6ae Mon Sep 17 00:00:00 2001
From: John Shahid <jvshahid@gmail.com>
Date: Tue, 5 Jun 2018 19:56:12 -0400
Subject: [PATCH] optionally include argument description in minor mode DOC

* easy-mmode.el (define-minor-mode): append a parapgraph to the mode's
  docstring documenting the mode ARG usage if the supplied docstring
  didn't contain the word "ARG"

removed argument documetation from all minor modes.
---
 lisp/abbrev.el                       |  3 --
 lisp/allout-widgets.el               |  3 --
 lisp/allout.el                       |  3 --
 lisp/autoarg.el                      |  6 ---
 lisp/autoinsert.el                   |  3 --
 lisp/autorevert.el                   |  9 -----
 lisp/battery.el                      |  3 --
 lisp/cedet/ede.el                    |  6 ---
 lisp/cedet/ede/dired.el              |  4 +-
 lisp/cedet/semantic.el               |  3 --
 lisp/cedet/semantic/db-mode.el       |  1 -
 lisp/cedet/semantic/decorate/mode.el | 12 +++---
 lisp/cedet/semantic/idle.el          | 19 ++++-----
 lisp/cedet/semantic/mru-bookmark.el  | 10 ++---
 lisp/cedet/semantic/util-modes.el    | 52 +++++++++++--------------
 lisp/cedet/srecode/mode.el           | 11 +++---
 lisp/completion.el                   |  5 +--
 lisp/composite.el                    |  6 ---
 lisp/delsel.el                       |  6 ---
 lisp/desktop.el                      |  3 --
 lisp/dired-x.el                      |  3 --
 lisp/dirtrack.el                     |  8 +---
 lisp/doc-view.el                     |  3 --
 lisp/double.el                       |  3 --
 lisp/elec-pair.el                    |  3 --
 lisp/electric.el                     | 10 +----
 lisp/emacs-lisp/checkdoc.el          |  3 --
 lisp/emacs-lisp/easy-mmode.el        | 27 +++++++++----
 lisp/emacs-lisp/eldoc.el             |  3 --
 lisp/emacs-lock.el                   |  4 +-
 lisp/emulation/cua-base.el           |  3 --
 lisp/epa-hook.el                     |  5 +--
 lisp/epa-mail.el                     | 10 +----
 lisp/erc/erc-track.el                |  3 --
 lisp/face-remap.el                   | 10 ++---
 lisp/files.el                        |  8 +---
 lisp/follow.el                       |  3 --
 lisp/font-core.el                    |  3 --
 lisp/frame.el                        | 12 ------
 lisp/help.el                         |  3 --
 lisp/hexl.el                         |  1 +
 lisp/hi-lock.el                      |  3 --
 lisp/hilit-chg.el                    |  6 ---
 lisp/hl-line.el                      |  6 ---
 lisp/ibuf-ext.el                     |  5 +--
 lisp/icomplete.el                    |  3 --
 lisp/ido.el                          |  5 +--
 lisp/image-file.el                   |  3 --
 lisp/image-mode.el                   |  3 --
 lisp/international/iso-ascii.el      |  5 +--
 lisp/jit-lock.el                     |  1 +
 lisp/jka-cmpr-hook.el                |  3 --
 lisp/language/thai-util.el           |  9 ++---
 lisp/linum.el                        |  4 +-
 lisp/mail/footnote.el                |  3 --
 lisp/mail/mailabbrev.el              |  3 --
 lisp/master.el                       |  3 --
 lisp/mb-depth.el                     |  3 --
 lisp/menu-bar.el                     |  3 --
 lisp/minibuf-eldef.el                |  3 --
 lisp/msb.el                          |  3 --
 lisp/mwheel.el                       |  5 +--
 lisp/net/goto-addr.el                |  5 +--
 lisp/net/rcirc.el                    | 13 +------
 lisp/obsolete/complete.el            |  1 -
 lisp/obsolete/crisp.el               |  5 +--
 lisp/obsolete/iswitchb.el            |  3 --
 lisp/obsolete/longlines.el           |  3 --
 lisp/obsolete/mouse-sel.el           |  3 --
 lisp/obsolete/old-whitespace.el      |  1 -
 lisp/obsolete/tpu-edt.el             |  5 +--
 lisp/obsolete/tpu-extras.el          |  5 +--
 lisp/obsolete/xesam.el               |  3 --
 lisp/outline.el                      |  3 --
 lisp/paren.el                        |  3 --
 lisp/pixel-scroll.el                 |  5 +--
 lisp/progmodes/bug-reference.el      |  5 +--
 lisp/progmodes/compile.el            |  6 ---
 lisp/progmodes/cwarn.el              |  6 +--
 lisp/progmodes/flymake.el            |  3 --
 lisp/progmodes/gdb-mi.el             |  4 +-
 lisp/progmodes/glasses.el            |  7 ++--
 lisp/progmodes/gud.el                |  5 +--
 lisp/progmodes/hideif.el             |  3 --
 lisp/progmodes/hideshow.el           |  3 --
 lisp/progmodes/idlw-shell.el         |  3 --
 lisp/progmodes/pascal.el             |  3 --
 lisp/progmodes/prog-mode.el          |  3 --
 lisp/progmodes/subword.el            |  6 ---
 lisp/progmodes/vhdl-mode.el          | 10 +----
 lisp/progmodes/which-func.el         |  3 --
 lisp/recentf.el                      |  3 --
 lisp/rect.el                         |  1 +
 lisp/reveal.el                       |  9 +----
 lisp/rfn-eshadow.el                  |  3 --
 lisp/ruler-mode.el                   |  5 +--
 lisp/savehist.el                     |  3 --
 lisp/saveplace.el                    |  3 --
 lisp/scroll-all.el                   |  3 --
 lisp/scroll-bar.el                   |  6 ---
 lisp/scroll-lock.el                  | 11 +++---
 lisp/server.el                       |  3 --
 lisp/shell.el                        |  3 --
 lisp/simple.el                       | 58 ++++------------------------
 lisp/strokes.el                      |  3 --
 lisp/t-mouse.el                      |  3 --
 lisp/tar-mode.el                     | 10 ++---
 lisp/term/tvi970.el                  |  3 --
 lisp/term/vt100.el                   |  5 +--
 lisp/textmodes/artist.el             |  2 +-
 lisp/textmodes/enriched.el           |  4 --
 lisp/textmodes/flyspell.el           |  3 --
 lisp/textmodes/ispell.el             |  3 --
 lisp/textmodes/nroff-mode.el         |  3 --
 lisp/textmodes/paragraphs.el         |  3 --
 lisp/textmodes/refill.el             |  3 --
 lisp/textmodes/rst.el                |  3 --
 lisp/textmodes/sgml-mode.el          |  6 ---
 lisp/textmodes/tex-mode.el           |  3 --
 lisp/time.el                         |  3 --
 lisp/tool-bar.el                     |  3 --
 lisp/tooltip.el                      |  3 --
 lisp/type-break.el                   |  9 -----
 lisp/url/url-dired.el                |  3 --
 lisp/url/url-handlers.el             |  5 +--
 lisp/vc/diff-mode.el                 |  6 ---
 lisp/vc/smerge-mode.el               |  4 +-
 lisp/vcursor.el                      |  3 +-
 lisp/view.el                         |  3 --
 lisp/whitespace.el                   | 20 ----------
 lisp/wid-browse.el                   |  5 +--
 lisp/winner.el                       |  3 --
 lisp/xt-mouse.el                     |  3 --
 133 files changed, 129 insertions(+), 618 deletions(-)

diff --git a/lisp/abbrev.el b/lisp/abbrev.el
index fd2f36e198..cddce8f529 100644
--- a/lisp/abbrev.el
+++ b/lisp/abbrev.el
@@ -56,9 +56,6 @@ only-global-abbrevs
 
 (define-minor-mode abbrev-mode
   "Toggle Abbrev mode in the current buffer.
-With a prefix argument ARG, enable Abbrev mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Abbrev mode if ARG is omitted or nil.
 
 In Abbrev mode, inserting an abbreviation causes it to expand and
 be replaced by its expansion."
diff --git a/lisp/allout-widgets.el b/lisp/allout-widgets.el
index 71b1b39008..5abd9788dd 100644
--- a/lisp/allout-widgets.el
+++ b/lisp/allout-widgets.el
@@ -513,9 +513,6 @@ allout-widgets-last-decoration-timing
 ;;;###autoload
 (define-minor-mode allout-widgets-mode
   "Toggle Allout Widgets mode.
-With a prefix argument ARG, enable Allout Widgets mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Allout Widgets mode is an extension of Allout mode that provides
 graphical decoration of outline structure.  It is meant to
diff --git a/lisp/allout.el b/lisp/allout.el
index 26e7f6b56c..a123ece9b9 100644
--- a/lisp/allout.el
+++ b/lisp/allout.el
@@ -1693,9 +1693,6 @@ allout-overlay-preparations
 (define-minor-mode allout-mode
 ;;;_    . Doc string:
   "Toggle Allout outline mode.
-With a prefix argument ARG, enable Allout outline mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 \\<allout-mode-map-value>
 Allout outline mode is a minor mode that provides extensive
diff --git a/lisp/autoarg.el b/lisp/autoarg.el
index 096bdefc1a..4bf5785c7d 100644
--- a/lisp/autoarg.el
+++ b/lisp/autoarg.el
@@ -90,9 +90,6 @@ autoarg-kp-mode-map
 ;;;###autoload
 (define-minor-mode autoarg-mode
   "Toggle Autoarg mode, a global minor mode.
-With a prefix argument ARG, enable Autoarg mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 \\<autoarg-mode-map>
 In Autoarg mode, digits are bound to `digit-argument', i.e. they
@@ -116,9 +113,6 @@ autoarg-mode
 ;;;###autoload
 (define-minor-mode autoarg-kp-mode
   "Toggle Autoarg-KP mode, a global minor mode.
-With a prefix argument ARG, enable Autoarg-KP mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 \\<autoarg-kp-mode-map>
 This is similar to `autoarg-mode' but rebinds the keypad keys
diff --git a/lisp/autoinsert.el b/lisp/autoinsert.el
index 7858041440..cb0d15196f 100644
--- a/lisp/autoinsert.el
+++ b/lisp/autoinsert.el
@@ -412,9 +412,6 @@ define-auto-insert
 ;;;###autoload
 (define-minor-mode auto-insert-mode
   "Toggle Auto-insert mode, a global minor mode.
-With a prefix argument ARG, enable Auto-insert mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Auto-insert mode is enabled, when new files are created you can
 insert a template for the file depending on the mode of the buffer."
diff --git a/lisp/autorevert.el b/lisp/autorevert.el
index 0a9d3bef54..c60fe010a3 100644
--- a/lisp/autorevert.el
+++ b/lisp/autorevert.el
@@ -351,9 +351,6 @@ auto-revert-remove-current-buffer
 ;;;###autoload
 (define-minor-mode auto-revert-mode
   "Toggle reverting buffer when the file changes (Auto-Revert Mode).
-With a prefix argument ARG, enable Auto-Revert Mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Auto-Revert Mode is a minor mode that affects only the current
 buffer.  When enabled, it reverts the buffer when the file on
@@ -393,9 +390,6 @@ turn-on-auto-revert-mode
 ;;;###autoload
 (define-minor-mode auto-revert-tail-mode
   "Toggle reverting tail of buffer when the file grows.
-With a prefix argument ARG, enable Auto-Revert Tail Mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Auto-Revert Tail Mode is enabled, the tail of the file is
 constantly followed, as with the shell command `tail -f'.  This
@@ -460,9 +454,6 @@ turn-on-auto-revert-tail-mode
 ;;;###autoload
 (define-minor-mode global-auto-revert-mode
   "Toggle Global Auto-Revert Mode.
-With a prefix argument ARG, enable Global Auto-Revert Mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 Global Auto-Revert Mode is a global minor mode that reverts any
 buffer associated with a file when the file changes on disk.  Use
diff --git a/lisp/battery.el b/lisp/battery.el
index ca17ae8fc3..192a6ae898 100644
--- a/lisp/battery.el
+++ b/lisp/battery.el
@@ -175,9 +175,6 @@ battery
 ;;;###autoload
 (define-minor-mode display-battery-mode
   "Toggle battery status display in mode line (Display Battery mode).
-With a prefix argument ARG, enable Display Battery mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 The text displayed in the mode line is controlled by
 `battery-mode-line-format' and `battery-status-function'.
diff --git a/lisp/cedet/ede.el b/lisp/cedet/ede.el
index 5bbc2d0f85..1168f26842 100644
--- a/lisp/cedet/ede.el
+++ b/lisp/cedet/ede.el
@@ -475,9 +475,6 @@ ede-turn-on-hook
 
 (define-minor-mode ede-minor-mode
   "Toggle EDE (Emacs Development Environment) minor mode.
-With a prefix argument ARG, enable EDE minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-EDE minor mode if ARG is omitted or nil.
 
 If this file is contained, or could be contained in an EDE
 controlled project, then this mode is activated automatically
@@ -563,9 +560,6 @@ ede-reset-all-buffers
 ;;;###autoload
 (define-minor-mode global-ede-mode
   "Toggle global EDE (Emacs Development Environment) mode.
-With a prefix argument ARG, enable global EDE mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 This global minor mode enables `ede-minor-mode' in all buffers in
 an EDE controlled project."
diff --git a/lisp/cedet/ede/dired.el b/lisp/cedet/ede/dired.el
index 33afc7e547..9600d3dd34 100644
--- a/lisp/cedet/ede/dired.el
+++ b/lisp/cedet/ede/dired.el
@@ -59,9 +59,7 @@ ede-dired-keymap
 
 ;;;###autoload
 (define-minor-mode ede-dired-minor-mode
-  "A minor mode that should only be activated in DIRED buffers.
-If ARG is nil or a positive number, force on, if
-negative, force off."
+  "A minor mode that should only be activated in DIRED buffers."
   :lighter " EDE" :keymap ede-dired-keymap
   (unless (derived-mode-p 'dired-mode)
     (setq ede-dired-minor-mode nil)
diff --git a/lisp/cedet/semantic.el b/lisp/cedet/semantic.el
index b24e2fbbb1..f0a1e6bb5a 100644
--- a/lisp/cedet/semantic.el
+++ b/lisp/cedet/semantic.el
@@ -1096,9 +1096,6 @@ semantic-default-submodes
 ;;;###autoload
 (define-minor-mode semantic-mode
   "Toggle parser features (Semantic mode).
-With a prefix argument ARG, enable Semantic mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Semantic mode if ARG is omitted or nil.
 
 In Semantic mode, Emacs parses the buffers you visit for their
 semantic content.  This information is used by a variety of
diff --git a/lisp/cedet/semantic/db-mode.el b/lisp/cedet/semantic/db-mode.el
index e6a2340b8c..638f2915f0 100644
--- a/lisp/cedet/semantic/db-mode.el
+++ b/lisp/cedet/semantic/db-mode.el
@@ -56,7 +56,6 @@ 'semanticdb-global-mode
 ;;;###autoload
 (define-minor-mode global-semanticdb-minor-mode
   "Toggle Semantic DB mode.
-With ARG, turn Semantic DB mode on if ARG is positive, off otherwise.
 
 In Semantic DB mode, Semantic parsers store results in a
 database, which can be saved for future Emacs sessions."
diff --git a/lisp/cedet/semantic/decorate/mode.el b/lisp/cedet/semantic/decorate/mode.el
index 100e221ce3..77a8471e27 100644
--- a/lisp/cedet/semantic/decorate/mode.el
+++ b/lisp/cedet/semantic/decorate/mode.el
@@ -249,13 +249,13 @@ semantic-decoration-mode-hook
 
 (define-minor-mode semantic-decoration-mode
   "Minor mode for decorating tags.
-Decorations are specified in `semantic-decoration-styles'.
-You can define new decoration styles with
+Decorations are specified in `semantic-decoration-styles'.  You
+can define new decoration styles with
 `define-semantic-decoration-style'.
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
 ;;
 ;;\\{semantic-decoration-map}"
   nil nil nil
diff --git a/lisp/cedet/semantic/idle.el b/lisp/cedet/semantic/idle.el
index 56398d0627..07b7af8942 100644
--- a/lisp/cedet/semantic/idle.el
+++ b/lisp/cedet/semantic/idle.el
@@ -172,11 +172,9 @@ semantic-idle-scheduler-mode
 is enabled, Emacs periodically checks to see if the buffer is out of
 date, and reparses while the user is idle (not typing.)
 
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
-  nil nil nil
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."  nil nil nil
   (if semantic-idle-scheduler-mode
       (if (not (and (featurep 'semantic) (semantic-active-p)))
           (progn
@@ -776,8 +774,6 @@ semantic-idle-summary-idle-function
 
 (define-minor-mode semantic-idle-summary-mode
   "Toggle Semantic Idle Summary mode.
-With ARG, turn Semantic Idle Summary mode on if ARG is positive,
-off otherwise.
 
 When this minor mode is enabled, the echo area displays a summary
 of the lexical token at point whenever Emacs is idle."
@@ -812,8 +808,6 @@ semantic-idle-summary-refresh-echo-area
 
 (define-minor-mode global-semantic-idle-summary-mode
   "Toggle Global Semantic Idle Summary mode.
-With ARG, turn Global Semantic Idle Summary mode on if ARG is
-positive, off otherwise.
 
 When this minor mode is enabled, `semantic-idle-summary-mode' is
 turned on in every Semantic-supported buffer."
@@ -931,9 +925,10 @@ semantic-idle-local-symbol-highlight
 ;;;###autoload
 (define-minor-mode global-semantic-idle-scheduler-mode
   "Toggle global use of option `semantic-idle-scheduler-mode'.
-The idle scheduler will automatically reparse buffers in idle time,
-and then schedule other jobs setup with `semantic-idle-scheduler-add'.
-If ARG is positive or nil, enable, if it is negative, disable."
+
+The idle scheduler will automatically reparse buffers in idle
+time, and then schedule other jobs setup with
+`semantic-idle-scheduler-add'."
   :global t
   :group 'semantic
   :group 'semantic-modes
diff --git a/lisp/cedet/semantic/mru-bookmark.el b/lisp/cedet/semantic/mru-bookmark.el
index ad63014890..5789881d38 100644
--- a/lisp/cedet/semantic/mru-bookmark.el
+++ b/lisp/cedet/semantic/mru-bookmark.el
@@ -252,8 +252,7 @@ global-semantic-mru-bookmark-mode
 
 ;;;###autoload
 (define-minor-mode global-semantic-mru-bookmark-mode
-  "Toggle global use of option `semantic-mru-bookmark-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-mru-bookmark-mode'."
   :global t :group 'semantic :group 'semantic-modes
   ;; Not needed because it's autoloaded instead.
   ;; :require 'semantic-util-modes
@@ -278,10 +277,9 @@ semantic-mru-bookmark-mode
 
 \\{semantic-mru-bookmark-mode-map}
 
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
   :keymap semantic-mru-bookmark-mode-map
   (if semantic-mru-bookmark-mode
       (if (not (and (featurep 'semantic) (semantic-active-p)))
diff --git a/lisp/cedet/semantic/util-modes.el b/lisp/cedet/semantic/util-modes.el
index 54c9578773..180aca5b60 100644
--- a/lisp/cedet/semantic/util-modes.el
+++ b/lisp/cedet/semantic/util-modes.el
@@ -170,8 +170,7 @@ semantic-toggle-minor-mode-globally
 
 ;;;###autoload
 (define-minor-mode global-semantic-highlight-edits-mode
-  "Toggle global use of option `semantic-highlight-edits-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-highlight-edits-mode'."
   :global t :group 'semantic :group 'semantic-modes
   (semantic-toggle-minor-mode-globally
    'semantic-highlight-edits-mode
@@ -209,10 +208,10 @@ semantic-highlight-edits-mode
 properly.
 This mode will highlight those changes as they are made, and clear them
 when the incremental parser accounts for those edits.
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
   :keymap semantic-highlight-edits-mode-map
   (if semantic-highlight-edits-mode
       (if (not (and (featurep 'semantic) (semantic-active-p)))
@@ -237,8 +236,7 @@ semantic-highlight-edits-mode
 
 ;;;###autoload
 (define-minor-mode global-semantic-show-unmatched-syntax-mode
-  "Toggle global use of option `semantic-show-unmatched-syntax-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-show-unmatched-syntax-mode'."
   :global t :group 'semantic :group 'semantic-modes
   ;; Not needed because it's autoloaded instead.
   ;; :require 'semantic/util-modes
@@ -360,10 +358,9 @@ semantic-show-unmatched-syntax-mode
 Often time, the display of unmatched syntax can expose coding
 problems before the compiler is run.
 
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled.
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled.
 
 \\{semantic-show-unmatched-syntax-mode-map}"
   :keymap semantic-show-unmatched-syntax-mode-map
@@ -410,8 +407,7 @@ semantic-show-unmatched-syntax-next
 
 ;;;###autoload
 (define-minor-mode global-semantic-show-parser-state-mode
-  "Toggle global use of option `semantic-show-parser-state-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-show-parser-state-mode'."
   :global t :group 'semantic
   ;; Not needed because it's autoloaded instead.
   ;; :require 'semantic/util-modes
@@ -440,10 +436,10 @@ semantic-show-parser-state-mode
  `~'  ->  The cache needs to be incrementally parsed.
  `%'  ->  The cache is not currently parsable.
  `@'  ->  Auto-parse in progress (not set here.)
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
   :keymap semantic-show-parser-state-mode-map
   (if semantic-show-parser-state-mode
       (if (not (and (featurep 'semantic) (semantic-active-p)))
@@ -557,8 +553,7 @@ semantic-show-parser-state-auto-marker
 
 ;;;###autoload
 (define-minor-mode global-semantic-stickyfunc-mode
-  "Toggle global use of option `semantic-stickyfunc-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-stickyfunc-mode'."
   :global t :group 'semantic :group 'semantic-modes
   ;; Not needed because it's autoloaded instead.
   ;; :require 'semantic/util-modes
@@ -700,10 +695,9 @@ semantic-stickyfunc-mode
 first line which describes the rest of the construct.  This first
 line is what is displayed in the header line.
 
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
   ;; Don't need indicator.  It's quite visible
   :keymap semantic-stickyfunc-mode-map
   (if semantic-stickyfunc-mode
@@ -837,8 +831,7 @@ semantic-stickyfunc-menu
 
 ;;;###autoload
 (define-minor-mode global-semantic-highlight-func-mode
-  "Toggle global use of option `semantic-highlight-func-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-highlight-func-mode'."
   :global t :group 'semantic :group 'semantic-modes
   ;; Not needed because it's autoloaded instead.
   ;; :require 'semantic/util-modes
@@ -933,10 +926,9 @@ semantic-highlight-func-mode
 header line.  This mode recycles the stickyfunc configuration
 classes list.
 
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
   :lighter nil ;; Don't need indicator.  It's quite visible.
   (if semantic-highlight-func-mode
       (progn
diff --git a/lisp/cedet/srecode/mode.el b/lisp/cedet/srecode/mode.el
index 76e7e08761..28e8b3b64e 100644
--- a/lisp/cedet/srecode/mode.el
+++ b/lisp/cedet/srecode/mode.el
@@ -148,10 +148,10 @@ srecode-mode-map
 ;;;###autoload
 (define-minor-mode srecode-minor-mode
   "Toggle srecode minor mode.
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled.
+
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled.
 
 \\{srecode-mode-map}"
   :keymap srecode-mode-map
@@ -176,8 +176,7 @@ srecode-minor-mode
 
 ;;;###autoload
 (define-minor-mode global-srecode-minor-mode
-  "Toggle global use of srecode minor mode.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of srecode minor mode."
   :global t :group 'srecode
   ;; Not needed because it's autoloaded instead.
   ;; :require 'srecode/mode
diff --git a/lisp/completion.el b/lisp/completion.el
index 2ddf0999e4..66b413f6af 100644
--- a/lisp/completion.el
+++ b/lisp/completion.el
@@ -2275,10 +2275,7 @@ completion-saved-bindings
 
 ;;;###autoload
 (define-minor-mode dynamic-completion-mode
-  "Toggle dynamic word-completion on or off.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Toggle dynamic word-completion on or off."
   :global t
   :group 'completion
   ;; This is always good, not specific to dynamic-completion-mode.
diff --git a/lisp/composite.el b/lisp/composite.el
index 76949fb582..7daea54c9e 100644
--- a/lisp/composite.el
+++ b/lisp/composite.el
@@ -829,9 +829,6 @@ auto-compose-chars
 ;;;###autoload
 (define-minor-mode auto-composition-mode
   "Toggle Auto Composition mode.
-With a prefix argument ARG, enable Auto Composition mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Auto Composition mode is enabled, text characters are
 automatically composed by functions registered in
@@ -847,9 +844,6 @@ auto-composition-mode
 ;;;###autoload
 (define-minor-mode global-auto-composition-mode
   "Toggle Auto Composition mode in all buffers.
-With a prefix argument ARG, enable it if ARG is positive, and
-disable it otherwise.  If called from Lisp, enable it if ARG is
-omitted or nil.
 
 For more information on Auto Composition mode, see
 `auto-composition-mode' ."
diff --git a/lisp/delsel.el b/lisp/delsel.el
index bfccdc6a4c..a3c2934947 100644
--- a/lisp/delsel.el
+++ b/lisp/delsel.el
@@ -70,12 +70,6 @@ 'pending-delete-mode
 ;;;###autoload
 (define-minor-mode delete-selection-mode
   "Toggle Delete Selection mode.
-Interactively, with a prefix argument, enable
-Delete Selection mode if the prefix argument is positive,
-and disable it otherwise.  If called from Lisp, toggle
-the mode if ARG is `toggle', disable the mode if ARG is
-a non-positive integer, and enable the mode otherwise
-\(including if ARG is omitted or nil or a positive integer).
 
 When Delete Selection mode is enabled, typed text replaces the selection
 if the selection is active.  Otherwise, typed text is just inserted at
diff --git a/lisp/desktop.el b/lisp/desktop.el
index 3e1ba200b5..a9fa2873b3 100644
--- a/lisp/desktop.el
+++ b/lisp/desktop.el
@@ -161,9 +161,6 @@ desktop
 ;;;###autoload
 (define-minor-mode desktop-save-mode
   "Toggle desktop saving (Desktop Save mode).
-With a prefix argument ARG, enable Desktop Save mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode if ARG
-is omitted or nil.
 
 When Desktop Save mode is enabled, the state of Emacs is saved from
 one session to another.  In particular, Emacs will save the desktop when
diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index 4517dedeeb..f07a5deb4f 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -139,9 +139,6 @@ dired-omit-case-fold-p
 
 (define-minor-mode dired-omit-mode
   "Toggle omission of uninteresting files in Dired (Dired-Omit mode).
-With a prefix argument ARG, enable Dired-Omit mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Dired-Omit mode is a buffer-local minor mode.  When enabled in a
 Dired buffer, Dired does not list files whose filenames match
diff --git a/lisp/dirtrack.el b/lisp/dirtrack.el
index e5e1497c4d..862268d49b 100644
--- a/lisp/dirtrack.el
+++ b/lisp/dirtrack.el
@@ -184,9 +184,6 @@ 'dirtrackp
 ;;;###autoload
 (define-minor-mode dirtrack-mode
   "Toggle directory tracking in shell buffers (Dirtrack mode).
-With a prefix argument ARG, enable Dirtrack mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 This method requires that your shell prompt contain the current
 working directory at all times, and that you set the variable
@@ -205,10 +202,7 @@ 'dirtrack-debug-toggle
   "23.1")
 (define-obsolete-variable-alias 'dirtrack-debug 'dirtrack-debug-mode "23.1")
 (define-minor-mode dirtrack-debug-mode
-  "Toggle Dirtrack debugging.
-With a prefix argument ARG, enable Dirtrack debugging if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle Dirtrack debugging."
   nil nil nil
   (if dirtrack-debug-mode
       (display-buffer (get-buffer-create dirtrack-debug-buffer))))
diff --git a/lisp/doc-view.el b/lisp/doc-view.el
index 970e12402d..017b6c5fd9 100644
--- a/lisp/doc-view.el
+++ b/lisp/doc-view.el
@@ -1859,9 +1859,6 @@ doc-view-mode-maybe
 ;;;###autoload
 (define-minor-mode doc-view-minor-mode
   "Toggle displaying buffer via Doc View (Doc View minor mode).
-With a prefix argument ARG, enable Doc View minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 See the command `doc-view-mode' for more information on this mode."
   nil " DocView" doc-view-minor-mode-map
diff --git a/lisp/double.el b/lisp/double.el
index 4334a4ca70..b21fe5bc20 100644
--- a/lisp/double.el
+++ b/lisp/double.el
@@ -150,9 +150,6 @@ double-translate-key
 ;;;###autoload
 (define-minor-mode double-mode
   "Toggle special insertion on double keypresses (Double mode).
-With a prefix argument ARG, enable Double mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Double mode is enabled, some keys will insert different
 strings when pressed twice.  See `double-map' for details."
diff --git a/lisp/elec-pair.el b/lisp/elec-pair.el
index 85c25f0469..7df7098295 100644
--- a/lisp/elec-pair.el
+++ b/lisp/elec-pair.el
@@ -581,9 +581,6 @@ electric-pair-mode-map
 ;;;###autoload
 (define-minor-mode electric-pair-mode
   "Toggle automatic parens pairing (Electric Pair mode).
-With a prefix argument ARG, enable Electric Pair mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Electric Pair mode is a global minor mode.  When enabled, typing
 an open parenthesis automatically inserts the corresponding
diff --git a/lisp/electric.el b/lisp/electric.el
index c00e7c00a5..72a3978344 100644
--- a/lisp/electric.el
+++ b/lisp/electric.el
@@ -314,9 +314,6 @@ electric-newline-and-maybe-indent
 ;;;###autoload
 (define-minor-mode electric-indent-mode
   "Toggle on-the-fly reindentation (Electric Indent mode).
-With a prefix argument ARG, enable Electric Indent mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When enabled, this reindents whenever the hook `electric-indent-functions'
 returns non-nil, or if you insert a character from `electric-indent-chars'.
@@ -400,9 +397,7 @@ electric-layout-post-self-insert-function
 ;;;###autoload
 (define-minor-mode electric-layout-mode
   "Automatically insert newlines around some chars.
-With a prefix argument ARG, enable Electric Layout mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
+
 The variable `electric-layout-rules' says when and how to insert newlines."
   :global t :group 'electricity
   (cond (electric-layout-mode
@@ -540,9 +535,6 @@ electric-quote-post-self-insert-function
 ;;;###autoload
 (define-minor-mode electric-quote-mode
   "Toggle on-the-fly requoting (Electric Quote mode).
-With a prefix argument ARG, enable Electric Quote mode if
-ARG is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When enabled, as you type this replaces \\=` with ‘, \\=' with ’,
 \\=`\\=` with “, and \\='\\=' with ”.  This occurs only in comments, strings,
diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el
index 300a3908c1..1b3b23d887 100644
--- a/lisp/emacs-lisp/checkdoc.el
+++ b/lisp/emacs-lisp/checkdoc.el
@@ -1237,9 +1237,6 @@ checkdoc-minor-mode-map
 ;;;###autoload
 (define-minor-mode checkdoc-minor-mode
   "Toggle automatic docstring checking (Checkdoc minor mode).
-With a prefix argument ARG, enable Checkdoc minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 In Checkdoc minor mode, the usual bindings for `eval-defun' which is
 bound to \\<checkdoc-minor-mode-map>\\[checkdoc-eval-defun] and `checkdoc-eval-current-buffer' are overridden to include
diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el
index a81b6fefb2..c9184ed82a 100644
--- a/lisp/emacs-lisp/easy-mmode.el
+++ b/lisp/emacs-lisp/easy-mmode.el
@@ -81,6 +81,22 @@ easy-mmode-pretty-mode-name
       ;; space.)
       (replace-regexp-in-string (regexp-quote lighter) lighter name t t))))
 
+(defconst easy-mmode-arg-docstring
+  "If called interactively, enable %s if ARG is positive, and
+disable it otherwise.  If called from Lisp, enable the mode if
+ARG is omitted or nil, and toggle it if ARG is `toggle'. Disable
+the mode otherwise")
+
+(defun easy-mmode-mode-docstring (doc mode-pretty-name keymap-sym)
+  (let ((doc (or doc (format "Toggle %s on or off.
+\\{%s}" mode-pretty-name keymap-sym))))
+    (if (string-match-p "\bARG\b" doc)
+        doc
+      (concat doc
+              "\n\n"
+                              (format easy-mmode-arg-docstring
+                        mode-pretty-name)))))
+
 ;;;###autoload
 (defalias 'easy-mmode-define-minor-mode 'define-minor-mode)
 ;;;###autoload
@@ -101,7 +117,9 @@ define-minor-mode
 if the argument is omitted or nil or a positive integer).
 
 If DOC is nil, give the mode command a basic doc-string
-documenting what its argument does.
+documenting what its argument does. If the word \"ARG\" does not
+appear in DOC, a paragraph will be to appended to DOC explaining
+usages of the mode argument.
 
 Optional INIT-VALUE is the initial value of the mode's variable.
 Optional LIGHTER is displayed in the mode line when the mode is on.
@@ -270,12 +288,7 @@ define-minor-mode
 
        ;; The actual function.
        (defun ,modefun (&optional arg ,@extra-args)
-	 ,(or doc
-	      (format (concat "Toggle %s on or off.
-With a prefix argument ARG, enable %s if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'.
-\\{%s}") pretty-name pretty-name keymap-sym))
+         ,(easy-mmode-mode-docstring doc pretty-name keymap-sym)
 	 ;; Use `toggle' rather than (if ,mode 0 1) so that using
 	 ;; repeat-command still does the toggling correctly.
 	 (interactive (list (or current-prefix-arg 'toggle)))
diff --git a/lisp/emacs-lisp/eldoc.el b/lisp/emacs-lisp/eldoc.el
index a662265f4b..49ba71fb1b 100644
--- a/lisp/emacs-lisp/eldoc.el
+++ b/lisp/emacs-lisp/eldoc.el
@@ -177,9 +177,6 @@ eldoc-edit-message-commands
 ;;;###autoload
 (define-minor-mode eldoc-mode
   "Toggle echo area display of Lisp objects at point (ElDoc mode).
-With a prefix argument ARG, enable ElDoc mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable ElDoc mode
-if ARG is omitted or nil.
 
 ElDoc mode is a buffer-local minor mode.  When enabled, the echo
 area displays information about a function or variable in the
diff --git a/lisp/emacs-lock.el b/lisp/emacs-lock.el
index b6e28fb253..0733c3326c 100644
--- a/lisp/emacs-lock.el
+++ b/lisp/emacs-lock.el
@@ -189,9 +189,7 @@ emacs-lock--set-mode
 (define-minor-mode emacs-lock-mode
   "Toggle Emacs Lock mode in the current buffer.
 If called with a plain prefix argument, ask for the locking mode
-to be used.  With any other prefix ARG, turn mode on if ARG is
-positive, off otherwise.  If called from Lisp, enable the mode if
-ARG is omitted or nil.
+to be used.
 
 Initially, if the user does not pass an explicit locking mode, it
 defaults to `emacs-lock-default-locking-mode' (which see);
diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el
index ff23484dd0..f1143425eb 100644
--- a/lisp/emulation/cua-base.el
+++ b/lisp/emulation/cua-base.el
@@ -1318,9 +1318,6 @@ delete-selection-save-to-register
 ;;;###autoload
 (define-minor-mode cua-mode
   "Toggle Common User Access style editing (CUA mode).
-With a prefix argument ARG, enable CUA mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 CUA mode is a global minor mode.  When enabled, typed text
 replaces the active selection, and you can use C-z, C-x, C-c, and
diff --git a/lisp/epa-hook.el b/lisp/epa-hook.el
index 135c956c3f..19f131cc33 100644
--- a/lisp/epa-hook.el
+++ b/lisp/epa-hook.el
@@ -83,10 +83,7 @@ epa-file-find-file-hook
       (auto-save-mode 0)))
 
 (define-minor-mode auto-encryption-mode
-  "Toggle automatic file encryption/decryption (Auto Encryption mode).
-With a prefix argument ARG, enable Auto Encryption mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle automatic file encryption/decryption (Auto Encryption mode)."
   :global t :init-value t :group 'epa-file :version "23.1"
   ;; We'd like to use custom-initialize-set here so the setup is done
   ;; before dumping, but at the point where the defcustom is evaluated,
diff --git a/lisp/epa-mail.el b/lisp/epa-mail.el
index 7f4c28e967..008593712b 100644
--- a/lisp/epa-mail.el
+++ b/lisp/epa-mail.el
@@ -47,10 +47,7 @@ epa-mail-mode-off-hook
 
 ;;;###autoload
 (define-minor-mode epa-mail-mode
-  "A minor-mode for composing encrypted/clearsigned mails.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "A minor-mode for composing encrypted/clearsigned mails."
   nil " epa-mail" epa-mail-mode-map)
 
 (defun epa-mail--find-usable-key (keys usage)
@@ -238,10 +235,7 @@ epa-mail-import-keys
 
 ;;;###autoload
 (define-minor-mode epa-global-mail-mode
-  "Minor mode to hook EasyPG into Mail mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode to hook EasyPG into Mail mode."
   :global t :init-value nil :group 'epa-mail :version "23.1"
   (remove-hook 'mail-mode-hook 'epa-mail-mode)
   (if epa-global-mail-mode
diff --git a/lisp/erc/erc-track.el b/lisp/erc/erc-track.el
index 7817a0799e..cae18f6093 100644
--- a/lisp/erc/erc-track.el
+++ b/lisp/erc/erc-track.el
@@ -495,9 +495,6 @@ erc-track-minor-mode-map
 ;;;###autoload
 (define-minor-mode erc-track-minor-mode
   "Toggle mode line display of ERC activity (ERC Track minor mode).
-With a prefix argument ARG, enable ERC Track minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 ERC Track minor mode is a global minor mode.  It exists for the
 sole purpose of providing the C-c C-SPC and C-c C-@ keybindings.
diff --git a/lisp/face-remap.el b/lisp/face-remap.el
index 476736773b..c6a976deb0 100644
--- a/lisp/face-remap.el
+++ b/lisp/face-remap.el
@@ -229,9 +229,6 @@ text-scale-mode-amount
 
 (define-minor-mode text-scale-mode
   "Minor mode for displaying buffer text in a larger/smaller font.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 The amount of scaling is determined by the variable
 `text-scale-mode-amount': one step scales the global default
@@ -387,10 +384,9 @@ buffer-face-mode-remapping
 ;;;###autoload
 (define-minor-mode buffer-face-mode
   "Minor mode for a buffer-specific default face.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.  When enabled, the face specified by the
-variable `buffer-face-mode-face' is used to display the buffer text."
+
+When enabled, the face specified by the variable
+`buffer-face-mode-face' is used to display the buffer text."
   :lighter " BufFace"
   (when buffer-face-mode-remapping
     (face-remap-remove-relative buffer-face-mode-remapping))
diff --git a/lisp/files.el b/lisp/files.el
index 398e6dc12b..31e2f39a8d 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -419,14 +419,10 @@ auto-save-visited-interval
 
 (define-minor-mode auto-save-visited-mode
   "Toggle automatic saving to file-visiting buffers on or off.
-With a prefix argument ARG, enable regular saving of all buffers
-visiting a file if ARG is positive, and disable it otherwise.
+
 Unlike `auto-save-mode', this mode will auto-save buffer contents
 to the visited files directly and will also run all save-related
-hooks.  See Info node `Saving' for details of the save process.
-
-If called from Lisp, enable the mode if ARG is omitted or nil,
-and toggle it if ARG is `toggle'."
+hooks.  See Info node `Saving' for details of the save process."
   :group 'auto-save
   :global t
   (when auto-save--timer (cancel-timer auto-save--timer))
diff --git a/lisp/follow.el b/lisp/follow.el
index fd397c077b..7aa7b51473 100644
--- a/lisp/follow.el
+++ b/lisp/follow.el
@@ -383,9 +383,6 @@ turn-off-follow-mode
 ;;;###autoload
 (define-minor-mode follow-mode
   "Toggle Follow mode.
-With a prefix argument ARG, enable Follow mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Follow mode is a minor mode that combines windows into one tall
 virtual window.  This is accomplished by two main techniques:
diff --git a/lisp/font-core.el b/lisp/font-core.el
index ace1476eda..c5b036e04f 100644
--- a/lisp/font-core.el
+++ b/lisp/font-core.el
@@ -78,9 +78,6 @@ font-lock-major-mode
 
 (define-minor-mode font-lock-mode
   "Toggle syntax highlighting in this buffer (Font Lock mode).
-With a prefix argument ARG, enable Font Lock mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Font Lock mode is enabled, text is fontified as you type it:
 
diff --git a/lisp/frame.el b/lisp/frame.el
index 70b4b242a0..56b8c5487c 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -1382,9 +1382,6 @@ set-border-color
 
 (define-minor-mode auto-raise-mode
   "Toggle whether or not selected frames should auto-raise.
-With a prefix argument ARG, enable Auto Raise mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Auto Raise mode does nothing under most window managers, which
 switch focus on mouse clicks.  It only has an effect if your
@@ -1402,9 +1399,6 @@ auto-raise-mode
 
 (define-minor-mode auto-lower-mode
   "Toggle whether or not the selected frame should auto-lower.
-With a prefix argument ARG, enable Auto Lower mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Auto Lower mode does nothing under most window managers, which
 switch focus on mouse clicks.  It only has an effect if your
@@ -2297,9 +2291,6 @@ window-divider-mode-apply
 
 (define-minor-mode window-divider-mode
   "Display dividers between windows (Window Divider mode).
-With a prefix argument ARG, enable Window Divider mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 The option `window-divider-default-places' specifies on which
 side of a window dividers are displayed.  The options
@@ -2450,9 +2441,6 @@ blink-cursor--rescan-frames
 
 (define-minor-mode blink-cursor-mode
   "Toggle cursor blinking (Blink Cursor mode).
-With a prefix argument ARG, enable Blink Cursor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 If the value of `blink-cursor-blinks' is positive (10 by default),
 the cursor stops blinking after that number of blinks, if Emacs
diff --git a/lisp/help.el b/lisp/help.el
index 985d9c567a..28288e57f6 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -1107,9 +1107,6 @@ temp-buffer-max-width
 
 (define-minor-mode temp-buffer-resize-mode
   "Toggle auto-resizing temporary buffer windows (Temp Buffer Resize Mode).
-With a prefix argument ARG, enable Temp Buffer Resize mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Temp Buffer Resize mode is enabled, the windows in which we
 show a temporary buffer are automatically resized in height to
diff --git a/lisp/hexl.el b/lisp/hexl.el
index f37be9d410..f3b5d7d4cc 100644
--- a/lisp/hexl.el
+++ b/lisp/hexl.el
@@ -997,6 +997,7 @@ hexl-insert-octal-char
 
 (define-minor-mode hexl-follow-ascii-mode
   "Minor mode to follow ASCII in current Hexl buffer.
+
 When following is enabled, the ASCII character corresponding to the
 element under the point is highlighted.
 The default activation is controlled by `hexl-follow-ascii'."
diff --git a/lisp/hi-lock.el b/lisp/hi-lock.el
index f3a329f467..13ebffb1af 100644
--- a/lisp/hi-lock.el
+++ b/lisp/hi-lock.el
@@ -289,9 +289,6 @@ hi-lock-map
 ;;;###autoload
 (define-minor-mode hi-lock-mode
   "Toggle selective highlighting of patterns (Hi Lock mode).
-With a prefix argument ARG, enable Hi Lock mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Hi Lock mode is automatically enabled when you invoke any of the
 highlighting commands listed below, such as \\[highlight-regexp].
diff --git a/lisp/hilit-chg.el b/lisp/hilit-chg.el
index 9d4d2d8b38..70bf6b44b9 100644
--- a/lisp/hilit-chg.el
+++ b/lisp/hilit-chg.el
@@ -319,9 +319,6 @@ hilit-chg-string
 ;;;###autoload
 (define-minor-mode highlight-changes-mode
   "Toggle highlighting changes in this buffer (Highlight Changes mode).
-With a prefix argument ARG, enable Highlight Changes mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Highlight Changes is enabled, changes are marked with a text
 property.  Normally they are displayed in a distinctive face, but
@@ -360,9 +357,6 @@ highlight-changes-mode
 ;;;###autoload
 (define-minor-mode highlight-changes-visible-mode
   "Toggle visibility of highlighting due to Highlight Changes mode.
-With a prefix argument ARG, enable Highlight Changes Visible mode
-if ARG is positive, and disable it otherwise.  If called from
-Lisp, enable the mode if ARG is omitted or nil.
 
 Highlight Changes Visible mode only has an effect when Highlight
 Changes mode is on.  When enabled, the changed text is displayed
diff --git a/lisp/hl-line.el b/lisp/hl-line.el
index fc75b478c8..f0ee22a1da 100644
--- a/lisp/hl-line.el
+++ b/lisp/hl-line.el
@@ -132,9 +132,6 @@ hl-line-overlay-buffer
 ;;;###autoload
 (define-minor-mode hl-line-mode
   "Toggle highlighting of the current line (Hl-Line mode).
-With a prefix argument ARG, enable Hl-Line mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Hl-Line mode is a buffer-local minor mode.  If
 `hl-line-sticky-flag' is non-nil, Hl-Line mode highlights the
@@ -203,9 +200,6 @@ hl-line-maybe-unhighlight
 ;;;###autoload
 (define-minor-mode global-hl-line-mode
   "Toggle line highlighting in all buffers (Global Hl-Line mode).
-With a prefix argument ARG, enable Global Hl-Line mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 If `global-hl-line-sticky-flag' is non-nil, Global Hl-Line mode
 highlights the line about the current buffer's point in all live
diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el
index a1adb1df35..d9949d2835 100644
--- a/lisp/ibuf-ext.el
+++ b/lisp/ibuf-ext.el
@@ -403,10 +403,7 @@ ibuffer-ext-visible-p
 
 ;;;###autoload
 (define-minor-mode ibuffer-auto-mode
-  "Toggle use of Ibuffer's auto-update facility (Ibuffer Auto mode).
-With a prefix argument ARG, enable Ibuffer Auto mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle use of Ibuffer's auto-update facility (Ibuffer Auto mode)."
   nil nil nil
   (unless (derived-mode-p 'ibuffer-mode)
     (error "This buffer is not in Ibuffer mode"))
diff --git a/lisp/icomplete.el b/lisp/icomplete.el
index b37db8869b..ad5a9d017d 100644
--- a/lisp/icomplete.el
+++ b/lisp/icomplete.el
@@ -194,9 +194,6 @@ icomplete-backward-completions
 ;;;###autoload
 (define-minor-mode icomplete-mode
   "Toggle incremental minibuffer completion (Icomplete mode).
-With a prefix argument ARG, enable Icomplete mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When this global minor mode is enabled, typing in the minibuffer
 continuously displays a list of possible completions that match
diff --git a/lisp/ido.el b/lisp/ido.el
index 705e7dd630..18cc03f0df 100644
--- a/lisp/ido.el
+++ b/lisp/ido.el
@@ -1579,10 +1579,7 @@ ido-common-initialization
   (add-hook 'choose-completion-string-functions 'ido-choose-completion-string))
 
 (define-minor-mode ido-everywhere
-  "Toggle use of Ido for all buffer/file reading.
-With a prefix argument ARG, enable this feature if ARG is
-positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil."
+  "Toggle use of Ido for all buffer/file reading."
   :global t
   :group 'ido
   (remove-function read-file-name-function #'ido-read-file-name)
diff --git a/lisp/image-file.el b/lisp/image-file.el
index 8a04afc25f..19dc7878a5 100644
--- a/lisp/image-file.el
+++ b/lisp/image-file.el
@@ -179,9 +179,6 @@ image-file-call-underlying
 ;;;###autoload
 (define-minor-mode auto-image-file-mode
   "Toggle visiting of image files as images (Auto Image File mode).
-With a prefix argument ARG, enable Auto Image File mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 An image file is one whose name has an extension in
 `image-file-name-extensions', or matches a regexp in
diff --git a/lisp/image-mode.el b/lisp/image-mode.el
index 0925c6ef9c..19fa28d440 100644
--- a/lisp/image-mode.el
+++ b/lisp/image-mode.el
@@ -617,9 +617,6 @@ image-mode
 ;;;###autoload
 (define-minor-mode image-minor-mode
   "Toggle Image minor mode in this buffer.
-With a prefix argument ARG, enable Image minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Image minor mode provides the key \\<image-mode-map>\\[image-toggle-display],
 to switch back to `image-mode' and display an image file as the
diff --git a/lisp/international/iso-ascii.el b/lisp/international/iso-ascii.el
index 0103d934b2..bcb285eda0 100644
--- a/lisp/international/iso-ascii.el
+++ b/lisp/international/iso-ascii.el
@@ -163,10 +163,7 @@ iso-ascii-display
 (iso-ascii-display 255 "\"y") ; small y with diaeresis or umlaut mark
 
 (define-minor-mode iso-ascii-mode
-  "Toggle ISO-ASCII mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Toggle ISO-ASCII mode."
   :variable ((eq standard-display-table iso-ascii-display-table)
              . (lambda (v)
                  (setq standard-display-table
diff --git a/lisp/jit-lock.el b/lisp/jit-lock.el
index df7272c12e..2b13c60bc6 100644
--- a/lisp/jit-lock.el
+++ b/lisp/jit-lock.el
@@ -266,6 +266,7 @@ jit-lock-mode
 
 (define-minor-mode jit-lock-debug-mode
   "Minor mode to help debug code run from jit-lock.
+
 When this minor mode is enabled, jit-lock runs as little code as possible
 during redisplay and moves the rest to a timer, where things
 like `debug-on-error' and Edebug can be used."
diff --git a/lisp/jka-cmpr-hook.el b/lisp/jka-cmpr-hook.el
index cca8ef703f..d800b60513 100644
--- a/lisp/jka-cmpr-hook.el
+++ b/lisp/jka-cmpr-hook.el
@@ -347,9 +347,6 @@ jka-compr-load-suffixes
 
 (define-minor-mode auto-compression-mode
   "Toggle Auto Compression mode.
-With a prefix argument ARG, enable Auto Compression mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 Auto Compression mode is a global minor mode.  When enabled,
 compressed files are automatically uncompressed for reading, and
diff --git a/lisp/language/thai-util.el b/lisp/language/thai-util.el
index b550b65a56..d6c9732a9e 100644
--- a/lisp/language/thai-util.el
+++ b/lisp/language/thai-util.el
@@ -256,11 +256,10 @@ thai-word-mode-map
 
 (define-minor-mode thai-word-mode
   "Minor mode to make word-oriented commands aware of Thai words.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.  The commands affected are
-\\[forward-word], \\[backward-word], \\[kill-word], \\[backward-kill-word],
-\\[transpose-words], and \\[fill-paragraph]."
+
+The commands affected are \\[forward-word], \\[backward-word],
+\\[kill-word], \\[backward-kill-word], \\[transpose-words], and
+\\[fill-paragraph]."
   :global t :group 'mule
   (cond (thai-word-mode
 	 ;; This enables linebreak between Thai characters.
diff --git a/lisp/linum.el b/lisp/linum.el
index 9df0c5d023..6e673e58b0 100644
--- a/lisp/linum.el
+++ b/lisp/linum.el
@@ -75,12 +75,10 @@ linum-delay
 ;;;###autoload
 (define-minor-mode linum-mode
   "Toggle display of line numbers in the left margin (Linum mode).
-With a prefix argument ARG, enable Linum mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 Linum mode is a buffer-local minor mode."
   :lighter ""                           ; for desktop.el
+  :append-arg-docstring t
   (if linum-mode
       (progn
         (if linum-eager
diff --git a/lisp/mail/footnote.el b/lisp/mail/footnote.el
index d35b87046f..f5d280ae1e 100644
--- a/lisp/mail/footnote.el
+++ b/lisp/mail/footnote.el
@@ -945,9 +945,6 @@ footnote-minor-mode-map
 ;;;###autoload
 (define-minor-mode footnote-mode
   "Toggle Footnote mode.
-With a prefix argument ARG, enable Footnote mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Footnote mode is a buffer-local minor mode.  If enabled, it
 provides footnote support for `message-mode'.  To get started,
diff --git a/lisp/mail/mailabbrev.el b/lisp/mail/mailabbrev.el
index ba1688f411..0ce1a3b12b 100644
--- a/lisp/mail/mailabbrev.el
+++ b/lisp/mail/mailabbrev.el
@@ -134,9 +134,6 @@ mail-abbrev
 ;;;###autoload
 (define-minor-mode mail-abbrevs-mode
   "Toggle abbrev expansion of mail aliases (Mail Abbrevs mode).
-With a prefix argument ARG, enable Mail Abbrevs mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Mail Abbrevs mode is a global minor mode.  When enabled,
 abbrev-like expansion is performed when editing certain mail
diff --git a/lisp/master.el b/lisp/master.el
index 4891c07166..7176897902 100644
--- a/lisp/master.el
+++ b/lisp/master.el
@@ -73,9 +73,6 @@ master-set-slave-hook
 ;;;###autoload
 (define-minor-mode master-mode
   "Toggle Master mode.
-With a prefix argument ARG, enable Master mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Master mode is enabled, you can scroll the slave buffer
 using the following commands:
diff --git a/lisp/mb-depth.el b/lisp/mb-depth.el
index e75e497999..84c73cadfa 100644
--- a/lisp/mb-depth.el
+++ b/lisp/mb-depth.el
@@ -58,9 +58,6 @@ minibuffer-depth-setup
 ;;;###autoload
 (define-minor-mode minibuffer-depth-indicate-mode
   "Toggle Minibuffer Depth Indication mode.
-With a prefix argument ARG, enable Minibuffer Depth Indication
-mode if ARG is positive, and disable it otherwise.  If called
-from Lisp, enable the mode if ARG is omitted or nil.
 
 Minibuffer Depth Indication mode is a global minor mode.  When
 enabled, any recursive use of the minibuffer will show the
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 25e016247b..ad59533e26 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -2285,9 +2285,6 @@ menu-bar-update-buffers
 \f
 (define-minor-mode menu-bar-mode
   "Toggle display of a menu bar on each frame (Menu Bar mode).
-With a prefix argument ARG, enable Menu Bar mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, also
-enable Menu Bar mode if ARG is omitted or nil.
 
 This command applies to all frames that exist and frames to be
 created in the future."
diff --git a/lisp/minibuf-eldef.el b/lisp/minibuf-eldef.el
index 07663ea6a6..a81e663589 100644
--- a/lisp/minibuf-eldef.el
+++ b/lisp/minibuf-eldef.el
@@ -163,9 +163,6 @@ minibuf-eldef-update-minibuffer
 ;;;###autoload
 (define-minor-mode minibuffer-electric-default-mode
   "Toggle Minibuffer Electric Default mode.
-With a prefix argument ARG, enable Minibuffer Electric Default
-mode if ARG is positive, and disable it otherwise.  If called
-from Lisp, enable the mode if ARG is omitted or nil.
 
 Minibuffer Electric Default mode is a global minor mode.  When
 enabled, minibuffer prompts that show a default value only show
diff --git a/lisp/msb.el b/lisp/msb.el
index 383f075bf9..91d83d2e4a 100644
--- a/lisp/msb.el
+++ b/lisp/msb.el
@@ -1132,9 +1132,6 @@ msb-mode-map
 ;;;###autoload
 (define-minor-mode msb-mode
   "Toggle Msb mode.
-With a prefix argument ARG, enable Msb mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 This mode overrides the binding(s) of `mouse-buffer-menu' to provide a
 different buffer menu using the function `msb'."
diff --git a/lisp/mwheel.el b/lisp/mwheel.el
index f055df9ee8..876659f1f7 100644
--- a/lisp/mwheel.el
+++ b/lisp/mwheel.el
@@ -309,10 +309,7 @@ mwheel-scroll
 (defvar mwheel-installed-bindings nil)
 
 (define-minor-mode mouse-wheel-mode
-  "Toggle mouse wheel support (Mouse Wheel mode).
-With a prefix argument ARG, enable Mouse Wheel mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle mouse wheel support (Mouse Wheel mode)."
   :init-value t
   ;; We'd like to use custom-initialize-set here so the setup is done
   ;; before dumping, but at the point where the defcustom is evaluated,
diff --git a/lisp/net/goto-addr.el b/lisp/net/goto-addr.el
index cc1cdd1518..db59df374b 100644
--- a/lisp/net/goto-addr.el
+++ b/lisp/net/goto-addr.el
@@ -270,10 +270,7 @@ goto-address
 
 ;;;###autoload
 (define-minor-mode goto-address-mode
-  "Minor mode to buttonize URLs and e-mail addresses in the current buffer.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode to buttonize URLs and e-mail addresses in the current buffer."
   nil
   ""
   nil
diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el
index abd969216f..5b63e0c34d 100644
--- a/lisp/net/rcirc.el
+++ b/lisp/net/rcirc.el
@@ -186,9 +186,6 @@ rcirc-prompt-start-marker
 
 (define-minor-mode rcirc-omit-mode
   "Toggle the hiding of \"uninteresting\" lines.
-With a prefix argument ARG, enable Rcirc-Omit mode if ARG is
-positive, and disable it otherwise. If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Uninteresting lines are those whose responses are listed in
 `rcirc-omit-responses'."
@@ -1353,10 +1350,7 @@ rcirc-multiline-minor-mode-map
   "Keymap for multiline mode in rcirc.")
 
 (define-minor-mode rcirc-multiline-minor-mode
-  "Minor mode for editing multiple lines in rcirc.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode for editing multiple lines in rcirc."
   :init-value nil
   :lighter " rcirc-mline"
   :keymap rcirc-multiline-minor-mode-map
@@ -1867,10 +1861,7 @@ rcirc-track-minor-mode-map
 
 ;;;###autoload
 (define-minor-mode rcirc-track-minor-mode
-  "Global minor mode for tracking activity in rcirc buffers.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Global minor mode for tracking activity in rcirc buffers."
   :init-value nil
   :lighter ""
   :keymap rcirc-track-minor-mode-map
diff --git a/lisp/obsolete/complete.el b/lisp/obsolete/complete.el
index ee6af77029..f5e4328d33 100644
--- a/lisp/obsolete/complete.el
+++ b/lisp/obsolete/complete.el
@@ -191,7 +191,6 @@ PC-goto-end
 ;;;###autoload
 (define-minor-mode partial-completion-mode
   "Toggle Partial Completion mode.
-With prefix ARG, turn Partial Completion mode on if ARG is positive.
 
 When Partial Completion mode is enabled, TAB (or M-TAB if `PC-meta-flag' is
 nil) is enhanced so that if some string is divided into words and each word is
diff --git a/lisp/obsolete/crisp.el b/lisp/obsolete/crisp.el
index 1d09d9e223..4bd555a72e 100644
--- a/lisp/obsolete/crisp.el
+++ b/lisp/obsolete/crisp.el
@@ -353,10 +353,7 @@ crisp-meta-x-wrapper
 
 ;;;###autoload
 (define-minor-mode crisp-mode
-  "Toggle CRiSP/Brief emulation (CRiSP mode).
-With a prefix argument ARG, enable CRiSP mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Toggle CRiSP/Brief emulation (CRiSP mode)."
   :keymap crisp-mode-map
   :lighter crisp-mode-mode-line-string
   (when crisp-mode
diff --git a/lisp/obsolete/iswitchb.el b/lisp/obsolete/iswitchb.el
index d03621df3c..6192368f8b 100644
--- a/lisp/obsolete/iswitchb.el
+++ b/lisp/obsolete/iswitchb.el
@@ -1417,9 +1417,6 @@ iswitchb-case
 ;;;###autoload
 (define-minor-mode iswitchb-mode
   "Toggle Iswitchb mode.
-With a prefix argument ARG, enable Iswitchb mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Iswitchb mode is a global minor mode that enables switching
 between buffers using substrings.  See `iswitchb' for details."
diff --git a/lisp/obsolete/longlines.el b/lisp/obsolete/longlines.el
index e3121dbd87..d07f7bf34b 100644
--- a/lisp/obsolete/longlines.el
+++ b/lisp/obsolete/longlines.el
@@ -97,9 +97,6 @@ message-indent-citation-function
 ;;;###autoload
 (define-minor-mode longlines-mode
   "Toggle Long Lines mode in this buffer.
-With a prefix argument ARG, enable Long Lines mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Long Lines mode is enabled, long lines are wrapped if they
 extend beyond `fill-column'.  The soft newlines used for line
diff --git a/lisp/obsolete/mouse-sel.el b/lisp/obsolete/mouse-sel.el
index 52e84f2117..f54bcf01c9 100644
--- a/lisp/obsolete/mouse-sel.el
+++ b/lisp/obsolete/mouse-sel.el
@@ -194,9 +194,6 @@ 'mouse-sel--ignore
 ;;;###autoload
 (define-minor-mode mouse-sel-mode
   "Toggle Mouse Sel mode.
-With a prefix argument ARG, enable Mouse Sel mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Mouse Sel mode is a global minor mode.  When enabled, mouse
 selection is enhanced in various ways:
diff --git a/lisp/obsolete/old-whitespace.el b/lisp/obsolete/old-whitespace.el
index 86dd5dc842..0c9fc32118 100644
--- a/lisp/obsolete/old-whitespace.el
+++ b/lisp/obsolete/old-whitespace.el
@@ -747,7 +747,6 @@ 'global-whitespace-mode
 ;;;###autoload
 (define-minor-mode whitespace-global-mode
   "Toggle using Whitespace mode in new buffers.
-With ARG, turn the mode on if ARG is positive, otherwise turn it off.
 
 When this mode is active, `whitespace-buffer' is added to
 `find-file-hook' and `kill-buffer-hook'."
diff --git a/lisp/obsolete/tpu-edt.el b/lisp/obsolete/tpu-edt.el
index 83b713d927..c047381ef7 100644
--- a/lisp/obsolete/tpu-edt.el
+++ b/lisp/obsolete/tpu-edt.el
@@ -980,10 +980,7 @@ tpu-quit
 ;;;
 ;;;###autoload
 (define-minor-mode tpu-edt-mode
-  "Toggle TPU/edt emulation on or off.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Toggle TPU/edt emulation on or off."
   :global t :group 'tpu
   (if tpu-edt-mode (tpu-edt-on) (tpu-edt-off)))
 
diff --git a/lisp/obsolete/tpu-extras.el b/lisp/obsolete/tpu-extras.el
index 8739e1b215..21006ff005 100644
--- a/lisp/obsolete/tpu-extras.el
+++ b/lisp/obsolete/tpu-extras.el
@@ -133,10 +133,7 @@ tpu-backward-char-like-tpu
 
 ;;;###autoload
 (define-minor-mode tpu-cursor-free-mode
-  "Minor mode to allow the cursor to move freely about the screen.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode to allow the cursor to move freely about the screen."
   :init-value nil
   (if (not tpu-cursor-free-mode)
       (tpu-trim-line-ends))
diff --git a/lisp/obsolete/xesam.el b/lisp/obsolete/xesam.el
index 1f3661d924..3e91b2c8df 100644
--- a/lisp/obsolete/xesam.el
+++ b/lisp/obsolete/xesam.el
@@ -512,9 +512,6 @@ xesam-mode
 
 (define-minor-mode xesam-minor-mode
   "Toggle Xesam minor mode.
-With a prefix argument ARG, enable Xesam minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Xesam minor mode is enabled, all text which matches a
 previous Xesam query in this buffer is highlighted."
diff --git a/lisp/outline.el b/lisp/outline.el
index 669935bbc1..59169e4189 100644
--- a/lisp/outline.el
+++ b/lisp/outline.el
@@ -299,9 +299,6 @@ outline-minor-mode-prefix
 ;;;###autoload
 (define-minor-mode outline-minor-mode
   "Toggle Outline minor mode.
-With a prefix argument ARG, enable Outline minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 See the command `outline-mode' for more information on this mode."
   nil " Outl" (list (cons [menu-bar] outline-minor-mode-menu-bar-map)
diff --git a/lisp/paren.el b/lisp/paren.el
index 467e5e985d..1cab6eb2be 100644
--- a/lisp/paren.el
+++ b/lisp/paren.el
@@ -100,9 +100,6 @@ show-paren--overlay-1
 ;;;###autoload
 (define-minor-mode show-paren-mode
   "Toggle visualization of matching parens (Show Paren mode).
-With a prefix argument ARG, enable Show Paren mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Show Paren mode is a global minor mode.  When enabled, any
 matching parenthesis is highlighted in `show-paren-style' after
diff --git a/lisp/pixel-scroll.el b/lisp/pixel-scroll.el
index d362419e0f..227580f4d4 100644
--- a/lisp/pixel-scroll.el
+++ b/lisp/pixel-scroll.el
@@ -105,10 +105,7 @@ pixel-scroll-in-rush-p
 
 ;;;###autoload
 (define-minor-mode pixel-scroll-mode
-  "A minor mode to scroll text pixel-by-pixel.
-With a prefix argument ARG, enable Pixel Scroll mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable Pixel Scroll mode
-if ARG is omitted or nil."
+  "A minor mode to scroll text pixel-by-pixel."
   :init-value nil
   :group 'scrolling
   :global t
diff --git a/lisp/progmodes/bug-reference.el b/lisp/progmodes/bug-reference.el
index d2b3af1972..75bd0ba51e 100644
--- a/lisp/progmodes/bug-reference.el
+++ b/lisp/progmodes/bug-reference.el
@@ -141,10 +141,7 @@ bug-reference-push-button
 
 ;;;###autoload
 (define-minor-mode bug-reference-mode
-  "Toggle hyperlinking bug references in the buffer (Bug Reference mode).
-With a prefix argument ARG, enable Bug Reference mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle hyperlinking bug references in the buffer (Bug Reference mode)."
   nil
   ""
   nil
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 15503ee0b2..7e7c18fb30 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -2164,9 +2164,6 @@ compilation--unsetup
 ;;;###autoload
 (define-minor-mode compilation-shell-minor-mode
   "Toggle Compilation Shell minor mode.
-With a prefix argument ARG, enable Compilation Shell minor mode
-if ARG is positive, and disable it otherwise.  If called from
-Lisp, enable the mode if ARG is omitted or nil.
 
 When Compilation Shell minor mode is enabled, all the
 error-parsing commands of the Compilation major mode are
@@ -2181,9 +2178,6 @@ compilation-shell-minor-mode
 ;;;###autoload
 (define-minor-mode compilation-minor-mode
   "Toggle Compilation minor mode.
-With a prefix argument ARG, enable Compilation minor mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Compilation minor mode is enabled, all the error-parsing
 commands of Compilation major mode are available.  See
diff --git a/lisp/progmodes/cwarn.el b/lisp/progmodes/cwarn.el
index a578896dbf..ff79b90956 100644
--- a/lisp/progmodes/cwarn.el
+++ b/lisp/progmodes/cwarn.el
@@ -180,11 +180,7 @@ cwarn-mode
 
 Note, in addition to enabling this minor mode, the major mode must
 be included in the variable `cwarn-configuration'.  By default C and
-C++ modes are included.
-
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+C++ modes are included."
   :group 'cwarn :lighter cwarn-mode-text
   (cwarn-font-lock-keywords cwarn-mode)
   (font-lock-flush))
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index e8bb3355a0..60d1660e5f 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -915,9 +915,6 @@ flymake-mode-map
 ;;;###autoload
 (define-minor-mode flymake-mode
   "Toggle Flymake mode on or off.
-With a prefix argument ARG, enable Flymake mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'.
 
 Flymake is an Emacs minor mode for on-the-fly syntax checking.
 Flymake collects diagnostic information from multiple sources,
diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el
index 88e34d8df9..6fee895e6a 100644
--- a/lisp/progmodes/gdb-mi.el
+++ b/lisp/progmodes/gdb-mi.el
@@ -1138,9 +1138,7 @@ gdb-delete-out-of-scope
   :version "22.2")
 
 (define-minor-mode gdb-speedbar-auto-raise
-  "Minor mode to automatically raise the speedbar for watch expressions.
-With prefix argument ARG, automatically raise speedbar if ARG is
-positive, otherwise don't automatically raise it."
+  "Minor mode to automatically raise the speedbar for watch expressions."
   :global t
   :group 'gdb
   :version "22.1")
diff --git a/lisp/progmodes/glasses.el b/lisp/progmodes/glasses.el
index c3e8ac35f3..f2bf209946 100644
--- a/lisp/progmodes/glasses.el
+++ b/lisp/progmodes/glasses.el
@@ -312,10 +312,9 @@ glasses-change
 ;;;###autoload
 (define-minor-mode glasses-mode
   "Minor mode for making identifiers likeThis readable.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.  When this mode is active, it tries to
-add virtual separators (like underscores) at places they belong to."
+
+When this mode is active, it tries to add virtual
+separators (like underscores) at places they belong to."
   :group 'glasses :lighter " o^o"
   (save-excursion
     (save-restriction
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 6826674a94..91b4a65edd 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -3363,10 +3363,7 @@ tooltip-mode
 
 ;;;###autoload
 (define-minor-mode gud-tooltip-mode
-  "Toggle the display of GUD tooltips.
-With a prefix argument ARG, enable the feature if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-it if ARG is omitted or nil."
+  "Toggle the display of GUD tooltips."
   :global t
   :group 'gud
   :group 'tooltip
diff --git a/lisp/progmodes/hideif.el b/lisp/progmodes/hideif.el
index 7ac1312d8d..ce7127a3d7 100644
--- a/lisp/progmodes/hideif.el
+++ b/lisp/progmodes/hideif.el
@@ -263,9 +263,6 @@ hif-outside-read-only
 ;;;###autoload
 (define-minor-mode hide-ifdef-mode
   "Toggle features to hide/show #ifdef blocks (Hide-Ifdef mode).
-With a prefix argument ARG, enable Hide-Ifdef mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Hide-Ifdef mode is a buffer-local minor mode for use with C and
 C-like major modes.  When enabled, code within #ifdef constructs
diff --git a/lisp/progmodes/hideshow.el b/lisp/progmodes/hideshow.el
index 799536cbf4..84b2147394 100644
--- a/lisp/progmodes/hideshow.el
+++ b/lisp/progmodes/hideshow.el
@@ -932,9 +932,6 @@ hs-hide-initial-comment-block
 ;;;###autoload
 (define-minor-mode hs-minor-mode
   "Minor mode to selectively hide/show code and comment blocks.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 When hideshow minor mode is on, the menu bar is augmented with hideshow
 commands and the hideshow commands are enabled.
diff --git a/lisp/progmodes/idlw-shell.el b/lisp/progmodes/idlw-shell.el
index dcb81f5a94..616341b0a2 100644
--- a/lisp/progmodes/idlw-shell.el
+++ b/lisp/progmodes/idlw-shell.el
@@ -4251,9 +4251,6 @@ idlwave-shell-electric-debug-buffers
 
 (define-minor-mode idlwave-shell-electric-debug-mode
   "Toggle Idlwave Shell Electric Debug mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 When Idlwave Shell Electric Debug mode is enabled, the Idlwave
 Shell debugging commands are available as single key sequences."
diff --git a/lisp/progmodes/pascal.el b/lisp/progmodes/pascal.el
index 58dc213d8a..6d13d328c5 100644
--- a/lisp/progmodes/pascal.el
+++ b/lisp/progmodes/pascal.el
@@ -1405,9 +1405,6 @@ pascal-outline-map
 
 (define-minor-mode pascal-outline-mode
   "Outline-line minor mode for Pascal mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 When enabled, portions of the text being edited may be made
 invisible.\\<pascal-outline-map>
diff --git a/lisp/progmodes/prog-mode.el b/lisp/progmodes/prog-mode.el
index 19269766c9..b1a17dfa3c 100644
--- a/lisp/progmodes/prog-mode.el
+++ b/lisp/progmodes/prog-mode.el
@@ -196,9 +196,6 @@ prettify-symbols--post-command-hook
 ;;;###autoload
 (define-minor-mode prettify-symbols-mode
   "Toggle Prettify Symbols mode.
-With a prefix argument ARG, enable Prettify Symbols mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Prettify Symbols mode and font-locking are enabled, symbols are
 prettified (displayed as composed characters) according to the rules
diff --git a/lisp/progmodes/subword.el b/lisp/progmodes/subword.el
index cbaa273a7a..ed71b862cf 100644
--- a/lisp/progmodes/subword.el
+++ b/lisp/progmodes/subword.el
@@ -93,9 +93,6 @@ subword-mode-map
 ;;;###autoload
 (define-minor-mode subword-mode
   "Toggle subword movement and editing (Subword mode).
-With a prefix argument ARG, enable Subword mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Subword mode is a buffer-local minor mode.  Enabling it changes
 the definition of a word so that word-based commands stop inside
@@ -269,9 +266,6 @@ superword-mode-map
 ;;;###autoload
 (define-minor-mode superword-mode
   "Toggle superword movement and editing (Superword mode).
-With a prefix argument ARG, enable Superword mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Superword mode is a buffer-local minor mode.  Enabling it changes
 the definition of words such that symbols characters are treated
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el
index f6cb2419de..e17b7f504e 100644
--- a/lisp/progmodes/vhdl-mode.el
+++ b/lisp/progmodes/vhdl-mode.el
@@ -8707,17 +8707,11 @@ vhdl-work-library
 ;;  Enabling/disabling
 
 (define-minor-mode vhdl-electric-mode
-  "Toggle VHDL electric mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable it if ARG
-is omitted or nil."
+  "Toggle VHDL electric mode."
   :global t :group 'vhdl-mode)
 
 (define-minor-mode vhdl-stutter-mode
-  "Toggle VHDL stuttering mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable it if ARG
-is omitted or nil."
+  "Toggle VHDL stuttering mode."
   :global t :group 'vhdl-mode)
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
diff --git a/lisp/progmodes/which-func.el b/lisp/progmodes/which-func.el
index 152f6d2293..7604be0c25 100644
--- a/lisp/progmodes/which-func.el
+++ b/lisp/progmodes/which-func.el
@@ -247,9 +247,6 @@ which-func-update-timer
 ;;;###autoload
 (define-minor-mode which-function-mode
   "Toggle mode line display of current function (Which Function mode).
-With a prefix argument ARG, enable Which Function mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Which Function mode is a global minor mode.  When enabled, the
 current function name is continuously displayed in the mode line,
diff --git a/lisp/recentf.el b/lisp/recentf.el
index c3c4e45922..e318486cde 100644
--- a/lisp/recentf.el
+++ b/lisp/recentf.el
@@ -1342,9 +1342,6 @@ recentf-mode-map
 ;;;###autoload
 (define-minor-mode recentf-mode
   "Toggle \"Open Recent\" menu (Recentf mode).
-With a prefix argument ARG, enable Recentf mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Recentf mode if ARG is omitted or nil.
 
 When Recentf mode is enabled, a \"Open Recent\" submenu is
 displayed in the \"File\" menu, containing a list of files that
diff --git a/lisp/rect.el b/lisp/rect.el
index ba13e12358..8ccf051ee1 100644
--- a/lisp/rect.el
+++ b/lisp/rect.el
@@ -604,6 +604,7 @@ rectangle-mark-mode-map
 ;;;###autoload
 (define-minor-mode rectangle-mark-mode
   "Toggle the region as rectangular.
+
 Activates the region if needed.  Only lasts until the region is deactivated."
   nil nil nil
   (rectangle--reset-crutches)
diff --git a/lisp/reveal.el b/lisp/reveal.el
index 2831c0cc01..a3ecfc490e 100644
--- a/lisp/reveal.el
+++ b/lisp/reveal.el
@@ -191,9 +191,6 @@ reveal-mode-map
 ;;;###autoload
 (define-minor-mode reveal-mode
   "Toggle uncloaking of invisible text near point (Reveal mode).
-With a prefix argument ARG, enable Reveal mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Reveal mode if ARG is omitted or nil.
 
 Reveal mode is a buffer-local minor mode.  When enabled, it
 reveals invisible text around point."
@@ -210,11 +207,7 @@ reveal-mode
 ;;;###autoload
 (define-minor-mode global-reveal-mode
   "Toggle Reveal mode in all buffers (Global Reveal mode).
-Reveal mode renders invisible text around point visible again.
-
-With a prefix argument ARG, enable Global Reveal mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+Reveal mode renders invisible text around point visible again."
   :global t :group 'reveal
   (setq-default reveal-mode global-reveal-mode)
   (if global-reveal-mode
diff --git a/lisp/rfn-eshadow.el b/lisp/rfn-eshadow.el
index 847db68a77..41fd8b5f97 100644
--- a/lisp/rfn-eshadow.el
+++ b/lisp/rfn-eshadow.el
@@ -209,9 +209,6 @@ rfn-eshadow-update-overlay
 \f
 (define-minor-mode file-name-shadow-mode
   "Toggle file-name shadowing in minibuffers (File-Name Shadow mode).
-With a prefix argument ARG, enable File-Name Shadow mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 File-Name Shadow mode is a global minor mode.  When enabled, any
 part of a filename being read in the minibuffer that would be
diff --git a/lisp/ruler-mode.el b/lisp/ruler-mode.el
index 02d5a211ba..366bd15041 100644
--- a/lisp/ruler-mode.el
+++ b/lisp/ruler-mode.el
@@ -591,10 +591,7 @@ ruler--save-header-line-format
 
 ;;;###autoload
 (define-minor-mode ruler-mode
-  "Toggle display of ruler in header line (Ruler mode).
-With a prefix argument ARG, enable Ruler mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Toggle display of ruler in header line (Ruler mode)."
   nil nil
   ruler-mode-map
   :group 'ruler-mode
diff --git a/lisp/savehist.el b/lisp/savehist.el
index 0a261b0b0c..e555450c20 100644
--- a/lisp/savehist.el
+++ b/lisp/savehist.el
@@ -171,9 +171,6 @@ savehist-loaded
 ;;;###autoload
 (define-minor-mode savehist-mode
   "Toggle saving of minibuffer history (Savehist mode).
-With a prefix argument ARG, enable Savehist mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Savehist mode is enabled, minibuffer history is saved
 periodically and when exiting Emacs.  When Savehist mode is
diff --git a/lisp/saveplace.el b/lisp/saveplace.el
index aeb6cf1de7..9d3f10ac35 100644
--- a/lisp/saveplace.el
+++ b/lisp/saveplace.el
@@ -160,9 +160,6 @@ save-place-local-mode
 or exit Emacs.  Visiting this file again will go to that position,
 even in a later Emacs session.
 
-If called with a prefix arg, the mode is enabled if and only if
-the argument is positive.
-
 To save places automatically in all files, put this in your init
 file:
 
diff --git a/lisp/scroll-all.el b/lisp/scroll-all.el
index dea15d58d8..c32960efba 100644
--- a/lisp/scroll-all.el
+++ b/lisp/scroll-all.el
@@ -102,9 +102,6 @@ scroll-all-check-to-scroll
 ;;;###autoload
 (define-minor-mode scroll-all-mode
   "Toggle shared scrolling in same-frame windows (Scroll-All mode).
-With a prefix argument ARG, enable Scroll-All mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Scroll-All mode is enabled, scrolling commands invoked in
 one window apply to all visible windows in the same frame."
diff --git a/lisp/scroll-bar.el b/lisp/scroll-bar.el
index dd4a8aab0e..4d1ad03fa5 100644
--- a/lisp/scroll-bar.el
+++ b/lisp/scroll-bar.el
@@ -133,9 +133,6 @@ get-scroll-bar-mode
 
 (define-minor-mode scroll-bar-mode
   "Toggle vertical scroll bars on all frames (Scroll Bar mode).
-With a prefix argument ARG, enable Scroll Bar mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 This command applies to all frames that exist and frames to be
 created in the future."
@@ -152,9 +149,6 @@ horizontal-scroll-bars-available-p
 
 (define-minor-mode horizontal-scroll-bar-mode
   "Toggle horizontal scroll bars on all frames (Horizontal Scroll Bar mode).
-With a prefix argument ARG, enable Horizontal Scroll Bar mode if
-ARG is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 This command applies to all frames that exist and frames to be
 created in the future."
diff --git a/lisp/scroll-lock.el b/lisp/scroll-lock.el
index 2ce0f4578b..123fbb2b37 100644
--- a/lisp/scroll-lock.el
+++ b/lisp/scroll-lock.el
@@ -49,12 +49,11 @@ scroll-lock-temporary-goal-column
 ;;;###autoload
 (define-minor-mode scroll-lock-mode
   "Buffer-local minor mode for pager-like scrolling.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.  When enabled, keys that normally move
-point by line or paragraph will scroll the buffer by the
-respective amount of lines instead and point will be kept
-vertically fixed relative to window boundaries during scrolling."
+
+When enabled, keys that normally move point by line or paragraph
+will scroll the buffer by the respective amount of lines instead
+and point will be kept vertically fixed relative to window
+boundaries during scrolling."
   :lighter " ScrLck"
   :keymap scroll-lock-mode-map
   (if scroll-lock-mode
diff --git a/lisp/server.el b/lisp/server.el
index ff03cbe622..00e202e5e8 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -770,9 +770,6 @@ server-running-p
 ;;;###autoload
 (define-minor-mode server-mode
   "Toggle Server mode.
-With a prefix argument ARG, enable Server mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Server mode if ARG is omitted or nil.
 
 Server mode runs a process that accepts commands from the
 `emacsclient' program.  See Info node `Emacs server' and
diff --git a/lisp/shell.el b/lisp/shell.el
index 91c65ed171..c78903b3e5 100644
--- a/lisp/shell.el
+++ b/lisp/shell.el
@@ -967,9 +967,6 @@ shell-extract-num
 
 (define-minor-mode shell-dirtrack-mode
   "Toggle directory tracking in this shell buffer (Shell Dirtrack mode).
-With a prefix argument ARG, enable Shell Dirtrack mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 The `dirtrack' package provides an alternative implementation of
 this feature; see the function `dirtrack-mode'."
diff --git a/lisp/simple.el b/lisp/simple.el
index f8c02c1dbf..e98cea78d4 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -401,9 +401,7 @@ next-error-follow-last-line
 
 (define-minor-mode next-error-follow-minor-mode
   "Minor mode for compilation, occur and diff modes.
-With a prefix argument ARG, enable mode if ARG is positive, and
-disable it otherwise.  If called from Lisp, enable mode if ARG is
-omitted or nil.
+
 When turned on, cursor motion in the compilation, grep, occur or diff
 buffer causes automatic display of the corresponding source code location."
   :group 'next-error :init-value nil :lighter " Fol"
@@ -5817,9 +5815,6 @@ handle-shift-selection
 
 (define-minor-mode transient-mark-mode
   "Toggle Transient Mark mode.
-With a prefix argument ARG, enable Transient Mark mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Transient Mark mode if ARG is omitted or nil.
 
 Transient Mark mode is a global minor mode.  When enabled, the
 region is highlighted with the `region' face whenever the mark
@@ -6854,12 +6849,6 @@ visual-line--saved-state
 
 (define-minor-mode visual-line-mode
   "Toggle visual line based editing (Visual Line mode) in the current buffer.
-Interactively, with a prefix argument, enable
-Visual Line mode if the prefix argument is positive,
-and disable it otherwise.  If called from Lisp, toggle
-the mode if ARG is `toggle', disable the mode if ARG is
-a non-positive integer, and enable the mode otherwise
-\(including if ARG is omitted or nil or a positive integer).
 
 When Visual Line mode is enabled, `word-wrap' is turned on in
 this buffer, and simple editing commands are redefined to act on
@@ -7290,12 +7279,6 @@ normal-auto-fill-function
 
 (define-minor-mode auto-fill-mode
   "Toggle automatic line breaking (Auto Fill mode).
-Interactively, with a prefix argument, enable
-Auto Fill mode if the prefix argument is positive,
-and disable it otherwise.  If called from Lisp, toggle
-the mode if ARG is `toggle', disable the mode if ARG is
-a non-positive integer, and enable the mode otherwise
-\(including if ARG is omitted or nil or a positive integer).
 
 When Auto Fill mode is enabled, inserting a space at a column
 beyond `current-fill-column' automatically breaks the line at a
@@ -7410,9 +7393,6 @@ overwrite-mode-binary
 
 (define-minor-mode overwrite-mode
   "Toggle Overwrite mode.
-With a prefix argument ARG, enable Overwrite mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Overwrite mode is enabled, printing characters typed in
 replace existing text on a one-for-one basis, rather than pushing
@@ -7426,9 +7406,6 @@ overwrite-mode
 
 (define-minor-mode binary-overwrite-mode
   "Toggle Binary Overwrite mode.
-With a prefix argument ARG, enable Binary Overwrite mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Binary Overwrite mode is enabled, printing characters typed
 in replace existing text.  Newlines are not treated specially, so
@@ -7446,9 +7423,6 @@ binary-overwrite-mode
 
 (define-minor-mode line-number-mode
   "Toggle line number display in the mode line (Line Number mode).
-With a prefix argument ARG, enable Line Number mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Line numbers do not appear for very large buffers and buffers
 with very long lines; see variables `line-number-display-limit'
@@ -7456,27 +7430,15 @@ line-number-mode
   :init-value t :global t :group 'mode-line)
 
 (define-minor-mode column-number-mode
-  "Toggle column number display in the mode line (Column Number mode).
-With a prefix argument ARG, enable Column Number mode if ARG is
-positive, and disable it otherwise.
-
-If called from Lisp, enable the mode if ARG is omitted or nil."
+  "Toggle column number display in the mode line (Column Number mode)."
   :global t :group 'mode-line)
 
 (define-minor-mode size-indication-mode
-  "Toggle buffer size display in the mode line (Size Indication mode).
-With a prefix argument ARG, enable Size Indication mode if ARG is
-positive, and disable it otherwise.
-
-If called from Lisp, enable the mode if ARG is omitted or nil."
+  "Toggle buffer size display in the mode line (Size Indication mode)."
   :global t :group 'mode-line)
 
 (define-minor-mode auto-save-mode
-  "Toggle auto-saving in the current buffer (Auto Save mode).
-With a prefix argument ARG, enable Auto Save mode if ARG is
-positive, and disable it otherwise.
-
-If called from Lisp, enable the mode if ARG is omitted or nil."
+  "Toggle auto-saving in the current buffer (Auto Save mode)."
   :variable ((and buffer-auto-save-file-name
                   ;; If auto-save is off because buffer has shrunk,
                   ;; then toggling should turn it on.
@@ -8687,9 +8649,6 @@ normal-erase-is-backspace-setup-frame
 
 (define-minor-mode normal-erase-is-backspace-mode
   "Toggle the Erase and Delete mode of the Backspace and Delete keys.
-With a prefix argument ARG, enable this feature if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 On window systems, when this mode is on, Delete is mapped to C-d
 and Backspace is mapped to DEL; when this mode is off, both
@@ -8766,9 +8725,9 @@ vis-mode-saved-buffer-invisibility-spec
 
 (define-minor-mode read-only-mode
   "Change whether the current buffer is read-only.
-With prefix argument ARG, make the buffer read-only if ARG is
-positive, otherwise make it writable.  If buffer is read-only
-and `view-read-only' is non-nil, enter view mode.
+
+If buffer is read-only and `view-read-only' is non-nil, enter
+view mode.
 
 Do not call this from a Lisp program unless you really intend to
 do the same thing as the \\[read-only-mode] command, including
@@ -8792,9 +8751,6 @@ read-only-mode
 
 (define-minor-mode visible-mode
   "Toggle making all invisible text temporarily visible (Visible mode).
-With a prefix argument ARG, enable Visible mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 This mode works by saving the value of `buffer-invisibility-spec'
 and setting it to nil."
diff --git a/lisp/strokes.el b/lisp/strokes.el
index 6ffcff73c2..d5c287c341 100644
--- a/lisp/strokes.el
+++ b/lisp/strokes.el
@@ -1388,9 +1388,6 @@ strokes-mode-map
 ;;;###autoload
 (define-minor-mode strokes-mode
   "Toggle Strokes mode, a global minor mode.
-With a prefix argument ARG, enable Strokes mode if ARG is
-positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 \\<strokes-mode-map>
 Strokes are pictographic mouse gestures which invoke commands.
diff --git a/lisp/t-mouse.el b/lisp/t-mouse.el
index 8a816fd444..3ad719d193 100644
--- a/lisp/t-mouse.el
+++ b/lisp/t-mouse.el
@@ -67,9 +67,6 @@ 't-mouse-mode
 ;;;###autoload
 (define-minor-mode gpm-mouse-mode
   "Toggle mouse support in GNU/Linux consoles (GPM Mouse mode).
-With a prefix argument ARG, enable GPM Mouse mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 This allows the use of the mouse when operating on a GNU/Linux console,
 in the same way as you can use the mouse under X11.
diff --git a/lisp/tar-mode.el b/lisp/tar-mode.el
index f7b14fab51..9860c8b30c 100644
--- a/lisp/tar-mode.el
+++ b/lisp/tar-mode.el
@@ -762,12 +762,10 @@ tar-mode
 
 (define-minor-mode tar-subfile-mode
   "Minor mode for editing an element of a tar-file.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.  This mode arranges for \"saving\" this
-buffer to write the data into the tar-file buffer that it came
-from.  The changes will actually appear on disk when you save the
-tar-file's buffer."
+
+This mode arranges for \"saving\" this buffer to write the data
+into the tar-file buffer that it came from.  The changes will
+actually appear on disk when you save the tar-file's buffer."
   ;; Don't do this, because it is redundant and wastes mode line space.
   ;; :lighter " TarFile"
   nil nil nil
diff --git a/lisp/term/tvi970.el b/lisp/term/tvi970.el
index 97687894ec..0c4b0ae73b 100644
--- a/lisp/term/tvi970.el
+++ b/lisp/term/tvi970.el
@@ -101,9 +101,6 @@ terminal-init-tvi970
 ;; Should keypad numbers send ordinary digits or distinct escape sequences?
 (define-minor-mode tvi970-set-keypad-mode
   "Toggle alternate keypad mode on TVI 970 keypad.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 In alternate keypad mode, the keys send distinct escape
 sequences, meaning that they can have their own bindings,
diff --git a/lisp/term/vt100.el b/lisp/term/vt100.el
index d40c550aff..b61e557e2f 100644
--- a/lisp/term/vt100.el
+++ b/lisp/term/vt100.el
@@ -39,10 +39,7 @@ terminal-init-vt100
 
 ;;; Controlling the screen width.
 (define-minor-mode vt100-wide-mode
-  "Toggle 132/80 column mode for vt100s.
-With a prefix argument ARG, switch to 132-column mode if ARG is
-positive, and 80-column mode otherwise.  If called from Lisp,
-switch to 132-column mode if ARG is omitted or nil."
+  "Toggle 132/80 column mode for vt100s."
   :global t :init-value (= (frame-width) 132)
   :group 'terminals
   (send-string-to-terminal (if vt100-wide-mode "\e[?3h" "\e[?3l"))
diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el
index 61ca0856bc..940a78ae92 100644
--- a/lisp/textmodes/artist.el
+++ b/lisp/textmodes/artist.el
@@ -1198,7 +1198,7 @@ artist-select-prev-op-in-list
 ;;;###autoload
 (define-minor-mode artist-mode
   "Toggle Artist mode.
-With argument ARG, turn Artist mode on if ARG is positive.
+
 Artist lets you draw lines, squares, rectangles and poly-lines,
 ellipses and circles with your mouse and/or keyboard.
 
diff --git a/lisp/textmodes/enriched.el b/lisp/textmodes/enriched.el
index 6b4c44a39e..f2065cbff9 100644
--- a/lisp/textmodes/enriched.el
+++ b/lisp/textmodes/enriched.el
@@ -210,10 +210,6 @@ enriched-mode
 These are files with embedded formatting information in the MIME standard
 text/enriched format.
 
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
-
 Turning the mode on or off runs `enriched-mode-hook'.
 
 More information about Enriched mode is available in the file
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index 9747f8e2eb..8ad6832880 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -505,9 +505,6 @@ flyspell-overlay
 ;;;###autoload
 (define-minor-mode flyspell-mode
   "Toggle on-the-fly spell checking (Flyspell mode).
-With a prefix argument ARG, enable Flyspell mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Flyspell mode is a buffer-local minor mode.  When enabled, it
 spawns a single Ispell process and checks each word.  The default
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index d1d47718f9..d80447e0a5 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -3695,9 +3695,6 @@ ispell-minor-keymap
 ;;;###autoload
 (define-minor-mode ispell-minor-mode
   "Toggle last-word spell checking (Ispell minor mode).
-With a prefix argument ARG, enable Ispell minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Ispell minor mode is a buffer-local minor mode.  When enabled,
 typing SPC or RET warns you if the previous word is incorrectly
diff --git a/lisp/textmodes/nroff-mode.el b/lisp/textmodes/nroff-mode.el
index 6955ed25e1..51a9f5820d 100644
--- a/lisp/textmodes/nroff-mode.el
+++ b/lisp/textmodes/nroff-mode.el
@@ -298,9 +298,6 @@ nroff-electric-newline
 
 (define-minor-mode nroff-electric-mode
   "Toggle automatic nroff request pairing (Nroff Electric mode).
-With a prefix argument ARG, enable Nroff Electric mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Nroff Electric mode is a buffer-local minor mode, for use with
 `nroff-mode'.  When enabled, Emacs checks for an nroff request at
diff --git a/lisp/textmodes/paragraphs.el b/lisp/textmodes/paragraphs.el
index 3e2784ca95..ee812566b9 100644
--- a/lisp/textmodes/paragraphs.el
+++ b/lisp/textmodes/paragraphs.el
@@ -36,9 +36,6 @@ paragraphs
 (put 'use-hard-newlines 'permanent-local t)
 (define-minor-mode use-hard-newlines
   "Toggle distinguishing between hard and soft newlines.
-With a prefix argument ARG, enable the feature if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-it if ARG is omitted or nil.
 
 When enabled, the functions `newline' and `open-line' add the
 text-property `hard' to newlines that they insert, and a line is
diff --git a/lisp/textmodes/refill.el b/lisp/textmodes/refill.el
index 1252afe417..229d6a24dd 100644
--- a/lisp/textmodes/refill.el
+++ b/lisp/textmodes/refill.el
@@ -213,9 +213,6 @@ refill-saved-state
 ;;;###autoload
 (define-minor-mode refill-mode
   "Toggle automatic refilling (Refill mode).
-With a prefix argument ARG, enable Refill mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Refill mode is a buffer-local minor mode.  When enabled, the
 current paragraph is refilled as you edit.  Self-inserting
diff --git a/lisp/textmodes/rst.el b/lisp/textmodes/rst.el
index 40d75a9db8..126804fdab 100644
--- a/lisp/textmodes/rst.el
+++ b/lisp/textmodes/rst.el
@@ -1411,9 +1411,6 @@ rst-mode
 ;;;###autoload
 (define-minor-mode rst-minor-mode
   "Toggle ReST minor mode.
-With a prefix argument ARG, enable ReST minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When ReST minor mode is enabled, the ReST mode keybindings
 are installed on top of the major mode bindings.  Use this
diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el
index 30ca11199d..470f4a348a 100644
--- a/lisp/textmodes/sgml-mode.el
+++ b/lisp/textmodes/sgml-mode.el
@@ -941,9 +941,6 @@ sgml-electric-tag-pair-flush-overlays
 
 (define-minor-mode sgml-electric-tag-pair-mode
   "Toggle SGML Electric Tag Pair mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 SGML Electric Tag Pair mode is a buffer-local minor mode for use
 with `sgml-mode' and related major modes.  When enabled, editing
@@ -2379,9 +2376,6 @@ html-imenu-index
 
 (define-minor-mode html-autoview-mode
   "Toggle viewing of HTML files on save (HTML Autoview mode).
-With a prefix argument ARG, enable HTML Autoview mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 HTML Autoview mode is a buffer-local minor mode for use with
 `html-mode'.  If enabled, saving the file automatically runs
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el
index c65b3b3ea2..c223af4769 100644
--- a/lisp/textmodes/tex-mode.el
+++ b/lisp/textmodes/tex-mode.el
@@ -713,9 +713,6 @@ tex-env-mark
 
 (define-minor-mode latex-electric-env-pair-mode
   "Toggle Latex Electric Env Pair mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable it if ARG
-is omitted or nil.
 
 Latex Electric Env Pair mode is a buffer-local minor mode for use
 with `latex-mode'.  When enabled, typing a \\begin or \\end tag
diff --git a/lisp/time.el b/lisp/time.el
index ab6b5b9632..94f7009953 100644
--- a/lisp/time.el
+++ b/lisp/time.el
@@ -488,9 +488,6 @@ display-time-file-nonempty-p
 ;;;###autoload
 (define-minor-mode display-time-mode
   "Toggle display of time, load level, and mail flag in mode lines.
-With a prefix argument ARG, enable Display Time mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-it if ARG is omitted or nil.
 
 When Display Time mode is enabled, it updates every minute (you
 can control the number of seconds between updates by customizing
diff --git a/lisp/tool-bar.el b/lisp/tool-bar.el
index 18f54dbac6..e2242cf6f7 100644
--- a/lisp/tool-bar.el
+++ b/lisp/tool-bar.el
@@ -44,9 +44,6 @@
 ;; when you are on a tty.  I hope that won't cause too much trouble -- rms.
 (define-minor-mode tool-bar-mode
   "Toggle the tool bar in all graphical frames (Tool Bar mode).
-With a prefix argument ARG, enable Tool Bar mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Tool Bar mode if ARG is omitted or nil.
 
 See `tool-bar-add-item' and `tool-bar-add-item-from-menu' for
 conveniently adding tool bar items."
diff --git a/lisp/tooltip.el b/lisp/tooltip.el
index 81df229a13..384d3d19db 100644
--- a/lisp/tooltip.el
+++ b/lisp/tooltip.el
@@ -42,9 +42,6 @@ tooltip
 
 (define-minor-mode tooltip-mode
   "Toggle Tooltip mode.
-With a prefix argument ARG, enable Tooltip mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 When this global minor mode is enabled, Emacs displays help
 text (e.g. for buttons and menu items that you put the mouse on)
diff --git a/lisp/type-break.el b/lisp/type-break.el
index 98947bac27..c7cdc46036 100644
--- a/lisp/type-break.el
+++ b/lisp/type-break.el
@@ -287,9 +287,6 @@ type-break-mode
 to find a good breaking point in his or her work, but be sufficiently
 annoying to discourage putting typing breaks off indefinitely.
 
-A negative prefix argument disables this mode.
-No argument or any non-negative argument enables it.
-
 The user may enable or disable this mode by setting the variable of the
 same name, though setting it in that way doesn't reschedule a break or
 reset the keystroke counter.
@@ -406,9 +403,6 @@ type-break-mode
 
 (define-minor-mode type-break-mode-line-message-mode
   "Toggle warnings about typing breaks in the mode line.
-With a prefix argument ARG, enable these warnings if ARG is
-positive, and disable them otherwise.  If called from Lisp,
-enable them if ARG is omitted or nil.
 
 The user may also enable or disable this mode simply by setting
 the variable of the same name.
@@ -423,9 +417,6 @@ type-break-mode-line-message-mode
 
 (define-minor-mode type-break-query-mode
   "Toggle typing break queries.
-With a prefix argument ARG, enable these queries if ARG is
-positive, and disable them otherwise.  If called from Lisp,
-enable them if ARG is omitted or nil.
 
 The user may also enable or disable this mode simply by setting
 the variable of the same name."
diff --git a/lisp/url/url-dired.el b/lisp/url/url-dired.el
index 784f70eb1f..b34ffa3057 100644
--- a/lisp/url/url-dired.el
+++ b/lisp/url/url-dired.el
@@ -44,9 +44,6 @@ url-dired-find-file-mouse
 
 (define-minor-mode url-dired-minor-mode
   "Minor mode for directory browsing.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
   :lighter " URL" :keymap url-dired-minor-mode-map)
 
 (defun url-find-file-dired (dir)
diff --git a/lisp/url/url-handlers.el b/lisp/url/url-handlers.el
index 98f9f1e373..3802c39b78 100644
--- a/lisp/url/url-handlers.el
+++ b/lisp/url/url-handlers.el
@@ -102,10 +102,7 @@ url-handler-regexp
 
 ;;;###autoload
 (define-minor-mode url-handler-mode
-  "Toggle using `url' library for URL filenames (URL Handler mode).
-With a prefix argument ARG, enable URL Handler mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle using `url' library for URL filenames (URL Handler mode)."
   :global t :group 'url
   ;; Remove old entry, if any.
   (setq file-name-handler-alist
diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el
index 1e2fbb97fc..e88ccece41 100644
--- a/lisp/vc/diff-mode.el
+++ b/lisp/vc/diff-mode.el
@@ -216,9 +216,6 @@ diff-minor-mode-prefix
 
 (define-minor-mode diff-auto-refine-mode
   "Toggle automatic diff hunk highlighting (Diff Auto Refine mode).
-With a prefix argument ARG, enable Diff Auto Refine mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 Diff Auto Refine mode is a buffer-local minor mode used with
 `diff-mode'.  When enabled, Emacs automatically highlights
@@ -1424,9 +1421,6 @@ diff-mode
 ;;;###autoload
 (define-minor-mode diff-minor-mode
   "Toggle Diff minor mode.
-With a prefix argument ARG, enable Diff minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 \\{diff-minor-mode-map}"
   :group 'diff-mode :lighter " Diff"
diff --git a/lisp/vc/smerge-mode.el b/lisp/vc/smerge-mode.el
index 99a074cf25..cb51fbab8e 100644
--- a/lisp/vc/smerge-mode.el
+++ b/lisp/vc/smerge-mode.el
@@ -1398,9 +1398,7 @@ smerge-parsep-re
 ;;;###autoload
 (define-minor-mode smerge-mode
   "Minor mode to simplify editing output from the diff3 program.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
+
 \\{smerge-mode-map}"
   :group 'smerge :lighter " SMerge"
   (when (and (boundp 'font-lock-mode) font-lock-mode)
diff --git a/lisp/vcursor.el b/lisp/vcursor.el
index 8974330452..ce7a895a62 100644
--- a/lisp/vcursor.el
+++ b/lisp/vcursor.el
@@ -815,8 +815,7 @@ vcursor-check
 
 (define-minor-mode vcursor-use-vcursor-map
   "Toggle the state of the vcursor key map.
-With a prefix argument ARG, enable it if ARG is positive, and disable
-it otherwise.  If called from Lisp, enable it if ARG is omitted or nil.
+
 When on, the keys defined in it are mapped directly on top of the main
 keymap, allowing you to move the vcursor with ordinary motion keys.
 An indication \"!VC\" appears in the mode list.  The effect is
diff --git a/lisp/view.el b/lisp/view.el
index cc328680e2..56f98a6db2 100644
--- a/lisp/view.el
+++ b/lisp/view.el
@@ -381,9 +381,6 @@ view-mode
   ;; bindings instead of using the \\[] construction.  The reason for this
   ;; is that most commands have more than one key binding.
   "Toggle View mode, a minor mode for viewing text but not editing it.
-With a prefix argument ARG, enable View mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable View mode
-if ARG is omitted or nil.
 
 When View mode is enabled, commands that do not change the buffer
 contents are available as usual.  Kill commands insert text in
diff --git a/lisp/whitespace.el b/lisp/whitespace.el
index c2827d3d51..d8249316e4 100644
--- a/lisp/whitespace.el
+++ b/lisp/whitespace.el
@@ -924,11 +924,6 @@ whitespace-action
 ;;;###autoload
 (define-minor-mode whitespace-mode
   "Toggle whitespace visualization (Whitespace mode).
-With a prefix argument ARG, enable Whitespace mode if ARG is
-positive, and disable it otherwise.
-
-If called from Lisp, also enables the mode if ARG is omitted or nil,
-and toggles it if ARG is `toggle'.
 
 See also `whitespace-style', `whitespace-newline' and
 `whitespace-display-mappings'."
@@ -949,11 +944,6 @@ whitespace-mode
 ;;;###autoload
 (define-minor-mode whitespace-newline-mode
   "Toggle newline visualization (Whitespace Newline mode).
-With a prefix argument ARG, enable Whitespace Newline mode if ARG
-is positive, and disable it otherwise.
-
-If called from Lisp, also enables the mode if ARG is omitted or nil,
-and toggles it if ARG is `toggle'.
 
 Use `whitespace-newline-mode' only for NEWLINE visualization
 exclusively.  For other visualizations, including NEWLINE
@@ -979,11 +969,6 @@ whitespace-newline-mode
 ;;;###autoload
 (define-minor-mode global-whitespace-mode
   "Toggle whitespace visualization globally (Global Whitespace mode).
-With a prefix argument ARG, enable Global Whitespace mode if ARG
-is positive, and disable it otherwise.
-
-If called from Lisp, also enables the mode if ARG is omitted or nil,
-and toggles it if ARG is `toggle'.
 
 See also `whitespace-style', `whitespace-newline' and
 `whitespace-display-mappings'."
@@ -1040,11 +1025,6 @@ whitespace-turn-on-if-enabled
 ;;;###autoload
 (define-minor-mode global-whitespace-newline-mode
   "Toggle global newline visualization (Global Whitespace Newline mode).
-With a prefix argument ARG, enable Global Whitespace Newline mode
-if ARG is positive, and disable it otherwise.
-
-If called from Lisp, also enables the mode if ARG is omitted or nil,
-and toggles it if ARG is `toggle'.
 
 Use `global-whitespace-newline-mode' only for NEWLINE
 visualization exclusively.  For other visualizations, including
diff --git a/lisp/wid-browse.el b/lisp/wid-browse.el
index db2be0cc90..d86e9cd2e2 100644
--- a/lisp/wid-browse.el
+++ b/lisp/wid-browse.el
@@ -269,10 +269,7 @@ widget-minor-mode-map
 
 ;;;###autoload
 (define-minor-mode widget-minor-mode
-  "Minor mode for traversing widgets.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode for traversing widgets."
   :lighter " Widget")
 
 ;;; The End:
diff --git a/lisp/winner.el b/lisp/winner.el
index 72b90b0e43..5e13a378a7 100644
--- a/lisp/winner.el
+++ b/lisp/winner.el
@@ -351,9 +351,6 @@ winner-mode-map
 ;;;###autoload
 (define-minor-mode winner-mode
   "Toggle Winner mode on or off.
-With a prefix argument ARG, enable Winner mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'.
 
 Winner mode is a global minor mode that records the changes in
 the window configuration (i.e. how the frames are partitioned
diff --git a/lisp/xt-mouse.el b/lisp/xt-mouse.el
index 8fb65d5bfa..da4af32e5e 100644
--- a/lisp/xt-mouse.el
+++ b/lisp/xt-mouse.el
@@ -312,9 +312,6 @@ xterm-mouse-event
 ;;;###autoload
 (define-minor-mode xterm-mouse-mode
   "Toggle XTerm mouse mode.
-With a prefix argument ARG, enable XTerm mouse mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Turn it on to use Emacs mouse commands, and off to use xterm mouse commands.
 This works in terminal emulators compatible with xterm.  It only
-- 
2.18.0


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

* bug#10754: define-minor-mode and doc of derived mode
  2018-06-27 21:31                                 ` John Shahid
@ 2018-06-29  1:02                                   ` Stefan Monnier
  2018-06-29 13:45                                     ` John Shahid
  0 siblings, 1 reply; 28+ messages in thread
From: Stefan Monnier @ 2018-06-29  1:02 UTC (permalink / raw)
  To: John Shahid; +Cc: 10754

>> The only problematic modes are those with a large keymaps in the
>> docstring. The argument doc paragraph ends up being outside the visible
>> area on the screen which feels awkward. That said, I'm feel the benefit
>> outweigh this awkwardness.

Maybe we could add the paragraph at the first empty line (if there's
one), instead of always at the end?

But overall, LGTM,


        Stefan





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

* bug#10754: define-minor-mode and doc of derived mode
  2018-06-29  1:02                                   ` Stefan Monnier
@ 2018-06-29 13:45                                     ` John Shahid
  2018-06-29 13:55                                       ` Stefan Monnier
  0 siblings, 1 reply; 28+ messages in thread
From: John Shahid @ 2018-06-29 13:45 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 10754

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


Stefan Monnier <monnier@IRO.UMontreal.CA> writes:

>>> The only problematic modes are those with a large keymaps in the
>>> docstring. The argument doc paragraph ends up being outside the visible
>>> area on the screen which feels awkward. That said, I'm feel the benefit
>>> outweigh this awkwardness.
>
> Maybe we could add the paragraph at the first empty line (if there's
> one), instead of always at the end?

Sounds reasonable, I was hesitant to make the implementation more
complicated but it turns out not to be that bad. Attached the patch to
either append the paragraph or insert it at the first empty line.


[-- Attachment #2: 0001-optionally-include-argument-description-in-minor-mod.patch --]
[-- Type: text/x-diff, Size: 117619 bytes --]

From 76238ed0a554f53154db67ac4576c0337ea91731 Mon Sep 17 00:00:00 2001
From: John Shahid <jvshahid@gmail.com>
Date: Tue, 5 Jun 2018 19:56:12 -0400
Subject: [PATCH] optionally include argument description in minor mode DOC

* easy-mmode.el (define-minor-mode): Add a parapgraph to the mode's
  docstring documenting the mode ARG usage if the supplied docstring
  didn't contain the word "ARG".

removed argument documetation from all minor modes.
---
 lisp/abbrev.el                       |  3 --
 lisp/allout-widgets.el               |  3 --
 lisp/allout.el                       |  3 --
 lisp/autoarg.el                      |  6 ---
 lisp/autoinsert.el                   |  3 --
 lisp/autorevert.el                   |  9 -----
 lisp/battery.el                      |  3 --
 lisp/cedet/ede.el                    |  6 ---
 lisp/cedet/ede/dired.el              |  4 +-
 lisp/cedet/semantic.el               |  3 --
 lisp/cedet/semantic/db-mode.el       |  1 -
 lisp/cedet/semantic/decorate/mode.el | 12 +++---
 lisp/cedet/semantic/idle.el          | 19 ++++-----
 lisp/cedet/semantic/mru-bookmark.el  | 10 ++---
 lisp/cedet/semantic/util-modes.el    | 52 +++++++++++--------------
 lisp/cedet/srecode/mode.el           | 11 +++---
 lisp/completion.el                   |  5 +--
 lisp/composite.el                    |  6 ---
 lisp/delsel.el                       |  6 ---
 lisp/desktop.el                      |  3 --
 lisp/dired-x.el                      |  3 --
 lisp/dirtrack.el                     |  8 +---
 lisp/doc-view.el                     |  3 --
 lisp/double.el                       |  3 --
 lisp/elec-pair.el                    |  3 --
 lisp/electric.el                     | 10 +----
 lisp/emacs-lisp/checkdoc.el          |  3 --
 lisp/emacs-lisp/easy-mmode.el        | 31 +++++++++++----
 lisp/emacs-lisp/eldoc.el             |  3 --
 lisp/emacs-lock.el                   |  4 +-
 lisp/emulation/cua-base.el           |  3 --
 lisp/epa-hook.el                     |  5 +--
 lisp/epa-mail.el                     | 10 +----
 lisp/erc/erc-track.el                |  3 --
 lisp/face-remap.el                   | 10 ++---
 lisp/files.el                        |  8 +---
 lisp/follow.el                       |  3 --
 lisp/font-core.el                    |  3 --
 lisp/frame.el                        | 12 ------
 lisp/help.el                         |  3 --
 lisp/hexl.el                         |  1 +
 lisp/hi-lock.el                      |  3 --
 lisp/hilit-chg.el                    |  6 ---
 lisp/hl-line.el                      |  6 ---
 lisp/ibuf-ext.el                     |  5 +--
 lisp/icomplete.el                    |  3 --
 lisp/ido.el                          |  5 +--
 lisp/image-file.el                   |  3 --
 lisp/image-mode.el                   |  3 --
 lisp/international/iso-ascii.el      |  5 +--
 lisp/jit-lock.el                     |  1 +
 lisp/jka-cmpr-hook.el                |  3 --
 lisp/language/thai-util.el           |  9 ++---
 lisp/linum.el                        |  4 +-
 lisp/mail/footnote.el                |  3 --
 lisp/mail/mailabbrev.el              |  3 --
 lisp/master.el                       |  3 --
 lisp/mb-depth.el                     |  3 --
 lisp/menu-bar.el                     |  3 --
 lisp/minibuf-eldef.el                |  3 --
 lisp/msb.el                          |  3 --
 lisp/mwheel.el                       |  5 +--
 lisp/net/goto-addr.el                |  5 +--
 lisp/net/rcirc.el                    | 13 +------
 lisp/obsolete/complete.el            |  1 -
 lisp/obsolete/crisp.el               |  5 +--
 lisp/obsolete/iswitchb.el            |  3 --
 lisp/obsolete/longlines.el           |  3 --
 lisp/obsolete/mouse-sel.el           |  3 --
 lisp/obsolete/old-whitespace.el      |  1 -
 lisp/obsolete/tpu-edt.el             |  5 +--
 lisp/obsolete/tpu-extras.el          |  5 +--
 lisp/obsolete/xesam.el               |  3 --
 lisp/outline.el                      |  3 --
 lisp/paren.el                        |  3 --
 lisp/pixel-scroll.el                 |  5 +--
 lisp/progmodes/bug-reference.el      |  5 +--
 lisp/progmodes/compile.el            |  6 ---
 lisp/progmodes/cwarn.el              |  6 +--
 lisp/progmodes/flymake.el            |  3 --
 lisp/progmodes/gdb-mi.el             |  4 +-
 lisp/progmodes/glasses.el            |  7 ++--
 lisp/progmodes/gud.el                |  5 +--
 lisp/progmodes/hideif.el             |  3 --
 lisp/progmodes/hideshow.el           |  3 --
 lisp/progmodes/idlw-shell.el         |  3 --
 lisp/progmodes/pascal.el             |  3 --
 lisp/progmodes/prog-mode.el          |  3 --
 lisp/progmodes/subword.el            |  6 ---
 lisp/progmodes/vhdl-mode.el          | 10 +----
 lisp/progmodes/which-func.el         |  3 --
 lisp/recentf.el                      |  3 --
 lisp/rect.el                         |  1 +
 lisp/reveal.el                       |  9 +----
 lisp/rfn-eshadow.el                  |  3 --
 lisp/ruler-mode.el                   |  5 +--
 lisp/savehist.el                     |  3 --
 lisp/saveplace.el                    |  3 --
 lisp/scroll-all.el                   |  3 --
 lisp/scroll-bar.el                   |  6 ---
 lisp/scroll-lock.el                  | 11 +++---
 lisp/server.el                       |  3 --
 lisp/shell.el                        |  3 --
 lisp/simple.el                       | 58 ++++------------------------
 lisp/strokes.el                      |  3 --
 lisp/t-mouse.el                      |  3 --
 lisp/tar-mode.el                     | 10 ++---
 lisp/term/tvi970.el                  |  3 --
 lisp/term/vt100.el                   |  5 +--
 lisp/textmodes/artist.el             |  2 +-
 lisp/textmodes/enriched.el           |  4 --
 lisp/textmodes/flyspell.el           |  3 --
 lisp/textmodes/ispell.el             |  3 --
 lisp/textmodes/nroff-mode.el         |  3 --
 lisp/textmodes/paragraphs.el         |  3 --
 lisp/textmodes/refill.el             |  3 --
 lisp/textmodes/rst.el                |  3 --
 lisp/textmodes/sgml-mode.el          |  6 ---
 lisp/textmodes/tex-mode.el           |  3 --
 lisp/time.el                         |  3 --
 lisp/tool-bar.el                     |  3 --
 lisp/tooltip.el                      |  3 --
 lisp/type-break.el                   |  9 -----
 lisp/url/url-dired.el                |  5 +--
 lisp/url/url-handlers.el             |  5 +--
 lisp/vc/diff-mode.el                 |  6 ---
 lisp/vc/smerge-mode.el               |  4 +-
 lisp/vcursor.el                      |  3 +-
 lisp/view.el                         |  3 --
 lisp/whitespace.el                   | 20 ----------
 lisp/wid-browse.el                   |  5 +--
 lisp/winner.el                       |  3 --
 lisp/xt-mouse.el                     |  3 --
 133 files changed, 134 insertions(+), 619 deletions(-)

diff --git a/lisp/abbrev.el b/lisp/abbrev.el
index fd2f36e198..cddce8f529 100644
--- a/lisp/abbrev.el
+++ b/lisp/abbrev.el
@@ -56,9 +56,6 @@ only-global-abbrevs
 
 (define-minor-mode abbrev-mode
   "Toggle Abbrev mode in the current buffer.
-With a prefix argument ARG, enable Abbrev mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Abbrev mode if ARG is omitted or nil.
 
 In Abbrev mode, inserting an abbreviation causes it to expand and
 be replaced by its expansion."
diff --git a/lisp/allout-widgets.el b/lisp/allout-widgets.el
index 71b1b39008..5abd9788dd 100644
--- a/lisp/allout-widgets.el
+++ b/lisp/allout-widgets.el
@@ -513,9 +513,6 @@ allout-widgets-last-decoration-timing
 ;;;###autoload
 (define-minor-mode allout-widgets-mode
   "Toggle Allout Widgets mode.
-With a prefix argument ARG, enable Allout Widgets mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Allout Widgets mode is an extension of Allout mode that provides
 graphical decoration of outline structure.  It is meant to
diff --git a/lisp/allout.el b/lisp/allout.el
index 26e7f6b56c..a123ece9b9 100644
--- a/lisp/allout.el
+++ b/lisp/allout.el
@@ -1693,9 +1693,6 @@ allout-overlay-preparations
 (define-minor-mode allout-mode
 ;;;_    . Doc string:
   "Toggle Allout outline mode.
-With a prefix argument ARG, enable Allout outline mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 \\<allout-mode-map-value>
 Allout outline mode is a minor mode that provides extensive
diff --git a/lisp/autoarg.el b/lisp/autoarg.el
index 096bdefc1a..4bf5785c7d 100644
--- a/lisp/autoarg.el
+++ b/lisp/autoarg.el
@@ -90,9 +90,6 @@ autoarg-kp-mode-map
 ;;;###autoload
 (define-minor-mode autoarg-mode
   "Toggle Autoarg mode, a global minor mode.
-With a prefix argument ARG, enable Autoarg mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 \\<autoarg-mode-map>
 In Autoarg mode, digits are bound to `digit-argument', i.e. they
@@ -116,9 +113,6 @@ autoarg-mode
 ;;;###autoload
 (define-minor-mode autoarg-kp-mode
   "Toggle Autoarg-KP mode, a global minor mode.
-With a prefix argument ARG, enable Autoarg-KP mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 \\<autoarg-kp-mode-map>
 This is similar to `autoarg-mode' but rebinds the keypad keys
diff --git a/lisp/autoinsert.el b/lisp/autoinsert.el
index 7858041440..cb0d15196f 100644
--- a/lisp/autoinsert.el
+++ b/lisp/autoinsert.el
@@ -412,9 +412,6 @@ define-auto-insert
 ;;;###autoload
 (define-minor-mode auto-insert-mode
   "Toggle Auto-insert mode, a global minor mode.
-With a prefix argument ARG, enable Auto-insert mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Auto-insert mode is enabled, when new files are created you can
 insert a template for the file depending on the mode of the buffer."
diff --git a/lisp/autorevert.el b/lisp/autorevert.el
index 0a9d3bef54..c60fe010a3 100644
--- a/lisp/autorevert.el
+++ b/lisp/autorevert.el
@@ -351,9 +351,6 @@ auto-revert-remove-current-buffer
 ;;;###autoload
 (define-minor-mode auto-revert-mode
   "Toggle reverting buffer when the file changes (Auto-Revert Mode).
-With a prefix argument ARG, enable Auto-Revert Mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Auto-Revert Mode is a minor mode that affects only the current
 buffer.  When enabled, it reverts the buffer when the file on
@@ -393,9 +390,6 @@ turn-on-auto-revert-mode
 ;;;###autoload
 (define-minor-mode auto-revert-tail-mode
   "Toggle reverting tail of buffer when the file grows.
-With a prefix argument ARG, enable Auto-Revert Tail Mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Auto-Revert Tail Mode is enabled, the tail of the file is
 constantly followed, as with the shell command `tail -f'.  This
@@ -460,9 +454,6 @@ turn-on-auto-revert-tail-mode
 ;;;###autoload
 (define-minor-mode global-auto-revert-mode
   "Toggle Global Auto-Revert Mode.
-With a prefix argument ARG, enable Global Auto-Revert Mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 Global Auto-Revert Mode is a global minor mode that reverts any
 buffer associated with a file when the file changes on disk.  Use
diff --git a/lisp/battery.el b/lisp/battery.el
index ca17ae8fc3..192a6ae898 100644
--- a/lisp/battery.el
+++ b/lisp/battery.el
@@ -175,9 +175,6 @@ battery
 ;;;###autoload
 (define-minor-mode display-battery-mode
   "Toggle battery status display in mode line (Display Battery mode).
-With a prefix argument ARG, enable Display Battery mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 The text displayed in the mode line is controlled by
 `battery-mode-line-format' and `battery-status-function'.
diff --git a/lisp/cedet/ede.el b/lisp/cedet/ede.el
index 5bbc2d0f85..1168f26842 100644
--- a/lisp/cedet/ede.el
+++ b/lisp/cedet/ede.el
@@ -475,9 +475,6 @@ ede-turn-on-hook
 
 (define-minor-mode ede-minor-mode
   "Toggle EDE (Emacs Development Environment) minor mode.
-With a prefix argument ARG, enable EDE minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-EDE minor mode if ARG is omitted or nil.
 
 If this file is contained, or could be contained in an EDE
 controlled project, then this mode is activated automatically
@@ -563,9 +560,6 @@ ede-reset-all-buffers
 ;;;###autoload
 (define-minor-mode global-ede-mode
   "Toggle global EDE (Emacs Development Environment) mode.
-With a prefix argument ARG, enable global EDE mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 This global minor mode enables `ede-minor-mode' in all buffers in
 an EDE controlled project."
diff --git a/lisp/cedet/ede/dired.el b/lisp/cedet/ede/dired.el
index 33afc7e547..9600d3dd34 100644
--- a/lisp/cedet/ede/dired.el
+++ b/lisp/cedet/ede/dired.el
@@ -59,9 +59,7 @@ ede-dired-keymap
 
 ;;;###autoload
 (define-minor-mode ede-dired-minor-mode
-  "A minor mode that should only be activated in DIRED buffers.
-If ARG is nil or a positive number, force on, if
-negative, force off."
+  "A minor mode that should only be activated in DIRED buffers."
   :lighter " EDE" :keymap ede-dired-keymap
   (unless (derived-mode-p 'dired-mode)
     (setq ede-dired-minor-mode nil)
diff --git a/lisp/cedet/semantic.el b/lisp/cedet/semantic.el
index b24e2fbbb1..f0a1e6bb5a 100644
--- a/lisp/cedet/semantic.el
+++ b/lisp/cedet/semantic.el
@@ -1096,9 +1096,6 @@ semantic-default-submodes
 ;;;###autoload
 (define-minor-mode semantic-mode
   "Toggle parser features (Semantic mode).
-With a prefix argument ARG, enable Semantic mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Semantic mode if ARG is omitted or nil.
 
 In Semantic mode, Emacs parses the buffers you visit for their
 semantic content.  This information is used by a variety of
diff --git a/lisp/cedet/semantic/db-mode.el b/lisp/cedet/semantic/db-mode.el
index e6a2340b8c..638f2915f0 100644
--- a/lisp/cedet/semantic/db-mode.el
+++ b/lisp/cedet/semantic/db-mode.el
@@ -56,7 +56,6 @@ 'semanticdb-global-mode
 ;;;###autoload
 (define-minor-mode global-semanticdb-minor-mode
   "Toggle Semantic DB mode.
-With ARG, turn Semantic DB mode on if ARG is positive, off otherwise.
 
 In Semantic DB mode, Semantic parsers store results in a
 database, which can be saved for future Emacs sessions."
diff --git a/lisp/cedet/semantic/decorate/mode.el b/lisp/cedet/semantic/decorate/mode.el
index 100e221ce3..77a8471e27 100644
--- a/lisp/cedet/semantic/decorate/mode.el
+++ b/lisp/cedet/semantic/decorate/mode.el
@@ -249,13 +249,13 @@ semantic-decoration-mode-hook
 
 (define-minor-mode semantic-decoration-mode
   "Minor mode for decorating tags.
-Decorations are specified in `semantic-decoration-styles'.
-You can define new decoration styles with
+Decorations are specified in `semantic-decoration-styles'.  You
+can define new decoration styles with
 `define-semantic-decoration-style'.
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
 ;;
 ;;\\{semantic-decoration-map}"
   nil nil nil
diff --git a/lisp/cedet/semantic/idle.el b/lisp/cedet/semantic/idle.el
index 56398d0627..07b7af8942 100644
--- a/lisp/cedet/semantic/idle.el
+++ b/lisp/cedet/semantic/idle.el
@@ -172,11 +172,9 @@ semantic-idle-scheduler-mode
 is enabled, Emacs periodically checks to see if the buffer is out of
 date, and reparses while the user is idle (not typing.)
 
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
-  nil nil nil
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."  nil nil nil
   (if semantic-idle-scheduler-mode
       (if (not (and (featurep 'semantic) (semantic-active-p)))
           (progn
@@ -776,8 +774,6 @@ semantic-idle-summary-idle-function
 
 (define-minor-mode semantic-idle-summary-mode
   "Toggle Semantic Idle Summary mode.
-With ARG, turn Semantic Idle Summary mode on if ARG is positive,
-off otherwise.
 
 When this minor mode is enabled, the echo area displays a summary
 of the lexical token at point whenever Emacs is idle."
@@ -812,8 +808,6 @@ semantic-idle-summary-refresh-echo-area
 
 (define-minor-mode global-semantic-idle-summary-mode
   "Toggle Global Semantic Idle Summary mode.
-With ARG, turn Global Semantic Idle Summary mode on if ARG is
-positive, off otherwise.
 
 When this minor mode is enabled, `semantic-idle-summary-mode' is
 turned on in every Semantic-supported buffer."
@@ -931,9 +925,10 @@ semantic-idle-local-symbol-highlight
 ;;;###autoload
 (define-minor-mode global-semantic-idle-scheduler-mode
   "Toggle global use of option `semantic-idle-scheduler-mode'.
-The idle scheduler will automatically reparse buffers in idle time,
-and then schedule other jobs setup with `semantic-idle-scheduler-add'.
-If ARG is positive or nil, enable, if it is negative, disable."
+
+The idle scheduler will automatically reparse buffers in idle
+time, and then schedule other jobs setup with
+`semantic-idle-scheduler-add'."
   :global t
   :group 'semantic
   :group 'semantic-modes
diff --git a/lisp/cedet/semantic/mru-bookmark.el b/lisp/cedet/semantic/mru-bookmark.el
index ad63014890..5789881d38 100644
--- a/lisp/cedet/semantic/mru-bookmark.el
+++ b/lisp/cedet/semantic/mru-bookmark.el
@@ -252,8 +252,7 @@ global-semantic-mru-bookmark-mode
 
 ;;;###autoload
 (define-minor-mode global-semantic-mru-bookmark-mode
-  "Toggle global use of option `semantic-mru-bookmark-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-mru-bookmark-mode'."
   :global t :group 'semantic :group 'semantic-modes
   ;; Not needed because it's autoloaded instead.
   ;; :require 'semantic-util-modes
@@ -278,10 +277,9 @@ semantic-mru-bookmark-mode
 
 \\{semantic-mru-bookmark-mode-map}
 
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
   :keymap semantic-mru-bookmark-mode-map
   (if semantic-mru-bookmark-mode
       (if (not (and (featurep 'semantic) (semantic-active-p)))
diff --git a/lisp/cedet/semantic/util-modes.el b/lisp/cedet/semantic/util-modes.el
index 54c9578773..180aca5b60 100644
--- a/lisp/cedet/semantic/util-modes.el
+++ b/lisp/cedet/semantic/util-modes.el
@@ -170,8 +170,7 @@ semantic-toggle-minor-mode-globally
 
 ;;;###autoload
 (define-minor-mode global-semantic-highlight-edits-mode
-  "Toggle global use of option `semantic-highlight-edits-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-highlight-edits-mode'."
   :global t :group 'semantic :group 'semantic-modes
   (semantic-toggle-minor-mode-globally
    'semantic-highlight-edits-mode
@@ -209,10 +208,10 @@ semantic-highlight-edits-mode
 properly.
 This mode will highlight those changes as they are made, and clear them
 when the incremental parser accounts for those edits.
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
   :keymap semantic-highlight-edits-mode-map
   (if semantic-highlight-edits-mode
       (if (not (and (featurep 'semantic) (semantic-active-p)))
@@ -237,8 +236,7 @@ semantic-highlight-edits-mode
 
 ;;;###autoload
 (define-minor-mode global-semantic-show-unmatched-syntax-mode
-  "Toggle global use of option `semantic-show-unmatched-syntax-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-show-unmatched-syntax-mode'."
   :global t :group 'semantic :group 'semantic-modes
   ;; Not needed because it's autoloaded instead.
   ;; :require 'semantic/util-modes
@@ -360,10 +358,9 @@ semantic-show-unmatched-syntax-mode
 Often time, the display of unmatched syntax can expose coding
 problems before the compiler is run.
 
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled.
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled.
 
 \\{semantic-show-unmatched-syntax-mode-map}"
   :keymap semantic-show-unmatched-syntax-mode-map
@@ -410,8 +407,7 @@ semantic-show-unmatched-syntax-next
 
 ;;;###autoload
 (define-minor-mode global-semantic-show-parser-state-mode
-  "Toggle global use of option `semantic-show-parser-state-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-show-parser-state-mode'."
   :global t :group 'semantic
   ;; Not needed because it's autoloaded instead.
   ;; :require 'semantic/util-modes
@@ -440,10 +436,10 @@ semantic-show-parser-state-mode
  `~'  ->  The cache needs to be incrementally parsed.
  `%'  ->  The cache is not currently parsable.
  `@'  ->  Auto-parse in progress (not set here.)
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
   :keymap semantic-show-parser-state-mode-map
   (if semantic-show-parser-state-mode
       (if (not (and (featurep 'semantic) (semantic-active-p)))
@@ -557,8 +553,7 @@ semantic-show-parser-state-auto-marker
 
 ;;;###autoload
 (define-minor-mode global-semantic-stickyfunc-mode
-  "Toggle global use of option `semantic-stickyfunc-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-stickyfunc-mode'."
   :global t :group 'semantic :group 'semantic-modes
   ;; Not needed because it's autoloaded instead.
   ;; :require 'semantic/util-modes
@@ -700,10 +695,9 @@ semantic-stickyfunc-mode
 first line which describes the rest of the construct.  This first
 line is what is displayed in the header line.
 
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
   ;; Don't need indicator.  It's quite visible
   :keymap semantic-stickyfunc-mode-map
   (if semantic-stickyfunc-mode
@@ -837,8 +831,7 @@ semantic-stickyfunc-menu
 
 ;;;###autoload
 (define-minor-mode global-semantic-highlight-func-mode
-  "Toggle global use of option `semantic-highlight-func-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-highlight-func-mode'."
   :global t :group 'semantic :group 'semantic-modes
   ;; Not needed because it's autoloaded instead.
   ;; :require 'semantic/util-modes
@@ -933,10 +926,9 @@ semantic-highlight-func-mode
 header line.  This mode recycles the stickyfunc configuration
 classes list.
 
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
   :lighter nil ;; Don't need indicator.  It's quite visible.
   (if semantic-highlight-func-mode
       (progn
diff --git a/lisp/cedet/srecode/mode.el b/lisp/cedet/srecode/mode.el
index 76e7e08761..28e8b3b64e 100644
--- a/lisp/cedet/srecode/mode.el
+++ b/lisp/cedet/srecode/mode.el
@@ -148,10 +148,10 @@ srecode-mode-map
 ;;;###autoload
 (define-minor-mode srecode-minor-mode
   "Toggle srecode minor mode.
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled.
+
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled.
 
 \\{srecode-mode-map}"
   :keymap srecode-mode-map
@@ -176,8 +176,7 @@ srecode-minor-mode
 
 ;;;###autoload
 (define-minor-mode global-srecode-minor-mode
-  "Toggle global use of srecode minor mode.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of srecode minor mode."
   :global t :group 'srecode
   ;; Not needed because it's autoloaded instead.
   ;; :require 'srecode/mode
diff --git a/lisp/completion.el b/lisp/completion.el
index 2ddf0999e4..66b413f6af 100644
--- a/lisp/completion.el
+++ b/lisp/completion.el
@@ -2275,10 +2275,7 @@ completion-saved-bindings
 
 ;;;###autoload
 (define-minor-mode dynamic-completion-mode
-  "Toggle dynamic word-completion on or off.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Toggle dynamic word-completion on or off."
   :global t
   :group 'completion
   ;; This is always good, not specific to dynamic-completion-mode.
diff --git a/lisp/composite.el b/lisp/composite.el
index 76949fb582..7daea54c9e 100644
--- a/lisp/composite.el
+++ b/lisp/composite.el
@@ -829,9 +829,6 @@ auto-compose-chars
 ;;;###autoload
 (define-minor-mode auto-composition-mode
   "Toggle Auto Composition mode.
-With a prefix argument ARG, enable Auto Composition mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Auto Composition mode is enabled, text characters are
 automatically composed by functions registered in
@@ -847,9 +844,6 @@ auto-composition-mode
 ;;;###autoload
 (define-minor-mode global-auto-composition-mode
   "Toggle Auto Composition mode in all buffers.
-With a prefix argument ARG, enable it if ARG is positive, and
-disable it otherwise.  If called from Lisp, enable it if ARG is
-omitted or nil.
 
 For more information on Auto Composition mode, see
 `auto-composition-mode' ."
diff --git a/lisp/delsel.el b/lisp/delsel.el
index bfccdc6a4c..a3c2934947 100644
--- a/lisp/delsel.el
+++ b/lisp/delsel.el
@@ -70,12 +70,6 @@ 'pending-delete-mode
 ;;;###autoload
 (define-minor-mode delete-selection-mode
   "Toggle Delete Selection mode.
-Interactively, with a prefix argument, enable
-Delete Selection mode if the prefix argument is positive,
-and disable it otherwise.  If called from Lisp, toggle
-the mode if ARG is `toggle', disable the mode if ARG is
-a non-positive integer, and enable the mode otherwise
-\(including if ARG is omitted or nil or a positive integer).
 
 When Delete Selection mode is enabled, typed text replaces the selection
 if the selection is active.  Otherwise, typed text is just inserted at
diff --git a/lisp/desktop.el b/lisp/desktop.el
index 3e1ba200b5..a9fa2873b3 100644
--- a/lisp/desktop.el
+++ b/lisp/desktop.el
@@ -161,9 +161,6 @@ desktop
 ;;;###autoload
 (define-minor-mode desktop-save-mode
   "Toggle desktop saving (Desktop Save mode).
-With a prefix argument ARG, enable Desktop Save mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode if ARG
-is omitted or nil.
 
 When Desktop Save mode is enabled, the state of Emacs is saved from
 one session to another.  In particular, Emacs will save the desktop when
diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index 4517dedeeb..f07a5deb4f 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -139,9 +139,6 @@ dired-omit-case-fold-p
 
 (define-minor-mode dired-omit-mode
   "Toggle omission of uninteresting files in Dired (Dired-Omit mode).
-With a prefix argument ARG, enable Dired-Omit mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Dired-Omit mode is a buffer-local minor mode.  When enabled in a
 Dired buffer, Dired does not list files whose filenames match
diff --git a/lisp/dirtrack.el b/lisp/dirtrack.el
index e5e1497c4d..862268d49b 100644
--- a/lisp/dirtrack.el
+++ b/lisp/dirtrack.el
@@ -184,9 +184,6 @@ 'dirtrackp
 ;;;###autoload
 (define-minor-mode dirtrack-mode
   "Toggle directory tracking in shell buffers (Dirtrack mode).
-With a prefix argument ARG, enable Dirtrack mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 This method requires that your shell prompt contain the current
 working directory at all times, and that you set the variable
@@ -205,10 +202,7 @@ 'dirtrack-debug-toggle
   "23.1")
 (define-obsolete-variable-alias 'dirtrack-debug 'dirtrack-debug-mode "23.1")
 (define-minor-mode dirtrack-debug-mode
-  "Toggle Dirtrack debugging.
-With a prefix argument ARG, enable Dirtrack debugging if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle Dirtrack debugging."
   nil nil nil
   (if dirtrack-debug-mode
       (display-buffer (get-buffer-create dirtrack-debug-buffer))))
diff --git a/lisp/doc-view.el b/lisp/doc-view.el
index 970e12402d..017b6c5fd9 100644
--- a/lisp/doc-view.el
+++ b/lisp/doc-view.el
@@ -1859,9 +1859,6 @@ doc-view-mode-maybe
 ;;;###autoload
 (define-minor-mode doc-view-minor-mode
   "Toggle displaying buffer via Doc View (Doc View minor mode).
-With a prefix argument ARG, enable Doc View minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 See the command `doc-view-mode' for more information on this mode."
   nil " DocView" doc-view-minor-mode-map
diff --git a/lisp/double.el b/lisp/double.el
index 4334a4ca70..b21fe5bc20 100644
--- a/lisp/double.el
+++ b/lisp/double.el
@@ -150,9 +150,6 @@ double-translate-key
 ;;;###autoload
 (define-minor-mode double-mode
   "Toggle special insertion on double keypresses (Double mode).
-With a prefix argument ARG, enable Double mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Double mode is enabled, some keys will insert different
 strings when pressed twice.  See `double-map' for details."
diff --git a/lisp/elec-pair.el b/lisp/elec-pair.el
index 85c25f0469..7df7098295 100644
--- a/lisp/elec-pair.el
+++ b/lisp/elec-pair.el
@@ -581,9 +581,6 @@ electric-pair-mode-map
 ;;;###autoload
 (define-minor-mode electric-pair-mode
   "Toggle automatic parens pairing (Electric Pair mode).
-With a prefix argument ARG, enable Electric Pair mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Electric Pair mode is a global minor mode.  When enabled, typing
 an open parenthesis automatically inserts the corresponding
diff --git a/lisp/electric.el b/lisp/electric.el
index c00e7c00a5..72a3978344 100644
--- a/lisp/electric.el
+++ b/lisp/electric.el
@@ -314,9 +314,6 @@ electric-newline-and-maybe-indent
 ;;;###autoload
 (define-minor-mode electric-indent-mode
   "Toggle on-the-fly reindentation (Electric Indent mode).
-With a prefix argument ARG, enable Electric Indent mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When enabled, this reindents whenever the hook `electric-indent-functions'
 returns non-nil, or if you insert a character from `electric-indent-chars'.
@@ -400,9 +397,7 @@ electric-layout-post-self-insert-function
 ;;;###autoload
 (define-minor-mode electric-layout-mode
   "Automatically insert newlines around some chars.
-With a prefix argument ARG, enable Electric Layout mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
+
 The variable `electric-layout-rules' says when and how to insert newlines."
   :global t :group 'electricity
   (cond (electric-layout-mode
@@ -540,9 +535,6 @@ electric-quote-post-self-insert-function
 ;;;###autoload
 (define-minor-mode electric-quote-mode
   "Toggle on-the-fly requoting (Electric Quote mode).
-With a prefix argument ARG, enable Electric Quote mode if
-ARG is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When enabled, as you type this replaces \\=` with ‘, \\=' with ’,
 \\=`\\=` with “, and \\='\\=' with ”.  This occurs only in comments, strings,
diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el
index 300a3908c1..1b3b23d887 100644
--- a/lisp/emacs-lisp/checkdoc.el
+++ b/lisp/emacs-lisp/checkdoc.el
@@ -1237,9 +1237,6 @@ checkdoc-minor-mode-map
 ;;;###autoload
 (define-minor-mode checkdoc-minor-mode
   "Toggle automatic docstring checking (Checkdoc minor mode).
-With a prefix argument ARG, enable Checkdoc minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 In Checkdoc minor mode, the usual bindings for `eval-defun' which is
 bound to \\<checkdoc-minor-mode-map>\\[checkdoc-eval-defun] and `checkdoc-eval-current-buffer' are overridden to include
diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el
index a81b6fefb2..bdf3fdfb51 100644
--- a/lisp/emacs-lisp/easy-mmode.el
+++ b/lisp/emacs-lisp/easy-mmode.el
@@ -81,6 +81,26 @@ easy-mmode-pretty-mode-name
       ;; space.)
       (replace-regexp-in-string (regexp-quote lighter) lighter name t t))))
 
+(defconst easy-mmode-arg-docstring
+  "
+
+If called interactively, enable %s if ARG is positive, and
+disable it otherwise.  If called from Lisp, enable the mode if
+ARG is omitted or nil, and toggle it if ARG is `toggle'. Disable
+the mode otherwise")
+
+(defun easy-mmode-mode-docstring (doc mode-pretty-name keymap-sym)
+  (let ((doc (or doc (format "Toggle %s on or off.
+
+\\{%s}" mode-pretty-name keymap-sym))))
+    (if (string-match-p "\bARG\b" doc)
+        doc
+      (let ((argdoc (format easy-mmode-arg-docstring
+                            mode-pretty-name)))
+        (replace-regexp-in-string "\\(\n\n\\|\\'\\).*\\'"
+                                  (concat argdoc "\\1")
+                                  doc nil nil 1)))))
+
 ;;;###autoload
 (defalias 'easy-mmode-define-minor-mode 'define-minor-mode)
 ;;;###autoload
@@ -101,7 +121,9 @@ define-minor-mode
 if the argument is omitted or nil or a positive integer).
 
 If DOC is nil, give the mode command a basic doc-string
-documenting what its argument does.
+documenting what its argument does. If the word \"ARG\" does not
+appear in DOC, a paragraph will be to appended to DOC explaining
+usages of the mode argument.
 
 Optional INIT-VALUE is the initial value of the mode's variable.
 Optional LIGHTER is displayed in the mode line when the mode is on.
@@ -270,12 +292,7 @@ define-minor-mode
 
        ;; The actual function.
        (defun ,modefun (&optional arg ,@extra-args)
-	 ,(or doc
-	      (format (concat "Toggle %s on or off.
-With a prefix argument ARG, enable %s if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'.
-\\{%s}") pretty-name pretty-name keymap-sym))
+         ,(easy-mmode-mode-docstring doc pretty-name keymap-sym)
 	 ;; Use `toggle' rather than (if ,mode 0 1) so that using
 	 ;; repeat-command still does the toggling correctly.
 	 (interactive (list (or current-prefix-arg 'toggle)))
diff --git a/lisp/emacs-lisp/eldoc.el b/lisp/emacs-lisp/eldoc.el
index a662265f4b..49ba71fb1b 100644
--- a/lisp/emacs-lisp/eldoc.el
+++ b/lisp/emacs-lisp/eldoc.el
@@ -177,9 +177,6 @@ eldoc-edit-message-commands
 ;;;###autoload
 (define-minor-mode eldoc-mode
   "Toggle echo area display of Lisp objects at point (ElDoc mode).
-With a prefix argument ARG, enable ElDoc mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable ElDoc mode
-if ARG is omitted or nil.
 
 ElDoc mode is a buffer-local minor mode.  When enabled, the echo
 area displays information about a function or variable in the
diff --git a/lisp/emacs-lock.el b/lisp/emacs-lock.el
index b6e28fb253..0733c3326c 100644
--- a/lisp/emacs-lock.el
+++ b/lisp/emacs-lock.el
@@ -189,9 +189,7 @@ emacs-lock--set-mode
 (define-minor-mode emacs-lock-mode
   "Toggle Emacs Lock mode in the current buffer.
 If called with a plain prefix argument, ask for the locking mode
-to be used.  With any other prefix ARG, turn mode on if ARG is
-positive, off otherwise.  If called from Lisp, enable the mode if
-ARG is omitted or nil.
+to be used.
 
 Initially, if the user does not pass an explicit locking mode, it
 defaults to `emacs-lock-default-locking-mode' (which see);
diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el
index ff23484dd0..f1143425eb 100644
--- a/lisp/emulation/cua-base.el
+++ b/lisp/emulation/cua-base.el
@@ -1318,9 +1318,6 @@ delete-selection-save-to-register
 ;;;###autoload
 (define-minor-mode cua-mode
   "Toggle Common User Access style editing (CUA mode).
-With a prefix argument ARG, enable CUA mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 CUA mode is a global minor mode.  When enabled, typed text
 replaces the active selection, and you can use C-z, C-x, C-c, and
diff --git a/lisp/epa-hook.el b/lisp/epa-hook.el
index 135c956c3f..19f131cc33 100644
--- a/lisp/epa-hook.el
+++ b/lisp/epa-hook.el
@@ -83,10 +83,7 @@ epa-file-find-file-hook
       (auto-save-mode 0)))
 
 (define-minor-mode auto-encryption-mode
-  "Toggle automatic file encryption/decryption (Auto Encryption mode).
-With a prefix argument ARG, enable Auto Encryption mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle automatic file encryption/decryption (Auto Encryption mode)."
   :global t :init-value t :group 'epa-file :version "23.1"
   ;; We'd like to use custom-initialize-set here so the setup is done
   ;; before dumping, but at the point where the defcustom is evaluated,
diff --git a/lisp/epa-mail.el b/lisp/epa-mail.el
index 7f4c28e967..008593712b 100644
--- a/lisp/epa-mail.el
+++ b/lisp/epa-mail.el
@@ -47,10 +47,7 @@ epa-mail-mode-off-hook
 
 ;;;###autoload
 (define-minor-mode epa-mail-mode
-  "A minor-mode for composing encrypted/clearsigned mails.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "A minor-mode for composing encrypted/clearsigned mails."
   nil " epa-mail" epa-mail-mode-map)
 
 (defun epa-mail--find-usable-key (keys usage)
@@ -238,10 +235,7 @@ epa-mail-import-keys
 
 ;;;###autoload
 (define-minor-mode epa-global-mail-mode
-  "Minor mode to hook EasyPG into Mail mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode to hook EasyPG into Mail mode."
   :global t :init-value nil :group 'epa-mail :version "23.1"
   (remove-hook 'mail-mode-hook 'epa-mail-mode)
   (if epa-global-mail-mode
diff --git a/lisp/erc/erc-track.el b/lisp/erc/erc-track.el
index 7817a0799e..cae18f6093 100644
--- a/lisp/erc/erc-track.el
+++ b/lisp/erc/erc-track.el
@@ -495,9 +495,6 @@ erc-track-minor-mode-map
 ;;;###autoload
 (define-minor-mode erc-track-minor-mode
   "Toggle mode line display of ERC activity (ERC Track minor mode).
-With a prefix argument ARG, enable ERC Track minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 ERC Track minor mode is a global minor mode.  It exists for the
 sole purpose of providing the C-c C-SPC and C-c C-@ keybindings.
diff --git a/lisp/face-remap.el b/lisp/face-remap.el
index 476736773b..c6a976deb0 100644
--- a/lisp/face-remap.el
+++ b/lisp/face-remap.el
@@ -229,9 +229,6 @@ text-scale-mode-amount
 
 (define-minor-mode text-scale-mode
   "Minor mode for displaying buffer text in a larger/smaller font.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 The amount of scaling is determined by the variable
 `text-scale-mode-amount': one step scales the global default
@@ -387,10 +384,9 @@ buffer-face-mode-remapping
 ;;;###autoload
 (define-minor-mode buffer-face-mode
   "Minor mode for a buffer-specific default face.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.  When enabled, the face specified by the
-variable `buffer-face-mode-face' is used to display the buffer text."
+
+When enabled, the face specified by the variable
+`buffer-face-mode-face' is used to display the buffer text."
   :lighter " BufFace"
   (when buffer-face-mode-remapping
     (face-remap-remove-relative buffer-face-mode-remapping))
diff --git a/lisp/files.el b/lisp/files.el
index 398e6dc12b..31e2f39a8d 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -419,14 +419,10 @@ auto-save-visited-interval
 
 (define-minor-mode auto-save-visited-mode
   "Toggle automatic saving to file-visiting buffers on or off.
-With a prefix argument ARG, enable regular saving of all buffers
-visiting a file if ARG is positive, and disable it otherwise.
+
 Unlike `auto-save-mode', this mode will auto-save buffer contents
 to the visited files directly and will also run all save-related
-hooks.  See Info node `Saving' for details of the save process.
-
-If called from Lisp, enable the mode if ARG is omitted or nil,
-and toggle it if ARG is `toggle'."
+hooks.  See Info node `Saving' for details of the save process."
   :group 'auto-save
   :global t
   (when auto-save--timer (cancel-timer auto-save--timer))
diff --git a/lisp/follow.el b/lisp/follow.el
index fd397c077b..7aa7b51473 100644
--- a/lisp/follow.el
+++ b/lisp/follow.el
@@ -383,9 +383,6 @@ turn-off-follow-mode
 ;;;###autoload
 (define-minor-mode follow-mode
   "Toggle Follow mode.
-With a prefix argument ARG, enable Follow mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Follow mode is a minor mode that combines windows into one tall
 virtual window.  This is accomplished by two main techniques:
diff --git a/lisp/font-core.el b/lisp/font-core.el
index ace1476eda..c5b036e04f 100644
--- a/lisp/font-core.el
+++ b/lisp/font-core.el
@@ -78,9 +78,6 @@ font-lock-major-mode
 
 (define-minor-mode font-lock-mode
   "Toggle syntax highlighting in this buffer (Font Lock mode).
-With a prefix argument ARG, enable Font Lock mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Font Lock mode is enabled, text is fontified as you type it:
 
diff --git a/lisp/frame.el b/lisp/frame.el
index 70b4b242a0..56b8c5487c 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -1382,9 +1382,6 @@ set-border-color
 
 (define-minor-mode auto-raise-mode
   "Toggle whether or not selected frames should auto-raise.
-With a prefix argument ARG, enable Auto Raise mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Auto Raise mode does nothing under most window managers, which
 switch focus on mouse clicks.  It only has an effect if your
@@ -1402,9 +1399,6 @@ auto-raise-mode
 
 (define-minor-mode auto-lower-mode
   "Toggle whether or not the selected frame should auto-lower.
-With a prefix argument ARG, enable Auto Lower mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Auto Lower mode does nothing under most window managers, which
 switch focus on mouse clicks.  It only has an effect if your
@@ -2297,9 +2291,6 @@ window-divider-mode-apply
 
 (define-minor-mode window-divider-mode
   "Display dividers between windows (Window Divider mode).
-With a prefix argument ARG, enable Window Divider mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 The option `window-divider-default-places' specifies on which
 side of a window dividers are displayed.  The options
@@ -2450,9 +2441,6 @@ blink-cursor--rescan-frames
 
 (define-minor-mode blink-cursor-mode
   "Toggle cursor blinking (Blink Cursor mode).
-With a prefix argument ARG, enable Blink Cursor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 If the value of `blink-cursor-blinks' is positive (10 by default),
 the cursor stops blinking after that number of blinks, if Emacs
diff --git a/lisp/help.el b/lisp/help.el
index 985d9c567a..28288e57f6 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -1107,9 +1107,6 @@ temp-buffer-max-width
 
 (define-minor-mode temp-buffer-resize-mode
   "Toggle auto-resizing temporary buffer windows (Temp Buffer Resize Mode).
-With a prefix argument ARG, enable Temp Buffer Resize mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Temp Buffer Resize mode is enabled, the windows in which we
 show a temporary buffer are automatically resized in height to
diff --git a/lisp/hexl.el b/lisp/hexl.el
index f37be9d410..f3b5d7d4cc 100644
--- a/lisp/hexl.el
+++ b/lisp/hexl.el
@@ -997,6 +997,7 @@ hexl-insert-octal-char
 
 (define-minor-mode hexl-follow-ascii-mode
   "Minor mode to follow ASCII in current Hexl buffer.
+
 When following is enabled, the ASCII character corresponding to the
 element under the point is highlighted.
 The default activation is controlled by `hexl-follow-ascii'."
diff --git a/lisp/hi-lock.el b/lisp/hi-lock.el
index f3a329f467..13ebffb1af 100644
--- a/lisp/hi-lock.el
+++ b/lisp/hi-lock.el
@@ -289,9 +289,6 @@ hi-lock-map
 ;;;###autoload
 (define-minor-mode hi-lock-mode
   "Toggle selective highlighting of patterns (Hi Lock mode).
-With a prefix argument ARG, enable Hi Lock mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Hi Lock mode is automatically enabled when you invoke any of the
 highlighting commands listed below, such as \\[highlight-regexp].
diff --git a/lisp/hilit-chg.el b/lisp/hilit-chg.el
index 9d4d2d8b38..70bf6b44b9 100644
--- a/lisp/hilit-chg.el
+++ b/lisp/hilit-chg.el
@@ -319,9 +319,6 @@ hilit-chg-string
 ;;;###autoload
 (define-minor-mode highlight-changes-mode
   "Toggle highlighting changes in this buffer (Highlight Changes mode).
-With a prefix argument ARG, enable Highlight Changes mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Highlight Changes is enabled, changes are marked with a text
 property.  Normally they are displayed in a distinctive face, but
@@ -360,9 +357,6 @@ highlight-changes-mode
 ;;;###autoload
 (define-minor-mode highlight-changes-visible-mode
   "Toggle visibility of highlighting due to Highlight Changes mode.
-With a prefix argument ARG, enable Highlight Changes Visible mode
-if ARG is positive, and disable it otherwise.  If called from
-Lisp, enable the mode if ARG is omitted or nil.
 
 Highlight Changes Visible mode only has an effect when Highlight
 Changes mode is on.  When enabled, the changed text is displayed
diff --git a/lisp/hl-line.el b/lisp/hl-line.el
index fc75b478c8..f0ee22a1da 100644
--- a/lisp/hl-line.el
+++ b/lisp/hl-line.el
@@ -132,9 +132,6 @@ hl-line-overlay-buffer
 ;;;###autoload
 (define-minor-mode hl-line-mode
   "Toggle highlighting of the current line (Hl-Line mode).
-With a prefix argument ARG, enable Hl-Line mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Hl-Line mode is a buffer-local minor mode.  If
 `hl-line-sticky-flag' is non-nil, Hl-Line mode highlights the
@@ -203,9 +200,6 @@ hl-line-maybe-unhighlight
 ;;;###autoload
 (define-minor-mode global-hl-line-mode
   "Toggle line highlighting in all buffers (Global Hl-Line mode).
-With a prefix argument ARG, enable Global Hl-Line mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 If `global-hl-line-sticky-flag' is non-nil, Global Hl-Line mode
 highlights the line about the current buffer's point in all live
diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el
index a1adb1df35..d9949d2835 100644
--- a/lisp/ibuf-ext.el
+++ b/lisp/ibuf-ext.el
@@ -403,10 +403,7 @@ ibuffer-ext-visible-p
 
 ;;;###autoload
 (define-minor-mode ibuffer-auto-mode
-  "Toggle use of Ibuffer's auto-update facility (Ibuffer Auto mode).
-With a prefix argument ARG, enable Ibuffer Auto mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle use of Ibuffer's auto-update facility (Ibuffer Auto mode)."
   nil nil nil
   (unless (derived-mode-p 'ibuffer-mode)
     (error "This buffer is not in Ibuffer mode"))
diff --git a/lisp/icomplete.el b/lisp/icomplete.el
index b37db8869b..ad5a9d017d 100644
--- a/lisp/icomplete.el
+++ b/lisp/icomplete.el
@@ -194,9 +194,6 @@ icomplete-backward-completions
 ;;;###autoload
 (define-minor-mode icomplete-mode
   "Toggle incremental minibuffer completion (Icomplete mode).
-With a prefix argument ARG, enable Icomplete mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When this global minor mode is enabled, typing in the minibuffer
 continuously displays a list of possible completions that match
diff --git a/lisp/ido.el b/lisp/ido.el
index 705e7dd630..18cc03f0df 100644
--- a/lisp/ido.el
+++ b/lisp/ido.el
@@ -1579,10 +1579,7 @@ ido-common-initialization
   (add-hook 'choose-completion-string-functions 'ido-choose-completion-string))
 
 (define-minor-mode ido-everywhere
-  "Toggle use of Ido for all buffer/file reading.
-With a prefix argument ARG, enable this feature if ARG is
-positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil."
+  "Toggle use of Ido for all buffer/file reading."
   :global t
   :group 'ido
   (remove-function read-file-name-function #'ido-read-file-name)
diff --git a/lisp/image-file.el b/lisp/image-file.el
index 8a04afc25f..19dc7878a5 100644
--- a/lisp/image-file.el
+++ b/lisp/image-file.el
@@ -179,9 +179,6 @@ image-file-call-underlying
 ;;;###autoload
 (define-minor-mode auto-image-file-mode
   "Toggle visiting of image files as images (Auto Image File mode).
-With a prefix argument ARG, enable Auto Image File mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 An image file is one whose name has an extension in
 `image-file-name-extensions', or matches a regexp in
diff --git a/lisp/image-mode.el b/lisp/image-mode.el
index 0925c6ef9c..19fa28d440 100644
--- a/lisp/image-mode.el
+++ b/lisp/image-mode.el
@@ -617,9 +617,6 @@ image-mode
 ;;;###autoload
 (define-minor-mode image-minor-mode
   "Toggle Image minor mode in this buffer.
-With a prefix argument ARG, enable Image minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Image minor mode provides the key \\<image-mode-map>\\[image-toggle-display],
 to switch back to `image-mode' and display an image file as the
diff --git a/lisp/international/iso-ascii.el b/lisp/international/iso-ascii.el
index 0103d934b2..bcb285eda0 100644
--- a/lisp/international/iso-ascii.el
+++ b/lisp/international/iso-ascii.el
@@ -163,10 +163,7 @@ iso-ascii-display
 (iso-ascii-display 255 "\"y") ; small y with diaeresis or umlaut mark
 
 (define-minor-mode iso-ascii-mode
-  "Toggle ISO-ASCII mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Toggle ISO-ASCII mode."
   :variable ((eq standard-display-table iso-ascii-display-table)
              . (lambda (v)
                  (setq standard-display-table
diff --git a/lisp/jit-lock.el b/lisp/jit-lock.el
index df7272c12e..2b13c60bc6 100644
--- a/lisp/jit-lock.el
+++ b/lisp/jit-lock.el
@@ -266,6 +266,7 @@ jit-lock-mode
 
 (define-minor-mode jit-lock-debug-mode
   "Minor mode to help debug code run from jit-lock.
+
 When this minor mode is enabled, jit-lock runs as little code as possible
 during redisplay and moves the rest to a timer, where things
 like `debug-on-error' and Edebug can be used."
diff --git a/lisp/jka-cmpr-hook.el b/lisp/jka-cmpr-hook.el
index cca8ef703f..d800b60513 100644
--- a/lisp/jka-cmpr-hook.el
+++ b/lisp/jka-cmpr-hook.el
@@ -347,9 +347,6 @@ jka-compr-load-suffixes
 
 (define-minor-mode auto-compression-mode
   "Toggle Auto Compression mode.
-With a prefix argument ARG, enable Auto Compression mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 Auto Compression mode is a global minor mode.  When enabled,
 compressed files are automatically uncompressed for reading, and
diff --git a/lisp/language/thai-util.el b/lisp/language/thai-util.el
index b550b65a56..d6c9732a9e 100644
--- a/lisp/language/thai-util.el
+++ b/lisp/language/thai-util.el
@@ -256,11 +256,10 @@ thai-word-mode-map
 
 (define-minor-mode thai-word-mode
   "Minor mode to make word-oriented commands aware of Thai words.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.  The commands affected are
-\\[forward-word], \\[backward-word], \\[kill-word], \\[backward-kill-word],
-\\[transpose-words], and \\[fill-paragraph]."
+
+The commands affected are \\[forward-word], \\[backward-word],
+\\[kill-word], \\[backward-kill-word], \\[transpose-words], and
+\\[fill-paragraph]."
   :global t :group 'mule
   (cond (thai-word-mode
 	 ;; This enables linebreak between Thai characters.
diff --git a/lisp/linum.el b/lisp/linum.el
index 9df0c5d023..6e673e58b0 100644
--- a/lisp/linum.el
+++ b/lisp/linum.el
@@ -75,12 +75,10 @@ linum-delay
 ;;;###autoload
 (define-minor-mode linum-mode
   "Toggle display of line numbers in the left margin (Linum mode).
-With a prefix argument ARG, enable Linum mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 Linum mode is a buffer-local minor mode."
   :lighter ""                           ; for desktop.el
+  :append-arg-docstring t
   (if linum-mode
       (progn
         (if linum-eager
diff --git a/lisp/mail/footnote.el b/lisp/mail/footnote.el
index d35b87046f..f5d280ae1e 100644
--- a/lisp/mail/footnote.el
+++ b/lisp/mail/footnote.el
@@ -945,9 +945,6 @@ footnote-minor-mode-map
 ;;;###autoload
 (define-minor-mode footnote-mode
   "Toggle Footnote mode.
-With a prefix argument ARG, enable Footnote mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Footnote mode is a buffer-local minor mode.  If enabled, it
 provides footnote support for `message-mode'.  To get started,
diff --git a/lisp/mail/mailabbrev.el b/lisp/mail/mailabbrev.el
index ba1688f411..0ce1a3b12b 100644
--- a/lisp/mail/mailabbrev.el
+++ b/lisp/mail/mailabbrev.el
@@ -134,9 +134,6 @@ mail-abbrev
 ;;;###autoload
 (define-minor-mode mail-abbrevs-mode
   "Toggle abbrev expansion of mail aliases (Mail Abbrevs mode).
-With a prefix argument ARG, enable Mail Abbrevs mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Mail Abbrevs mode is a global minor mode.  When enabled,
 abbrev-like expansion is performed when editing certain mail
diff --git a/lisp/master.el b/lisp/master.el
index 4891c07166..7176897902 100644
--- a/lisp/master.el
+++ b/lisp/master.el
@@ -73,9 +73,6 @@ master-set-slave-hook
 ;;;###autoload
 (define-minor-mode master-mode
   "Toggle Master mode.
-With a prefix argument ARG, enable Master mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Master mode is enabled, you can scroll the slave buffer
 using the following commands:
diff --git a/lisp/mb-depth.el b/lisp/mb-depth.el
index e75e497999..84c73cadfa 100644
--- a/lisp/mb-depth.el
+++ b/lisp/mb-depth.el
@@ -58,9 +58,6 @@ minibuffer-depth-setup
 ;;;###autoload
 (define-minor-mode minibuffer-depth-indicate-mode
   "Toggle Minibuffer Depth Indication mode.
-With a prefix argument ARG, enable Minibuffer Depth Indication
-mode if ARG is positive, and disable it otherwise.  If called
-from Lisp, enable the mode if ARG is omitted or nil.
 
 Minibuffer Depth Indication mode is a global minor mode.  When
 enabled, any recursive use of the minibuffer will show the
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 25e016247b..ad59533e26 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -2285,9 +2285,6 @@ menu-bar-update-buffers
 \f
 (define-minor-mode menu-bar-mode
   "Toggle display of a menu bar on each frame (Menu Bar mode).
-With a prefix argument ARG, enable Menu Bar mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, also
-enable Menu Bar mode if ARG is omitted or nil.
 
 This command applies to all frames that exist and frames to be
 created in the future."
diff --git a/lisp/minibuf-eldef.el b/lisp/minibuf-eldef.el
index 07663ea6a6..a81e663589 100644
--- a/lisp/minibuf-eldef.el
+++ b/lisp/minibuf-eldef.el
@@ -163,9 +163,6 @@ minibuf-eldef-update-minibuffer
 ;;;###autoload
 (define-minor-mode minibuffer-electric-default-mode
   "Toggle Minibuffer Electric Default mode.
-With a prefix argument ARG, enable Minibuffer Electric Default
-mode if ARG is positive, and disable it otherwise.  If called
-from Lisp, enable the mode if ARG is omitted or nil.
 
 Minibuffer Electric Default mode is a global minor mode.  When
 enabled, minibuffer prompts that show a default value only show
diff --git a/lisp/msb.el b/lisp/msb.el
index 383f075bf9..91d83d2e4a 100644
--- a/lisp/msb.el
+++ b/lisp/msb.el
@@ -1132,9 +1132,6 @@ msb-mode-map
 ;;;###autoload
 (define-minor-mode msb-mode
   "Toggle Msb mode.
-With a prefix argument ARG, enable Msb mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 This mode overrides the binding(s) of `mouse-buffer-menu' to provide a
 different buffer menu using the function `msb'."
diff --git a/lisp/mwheel.el b/lisp/mwheel.el
index f055df9ee8..876659f1f7 100644
--- a/lisp/mwheel.el
+++ b/lisp/mwheel.el
@@ -309,10 +309,7 @@ mwheel-scroll
 (defvar mwheel-installed-bindings nil)
 
 (define-minor-mode mouse-wheel-mode
-  "Toggle mouse wheel support (Mouse Wheel mode).
-With a prefix argument ARG, enable Mouse Wheel mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle mouse wheel support (Mouse Wheel mode)."
   :init-value t
   ;; We'd like to use custom-initialize-set here so the setup is done
   ;; before dumping, but at the point where the defcustom is evaluated,
diff --git a/lisp/net/goto-addr.el b/lisp/net/goto-addr.el
index cc1cdd1518..db59df374b 100644
--- a/lisp/net/goto-addr.el
+++ b/lisp/net/goto-addr.el
@@ -270,10 +270,7 @@ goto-address
 
 ;;;###autoload
 (define-minor-mode goto-address-mode
-  "Minor mode to buttonize URLs and e-mail addresses in the current buffer.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode to buttonize URLs and e-mail addresses in the current buffer."
   nil
   ""
   nil
diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el
index abd969216f..5b63e0c34d 100644
--- a/lisp/net/rcirc.el
+++ b/lisp/net/rcirc.el
@@ -186,9 +186,6 @@ rcirc-prompt-start-marker
 
 (define-minor-mode rcirc-omit-mode
   "Toggle the hiding of \"uninteresting\" lines.
-With a prefix argument ARG, enable Rcirc-Omit mode if ARG is
-positive, and disable it otherwise. If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Uninteresting lines are those whose responses are listed in
 `rcirc-omit-responses'."
@@ -1353,10 +1350,7 @@ rcirc-multiline-minor-mode-map
   "Keymap for multiline mode in rcirc.")
 
 (define-minor-mode rcirc-multiline-minor-mode
-  "Minor mode for editing multiple lines in rcirc.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode for editing multiple lines in rcirc."
   :init-value nil
   :lighter " rcirc-mline"
   :keymap rcirc-multiline-minor-mode-map
@@ -1867,10 +1861,7 @@ rcirc-track-minor-mode-map
 
 ;;;###autoload
 (define-minor-mode rcirc-track-minor-mode
-  "Global minor mode for tracking activity in rcirc buffers.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Global minor mode for tracking activity in rcirc buffers."
   :init-value nil
   :lighter ""
   :keymap rcirc-track-minor-mode-map
diff --git a/lisp/obsolete/complete.el b/lisp/obsolete/complete.el
index ee6af77029..f5e4328d33 100644
--- a/lisp/obsolete/complete.el
+++ b/lisp/obsolete/complete.el
@@ -191,7 +191,6 @@ PC-goto-end
 ;;;###autoload
 (define-minor-mode partial-completion-mode
   "Toggle Partial Completion mode.
-With prefix ARG, turn Partial Completion mode on if ARG is positive.
 
 When Partial Completion mode is enabled, TAB (or M-TAB if `PC-meta-flag' is
 nil) is enhanced so that if some string is divided into words and each word is
diff --git a/lisp/obsolete/crisp.el b/lisp/obsolete/crisp.el
index 1d09d9e223..4bd555a72e 100644
--- a/lisp/obsolete/crisp.el
+++ b/lisp/obsolete/crisp.el
@@ -353,10 +353,7 @@ crisp-meta-x-wrapper
 
 ;;;###autoload
 (define-minor-mode crisp-mode
-  "Toggle CRiSP/Brief emulation (CRiSP mode).
-With a prefix argument ARG, enable CRiSP mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Toggle CRiSP/Brief emulation (CRiSP mode)."
   :keymap crisp-mode-map
   :lighter crisp-mode-mode-line-string
   (when crisp-mode
diff --git a/lisp/obsolete/iswitchb.el b/lisp/obsolete/iswitchb.el
index d03621df3c..6192368f8b 100644
--- a/lisp/obsolete/iswitchb.el
+++ b/lisp/obsolete/iswitchb.el
@@ -1417,9 +1417,6 @@ iswitchb-case
 ;;;###autoload
 (define-minor-mode iswitchb-mode
   "Toggle Iswitchb mode.
-With a prefix argument ARG, enable Iswitchb mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Iswitchb mode is a global minor mode that enables switching
 between buffers using substrings.  See `iswitchb' for details."
diff --git a/lisp/obsolete/longlines.el b/lisp/obsolete/longlines.el
index e3121dbd87..d07f7bf34b 100644
--- a/lisp/obsolete/longlines.el
+++ b/lisp/obsolete/longlines.el
@@ -97,9 +97,6 @@ message-indent-citation-function
 ;;;###autoload
 (define-minor-mode longlines-mode
   "Toggle Long Lines mode in this buffer.
-With a prefix argument ARG, enable Long Lines mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Long Lines mode is enabled, long lines are wrapped if they
 extend beyond `fill-column'.  The soft newlines used for line
diff --git a/lisp/obsolete/mouse-sel.el b/lisp/obsolete/mouse-sel.el
index 52e84f2117..f54bcf01c9 100644
--- a/lisp/obsolete/mouse-sel.el
+++ b/lisp/obsolete/mouse-sel.el
@@ -194,9 +194,6 @@ 'mouse-sel--ignore
 ;;;###autoload
 (define-minor-mode mouse-sel-mode
   "Toggle Mouse Sel mode.
-With a prefix argument ARG, enable Mouse Sel mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Mouse Sel mode is a global minor mode.  When enabled, mouse
 selection is enhanced in various ways:
diff --git a/lisp/obsolete/old-whitespace.el b/lisp/obsolete/old-whitespace.el
index 86dd5dc842..0c9fc32118 100644
--- a/lisp/obsolete/old-whitespace.el
+++ b/lisp/obsolete/old-whitespace.el
@@ -747,7 +747,6 @@ 'global-whitespace-mode
 ;;;###autoload
 (define-minor-mode whitespace-global-mode
   "Toggle using Whitespace mode in new buffers.
-With ARG, turn the mode on if ARG is positive, otherwise turn it off.
 
 When this mode is active, `whitespace-buffer' is added to
 `find-file-hook' and `kill-buffer-hook'."
diff --git a/lisp/obsolete/tpu-edt.el b/lisp/obsolete/tpu-edt.el
index 83b713d927..c047381ef7 100644
--- a/lisp/obsolete/tpu-edt.el
+++ b/lisp/obsolete/tpu-edt.el
@@ -980,10 +980,7 @@ tpu-quit
 ;;;
 ;;;###autoload
 (define-minor-mode tpu-edt-mode
-  "Toggle TPU/edt emulation on or off.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Toggle TPU/edt emulation on or off."
   :global t :group 'tpu
   (if tpu-edt-mode (tpu-edt-on) (tpu-edt-off)))
 
diff --git a/lisp/obsolete/tpu-extras.el b/lisp/obsolete/tpu-extras.el
index 8739e1b215..21006ff005 100644
--- a/lisp/obsolete/tpu-extras.el
+++ b/lisp/obsolete/tpu-extras.el
@@ -133,10 +133,7 @@ tpu-backward-char-like-tpu
 
 ;;;###autoload
 (define-minor-mode tpu-cursor-free-mode
-  "Minor mode to allow the cursor to move freely about the screen.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode to allow the cursor to move freely about the screen."
   :init-value nil
   (if (not tpu-cursor-free-mode)
       (tpu-trim-line-ends))
diff --git a/lisp/obsolete/xesam.el b/lisp/obsolete/xesam.el
index 1f3661d924..3e91b2c8df 100644
--- a/lisp/obsolete/xesam.el
+++ b/lisp/obsolete/xesam.el
@@ -512,9 +512,6 @@ xesam-mode
 
 (define-minor-mode xesam-minor-mode
   "Toggle Xesam minor mode.
-With a prefix argument ARG, enable Xesam minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Xesam minor mode is enabled, all text which matches a
 previous Xesam query in this buffer is highlighted."
diff --git a/lisp/outline.el b/lisp/outline.el
index 669935bbc1..59169e4189 100644
--- a/lisp/outline.el
+++ b/lisp/outline.el
@@ -299,9 +299,6 @@ outline-minor-mode-prefix
 ;;;###autoload
 (define-minor-mode outline-minor-mode
   "Toggle Outline minor mode.
-With a prefix argument ARG, enable Outline minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 See the command `outline-mode' for more information on this mode."
   nil " Outl" (list (cons [menu-bar] outline-minor-mode-menu-bar-map)
diff --git a/lisp/paren.el b/lisp/paren.el
index 467e5e985d..1cab6eb2be 100644
--- a/lisp/paren.el
+++ b/lisp/paren.el
@@ -100,9 +100,6 @@ show-paren--overlay-1
 ;;;###autoload
 (define-minor-mode show-paren-mode
   "Toggle visualization of matching parens (Show Paren mode).
-With a prefix argument ARG, enable Show Paren mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Show Paren mode is a global minor mode.  When enabled, any
 matching parenthesis is highlighted in `show-paren-style' after
diff --git a/lisp/pixel-scroll.el b/lisp/pixel-scroll.el
index d362419e0f..227580f4d4 100644
--- a/lisp/pixel-scroll.el
+++ b/lisp/pixel-scroll.el
@@ -105,10 +105,7 @@ pixel-scroll-in-rush-p
 
 ;;;###autoload
 (define-minor-mode pixel-scroll-mode
-  "A minor mode to scroll text pixel-by-pixel.
-With a prefix argument ARG, enable Pixel Scroll mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable Pixel Scroll mode
-if ARG is omitted or nil."
+  "A minor mode to scroll text pixel-by-pixel."
   :init-value nil
   :group 'scrolling
   :global t
diff --git a/lisp/progmodes/bug-reference.el b/lisp/progmodes/bug-reference.el
index d2b3af1972..75bd0ba51e 100644
--- a/lisp/progmodes/bug-reference.el
+++ b/lisp/progmodes/bug-reference.el
@@ -141,10 +141,7 @@ bug-reference-push-button
 
 ;;;###autoload
 (define-minor-mode bug-reference-mode
-  "Toggle hyperlinking bug references in the buffer (Bug Reference mode).
-With a prefix argument ARG, enable Bug Reference mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle hyperlinking bug references in the buffer (Bug Reference mode)."
   nil
   ""
   nil
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 15503ee0b2..7e7c18fb30 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -2164,9 +2164,6 @@ compilation--unsetup
 ;;;###autoload
 (define-minor-mode compilation-shell-minor-mode
   "Toggle Compilation Shell minor mode.
-With a prefix argument ARG, enable Compilation Shell minor mode
-if ARG is positive, and disable it otherwise.  If called from
-Lisp, enable the mode if ARG is omitted or nil.
 
 When Compilation Shell minor mode is enabled, all the
 error-parsing commands of the Compilation major mode are
@@ -2181,9 +2178,6 @@ compilation-shell-minor-mode
 ;;;###autoload
 (define-minor-mode compilation-minor-mode
   "Toggle Compilation minor mode.
-With a prefix argument ARG, enable Compilation minor mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Compilation minor mode is enabled, all the error-parsing
 commands of Compilation major mode are available.  See
diff --git a/lisp/progmodes/cwarn.el b/lisp/progmodes/cwarn.el
index a578896dbf..ff79b90956 100644
--- a/lisp/progmodes/cwarn.el
+++ b/lisp/progmodes/cwarn.el
@@ -180,11 +180,7 @@ cwarn-mode
 
 Note, in addition to enabling this minor mode, the major mode must
 be included in the variable `cwarn-configuration'.  By default C and
-C++ modes are included.
-
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+C++ modes are included."
   :group 'cwarn :lighter cwarn-mode-text
   (cwarn-font-lock-keywords cwarn-mode)
   (font-lock-flush))
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index e8bb3355a0..60d1660e5f 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -915,9 +915,6 @@ flymake-mode-map
 ;;;###autoload
 (define-minor-mode flymake-mode
   "Toggle Flymake mode on or off.
-With a prefix argument ARG, enable Flymake mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'.
 
 Flymake is an Emacs minor mode for on-the-fly syntax checking.
 Flymake collects diagnostic information from multiple sources,
diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el
index 88e34d8df9..6fee895e6a 100644
--- a/lisp/progmodes/gdb-mi.el
+++ b/lisp/progmodes/gdb-mi.el
@@ -1138,9 +1138,7 @@ gdb-delete-out-of-scope
   :version "22.2")
 
 (define-minor-mode gdb-speedbar-auto-raise
-  "Minor mode to automatically raise the speedbar for watch expressions.
-With prefix argument ARG, automatically raise speedbar if ARG is
-positive, otherwise don't automatically raise it."
+  "Minor mode to automatically raise the speedbar for watch expressions."
   :global t
   :group 'gdb
   :version "22.1")
diff --git a/lisp/progmodes/glasses.el b/lisp/progmodes/glasses.el
index c3e8ac35f3..f2bf209946 100644
--- a/lisp/progmodes/glasses.el
+++ b/lisp/progmodes/glasses.el
@@ -312,10 +312,9 @@ glasses-change
 ;;;###autoload
 (define-minor-mode glasses-mode
   "Minor mode for making identifiers likeThis readable.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.  When this mode is active, it tries to
-add virtual separators (like underscores) at places they belong to."
+
+When this mode is active, it tries to add virtual
+separators (like underscores) at places they belong to."
   :group 'glasses :lighter " o^o"
   (save-excursion
     (save-restriction
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 6826674a94..91b4a65edd 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -3363,10 +3363,7 @@ tooltip-mode
 
 ;;;###autoload
 (define-minor-mode gud-tooltip-mode
-  "Toggle the display of GUD tooltips.
-With a prefix argument ARG, enable the feature if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-it if ARG is omitted or nil."
+  "Toggle the display of GUD tooltips."
   :global t
   :group 'gud
   :group 'tooltip
diff --git a/lisp/progmodes/hideif.el b/lisp/progmodes/hideif.el
index 7ac1312d8d..ce7127a3d7 100644
--- a/lisp/progmodes/hideif.el
+++ b/lisp/progmodes/hideif.el
@@ -263,9 +263,6 @@ hif-outside-read-only
 ;;;###autoload
 (define-minor-mode hide-ifdef-mode
   "Toggle features to hide/show #ifdef blocks (Hide-Ifdef mode).
-With a prefix argument ARG, enable Hide-Ifdef mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Hide-Ifdef mode is a buffer-local minor mode for use with C and
 C-like major modes.  When enabled, code within #ifdef constructs
diff --git a/lisp/progmodes/hideshow.el b/lisp/progmodes/hideshow.el
index 799536cbf4..84b2147394 100644
--- a/lisp/progmodes/hideshow.el
+++ b/lisp/progmodes/hideshow.el
@@ -932,9 +932,6 @@ hs-hide-initial-comment-block
 ;;;###autoload
 (define-minor-mode hs-minor-mode
   "Minor mode to selectively hide/show code and comment blocks.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 When hideshow minor mode is on, the menu bar is augmented with hideshow
 commands and the hideshow commands are enabled.
diff --git a/lisp/progmodes/idlw-shell.el b/lisp/progmodes/idlw-shell.el
index dcb81f5a94..616341b0a2 100644
--- a/lisp/progmodes/idlw-shell.el
+++ b/lisp/progmodes/idlw-shell.el
@@ -4251,9 +4251,6 @@ idlwave-shell-electric-debug-buffers
 
 (define-minor-mode idlwave-shell-electric-debug-mode
   "Toggle Idlwave Shell Electric Debug mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 When Idlwave Shell Electric Debug mode is enabled, the Idlwave
 Shell debugging commands are available as single key sequences."
diff --git a/lisp/progmodes/pascal.el b/lisp/progmodes/pascal.el
index 58dc213d8a..6d13d328c5 100644
--- a/lisp/progmodes/pascal.el
+++ b/lisp/progmodes/pascal.el
@@ -1405,9 +1405,6 @@ pascal-outline-map
 
 (define-minor-mode pascal-outline-mode
   "Outline-line minor mode for Pascal mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 When enabled, portions of the text being edited may be made
 invisible.\\<pascal-outline-map>
diff --git a/lisp/progmodes/prog-mode.el b/lisp/progmodes/prog-mode.el
index 19269766c9..b1a17dfa3c 100644
--- a/lisp/progmodes/prog-mode.el
+++ b/lisp/progmodes/prog-mode.el
@@ -196,9 +196,6 @@ prettify-symbols--post-command-hook
 ;;;###autoload
 (define-minor-mode prettify-symbols-mode
   "Toggle Prettify Symbols mode.
-With a prefix argument ARG, enable Prettify Symbols mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Prettify Symbols mode and font-locking are enabled, symbols are
 prettified (displayed as composed characters) according to the rules
diff --git a/lisp/progmodes/subword.el b/lisp/progmodes/subword.el
index cbaa273a7a..ed71b862cf 100644
--- a/lisp/progmodes/subword.el
+++ b/lisp/progmodes/subword.el
@@ -93,9 +93,6 @@ subword-mode-map
 ;;;###autoload
 (define-minor-mode subword-mode
   "Toggle subword movement and editing (Subword mode).
-With a prefix argument ARG, enable Subword mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Subword mode is a buffer-local minor mode.  Enabling it changes
 the definition of a word so that word-based commands stop inside
@@ -269,9 +266,6 @@ superword-mode-map
 ;;;###autoload
 (define-minor-mode superword-mode
   "Toggle superword movement and editing (Superword mode).
-With a prefix argument ARG, enable Superword mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Superword mode is a buffer-local minor mode.  Enabling it changes
 the definition of words such that symbols characters are treated
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el
index f6cb2419de..e17b7f504e 100644
--- a/lisp/progmodes/vhdl-mode.el
+++ b/lisp/progmodes/vhdl-mode.el
@@ -8707,17 +8707,11 @@ vhdl-work-library
 ;;  Enabling/disabling
 
 (define-minor-mode vhdl-electric-mode
-  "Toggle VHDL electric mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable it if ARG
-is omitted or nil."
+  "Toggle VHDL electric mode."
   :global t :group 'vhdl-mode)
 
 (define-minor-mode vhdl-stutter-mode
-  "Toggle VHDL stuttering mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable it if ARG
-is omitted or nil."
+  "Toggle VHDL stuttering mode."
   :global t :group 'vhdl-mode)
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
diff --git a/lisp/progmodes/which-func.el b/lisp/progmodes/which-func.el
index 152f6d2293..7604be0c25 100644
--- a/lisp/progmodes/which-func.el
+++ b/lisp/progmodes/which-func.el
@@ -247,9 +247,6 @@ which-func-update-timer
 ;;;###autoload
 (define-minor-mode which-function-mode
   "Toggle mode line display of current function (Which Function mode).
-With a prefix argument ARG, enable Which Function mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Which Function mode is a global minor mode.  When enabled, the
 current function name is continuously displayed in the mode line,
diff --git a/lisp/recentf.el b/lisp/recentf.el
index c3c4e45922..e318486cde 100644
--- a/lisp/recentf.el
+++ b/lisp/recentf.el
@@ -1342,9 +1342,6 @@ recentf-mode-map
 ;;;###autoload
 (define-minor-mode recentf-mode
   "Toggle \"Open Recent\" menu (Recentf mode).
-With a prefix argument ARG, enable Recentf mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Recentf mode if ARG is omitted or nil.
 
 When Recentf mode is enabled, a \"Open Recent\" submenu is
 displayed in the \"File\" menu, containing a list of files that
diff --git a/lisp/rect.el b/lisp/rect.el
index ba13e12358..8ccf051ee1 100644
--- a/lisp/rect.el
+++ b/lisp/rect.el
@@ -604,6 +604,7 @@ rectangle-mark-mode-map
 ;;;###autoload
 (define-minor-mode rectangle-mark-mode
   "Toggle the region as rectangular.
+
 Activates the region if needed.  Only lasts until the region is deactivated."
   nil nil nil
   (rectangle--reset-crutches)
diff --git a/lisp/reveal.el b/lisp/reveal.el
index 2831c0cc01..a3ecfc490e 100644
--- a/lisp/reveal.el
+++ b/lisp/reveal.el
@@ -191,9 +191,6 @@ reveal-mode-map
 ;;;###autoload
 (define-minor-mode reveal-mode
   "Toggle uncloaking of invisible text near point (Reveal mode).
-With a prefix argument ARG, enable Reveal mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Reveal mode if ARG is omitted or nil.
 
 Reveal mode is a buffer-local minor mode.  When enabled, it
 reveals invisible text around point."
@@ -210,11 +207,7 @@ reveal-mode
 ;;;###autoload
 (define-minor-mode global-reveal-mode
   "Toggle Reveal mode in all buffers (Global Reveal mode).
-Reveal mode renders invisible text around point visible again.
-
-With a prefix argument ARG, enable Global Reveal mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+Reveal mode renders invisible text around point visible again."
   :global t :group 'reveal
   (setq-default reveal-mode global-reveal-mode)
   (if global-reveal-mode
diff --git a/lisp/rfn-eshadow.el b/lisp/rfn-eshadow.el
index 847db68a77..41fd8b5f97 100644
--- a/lisp/rfn-eshadow.el
+++ b/lisp/rfn-eshadow.el
@@ -209,9 +209,6 @@ rfn-eshadow-update-overlay
 \f
 (define-minor-mode file-name-shadow-mode
   "Toggle file-name shadowing in minibuffers (File-Name Shadow mode).
-With a prefix argument ARG, enable File-Name Shadow mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 File-Name Shadow mode is a global minor mode.  When enabled, any
 part of a filename being read in the minibuffer that would be
diff --git a/lisp/ruler-mode.el b/lisp/ruler-mode.el
index 02d5a211ba..366bd15041 100644
--- a/lisp/ruler-mode.el
+++ b/lisp/ruler-mode.el
@@ -591,10 +591,7 @@ ruler--save-header-line-format
 
 ;;;###autoload
 (define-minor-mode ruler-mode
-  "Toggle display of ruler in header line (Ruler mode).
-With a prefix argument ARG, enable Ruler mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Toggle display of ruler in header line (Ruler mode)."
   nil nil
   ruler-mode-map
   :group 'ruler-mode
diff --git a/lisp/savehist.el b/lisp/savehist.el
index 0a261b0b0c..e555450c20 100644
--- a/lisp/savehist.el
+++ b/lisp/savehist.el
@@ -171,9 +171,6 @@ savehist-loaded
 ;;;###autoload
 (define-minor-mode savehist-mode
   "Toggle saving of minibuffer history (Savehist mode).
-With a prefix argument ARG, enable Savehist mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Savehist mode is enabled, minibuffer history is saved
 periodically and when exiting Emacs.  When Savehist mode is
diff --git a/lisp/saveplace.el b/lisp/saveplace.el
index aeb6cf1de7..9d3f10ac35 100644
--- a/lisp/saveplace.el
+++ b/lisp/saveplace.el
@@ -160,9 +160,6 @@ save-place-local-mode
 or exit Emacs.  Visiting this file again will go to that position,
 even in a later Emacs session.
 
-If called with a prefix arg, the mode is enabled if and only if
-the argument is positive.
-
 To save places automatically in all files, put this in your init
 file:
 
diff --git a/lisp/scroll-all.el b/lisp/scroll-all.el
index dea15d58d8..c32960efba 100644
--- a/lisp/scroll-all.el
+++ b/lisp/scroll-all.el
@@ -102,9 +102,6 @@ scroll-all-check-to-scroll
 ;;;###autoload
 (define-minor-mode scroll-all-mode
   "Toggle shared scrolling in same-frame windows (Scroll-All mode).
-With a prefix argument ARG, enable Scroll-All mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Scroll-All mode is enabled, scrolling commands invoked in
 one window apply to all visible windows in the same frame."
diff --git a/lisp/scroll-bar.el b/lisp/scroll-bar.el
index dd4a8aab0e..4d1ad03fa5 100644
--- a/lisp/scroll-bar.el
+++ b/lisp/scroll-bar.el
@@ -133,9 +133,6 @@ get-scroll-bar-mode
 
 (define-minor-mode scroll-bar-mode
   "Toggle vertical scroll bars on all frames (Scroll Bar mode).
-With a prefix argument ARG, enable Scroll Bar mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 This command applies to all frames that exist and frames to be
 created in the future."
@@ -152,9 +149,6 @@ horizontal-scroll-bars-available-p
 
 (define-minor-mode horizontal-scroll-bar-mode
   "Toggle horizontal scroll bars on all frames (Horizontal Scroll Bar mode).
-With a prefix argument ARG, enable Horizontal Scroll Bar mode if
-ARG is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 This command applies to all frames that exist and frames to be
 created in the future."
diff --git a/lisp/scroll-lock.el b/lisp/scroll-lock.el
index 2ce0f4578b..123fbb2b37 100644
--- a/lisp/scroll-lock.el
+++ b/lisp/scroll-lock.el
@@ -49,12 +49,11 @@ scroll-lock-temporary-goal-column
 ;;;###autoload
 (define-minor-mode scroll-lock-mode
   "Buffer-local minor mode for pager-like scrolling.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.  When enabled, keys that normally move
-point by line or paragraph will scroll the buffer by the
-respective amount of lines instead and point will be kept
-vertically fixed relative to window boundaries during scrolling."
+
+When enabled, keys that normally move point by line or paragraph
+will scroll the buffer by the respective amount of lines instead
+and point will be kept vertically fixed relative to window
+boundaries during scrolling."
   :lighter " ScrLck"
   :keymap scroll-lock-mode-map
   (if scroll-lock-mode
diff --git a/lisp/server.el b/lisp/server.el
index ff03cbe622..00e202e5e8 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -770,9 +770,6 @@ server-running-p
 ;;;###autoload
 (define-minor-mode server-mode
   "Toggle Server mode.
-With a prefix argument ARG, enable Server mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Server mode if ARG is omitted or nil.
 
 Server mode runs a process that accepts commands from the
 `emacsclient' program.  See Info node `Emacs server' and
diff --git a/lisp/shell.el b/lisp/shell.el
index 91c65ed171..c78903b3e5 100644
--- a/lisp/shell.el
+++ b/lisp/shell.el
@@ -967,9 +967,6 @@ shell-extract-num
 
 (define-minor-mode shell-dirtrack-mode
   "Toggle directory tracking in this shell buffer (Shell Dirtrack mode).
-With a prefix argument ARG, enable Shell Dirtrack mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 The `dirtrack' package provides an alternative implementation of
 this feature; see the function `dirtrack-mode'."
diff --git a/lisp/simple.el b/lisp/simple.el
index f8c02c1dbf..e98cea78d4 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -401,9 +401,7 @@ next-error-follow-last-line
 
 (define-minor-mode next-error-follow-minor-mode
   "Minor mode for compilation, occur and diff modes.
-With a prefix argument ARG, enable mode if ARG is positive, and
-disable it otherwise.  If called from Lisp, enable mode if ARG is
-omitted or nil.
+
 When turned on, cursor motion in the compilation, grep, occur or diff
 buffer causes automatic display of the corresponding source code location."
   :group 'next-error :init-value nil :lighter " Fol"
@@ -5817,9 +5815,6 @@ handle-shift-selection
 
 (define-minor-mode transient-mark-mode
   "Toggle Transient Mark mode.
-With a prefix argument ARG, enable Transient Mark mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Transient Mark mode if ARG is omitted or nil.
 
 Transient Mark mode is a global minor mode.  When enabled, the
 region is highlighted with the `region' face whenever the mark
@@ -6854,12 +6849,6 @@ visual-line--saved-state
 
 (define-minor-mode visual-line-mode
   "Toggle visual line based editing (Visual Line mode) in the current buffer.
-Interactively, with a prefix argument, enable
-Visual Line mode if the prefix argument is positive,
-and disable it otherwise.  If called from Lisp, toggle
-the mode if ARG is `toggle', disable the mode if ARG is
-a non-positive integer, and enable the mode otherwise
-\(including if ARG is omitted or nil or a positive integer).
 
 When Visual Line mode is enabled, `word-wrap' is turned on in
 this buffer, and simple editing commands are redefined to act on
@@ -7290,12 +7279,6 @@ normal-auto-fill-function
 
 (define-minor-mode auto-fill-mode
   "Toggle automatic line breaking (Auto Fill mode).
-Interactively, with a prefix argument, enable
-Auto Fill mode if the prefix argument is positive,
-and disable it otherwise.  If called from Lisp, toggle
-the mode if ARG is `toggle', disable the mode if ARG is
-a non-positive integer, and enable the mode otherwise
-\(including if ARG is omitted or nil or a positive integer).
 
 When Auto Fill mode is enabled, inserting a space at a column
 beyond `current-fill-column' automatically breaks the line at a
@@ -7410,9 +7393,6 @@ overwrite-mode-binary
 
 (define-minor-mode overwrite-mode
   "Toggle Overwrite mode.
-With a prefix argument ARG, enable Overwrite mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Overwrite mode is enabled, printing characters typed in
 replace existing text on a one-for-one basis, rather than pushing
@@ -7426,9 +7406,6 @@ overwrite-mode
 
 (define-minor-mode binary-overwrite-mode
   "Toggle Binary Overwrite mode.
-With a prefix argument ARG, enable Binary Overwrite mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Binary Overwrite mode is enabled, printing characters typed
 in replace existing text.  Newlines are not treated specially, so
@@ -7446,9 +7423,6 @@ binary-overwrite-mode
 
 (define-minor-mode line-number-mode
   "Toggle line number display in the mode line (Line Number mode).
-With a prefix argument ARG, enable Line Number mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Line numbers do not appear for very large buffers and buffers
 with very long lines; see variables `line-number-display-limit'
@@ -7456,27 +7430,15 @@ line-number-mode
   :init-value t :global t :group 'mode-line)
 
 (define-minor-mode column-number-mode
-  "Toggle column number display in the mode line (Column Number mode).
-With a prefix argument ARG, enable Column Number mode if ARG is
-positive, and disable it otherwise.
-
-If called from Lisp, enable the mode if ARG is omitted or nil."
+  "Toggle column number display in the mode line (Column Number mode)."
   :global t :group 'mode-line)
 
 (define-minor-mode size-indication-mode
-  "Toggle buffer size display in the mode line (Size Indication mode).
-With a prefix argument ARG, enable Size Indication mode if ARG is
-positive, and disable it otherwise.
-
-If called from Lisp, enable the mode if ARG is omitted or nil."
+  "Toggle buffer size display in the mode line (Size Indication mode)."
   :global t :group 'mode-line)
 
 (define-minor-mode auto-save-mode
-  "Toggle auto-saving in the current buffer (Auto Save mode).
-With a prefix argument ARG, enable Auto Save mode if ARG is
-positive, and disable it otherwise.
-
-If called from Lisp, enable the mode if ARG is omitted or nil."
+  "Toggle auto-saving in the current buffer (Auto Save mode)."
   :variable ((and buffer-auto-save-file-name
                   ;; If auto-save is off because buffer has shrunk,
                   ;; then toggling should turn it on.
@@ -8687,9 +8649,6 @@ normal-erase-is-backspace-setup-frame
 
 (define-minor-mode normal-erase-is-backspace-mode
   "Toggle the Erase and Delete mode of the Backspace and Delete keys.
-With a prefix argument ARG, enable this feature if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 On window systems, when this mode is on, Delete is mapped to C-d
 and Backspace is mapped to DEL; when this mode is off, both
@@ -8766,9 +8725,9 @@ vis-mode-saved-buffer-invisibility-spec
 
 (define-minor-mode read-only-mode
   "Change whether the current buffer is read-only.
-With prefix argument ARG, make the buffer read-only if ARG is
-positive, otherwise make it writable.  If buffer is read-only
-and `view-read-only' is non-nil, enter view mode.
+
+If buffer is read-only and `view-read-only' is non-nil, enter
+view mode.
 
 Do not call this from a Lisp program unless you really intend to
 do the same thing as the \\[read-only-mode] command, including
@@ -8792,9 +8751,6 @@ read-only-mode
 
 (define-minor-mode visible-mode
   "Toggle making all invisible text temporarily visible (Visible mode).
-With a prefix argument ARG, enable Visible mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 This mode works by saving the value of `buffer-invisibility-spec'
 and setting it to nil."
diff --git a/lisp/strokes.el b/lisp/strokes.el
index 6ffcff73c2..d5c287c341 100644
--- a/lisp/strokes.el
+++ b/lisp/strokes.el
@@ -1388,9 +1388,6 @@ strokes-mode-map
 ;;;###autoload
 (define-minor-mode strokes-mode
   "Toggle Strokes mode, a global minor mode.
-With a prefix argument ARG, enable Strokes mode if ARG is
-positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 \\<strokes-mode-map>
 Strokes are pictographic mouse gestures which invoke commands.
diff --git a/lisp/t-mouse.el b/lisp/t-mouse.el
index 8a816fd444..3ad719d193 100644
--- a/lisp/t-mouse.el
+++ b/lisp/t-mouse.el
@@ -67,9 +67,6 @@ 't-mouse-mode
 ;;;###autoload
 (define-minor-mode gpm-mouse-mode
   "Toggle mouse support in GNU/Linux consoles (GPM Mouse mode).
-With a prefix argument ARG, enable GPM Mouse mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 This allows the use of the mouse when operating on a GNU/Linux console,
 in the same way as you can use the mouse under X11.
diff --git a/lisp/tar-mode.el b/lisp/tar-mode.el
index f7b14fab51..9860c8b30c 100644
--- a/lisp/tar-mode.el
+++ b/lisp/tar-mode.el
@@ -762,12 +762,10 @@ tar-mode
 
 (define-minor-mode tar-subfile-mode
   "Minor mode for editing an element of a tar-file.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.  This mode arranges for \"saving\" this
-buffer to write the data into the tar-file buffer that it came
-from.  The changes will actually appear on disk when you save the
-tar-file's buffer."
+
+This mode arranges for \"saving\" this buffer to write the data
+into the tar-file buffer that it came from.  The changes will
+actually appear on disk when you save the tar-file's buffer."
   ;; Don't do this, because it is redundant and wastes mode line space.
   ;; :lighter " TarFile"
   nil nil nil
diff --git a/lisp/term/tvi970.el b/lisp/term/tvi970.el
index 97687894ec..0c4b0ae73b 100644
--- a/lisp/term/tvi970.el
+++ b/lisp/term/tvi970.el
@@ -101,9 +101,6 @@ terminal-init-tvi970
 ;; Should keypad numbers send ordinary digits or distinct escape sequences?
 (define-minor-mode tvi970-set-keypad-mode
   "Toggle alternate keypad mode on TVI 970 keypad.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 In alternate keypad mode, the keys send distinct escape
 sequences, meaning that they can have their own bindings,
diff --git a/lisp/term/vt100.el b/lisp/term/vt100.el
index d40c550aff..b61e557e2f 100644
--- a/lisp/term/vt100.el
+++ b/lisp/term/vt100.el
@@ -39,10 +39,7 @@ terminal-init-vt100
 
 ;;; Controlling the screen width.
 (define-minor-mode vt100-wide-mode
-  "Toggle 132/80 column mode for vt100s.
-With a prefix argument ARG, switch to 132-column mode if ARG is
-positive, and 80-column mode otherwise.  If called from Lisp,
-switch to 132-column mode if ARG is omitted or nil."
+  "Toggle 132/80 column mode for vt100s."
   :global t :init-value (= (frame-width) 132)
   :group 'terminals
   (send-string-to-terminal (if vt100-wide-mode "\e[?3h" "\e[?3l"))
diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el
index 61ca0856bc..940a78ae92 100644
--- a/lisp/textmodes/artist.el
+++ b/lisp/textmodes/artist.el
@@ -1198,7 +1198,7 @@ artist-select-prev-op-in-list
 ;;;###autoload
 (define-minor-mode artist-mode
   "Toggle Artist mode.
-With argument ARG, turn Artist mode on if ARG is positive.
+
 Artist lets you draw lines, squares, rectangles and poly-lines,
 ellipses and circles with your mouse and/or keyboard.
 
diff --git a/lisp/textmodes/enriched.el b/lisp/textmodes/enriched.el
index 6b4c44a39e..f2065cbff9 100644
--- a/lisp/textmodes/enriched.el
+++ b/lisp/textmodes/enriched.el
@@ -210,10 +210,6 @@ enriched-mode
 These are files with embedded formatting information in the MIME standard
 text/enriched format.
 
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
-
 Turning the mode on or off runs `enriched-mode-hook'.
 
 More information about Enriched mode is available in the file
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index 9747f8e2eb..8ad6832880 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -505,9 +505,6 @@ flyspell-overlay
 ;;;###autoload
 (define-minor-mode flyspell-mode
   "Toggle on-the-fly spell checking (Flyspell mode).
-With a prefix argument ARG, enable Flyspell mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Flyspell mode is a buffer-local minor mode.  When enabled, it
 spawns a single Ispell process and checks each word.  The default
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index d1d47718f9..d80447e0a5 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -3695,9 +3695,6 @@ ispell-minor-keymap
 ;;;###autoload
 (define-minor-mode ispell-minor-mode
   "Toggle last-word spell checking (Ispell minor mode).
-With a prefix argument ARG, enable Ispell minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Ispell minor mode is a buffer-local minor mode.  When enabled,
 typing SPC or RET warns you if the previous word is incorrectly
diff --git a/lisp/textmodes/nroff-mode.el b/lisp/textmodes/nroff-mode.el
index 6955ed25e1..51a9f5820d 100644
--- a/lisp/textmodes/nroff-mode.el
+++ b/lisp/textmodes/nroff-mode.el
@@ -298,9 +298,6 @@ nroff-electric-newline
 
 (define-minor-mode nroff-electric-mode
   "Toggle automatic nroff request pairing (Nroff Electric mode).
-With a prefix argument ARG, enable Nroff Electric mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Nroff Electric mode is a buffer-local minor mode, for use with
 `nroff-mode'.  When enabled, Emacs checks for an nroff request at
diff --git a/lisp/textmodes/paragraphs.el b/lisp/textmodes/paragraphs.el
index 3e2784ca95..ee812566b9 100644
--- a/lisp/textmodes/paragraphs.el
+++ b/lisp/textmodes/paragraphs.el
@@ -36,9 +36,6 @@ paragraphs
 (put 'use-hard-newlines 'permanent-local t)
 (define-minor-mode use-hard-newlines
   "Toggle distinguishing between hard and soft newlines.
-With a prefix argument ARG, enable the feature if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-it if ARG is omitted or nil.
 
 When enabled, the functions `newline' and `open-line' add the
 text-property `hard' to newlines that they insert, and a line is
diff --git a/lisp/textmodes/refill.el b/lisp/textmodes/refill.el
index 1252afe417..229d6a24dd 100644
--- a/lisp/textmodes/refill.el
+++ b/lisp/textmodes/refill.el
@@ -213,9 +213,6 @@ refill-saved-state
 ;;;###autoload
 (define-minor-mode refill-mode
   "Toggle automatic refilling (Refill mode).
-With a prefix argument ARG, enable Refill mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Refill mode is a buffer-local minor mode.  When enabled, the
 current paragraph is refilled as you edit.  Self-inserting
diff --git a/lisp/textmodes/rst.el b/lisp/textmodes/rst.el
index 40d75a9db8..126804fdab 100644
--- a/lisp/textmodes/rst.el
+++ b/lisp/textmodes/rst.el
@@ -1411,9 +1411,6 @@ rst-mode
 ;;;###autoload
 (define-minor-mode rst-minor-mode
   "Toggle ReST minor mode.
-With a prefix argument ARG, enable ReST minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When ReST minor mode is enabled, the ReST mode keybindings
 are installed on top of the major mode bindings.  Use this
diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el
index 30ca11199d..470f4a348a 100644
--- a/lisp/textmodes/sgml-mode.el
+++ b/lisp/textmodes/sgml-mode.el
@@ -941,9 +941,6 @@ sgml-electric-tag-pair-flush-overlays
 
 (define-minor-mode sgml-electric-tag-pair-mode
   "Toggle SGML Electric Tag Pair mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 SGML Electric Tag Pair mode is a buffer-local minor mode for use
 with `sgml-mode' and related major modes.  When enabled, editing
@@ -2379,9 +2376,6 @@ html-imenu-index
 
 (define-minor-mode html-autoview-mode
   "Toggle viewing of HTML files on save (HTML Autoview mode).
-With a prefix argument ARG, enable HTML Autoview mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 HTML Autoview mode is a buffer-local minor mode for use with
 `html-mode'.  If enabled, saving the file automatically runs
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el
index c65b3b3ea2..c223af4769 100644
--- a/lisp/textmodes/tex-mode.el
+++ b/lisp/textmodes/tex-mode.el
@@ -713,9 +713,6 @@ tex-env-mark
 
 (define-minor-mode latex-electric-env-pair-mode
   "Toggle Latex Electric Env Pair mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable it if ARG
-is omitted or nil.
 
 Latex Electric Env Pair mode is a buffer-local minor mode for use
 with `latex-mode'.  When enabled, typing a \\begin or \\end tag
diff --git a/lisp/time.el b/lisp/time.el
index ab6b5b9632..94f7009953 100644
--- a/lisp/time.el
+++ b/lisp/time.el
@@ -488,9 +488,6 @@ display-time-file-nonempty-p
 ;;;###autoload
 (define-minor-mode display-time-mode
   "Toggle display of time, load level, and mail flag in mode lines.
-With a prefix argument ARG, enable Display Time mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-it if ARG is omitted or nil.
 
 When Display Time mode is enabled, it updates every minute (you
 can control the number of seconds between updates by customizing
diff --git a/lisp/tool-bar.el b/lisp/tool-bar.el
index 18f54dbac6..e2242cf6f7 100644
--- a/lisp/tool-bar.el
+++ b/lisp/tool-bar.el
@@ -44,9 +44,6 @@
 ;; when you are on a tty.  I hope that won't cause too much trouble -- rms.
 (define-minor-mode tool-bar-mode
   "Toggle the tool bar in all graphical frames (Tool Bar mode).
-With a prefix argument ARG, enable Tool Bar mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Tool Bar mode if ARG is omitted or nil.
 
 See `tool-bar-add-item' and `tool-bar-add-item-from-menu' for
 conveniently adding tool bar items."
diff --git a/lisp/tooltip.el b/lisp/tooltip.el
index 81df229a13..384d3d19db 100644
--- a/lisp/tooltip.el
+++ b/lisp/tooltip.el
@@ -42,9 +42,6 @@ tooltip
 
 (define-minor-mode tooltip-mode
   "Toggle Tooltip mode.
-With a prefix argument ARG, enable Tooltip mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 When this global minor mode is enabled, Emacs displays help
 text (e.g. for buttons and menu items that you put the mouse on)
diff --git a/lisp/type-break.el b/lisp/type-break.el
index 98947bac27..c7cdc46036 100644
--- a/lisp/type-break.el
+++ b/lisp/type-break.el
@@ -287,9 +287,6 @@ type-break-mode
 to find a good breaking point in his or her work, but be sufficiently
 annoying to discourage putting typing breaks off indefinitely.
 
-A negative prefix argument disables this mode.
-No argument or any non-negative argument enables it.
-
 The user may enable or disable this mode by setting the variable of the
 same name, though setting it in that way doesn't reschedule a break or
 reset the keystroke counter.
@@ -406,9 +403,6 @@ type-break-mode
 
 (define-minor-mode type-break-mode-line-message-mode
   "Toggle warnings about typing breaks in the mode line.
-With a prefix argument ARG, enable these warnings if ARG is
-positive, and disable them otherwise.  If called from Lisp,
-enable them if ARG is omitted or nil.
 
 The user may also enable or disable this mode simply by setting
 the variable of the same name.
@@ -423,9 +417,6 @@ type-break-mode-line-message-mode
 
 (define-minor-mode type-break-query-mode
   "Toggle typing break queries.
-With a prefix argument ARG, enable these queries if ARG is
-positive, and disable them otherwise.  If called from Lisp,
-enable them if ARG is omitted or nil.
 
 The user may also enable or disable this mode simply by setting
 the variable of the same name."
diff --git a/lisp/url/url-dired.el b/lisp/url/url-dired.el
index 784f70eb1f..50d84f71cc 100644
--- a/lisp/url/url-dired.el
+++ b/lisp/url/url-dired.el
@@ -43,10 +43,7 @@ url-dired-find-file-mouse
   (url-dired-find-file))
 
 (define-minor-mode url-dired-minor-mode
-  "Minor mode for directory browsing.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode for directory browsing."
   :lighter " URL" :keymap url-dired-minor-mode-map)
 
 (defun url-find-file-dired (dir)
diff --git a/lisp/url/url-handlers.el b/lisp/url/url-handlers.el
index 98f9f1e373..3802c39b78 100644
--- a/lisp/url/url-handlers.el
+++ b/lisp/url/url-handlers.el
@@ -102,10 +102,7 @@ url-handler-regexp
 
 ;;;###autoload
 (define-minor-mode url-handler-mode
-  "Toggle using `url' library for URL filenames (URL Handler mode).
-With a prefix argument ARG, enable URL Handler mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle using `url' library for URL filenames (URL Handler mode)."
   :global t :group 'url
   ;; Remove old entry, if any.
   (setq file-name-handler-alist
diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el
index 1e2fbb97fc..e88ccece41 100644
--- a/lisp/vc/diff-mode.el
+++ b/lisp/vc/diff-mode.el
@@ -216,9 +216,6 @@ diff-minor-mode-prefix
 
 (define-minor-mode diff-auto-refine-mode
   "Toggle automatic diff hunk highlighting (Diff Auto Refine mode).
-With a prefix argument ARG, enable Diff Auto Refine mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 Diff Auto Refine mode is a buffer-local minor mode used with
 `diff-mode'.  When enabled, Emacs automatically highlights
@@ -1424,9 +1421,6 @@ diff-mode
 ;;;###autoload
 (define-minor-mode diff-minor-mode
   "Toggle Diff minor mode.
-With a prefix argument ARG, enable Diff minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 \\{diff-minor-mode-map}"
   :group 'diff-mode :lighter " Diff"
diff --git a/lisp/vc/smerge-mode.el b/lisp/vc/smerge-mode.el
index 99a074cf25..cb51fbab8e 100644
--- a/lisp/vc/smerge-mode.el
+++ b/lisp/vc/smerge-mode.el
@@ -1398,9 +1398,7 @@ smerge-parsep-re
 ;;;###autoload
 (define-minor-mode smerge-mode
   "Minor mode to simplify editing output from the diff3 program.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
+
 \\{smerge-mode-map}"
   :group 'smerge :lighter " SMerge"
   (when (and (boundp 'font-lock-mode) font-lock-mode)
diff --git a/lisp/vcursor.el b/lisp/vcursor.el
index 8974330452..ce7a895a62 100644
--- a/lisp/vcursor.el
+++ b/lisp/vcursor.el
@@ -815,8 +815,7 @@ vcursor-check
 
 (define-minor-mode vcursor-use-vcursor-map
   "Toggle the state of the vcursor key map.
-With a prefix argument ARG, enable it if ARG is positive, and disable
-it otherwise.  If called from Lisp, enable it if ARG is omitted or nil.
+
 When on, the keys defined in it are mapped directly on top of the main
 keymap, allowing you to move the vcursor with ordinary motion keys.
 An indication \"!VC\" appears in the mode list.  The effect is
diff --git a/lisp/view.el b/lisp/view.el
index cc328680e2..56f98a6db2 100644
--- a/lisp/view.el
+++ b/lisp/view.el
@@ -381,9 +381,6 @@ view-mode
   ;; bindings instead of using the \\[] construction.  The reason for this
   ;; is that most commands have more than one key binding.
   "Toggle View mode, a minor mode for viewing text but not editing it.
-With a prefix argument ARG, enable View mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable View mode
-if ARG is omitted or nil.
 
 When View mode is enabled, commands that do not change the buffer
 contents are available as usual.  Kill commands insert text in
diff --git a/lisp/whitespace.el b/lisp/whitespace.el
index c2827d3d51..d8249316e4 100644
--- a/lisp/whitespace.el
+++ b/lisp/whitespace.el
@@ -924,11 +924,6 @@ whitespace-action
 ;;;###autoload
 (define-minor-mode whitespace-mode
   "Toggle whitespace visualization (Whitespace mode).
-With a prefix argument ARG, enable Whitespace mode if ARG is
-positive, and disable it otherwise.
-
-If called from Lisp, also enables the mode if ARG is omitted or nil,
-and toggles it if ARG is `toggle'.
 
 See also `whitespace-style', `whitespace-newline' and
 `whitespace-display-mappings'."
@@ -949,11 +944,6 @@ whitespace-mode
 ;;;###autoload
 (define-minor-mode whitespace-newline-mode
   "Toggle newline visualization (Whitespace Newline mode).
-With a prefix argument ARG, enable Whitespace Newline mode if ARG
-is positive, and disable it otherwise.
-
-If called from Lisp, also enables the mode if ARG is omitted or nil,
-and toggles it if ARG is `toggle'.
 
 Use `whitespace-newline-mode' only for NEWLINE visualization
 exclusively.  For other visualizations, including NEWLINE
@@ -979,11 +969,6 @@ whitespace-newline-mode
 ;;;###autoload
 (define-minor-mode global-whitespace-mode
   "Toggle whitespace visualization globally (Global Whitespace mode).
-With a prefix argument ARG, enable Global Whitespace mode if ARG
-is positive, and disable it otherwise.
-
-If called from Lisp, also enables the mode if ARG is omitted or nil,
-and toggles it if ARG is `toggle'.
 
 See also `whitespace-style', `whitespace-newline' and
 `whitespace-display-mappings'."
@@ -1040,11 +1025,6 @@ whitespace-turn-on-if-enabled
 ;;;###autoload
 (define-minor-mode global-whitespace-newline-mode
   "Toggle global newline visualization (Global Whitespace Newline mode).
-With a prefix argument ARG, enable Global Whitespace Newline mode
-if ARG is positive, and disable it otherwise.
-
-If called from Lisp, also enables the mode if ARG is omitted or nil,
-and toggles it if ARG is `toggle'.
 
 Use `global-whitespace-newline-mode' only for NEWLINE
 visualization exclusively.  For other visualizations, including
diff --git a/lisp/wid-browse.el b/lisp/wid-browse.el
index db2be0cc90..d86e9cd2e2 100644
--- a/lisp/wid-browse.el
+++ b/lisp/wid-browse.el
@@ -269,10 +269,7 @@ widget-minor-mode-map
 
 ;;;###autoload
 (define-minor-mode widget-minor-mode
-  "Minor mode for traversing widgets.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode for traversing widgets."
   :lighter " Widget")
 
 ;;; The End:
diff --git a/lisp/winner.el b/lisp/winner.el
index 72b90b0e43..5e13a378a7 100644
--- a/lisp/winner.el
+++ b/lisp/winner.el
@@ -351,9 +351,6 @@ winner-mode-map
 ;;;###autoload
 (define-minor-mode winner-mode
   "Toggle Winner mode on or off.
-With a prefix argument ARG, enable Winner mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'.
 
 Winner mode is a global minor mode that records the changes in
 the window configuration (i.e. how the frames are partitioned
diff --git a/lisp/xt-mouse.el b/lisp/xt-mouse.el
index 8fb65d5bfa..da4af32e5e 100644
--- a/lisp/xt-mouse.el
+++ b/lisp/xt-mouse.el
@@ -312,9 +312,6 @@ xterm-mouse-event
 ;;;###autoload
 (define-minor-mode xterm-mouse-mode
   "Toggle XTerm mouse mode.
-With a prefix argument ARG, enable XTerm mouse mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Turn it on to use Emacs mouse commands, and off to use xterm mouse commands.
 This works in terminal emulators compatible with xterm.  It only
-- 
2.18.0


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

* bug#10754: define-minor-mode and doc of derived mode
  2018-06-29 13:45                                     ` John Shahid
@ 2018-06-29 13:55                                       ` Stefan Monnier
  2018-06-29 14:52                                         ` John Shahid
  2018-06-30  7:56                                         ` Eli Zaretskii
  0 siblings, 2 replies; 28+ messages in thread
From: Stefan Monnier @ 2018-06-29 13:55 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: John Shahid, 10754

> Sounds reasonable, I was hesitant to make the implementation more
> complicated but it turns out not to be that bad. Attached the patch to
> either append the paragraph or insert it at the first empty line.

Thanks, looks great to me.
Eli, any objection?


        Stefan





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

* bug#10754: define-minor-mode and doc of derived mode
  2018-06-29 13:55                                       ` Stefan Monnier
@ 2018-06-29 14:52                                         ` John Shahid
  2018-06-29 15:12                                           ` Noam Postavsky
  2018-06-30  7:56                                         ` Eli Zaretskii
  1 sibling, 1 reply; 28+ messages in thread
From: John Shahid @ 2018-06-29 14:52 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 10754


Stefan Monnier <monnier@IRO.UMontreal.CA> writes:

>> Sounds reasonable, I was hesitant to make the implementation more
>> complicated but it turns out not to be that bad. Attached the patch to
>> either append the paragraph or insert it at the first empty line.
>
> Thanks, looks great to me.

Thanks for taking a look. fyi, the current implementation replace the
last "\n\n" instead of the first "\n\n". This is either a regression or
a bug in the documentation of `replace-regexp-in-string'. The patch is
doing the following expecting "doc" to appear between "foo" and "bar",
but instead it is inserted between "bar" and "baz"

    (replace-regexp-in-string "\\(\n\n\\).*\\'"
                              "\n\ndoc\\1"
                              "foo\n\nbar\n\nbaz"
                              nil
                              nil
                              1)


According to the doc ti should work:

    To replace only the first match (if any), make REGEXP match up to \'
    and replace a sub-expression, e.g.
      (replace-regexp-in-string "\\(foo\\).*\\'" "bar" " foo foo" nil nil 1)
        => " bar foo"

I'm happy to open a new bug for this, but I don't think it is a blocker
to merging this change.





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

* bug#10754: define-minor-mode and doc of derived mode
  2018-06-29 14:52                                         ` John Shahid
@ 2018-06-29 15:12                                           ` Noam Postavsky
  2018-06-29 15:48                                             ` John Shahid
  0 siblings, 1 reply; 28+ messages in thread
From: Noam Postavsky @ 2018-06-29 15:12 UTC (permalink / raw)
  To: John Shahid; +Cc: Stefan Monnier, 10754

On 29 June 2018 at 10:52, John Shahid <jvshahid@gmail.com> wrote:

>     (replace-regexp-in-string "\\(\n\n\\).*\\'"

The trick is that "." matches anything but a newline, using (.\\|\n\\)
instead works as expected:

(replace-regexp-in-string "\\(\n\n\\)\\(?:.\\|\n\\)*\\'"
              "\n\ndoc\\1"
              "foo\n\nbar\n\nbaz"
              nil
              nil
              1)





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

* bug#10754: define-minor-mode and doc of derived mode
  2018-06-29 15:12                                           ` Noam Postavsky
@ 2018-06-29 15:48                                             ` John Shahid
  2018-06-30  7:55                                               ` Eli Zaretskii
  0 siblings, 1 reply; 28+ messages in thread
From: John Shahid @ 2018-06-29 15:48 UTC (permalink / raw)
  To: Noam Postavsky; +Cc: Stefan Monnier, 10754

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


Noam Postavsky <npostavs@gmail.com> writes:

> On 29 June 2018 at 10:52, John Shahid <jvshahid@gmail.com> wrote:
>
>>     (replace-regexp-in-string "\\(\n\n\\).*\\'"
>
> The trick is that "." matches anything but a newline, using (.\\|\n\\)
> instead works as expected:
>
> (replace-regexp-in-string "\\(\n\n\\)\\(?:.\\|\n\\)*\\'"
>               "\n\ndoc\\1"
>               "foo\n\nbar\n\nbaz"
>               nil
>               nil
>               1)

Thanks that worked. Totally missed that "." doesn't match newlines in
the documentation.

attached a new patch with the fix.


[-- Attachment #2: 0001-optionally-include-argument-description-in-minor-mod.patch --]
[-- Type: text/x-diff, Size: 117632 bytes --]

From b79ea21106c168b4e630b0f43418691a9eba7542 Mon Sep 17 00:00:00 2001
From: John Shahid <jvshahid@gmail.com>
Date: Tue, 5 Jun 2018 19:56:12 -0400
Subject: [PATCH] optionally include argument description in minor mode DOC

* easy-mmode.el (define-minor-mode): Add a parapgraph to the mode's
  docstring documenting the mode ARG usage if the supplied docstring
  didn't contain the word "ARG".

removed argument documetation from all minor modes.
---
 lisp/abbrev.el                       |  3 --
 lisp/allout-widgets.el               |  3 --
 lisp/allout.el                       |  3 --
 lisp/autoarg.el                      |  6 ---
 lisp/autoinsert.el                   |  3 --
 lisp/autorevert.el                   |  9 -----
 lisp/battery.el                      |  3 --
 lisp/cedet/ede.el                    |  6 ---
 lisp/cedet/ede/dired.el              |  4 +-
 lisp/cedet/semantic.el               |  3 --
 lisp/cedet/semantic/db-mode.el       |  1 -
 lisp/cedet/semantic/decorate/mode.el | 12 +++---
 lisp/cedet/semantic/idle.el          | 19 ++++-----
 lisp/cedet/semantic/mru-bookmark.el  | 10 ++---
 lisp/cedet/semantic/util-modes.el    | 52 +++++++++++--------------
 lisp/cedet/srecode/mode.el           | 11 +++---
 lisp/completion.el                   |  5 +--
 lisp/composite.el                    |  6 ---
 lisp/delsel.el                       |  6 ---
 lisp/desktop.el                      |  3 --
 lisp/dired-x.el                      |  3 --
 lisp/dirtrack.el                     |  8 +---
 lisp/doc-view.el                     |  3 --
 lisp/double.el                       |  3 --
 lisp/elec-pair.el                    |  3 --
 lisp/electric.el                     | 10 +----
 lisp/emacs-lisp/checkdoc.el          |  3 --
 lisp/emacs-lisp/easy-mmode.el        | 31 +++++++++++----
 lisp/emacs-lisp/eldoc.el             |  3 --
 lisp/emacs-lock.el                   |  4 +-
 lisp/emulation/cua-base.el           |  3 --
 lisp/epa-hook.el                     |  5 +--
 lisp/epa-mail.el                     | 10 +----
 lisp/erc/erc-track.el                |  3 --
 lisp/face-remap.el                   | 10 ++---
 lisp/files.el                        |  8 +---
 lisp/follow.el                       |  3 --
 lisp/font-core.el                    |  3 --
 lisp/frame.el                        | 12 ------
 lisp/help.el                         |  3 --
 lisp/hexl.el                         |  1 +
 lisp/hi-lock.el                      |  3 --
 lisp/hilit-chg.el                    |  6 ---
 lisp/hl-line.el                      |  6 ---
 lisp/ibuf-ext.el                     |  5 +--
 lisp/icomplete.el                    |  3 --
 lisp/ido.el                          |  5 +--
 lisp/image-file.el                   |  3 --
 lisp/image-mode.el                   |  3 --
 lisp/international/iso-ascii.el      |  5 +--
 lisp/jit-lock.el                     |  1 +
 lisp/jka-cmpr-hook.el                |  3 --
 lisp/language/thai-util.el           |  9 ++---
 lisp/linum.el                        |  4 +-
 lisp/mail/footnote.el                |  3 --
 lisp/mail/mailabbrev.el              |  3 --
 lisp/master.el                       |  3 --
 lisp/mb-depth.el                     |  3 --
 lisp/menu-bar.el                     |  3 --
 lisp/minibuf-eldef.el                |  3 --
 lisp/msb.el                          |  3 --
 lisp/mwheel.el                       |  5 +--
 lisp/net/goto-addr.el                |  5 +--
 lisp/net/rcirc.el                    | 13 +------
 lisp/obsolete/complete.el            |  1 -
 lisp/obsolete/crisp.el               |  5 +--
 lisp/obsolete/iswitchb.el            |  3 --
 lisp/obsolete/longlines.el           |  3 --
 lisp/obsolete/mouse-sel.el           |  3 --
 lisp/obsolete/old-whitespace.el      |  1 -
 lisp/obsolete/tpu-edt.el             |  5 +--
 lisp/obsolete/tpu-extras.el          |  5 +--
 lisp/obsolete/xesam.el               |  3 --
 lisp/outline.el                      |  3 --
 lisp/paren.el                        |  3 --
 lisp/pixel-scroll.el                 |  5 +--
 lisp/progmodes/bug-reference.el      |  5 +--
 lisp/progmodes/compile.el            |  6 ---
 lisp/progmodes/cwarn.el              |  6 +--
 lisp/progmodes/flymake.el            |  3 --
 lisp/progmodes/gdb-mi.el             |  4 +-
 lisp/progmodes/glasses.el            |  7 ++--
 lisp/progmodes/gud.el                |  5 +--
 lisp/progmodes/hideif.el             |  3 --
 lisp/progmodes/hideshow.el           |  3 --
 lisp/progmodes/idlw-shell.el         |  3 --
 lisp/progmodes/pascal.el             |  3 --
 lisp/progmodes/prog-mode.el          |  3 --
 lisp/progmodes/subword.el            |  6 ---
 lisp/progmodes/vhdl-mode.el          | 10 +----
 lisp/progmodes/which-func.el         |  3 --
 lisp/recentf.el                      |  3 --
 lisp/rect.el                         |  1 +
 lisp/reveal.el                       |  9 +----
 lisp/rfn-eshadow.el                  |  3 --
 lisp/ruler-mode.el                   |  5 +--
 lisp/savehist.el                     |  3 --
 lisp/saveplace.el                    |  3 --
 lisp/scroll-all.el                   |  3 --
 lisp/scroll-bar.el                   |  6 ---
 lisp/scroll-lock.el                  | 11 +++---
 lisp/server.el                       |  3 --
 lisp/shell.el                        |  3 --
 lisp/simple.el                       | 58 ++++------------------------
 lisp/strokes.el                      |  3 --
 lisp/t-mouse.el                      |  3 --
 lisp/tar-mode.el                     | 10 ++---
 lisp/term/tvi970.el                  |  3 --
 lisp/term/vt100.el                   |  5 +--
 lisp/textmodes/artist.el             |  2 +-
 lisp/textmodes/enriched.el           |  4 --
 lisp/textmodes/flyspell.el           |  3 --
 lisp/textmodes/ispell.el             |  3 --
 lisp/textmodes/nroff-mode.el         |  3 --
 lisp/textmodes/paragraphs.el         |  3 --
 lisp/textmodes/refill.el             |  3 --
 lisp/textmodes/rst.el                |  3 --
 lisp/textmodes/sgml-mode.el          |  6 ---
 lisp/textmodes/tex-mode.el           |  3 --
 lisp/time.el                         |  3 --
 lisp/tool-bar.el                     |  3 --
 lisp/tooltip.el                      |  3 --
 lisp/type-break.el                   |  9 -----
 lisp/url/url-dired.el                |  5 +--
 lisp/url/url-handlers.el             |  5 +--
 lisp/vc/diff-mode.el                 |  6 ---
 lisp/vc/smerge-mode.el               |  4 +-
 lisp/vcursor.el                      |  3 +-
 lisp/view.el                         |  3 --
 lisp/whitespace.el                   | 20 ----------
 lisp/wid-browse.el                   |  5 +--
 lisp/winner.el                       |  3 --
 lisp/xt-mouse.el                     |  3 --
 133 files changed, 134 insertions(+), 619 deletions(-)

diff --git a/lisp/abbrev.el b/lisp/abbrev.el
index fd2f36e198..cddce8f529 100644
--- a/lisp/abbrev.el
+++ b/lisp/abbrev.el
@@ -56,9 +56,6 @@ only-global-abbrevs
 
 (define-minor-mode abbrev-mode
   "Toggle Abbrev mode in the current buffer.
-With a prefix argument ARG, enable Abbrev mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Abbrev mode if ARG is omitted or nil.
 
 In Abbrev mode, inserting an abbreviation causes it to expand and
 be replaced by its expansion."
diff --git a/lisp/allout-widgets.el b/lisp/allout-widgets.el
index 71b1b39008..5abd9788dd 100644
--- a/lisp/allout-widgets.el
+++ b/lisp/allout-widgets.el
@@ -513,9 +513,6 @@ allout-widgets-last-decoration-timing
 ;;;###autoload
 (define-minor-mode allout-widgets-mode
   "Toggle Allout Widgets mode.
-With a prefix argument ARG, enable Allout Widgets mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Allout Widgets mode is an extension of Allout mode that provides
 graphical decoration of outline structure.  It is meant to
diff --git a/lisp/allout.el b/lisp/allout.el
index 26e7f6b56c..a123ece9b9 100644
--- a/lisp/allout.el
+++ b/lisp/allout.el
@@ -1693,9 +1693,6 @@ allout-overlay-preparations
 (define-minor-mode allout-mode
 ;;;_    . Doc string:
   "Toggle Allout outline mode.
-With a prefix argument ARG, enable Allout outline mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 \\<allout-mode-map-value>
 Allout outline mode is a minor mode that provides extensive
diff --git a/lisp/autoarg.el b/lisp/autoarg.el
index 096bdefc1a..4bf5785c7d 100644
--- a/lisp/autoarg.el
+++ b/lisp/autoarg.el
@@ -90,9 +90,6 @@ autoarg-kp-mode-map
 ;;;###autoload
 (define-minor-mode autoarg-mode
   "Toggle Autoarg mode, a global minor mode.
-With a prefix argument ARG, enable Autoarg mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 \\<autoarg-mode-map>
 In Autoarg mode, digits are bound to `digit-argument', i.e. they
@@ -116,9 +113,6 @@ autoarg-mode
 ;;;###autoload
 (define-minor-mode autoarg-kp-mode
   "Toggle Autoarg-KP mode, a global minor mode.
-With a prefix argument ARG, enable Autoarg-KP mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 \\<autoarg-kp-mode-map>
 This is similar to `autoarg-mode' but rebinds the keypad keys
diff --git a/lisp/autoinsert.el b/lisp/autoinsert.el
index 7858041440..cb0d15196f 100644
--- a/lisp/autoinsert.el
+++ b/lisp/autoinsert.el
@@ -412,9 +412,6 @@ define-auto-insert
 ;;;###autoload
 (define-minor-mode auto-insert-mode
   "Toggle Auto-insert mode, a global minor mode.
-With a prefix argument ARG, enable Auto-insert mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Auto-insert mode is enabled, when new files are created you can
 insert a template for the file depending on the mode of the buffer."
diff --git a/lisp/autorevert.el b/lisp/autorevert.el
index 0a9d3bef54..c60fe010a3 100644
--- a/lisp/autorevert.el
+++ b/lisp/autorevert.el
@@ -351,9 +351,6 @@ auto-revert-remove-current-buffer
 ;;;###autoload
 (define-minor-mode auto-revert-mode
   "Toggle reverting buffer when the file changes (Auto-Revert Mode).
-With a prefix argument ARG, enable Auto-Revert Mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Auto-Revert Mode is a minor mode that affects only the current
 buffer.  When enabled, it reverts the buffer when the file on
@@ -393,9 +390,6 @@ turn-on-auto-revert-mode
 ;;;###autoload
 (define-minor-mode auto-revert-tail-mode
   "Toggle reverting tail of buffer when the file grows.
-With a prefix argument ARG, enable Auto-Revert Tail Mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Auto-Revert Tail Mode is enabled, the tail of the file is
 constantly followed, as with the shell command `tail -f'.  This
@@ -460,9 +454,6 @@ turn-on-auto-revert-tail-mode
 ;;;###autoload
 (define-minor-mode global-auto-revert-mode
   "Toggle Global Auto-Revert Mode.
-With a prefix argument ARG, enable Global Auto-Revert Mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 Global Auto-Revert Mode is a global minor mode that reverts any
 buffer associated with a file when the file changes on disk.  Use
diff --git a/lisp/battery.el b/lisp/battery.el
index ca17ae8fc3..192a6ae898 100644
--- a/lisp/battery.el
+++ b/lisp/battery.el
@@ -175,9 +175,6 @@ battery
 ;;;###autoload
 (define-minor-mode display-battery-mode
   "Toggle battery status display in mode line (Display Battery mode).
-With a prefix argument ARG, enable Display Battery mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 The text displayed in the mode line is controlled by
 `battery-mode-line-format' and `battery-status-function'.
diff --git a/lisp/cedet/ede.el b/lisp/cedet/ede.el
index 5bbc2d0f85..1168f26842 100644
--- a/lisp/cedet/ede.el
+++ b/lisp/cedet/ede.el
@@ -475,9 +475,6 @@ ede-turn-on-hook
 
 (define-minor-mode ede-minor-mode
   "Toggle EDE (Emacs Development Environment) minor mode.
-With a prefix argument ARG, enable EDE minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-EDE minor mode if ARG is omitted or nil.
 
 If this file is contained, or could be contained in an EDE
 controlled project, then this mode is activated automatically
@@ -563,9 +560,6 @@ ede-reset-all-buffers
 ;;;###autoload
 (define-minor-mode global-ede-mode
   "Toggle global EDE (Emacs Development Environment) mode.
-With a prefix argument ARG, enable global EDE mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 This global minor mode enables `ede-minor-mode' in all buffers in
 an EDE controlled project."
diff --git a/lisp/cedet/ede/dired.el b/lisp/cedet/ede/dired.el
index 33afc7e547..9600d3dd34 100644
--- a/lisp/cedet/ede/dired.el
+++ b/lisp/cedet/ede/dired.el
@@ -59,9 +59,7 @@ ede-dired-keymap
 
 ;;;###autoload
 (define-minor-mode ede-dired-minor-mode
-  "A minor mode that should only be activated in DIRED buffers.
-If ARG is nil or a positive number, force on, if
-negative, force off."
+  "A minor mode that should only be activated in DIRED buffers."
   :lighter " EDE" :keymap ede-dired-keymap
   (unless (derived-mode-p 'dired-mode)
     (setq ede-dired-minor-mode nil)
diff --git a/lisp/cedet/semantic.el b/lisp/cedet/semantic.el
index b24e2fbbb1..f0a1e6bb5a 100644
--- a/lisp/cedet/semantic.el
+++ b/lisp/cedet/semantic.el
@@ -1096,9 +1096,6 @@ semantic-default-submodes
 ;;;###autoload
 (define-minor-mode semantic-mode
   "Toggle parser features (Semantic mode).
-With a prefix argument ARG, enable Semantic mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Semantic mode if ARG is omitted or nil.
 
 In Semantic mode, Emacs parses the buffers you visit for their
 semantic content.  This information is used by a variety of
diff --git a/lisp/cedet/semantic/db-mode.el b/lisp/cedet/semantic/db-mode.el
index e6a2340b8c..638f2915f0 100644
--- a/lisp/cedet/semantic/db-mode.el
+++ b/lisp/cedet/semantic/db-mode.el
@@ -56,7 +56,6 @@ 'semanticdb-global-mode
 ;;;###autoload
 (define-minor-mode global-semanticdb-minor-mode
   "Toggle Semantic DB mode.
-With ARG, turn Semantic DB mode on if ARG is positive, off otherwise.
 
 In Semantic DB mode, Semantic parsers store results in a
 database, which can be saved for future Emacs sessions."
diff --git a/lisp/cedet/semantic/decorate/mode.el b/lisp/cedet/semantic/decorate/mode.el
index 100e221ce3..77a8471e27 100644
--- a/lisp/cedet/semantic/decorate/mode.el
+++ b/lisp/cedet/semantic/decorate/mode.el
@@ -249,13 +249,13 @@ semantic-decoration-mode-hook
 
 (define-minor-mode semantic-decoration-mode
   "Minor mode for decorating tags.
-Decorations are specified in `semantic-decoration-styles'.
-You can define new decoration styles with
+Decorations are specified in `semantic-decoration-styles'.  You
+can define new decoration styles with
 `define-semantic-decoration-style'.
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
 ;;
 ;;\\{semantic-decoration-map}"
   nil nil nil
diff --git a/lisp/cedet/semantic/idle.el b/lisp/cedet/semantic/idle.el
index 56398d0627..07b7af8942 100644
--- a/lisp/cedet/semantic/idle.el
+++ b/lisp/cedet/semantic/idle.el
@@ -172,11 +172,9 @@ semantic-idle-scheduler-mode
 is enabled, Emacs periodically checks to see if the buffer is out of
 date, and reparses while the user is idle (not typing.)
 
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
-  nil nil nil
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."  nil nil nil
   (if semantic-idle-scheduler-mode
       (if (not (and (featurep 'semantic) (semantic-active-p)))
           (progn
@@ -776,8 +774,6 @@ semantic-idle-summary-idle-function
 
 (define-minor-mode semantic-idle-summary-mode
   "Toggle Semantic Idle Summary mode.
-With ARG, turn Semantic Idle Summary mode on if ARG is positive,
-off otherwise.
 
 When this minor mode is enabled, the echo area displays a summary
 of the lexical token at point whenever Emacs is idle."
@@ -812,8 +808,6 @@ semantic-idle-summary-refresh-echo-area
 
 (define-minor-mode global-semantic-idle-summary-mode
   "Toggle Global Semantic Idle Summary mode.
-With ARG, turn Global Semantic Idle Summary mode on if ARG is
-positive, off otherwise.
 
 When this minor mode is enabled, `semantic-idle-summary-mode' is
 turned on in every Semantic-supported buffer."
@@ -931,9 +925,10 @@ semantic-idle-local-symbol-highlight
 ;;;###autoload
 (define-minor-mode global-semantic-idle-scheduler-mode
   "Toggle global use of option `semantic-idle-scheduler-mode'.
-The idle scheduler will automatically reparse buffers in idle time,
-and then schedule other jobs setup with `semantic-idle-scheduler-add'.
-If ARG is positive or nil, enable, if it is negative, disable."
+
+The idle scheduler will automatically reparse buffers in idle
+time, and then schedule other jobs setup with
+`semantic-idle-scheduler-add'."
   :global t
   :group 'semantic
   :group 'semantic-modes
diff --git a/lisp/cedet/semantic/mru-bookmark.el b/lisp/cedet/semantic/mru-bookmark.el
index ad63014890..5789881d38 100644
--- a/lisp/cedet/semantic/mru-bookmark.el
+++ b/lisp/cedet/semantic/mru-bookmark.el
@@ -252,8 +252,7 @@ global-semantic-mru-bookmark-mode
 
 ;;;###autoload
 (define-minor-mode global-semantic-mru-bookmark-mode
-  "Toggle global use of option `semantic-mru-bookmark-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-mru-bookmark-mode'."
   :global t :group 'semantic :group 'semantic-modes
   ;; Not needed because it's autoloaded instead.
   ;; :require 'semantic-util-modes
@@ -278,10 +277,9 @@ semantic-mru-bookmark-mode
 
 \\{semantic-mru-bookmark-mode-map}
 
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
   :keymap semantic-mru-bookmark-mode-map
   (if semantic-mru-bookmark-mode
       (if (not (and (featurep 'semantic) (semantic-active-p)))
diff --git a/lisp/cedet/semantic/util-modes.el b/lisp/cedet/semantic/util-modes.el
index 54c9578773..180aca5b60 100644
--- a/lisp/cedet/semantic/util-modes.el
+++ b/lisp/cedet/semantic/util-modes.el
@@ -170,8 +170,7 @@ semantic-toggle-minor-mode-globally
 
 ;;;###autoload
 (define-minor-mode global-semantic-highlight-edits-mode
-  "Toggle global use of option `semantic-highlight-edits-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-highlight-edits-mode'."
   :global t :group 'semantic :group 'semantic-modes
   (semantic-toggle-minor-mode-globally
    'semantic-highlight-edits-mode
@@ -209,10 +208,10 @@ semantic-highlight-edits-mode
 properly.
 This mode will highlight those changes as they are made, and clear them
 when the incremental parser accounts for those edits.
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
   :keymap semantic-highlight-edits-mode-map
   (if semantic-highlight-edits-mode
       (if (not (and (featurep 'semantic) (semantic-active-p)))
@@ -237,8 +236,7 @@ semantic-highlight-edits-mode
 
 ;;;###autoload
 (define-minor-mode global-semantic-show-unmatched-syntax-mode
-  "Toggle global use of option `semantic-show-unmatched-syntax-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-show-unmatched-syntax-mode'."
   :global t :group 'semantic :group 'semantic-modes
   ;; Not needed because it's autoloaded instead.
   ;; :require 'semantic/util-modes
@@ -360,10 +358,9 @@ semantic-show-unmatched-syntax-mode
 Often time, the display of unmatched syntax can expose coding
 problems before the compiler is run.
 
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled.
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled.
 
 \\{semantic-show-unmatched-syntax-mode-map}"
   :keymap semantic-show-unmatched-syntax-mode-map
@@ -410,8 +407,7 @@ semantic-show-unmatched-syntax-next
 
 ;;;###autoload
 (define-minor-mode global-semantic-show-parser-state-mode
-  "Toggle global use of option `semantic-show-parser-state-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-show-parser-state-mode'."
   :global t :group 'semantic
   ;; Not needed because it's autoloaded instead.
   ;; :require 'semantic/util-modes
@@ -440,10 +436,10 @@ semantic-show-parser-state-mode
  `~'  ->  The cache needs to be incrementally parsed.
  `%'  ->  The cache is not currently parsable.
  `@'  ->  Auto-parse in progress (not set here.)
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
   :keymap semantic-show-parser-state-mode-map
   (if semantic-show-parser-state-mode
       (if (not (and (featurep 'semantic) (semantic-active-p)))
@@ -557,8 +553,7 @@ semantic-show-parser-state-auto-marker
 
 ;;;###autoload
 (define-minor-mode global-semantic-stickyfunc-mode
-  "Toggle global use of option `semantic-stickyfunc-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-stickyfunc-mode'."
   :global t :group 'semantic :group 'semantic-modes
   ;; Not needed because it's autoloaded instead.
   ;; :require 'semantic/util-modes
@@ -700,10 +695,9 @@ semantic-stickyfunc-mode
 first line which describes the rest of the construct.  This first
 line is what is displayed in the header line.
 
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
   ;; Don't need indicator.  It's quite visible
   :keymap semantic-stickyfunc-mode-map
   (if semantic-stickyfunc-mode
@@ -837,8 +831,7 @@ semantic-stickyfunc-menu
 
 ;;;###autoload
 (define-minor-mode global-semantic-highlight-func-mode
-  "Toggle global use of option `semantic-highlight-func-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-highlight-func-mode'."
   :global t :group 'semantic :group 'semantic-modes
   ;; Not needed because it's autoloaded instead.
   ;; :require 'semantic/util-modes
@@ -933,10 +926,9 @@ semantic-highlight-func-mode
 header line.  This mode recycles the stickyfunc configuration
 classes list.
 
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
   :lighter nil ;; Don't need indicator.  It's quite visible.
   (if semantic-highlight-func-mode
       (progn
diff --git a/lisp/cedet/srecode/mode.el b/lisp/cedet/srecode/mode.el
index 76e7e08761..28e8b3b64e 100644
--- a/lisp/cedet/srecode/mode.el
+++ b/lisp/cedet/srecode/mode.el
@@ -148,10 +148,10 @@ srecode-mode-map
 ;;;###autoload
 (define-minor-mode srecode-minor-mode
   "Toggle srecode minor mode.
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled.
+
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled.
 
 \\{srecode-mode-map}"
   :keymap srecode-mode-map
@@ -176,8 +176,7 @@ srecode-minor-mode
 
 ;;;###autoload
 (define-minor-mode global-srecode-minor-mode
-  "Toggle global use of srecode minor mode.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of srecode minor mode."
   :global t :group 'srecode
   ;; Not needed because it's autoloaded instead.
   ;; :require 'srecode/mode
diff --git a/lisp/completion.el b/lisp/completion.el
index 2ddf0999e4..66b413f6af 100644
--- a/lisp/completion.el
+++ b/lisp/completion.el
@@ -2275,10 +2275,7 @@ completion-saved-bindings
 
 ;;;###autoload
 (define-minor-mode dynamic-completion-mode
-  "Toggle dynamic word-completion on or off.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Toggle dynamic word-completion on or off."
   :global t
   :group 'completion
   ;; This is always good, not specific to dynamic-completion-mode.
diff --git a/lisp/composite.el b/lisp/composite.el
index 76949fb582..7daea54c9e 100644
--- a/lisp/composite.el
+++ b/lisp/composite.el
@@ -829,9 +829,6 @@ auto-compose-chars
 ;;;###autoload
 (define-minor-mode auto-composition-mode
   "Toggle Auto Composition mode.
-With a prefix argument ARG, enable Auto Composition mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Auto Composition mode is enabled, text characters are
 automatically composed by functions registered in
@@ -847,9 +844,6 @@ auto-composition-mode
 ;;;###autoload
 (define-minor-mode global-auto-composition-mode
   "Toggle Auto Composition mode in all buffers.
-With a prefix argument ARG, enable it if ARG is positive, and
-disable it otherwise.  If called from Lisp, enable it if ARG is
-omitted or nil.
 
 For more information on Auto Composition mode, see
 `auto-composition-mode' ."
diff --git a/lisp/delsel.el b/lisp/delsel.el
index bfccdc6a4c..a3c2934947 100644
--- a/lisp/delsel.el
+++ b/lisp/delsel.el
@@ -70,12 +70,6 @@ 'pending-delete-mode
 ;;;###autoload
 (define-minor-mode delete-selection-mode
   "Toggle Delete Selection mode.
-Interactively, with a prefix argument, enable
-Delete Selection mode if the prefix argument is positive,
-and disable it otherwise.  If called from Lisp, toggle
-the mode if ARG is `toggle', disable the mode if ARG is
-a non-positive integer, and enable the mode otherwise
-\(including if ARG is omitted or nil or a positive integer).
 
 When Delete Selection mode is enabled, typed text replaces the selection
 if the selection is active.  Otherwise, typed text is just inserted at
diff --git a/lisp/desktop.el b/lisp/desktop.el
index 3e1ba200b5..a9fa2873b3 100644
--- a/lisp/desktop.el
+++ b/lisp/desktop.el
@@ -161,9 +161,6 @@ desktop
 ;;;###autoload
 (define-minor-mode desktop-save-mode
   "Toggle desktop saving (Desktop Save mode).
-With a prefix argument ARG, enable Desktop Save mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode if ARG
-is omitted or nil.
 
 When Desktop Save mode is enabled, the state of Emacs is saved from
 one session to another.  In particular, Emacs will save the desktop when
diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index 4517dedeeb..f07a5deb4f 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -139,9 +139,6 @@ dired-omit-case-fold-p
 
 (define-minor-mode dired-omit-mode
   "Toggle omission of uninteresting files in Dired (Dired-Omit mode).
-With a prefix argument ARG, enable Dired-Omit mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Dired-Omit mode is a buffer-local minor mode.  When enabled in a
 Dired buffer, Dired does not list files whose filenames match
diff --git a/lisp/dirtrack.el b/lisp/dirtrack.el
index e5e1497c4d..862268d49b 100644
--- a/lisp/dirtrack.el
+++ b/lisp/dirtrack.el
@@ -184,9 +184,6 @@ 'dirtrackp
 ;;;###autoload
 (define-minor-mode dirtrack-mode
   "Toggle directory tracking in shell buffers (Dirtrack mode).
-With a prefix argument ARG, enable Dirtrack mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 This method requires that your shell prompt contain the current
 working directory at all times, and that you set the variable
@@ -205,10 +202,7 @@ 'dirtrack-debug-toggle
   "23.1")
 (define-obsolete-variable-alias 'dirtrack-debug 'dirtrack-debug-mode "23.1")
 (define-minor-mode dirtrack-debug-mode
-  "Toggle Dirtrack debugging.
-With a prefix argument ARG, enable Dirtrack debugging if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle Dirtrack debugging."
   nil nil nil
   (if dirtrack-debug-mode
       (display-buffer (get-buffer-create dirtrack-debug-buffer))))
diff --git a/lisp/doc-view.el b/lisp/doc-view.el
index 970e12402d..017b6c5fd9 100644
--- a/lisp/doc-view.el
+++ b/lisp/doc-view.el
@@ -1859,9 +1859,6 @@ doc-view-mode-maybe
 ;;;###autoload
 (define-minor-mode doc-view-minor-mode
   "Toggle displaying buffer via Doc View (Doc View minor mode).
-With a prefix argument ARG, enable Doc View minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 See the command `doc-view-mode' for more information on this mode."
   nil " DocView" doc-view-minor-mode-map
diff --git a/lisp/double.el b/lisp/double.el
index 4334a4ca70..b21fe5bc20 100644
--- a/lisp/double.el
+++ b/lisp/double.el
@@ -150,9 +150,6 @@ double-translate-key
 ;;;###autoload
 (define-minor-mode double-mode
   "Toggle special insertion on double keypresses (Double mode).
-With a prefix argument ARG, enable Double mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Double mode is enabled, some keys will insert different
 strings when pressed twice.  See `double-map' for details."
diff --git a/lisp/elec-pair.el b/lisp/elec-pair.el
index 85c25f0469..7df7098295 100644
--- a/lisp/elec-pair.el
+++ b/lisp/elec-pair.el
@@ -581,9 +581,6 @@ electric-pair-mode-map
 ;;;###autoload
 (define-minor-mode electric-pair-mode
   "Toggle automatic parens pairing (Electric Pair mode).
-With a prefix argument ARG, enable Electric Pair mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Electric Pair mode is a global minor mode.  When enabled, typing
 an open parenthesis automatically inserts the corresponding
diff --git a/lisp/electric.el b/lisp/electric.el
index c00e7c00a5..72a3978344 100644
--- a/lisp/electric.el
+++ b/lisp/electric.el
@@ -314,9 +314,6 @@ electric-newline-and-maybe-indent
 ;;;###autoload
 (define-minor-mode electric-indent-mode
   "Toggle on-the-fly reindentation (Electric Indent mode).
-With a prefix argument ARG, enable Electric Indent mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When enabled, this reindents whenever the hook `electric-indent-functions'
 returns non-nil, or if you insert a character from `electric-indent-chars'.
@@ -400,9 +397,7 @@ electric-layout-post-self-insert-function
 ;;;###autoload
 (define-minor-mode electric-layout-mode
   "Automatically insert newlines around some chars.
-With a prefix argument ARG, enable Electric Layout mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
+
 The variable `electric-layout-rules' says when and how to insert newlines."
   :global t :group 'electricity
   (cond (electric-layout-mode
@@ -540,9 +535,6 @@ electric-quote-post-self-insert-function
 ;;;###autoload
 (define-minor-mode electric-quote-mode
   "Toggle on-the-fly requoting (Electric Quote mode).
-With a prefix argument ARG, enable Electric Quote mode if
-ARG is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When enabled, as you type this replaces \\=` with ‘, \\=' with ’,
 \\=`\\=` with “, and \\='\\=' with ”.  This occurs only in comments, strings,
diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el
index 300a3908c1..1b3b23d887 100644
--- a/lisp/emacs-lisp/checkdoc.el
+++ b/lisp/emacs-lisp/checkdoc.el
@@ -1237,9 +1237,6 @@ checkdoc-minor-mode-map
 ;;;###autoload
 (define-minor-mode checkdoc-minor-mode
   "Toggle automatic docstring checking (Checkdoc minor mode).
-With a prefix argument ARG, enable Checkdoc minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 In Checkdoc minor mode, the usual bindings for `eval-defun' which is
 bound to \\<checkdoc-minor-mode-map>\\[checkdoc-eval-defun] and `checkdoc-eval-current-buffer' are overridden to include
diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el
index a81b6fefb2..08def926ed 100644
--- a/lisp/emacs-lisp/easy-mmode.el
+++ b/lisp/emacs-lisp/easy-mmode.el
@@ -81,6 +81,26 @@ easy-mmode-pretty-mode-name
       ;; space.)
       (replace-regexp-in-string (regexp-quote lighter) lighter name t t))))
 
+(defconst easy-mmode-arg-docstring
+  "
+
+If called interactively, enable %s if ARG is positive, and
+disable it otherwise.  If called from Lisp, enable the mode if
+ARG is omitted or nil, and toggle it if ARG is `toggle'. Disable
+the mode otherwise")
+
+(defun easy-mmode-mode-docstring (doc mode-pretty-name keymap-sym)
+  (let ((doc (or doc (format "Toggle %s on or off.
+
+\\{%s}" mode-pretty-name keymap-sym))))
+    (if (string-match-p "\\bARG\\b" doc)
+        doc
+      (let ((argdoc (format easy-mmode-arg-docstring
+                            mode-pretty-name)))
+        (replace-regexp-in-string "\\(\n\n\\|\\'\\)\\(.\\|\n\\)*\\'"
+                                  (concat argdoc "\\1")
+                                  doc nil nil 1)))))
+
 ;;;###autoload
 (defalias 'easy-mmode-define-minor-mode 'define-minor-mode)
 ;;;###autoload
@@ -101,7 +121,9 @@ define-minor-mode
 if the argument is omitted or nil or a positive integer).
 
 If DOC is nil, give the mode command a basic doc-string
-documenting what its argument does.
+documenting what its argument does. If the word \"ARG\" does not
+appear in DOC, a paragraph will be to appended to DOC explaining
+usages of the mode argument.
 
 Optional INIT-VALUE is the initial value of the mode's variable.
 Optional LIGHTER is displayed in the mode line when the mode is on.
@@ -270,12 +292,7 @@ define-minor-mode
 
        ;; The actual function.
        (defun ,modefun (&optional arg ,@extra-args)
-	 ,(or doc
-	      (format (concat "Toggle %s on or off.
-With a prefix argument ARG, enable %s if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'.
-\\{%s}") pretty-name pretty-name keymap-sym))
+         ,(easy-mmode-mode-docstring doc pretty-name keymap-sym)
 	 ;; Use `toggle' rather than (if ,mode 0 1) so that using
 	 ;; repeat-command still does the toggling correctly.
 	 (interactive (list (or current-prefix-arg 'toggle)))
diff --git a/lisp/emacs-lisp/eldoc.el b/lisp/emacs-lisp/eldoc.el
index a662265f4b..49ba71fb1b 100644
--- a/lisp/emacs-lisp/eldoc.el
+++ b/lisp/emacs-lisp/eldoc.el
@@ -177,9 +177,6 @@ eldoc-edit-message-commands
 ;;;###autoload
 (define-minor-mode eldoc-mode
   "Toggle echo area display of Lisp objects at point (ElDoc mode).
-With a prefix argument ARG, enable ElDoc mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable ElDoc mode
-if ARG is omitted or nil.
 
 ElDoc mode is a buffer-local minor mode.  When enabled, the echo
 area displays information about a function or variable in the
diff --git a/lisp/emacs-lock.el b/lisp/emacs-lock.el
index b6e28fb253..0733c3326c 100644
--- a/lisp/emacs-lock.el
+++ b/lisp/emacs-lock.el
@@ -189,9 +189,7 @@ emacs-lock--set-mode
 (define-minor-mode emacs-lock-mode
   "Toggle Emacs Lock mode in the current buffer.
 If called with a plain prefix argument, ask for the locking mode
-to be used.  With any other prefix ARG, turn mode on if ARG is
-positive, off otherwise.  If called from Lisp, enable the mode if
-ARG is omitted or nil.
+to be used.
 
 Initially, if the user does not pass an explicit locking mode, it
 defaults to `emacs-lock-default-locking-mode' (which see);
diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el
index ff23484dd0..f1143425eb 100644
--- a/lisp/emulation/cua-base.el
+++ b/lisp/emulation/cua-base.el
@@ -1318,9 +1318,6 @@ delete-selection-save-to-register
 ;;;###autoload
 (define-minor-mode cua-mode
   "Toggle Common User Access style editing (CUA mode).
-With a prefix argument ARG, enable CUA mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 CUA mode is a global minor mode.  When enabled, typed text
 replaces the active selection, and you can use C-z, C-x, C-c, and
diff --git a/lisp/epa-hook.el b/lisp/epa-hook.el
index 135c956c3f..19f131cc33 100644
--- a/lisp/epa-hook.el
+++ b/lisp/epa-hook.el
@@ -83,10 +83,7 @@ epa-file-find-file-hook
       (auto-save-mode 0)))
 
 (define-minor-mode auto-encryption-mode
-  "Toggle automatic file encryption/decryption (Auto Encryption mode).
-With a prefix argument ARG, enable Auto Encryption mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle automatic file encryption/decryption (Auto Encryption mode)."
   :global t :init-value t :group 'epa-file :version "23.1"
   ;; We'd like to use custom-initialize-set here so the setup is done
   ;; before dumping, but at the point where the defcustom is evaluated,
diff --git a/lisp/epa-mail.el b/lisp/epa-mail.el
index 7f4c28e967..008593712b 100644
--- a/lisp/epa-mail.el
+++ b/lisp/epa-mail.el
@@ -47,10 +47,7 @@ epa-mail-mode-off-hook
 
 ;;;###autoload
 (define-minor-mode epa-mail-mode
-  "A minor-mode for composing encrypted/clearsigned mails.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "A minor-mode for composing encrypted/clearsigned mails."
   nil " epa-mail" epa-mail-mode-map)
 
 (defun epa-mail--find-usable-key (keys usage)
@@ -238,10 +235,7 @@ epa-mail-import-keys
 
 ;;;###autoload
 (define-minor-mode epa-global-mail-mode
-  "Minor mode to hook EasyPG into Mail mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode to hook EasyPG into Mail mode."
   :global t :init-value nil :group 'epa-mail :version "23.1"
   (remove-hook 'mail-mode-hook 'epa-mail-mode)
   (if epa-global-mail-mode
diff --git a/lisp/erc/erc-track.el b/lisp/erc/erc-track.el
index 7817a0799e..cae18f6093 100644
--- a/lisp/erc/erc-track.el
+++ b/lisp/erc/erc-track.el
@@ -495,9 +495,6 @@ erc-track-minor-mode-map
 ;;;###autoload
 (define-minor-mode erc-track-minor-mode
   "Toggle mode line display of ERC activity (ERC Track minor mode).
-With a prefix argument ARG, enable ERC Track minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 ERC Track minor mode is a global minor mode.  It exists for the
 sole purpose of providing the C-c C-SPC and C-c C-@ keybindings.
diff --git a/lisp/face-remap.el b/lisp/face-remap.el
index 476736773b..c6a976deb0 100644
--- a/lisp/face-remap.el
+++ b/lisp/face-remap.el
@@ -229,9 +229,6 @@ text-scale-mode-amount
 
 (define-minor-mode text-scale-mode
   "Minor mode for displaying buffer text in a larger/smaller font.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 The amount of scaling is determined by the variable
 `text-scale-mode-amount': one step scales the global default
@@ -387,10 +384,9 @@ buffer-face-mode-remapping
 ;;;###autoload
 (define-minor-mode buffer-face-mode
   "Minor mode for a buffer-specific default face.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.  When enabled, the face specified by the
-variable `buffer-face-mode-face' is used to display the buffer text."
+
+When enabled, the face specified by the variable
+`buffer-face-mode-face' is used to display the buffer text."
   :lighter " BufFace"
   (when buffer-face-mode-remapping
     (face-remap-remove-relative buffer-face-mode-remapping))
diff --git a/lisp/files.el b/lisp/files.el
index 398e6dc12b..31e2f39a8d 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -419,14 +419,10 @@ auto-save-visited-interval
 
 (define-minor-mode auto-save-visited-mode
   "Toggle automatic saving to file-visiting buffers on or off.
-With a prefix argument ARG, enable regular saving of all buffers
-visiting a file if ARG is positive, and disable it otherwise.
+
 Unlike `auto-save-mode', this mode will auto-save buffer contents
 to the visited files directly and will also run all save-related
-hooks.  See Info node `Saving' for details of the save process.
-
-If called from Lisp, enable the mode if ARG is omitted or nil,
-and toggle it if ARG is `toggle'."
+hooks.  See Info node `Saving' for details of the save process."
   :group 'auto-save
   :global t
   (when auto-save--timer (cancel-timer auto-save--timer))
diff --git a/lisp/follow.el b/lisp/follow.el
index fd397c077b..7aa7b51473 100644
--- a/lisp/follow.el
+++ b/lisp/follow.el
@@ -383,9 +383,6 @@ turn-off-follow-mode
 ;;;###autoload
 (define-minor-mode follow-mode
   "Toggle Follow mode.
-With a prefix argument ARG, enable Follow mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Follow mode is a minor mode that combines windows into one tall
 virtual window.  This is accomplished by two main techniques:
diff --git a/lisp/font-core.el b/lisp/font-core.el
index ace1476eda..c5b036e04f 100644
--- a/lisp/font-core.el
+++ b/lisp/font-core.el
@@ -78,9 +78,6 @@ font-lock-major-mode
 
 (define-minor-mode font-lock-mode
   "Toggle syntax highlighting in this buffer (Font Lock mode).
-With a prefix argument ARG, enable Font Lock mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Font Lock mode is enabled, text is fontified as you type it:
 
diff --git a/lisp/frame.el b/lisp/frame.el
index 70b4b242a0..56b8c5487c 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -1382,9 +1382,6 @@ set-border-color
 
 (define-minor-mode auto-raise-mode
   "Toggle whether or not selected frames should auto-raise.
-With a prefix argument ARG, enable Auto Raise mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Auto Raise mode does nothing under most window managers, which
 switch focus on mouse clicks.  It only has an effect if your
@@ -1402,9 +1399,6 @@ auto-raise-mode
 
 (define-minor-mode auto-lower-mode
   "Toggle whether or not the selected frame should auto-lower.
-With a prefix argument ARG, enable Auto Lower mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Auto Lower mode does nothing under most window managers, which
 switch focus on mouse clicks.  It only has an effect if your
@@ -2297,9 +2291,6 @@ window-divider-mode-apply
 
 (define-minor-mode window-divider-mode
   "Display dividers between windows (Window Divider mode).
-With a prefix argument ARG, enable Window Divider mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 The option `window-divider-default-places' specifies on which
 side of a window dividers are displayed.  The options
@@ -2450,9 +2441,6 @@ blink-cursor--rescan-frames
 
 (define-minor-mode blink-cursor-mode
   "Toggle cursor blinking (Blink Cursor mode).
-With a prefix argument ARG, enable Blink Cursor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 If the value of `blink-cursor-blinks' is positive (10 by default),
 the cursor stops blinking after that number of blinks, if Emacs
diff --git a/lisp/help.el b/lisp/help.el
index 985d9c567a..28288e57f6 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -1107,9 +1107,6 @@ temp-buffer-max-width
 
 (define-minor-mode temp-buffer-resize-mode
   "Toggle auto-resizing temporary buffer windows (Temp Buffer Resize Mode).
-With a prefix argument ARG, enable Temp Buffer Resize mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Temp Buffer Resize mode is enabled, the windows in which we
 show a temporary buffer are automatically resized in height to
diff --git a/lisp/hexl.el b/lisp/hexl.el
index f37be9d410..f3b5d7d4cc 100644
--- a/lisp/hexl.el
+++ b/lisp/hexl.el
@@ -997,6 +997,7 @@ hexl-insert-octal-char
 
 (define-minor-mode hexl-follow-ascii-mode
   "Minor mode to follow ASCII in current Hexl buffer.
+
 When following is enabled, the ASCII character corresponding to the
 element under the point is highlighted.
 The default activation is controlled by `hexl-follow-ascii'."
diff --git a/lisp/hi-lock.el b/lisp/hi-lock.el
index f3a329f467..13ebffb1af 100644
--- a/lisp/hi-lock.el
+++ b/lisp/hi-lock.el
@@ -289,9 +289,6 @@ hi-lock-map
 ;;;###autoload
 (define-minor-mode hi-lock-mode
   "Toggle selective highlighting of patterns (Hi Lock mode).
-With a prefix argument ARG, enable Hi Lock mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Hi Lock mode is automatically enabled when you invoke any of the
 highlighting commands listed below, such as \\[highlight-regexp].
diff --git a/lisp/hilit-chg.el b/lisp/hilit-chg.el
index 9d4d2d8b38..70bf6b44b9 100644
--- a/lisp/hilit-chg.el
+++ b/lisp/hilit-chg.el
@@ -319,9 +319,6 @@ hilit-chg-string
 ;;;###autoload
 (define-minor-mode highlight-changes-mode
   "Toggle highlighting changes in this buffer (Highlight Changes mode).
-With a prefix argument ARG, enable Highlight Changes mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Highlight Changes is enabled, changes are marked with a text
 property.  Normally they are displayed in a distinctive face, but
@@ -360,9 +357,6 @@ highlight-changes-mode
 ;;;###autoload
 (define-minor-mode highlight-changes-visible-mode
   "Toggle visibility of highlighting due to Highlight Changes mode.
-With a prefix argument ARG, enable Highlight Changes Visible mode
-if ARG is positive, and disable it otherwise.  If called from
-Lisp, enable the mode if ARG is omitted or nil.
 
 Highlight Changes Visible mode only has an effect when Highlight
 Changes mode is on.  When enabled, the changed text is displayed
diff --git a/lisp/hl-line.el b/lisp/hl-line.el
index fc75b478c8..f0ee22a1da 100644
--- a/lisp/hl-line.el
+++ b/lisp/hl-line.el
@@ -132,9 +132,6 @@ hl-line-overlay-buffer
 ;;;###autoload
 (define-minor-mode hl-line-mode
   "Toggle highlighting of the current line (Hl-Line mode).
-With a prefix argument ARG, enable Hl-Line mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Hl-Line mode is a buffer-local minor mode.  If
 `hl-line-sticky-flag' is non-nil, Hl-Line mode highlights the
@@ -203,9 +200,6 @@ hl-line-maybe-unhighlight
 ;;;###autoload
 (define-minor-mode global-hl-line-mode
   "Toggle line highlighting in all buffers (Global Hl-Line mode).
-With a prefix argument ARG, enable Global Hl-Line mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 If `global-hl-line-sticky-flag' is non-nil, Global Hl-Line mode
 highlights the line about the current buffer's point in all live
diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el
index a1adb1df35..d9949d2835 100644
--- a/lisp/ibuf-ext.el
+++ b/lisp/ibuf-ext.el
@@ -403,10 +403,7 @@ ibuffer-ext-visible-p
 
 ;;;###autoload
 (define-minor-mode ibuffer-auto-mode
-  "Toggle use of Ibuffer's auto-update facility (Ibuffer Auto mode).
-With a prefix argument ARG, enable Ibuffer Auto mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle use of Ibuffer's auto-update facility (Ibuffer Auto mode)."
   nil nil nil
   (unless (derived-mode-p 'ibuffer-mode)
     (error "This buffer is not in Ibuffer mode"))
diff --git a/lisp/icomplete.el b/lisp/icomplete.el
index b37db8869b..ad5a9d017d 100644
--- a/lisp/icomplete.el
+++ b/lisp/icomplete.el
@@ -194,9 +194,6 @@ icomplete-backward-completions
 ;;;###autoload
 (define-minor-mode icomplete-mode
   "Toggle incremental minibuffer completion (Icomplete mode).
-With a prefix argument ARG, enable Icomplete mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When this global minor mode is enabled, typing in the minibuffer
 continuously displays a list of possible completions that match
diff --git a/lisp/ido.el b/lisp/ido.el
index 705e7dd630..18cc03f0df 100644
--- a/lisp/ido.el
+++ b/lisp/ido.el
@@ -1579,10 +1579,7 @@ ido-common-initialization
   (add-hook 'choose-completion-string-functions 'ido-choose-completion-string))
 
 (define-minor-mode ido-everywhere
-  "Toggle use of Ido for all buffer/file reading.
-With a prefix argument ARG, enable this feature if ARG is
-positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil."
+  "Toggle use of Ido for all buffer/file reading."
   :global t
   :group 'ido
   (remove-function read-file-name-function #'ido-read-file-name)
diff --git a/lisp/image-file.el b/lisp/image-file.el
index 8a04afc25f..19dc7878a5 100644
--- a/lisp/image-file.el
+++ b/lisp/image-file.el
@@ -179,9 +179,6 @@ image-file-call-underlying
 ;;;###autoload
 (define-minor-mode auto-image-file-mode
   "Toggle visiting of image files as images (Auto Image File mode).
-With a prefix argument ARG, enable Auto Image File mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 An image file is one whose name has an extension in
 `image-file-name-extensions', or matches a regexp in
diff --git a/lisp/image-mode.el b/lisp/image-mode.el
index 0925c6ef9c..19fa28d440 100644
--- a/lisp/image-mode.el
+++ b/lisp/image-mode.el
@@ -617,9 +617,6 @@ image-mode
 ;;;###autoload
 (define-minor-mode image-minor-mode
   "Toggle Image minor mode in this buffer.
-With a prefix argument ARG, enable Image minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Image minor mode provides the key \\<image-mode-map>\\[image-toggle-display],
 to switch back to `image-mode' and display an image file as the
diff --git a/lisp/international/iso-ascii.el b/lisp/international/iso-ascii.el
index 0103d934b2..bcb285eda0 100644
--- a/lisp/international/iso-ascii.el
+++ b/lisp/international/iso-ascii.el
@@ -163,10 +163,7 @@ iso-ascii-display
 (iso-ascii-display 255 "\"y") ; small y with diaeresis or umlaut mark
 
 (define-minor-mode iso-ascii-mode
-  "Toggle ISO-ASCII mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Toggle ISO-ASCII mode."
   :variable ((eq standard-display-table iso-ascii-display-table)
              . (lambda (v)
                  (setq standard-display-table
diff --git a/lisp/jit-lock.el b/lisp/jit-lock.el
index df7272c12e..2b13c60bc6 100644
--- a/lisp/jit-lock.el
+++ b/lisp/jit-lock.el
@@ -266,6 +266,7 @@ jit-lock-mode
 
 (define-minor-mode jit-lock-debug-mode
   "Minor mode to help debug code run from jit-lock.
+
 When this minor mode is enabled, jit-lock runs as little code as possible
 during redisplay and moves the rest to a timer, where things
 like `debug-on-error' and Edebug can be used."
diff --git a/lisp/jka-cmpr-hook.el b/lisp/jka-cmpr-hook.el
index cca8ef703f..d800b60513 100644
--- a/lisp/jka-cmpr-hook.el
+++ b/lisp/jka-cmpr-hook.el
@@ -347,9 +347,6 @@ jka-compr-load-suffixes
 
 (define-minor-mode auto-compression-mode
   "Toggle Auto Compression mode.
-With a prefix argument ARG, enable Auto Compression mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 Auto Compression mode is a global minor mode.  When enabled,
 compressed files are automatically uncompressed for reading, and
diff --git a/lisp/language/thai-util.el b/lisp/language/thai-util.el
index b550b65a56..d6c9732a9e 100644
--- a/lisp/language/thai-util.el
+++ b/lisp/language/thai-util.el
@@ -256,11 +256,10 @@ thai-word-mode-map
 
 (define-minor-mode thai-word-mode
   "Minor mode to make word-oriented commands aware of Thai words.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.  The commands affected are
-\\[forward-word], \\[backward-word], \\[kill-word], \\[backward-kill-word],
-\\[transpose-words], and \\[fill-paragraph]."
+
+The commands affected are \\[forward-word], \\[backward-word],
+\\[kill-word], \\[backward-kill-word], \\[transpose-words], and
+\\[fill-paragraph]."
   :global t :group 'mule
   (cond (thai-word-mode
 	 ;; This enables linebreak between Thai characters.
diff --git a/lisp/linum.el b/lisp/linum.el
index 9df0c5d023..6e673e58b0 100644
--- a/lisp/linum.el
+++ b/lisp/linum.el
@@ -75,12 +75,10 @@ linum-delay
 ;;;###autoload
 (define-minor-mode linum-mode
   "Toggle display of line numbers in the left margin (Linum mode).
-With a prefix argument ARG, enable Linum mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 Linum mode is a buffer-local minor mode."
   :lighter ""                           ; for desktop.el
+  :append-arg-docstring t
   (if linum-mode
       (progn
         (if linum-eager
diff --git a/lisp/mail/footnote.el b/lisp/mail/footnote.el
index d35b87046f..f5d280ae1e 100644
--- a/lisp/mail/footnote.el
+++ b/lisp/mail/footnote.el
@@ -945,9 +945,6 @@ footnote-minor-mode-map
 ;;;###autoload
 (define-minor-mode footnote-mode
   "Toggle Footnote mode.
-With a prefix argument ARG, enable Footnote mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Footnote mode is a buffer-local minor mode.  If enabled, it
 provides footnote support for `message-mode'.  To get started,
diff --git a/lisp/mail/mailabbrev.el b/lisp/mail/mailabbrev.el
index ba1688f411..0ce1a3b12b 100644
--- a/lisp/mail/mailabbrev.el
+++ b/lisp/mail/mailabbrev.el
@@ -134,9 +134,6 @@ mail-abbrev
 ;;;###autoload
 (define-minor-mode mail-abbrevs-mode
   "Toggle abbrev expansion of mail aliases (Mail Abbrevs mode).
-With a prefix argument ARG, enable Mail Abbrevs mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Mail Abbrevs mode is a global minor mode.  When enabled,
 abbrev-like expansion is performed when editing certain mail
diff --git a/lisp/master.el b/lisp/master.el
index 4891c07166..7176897902 100644
--- a/lisp/master.el
+++ b/lisp/master.el
@@ -73,9 +73,6 @@ master-set-slave-hook
 ;;;###autoload
 (define-minor-mode master-mode
   "Toggle Master mode.
-With a prefix argument ARG, enable Master mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Master mode is enabled, you can scroll the slave buffer
 using the following commands:
diff --git a/lisp/mb-depth.el b/lisp/mb-depth.el
index e75e497999..84c73cadfa 100644
--- a/lisp/mb-depth.el
+++ b/lisp/mb-depth.el
@@ -58,9 +58,6 @@ minibuffer-depth-setup
 ;;;###autoload
 (define-minor-mode minibuffer-depth-indicate-mode
   "Toggle Minibuffer Depth Indication mode.
-With a prefix argument ARG, enable Minibuffer Depth Indication
-mode if ARG is positive, and disable it otherwise.  If called
-from Lisp, enable the mode if ARG is omitted or nil.
 
 Minibuffer Depth Indication mode is a global minor mode.  When
 enabled, any recursive use of the minibuffer will show the
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 25e016247b..ad59533e26 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -2285,9 +2285,6 @@ menu-bar-update-buffers
 \f
 (define-minor-mode menu-bar-mode
   "Toggle display of a menu bar on each frame (Menu Bar mode).
-With a prefix argument ARG, enable Menu Bar mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, also
-enable Menu Bar mode if ARG is omitted or nil.
 
 This command applies to all frames that exist and frames to be
 created in the future."
diff --git a/lisp/minibuf-eldef.el b/lisp/minibuf-eldef.el
index 07663ea6a6..a81e663589 100644
--- a/lisp/minibuf-eldef.el
+++ b/lisp/minibuf-eldef.el
@@ -163,9 +163,6 @@ minibuf-eldef-update-minibuffer
 ;;;###autoload
 (define-minor-mode minibuffer-electric-default-mode
   "Toggle Minibuffer Electric Default mode.
-With a prefix argument ARG, enable Minibuffer Electric Default
-mode if ARG is positive, and disable it otherwise.  If called
-from Lisp, enable the mode if ARG is omitted or nil.
 
 Minibuffer Electric Default mode is a global minor mode.  When
 enabled, minibuffer prompts that show a default value only show
diff --git a/lisp/msb.el b/lisp/msb.el
index 383f075bf9..91d83d2e4a 100644
--- a/lisp/msb.el
+++ b/lisp/msb.el
@@ -1132,9 +1132,6 @@ msb-mode-map
 ;;;###autoload
 (define-minor-mode msb-mode
   "Toggle Msb mode.
-With a prefix argument ARG, enable Msb mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 This mode overrides the binding(s) of `mouse-buffer-menu' to provide a
 different buffer menu using the function `msb'."
diff --git a/lisp/mwheel.el b/lisp/mwheel.el
index f055df9ee8..876659f1f7 100644
--- a/lisp/mwheel.el
+++ b/lisp/mwheel.el
@@ -309,10 +309,7 @@ mwheel-scroll
 (defvar mwheel-installed-bindings nil)
 
 (define-minor-mode mouse-wheel-mode
-  "Toggle mouse wheel support (Mouse Wheel mode).
-With a prefix argument ARG, enable Mouse Wheel mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle mouse wheel support (Mouse Wheel mode)."
   :init-value t
   ;; We'd like to use custom-initialize-set here so the setup is done
   ;; before dumping, but at the point where the defcustom is evaluated,
diff --git a/lisp/net/goto-addr.el b/lisp/net/goto-addr.el
index cc1cdd1518..db59df374b 100644
--- a/lisp/net/goto-addr.el
+++ b/lisp/net/goto-addr.el
@@ -270,10 +270,7 @@ goto-address
 
 ;;;###autoload
 (define-minor-mode goto-address-mode
-  "Minor mode to buttonize URLs and e-mail addresses in the current buffer.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode to buttonize URLs and e-mail addresses in the current buffer."
   nil
   ""
   nil
diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el
index abd969216f..5b63e0c34d 100644
--- a/lisp/net/rcirc.el
+++ b/lisp/net/rcirc.el
@@ -186,9 +186,6 @@ rcirc-prompt-start-marker
 
 (define-minor-mode rcirc-omit-mode
   "Toggle the hiding of \"uninteresting\" lines.
-With a prefix argument ARG, enable Rcirc-Omit mode if ARG is
-positive, and disable it otherwise. If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Uninteresting lines are those whose responses are listed in
 `rcirc-omit-responses'."
@@ -1353,10 +1350,7 @@ rcirc-multiline-minor-mode-map
   "Keymap for multiline mode in rcirc.")
 
 (define-minor-mode rcirc-multiline-minor-mode
-  "Minor mode for editing multiple lines in rcirc.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode for editing multiple lines in rcirc."
   :init-value nil
   :lighter " rcirc-mline"
   :keymap rcirc-multiline-minor-mode-map
@@ -1867,10 +1861,7 @@ rcirc-track-minor-mode-map
 
 ;;;###autoload
 (define-minor-mode rcirc-track-minor-mode
-  "Global minor mode for tracking activity in rcirc buffers.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Global minor mode for tracking activity in rcirc buffers."
   :init-value nil
   :lighter ""
   :keymap rcirc-track-minor-mode-map
diff --git a/lisp/obsolete/complete.el b/lisp/obsolete/complete.el
index ee6af77029..f5e4328d33 100644
--- a/lisp/obsolete/complete.el
+++ b/lisp/obsolete/complete.el
@@ -191,7 +191,6 @@ PC-goto-end
 ;;;###autoload
 (define-minor-mode partial-completion-mode
   "Toggle Partial Completion mode.
-With prefix ARG, turn Partial Completion mode on if ARG is positive.
 
 When Partial Completion mode is enabled, TAB (or M-TAB if `PC-meta-flag' is
 nil) is enhanced so that if some string is divided into words and each word is
diff --git a/lisp/obsolete/crisp.el b/lisp/obsolete/crisp.el
index 1d09d9e223..4bd555a72e 100644
--- a/lisp/obsolete/crisp.el
+++ b/lisp/obsolete/crisp.el
@@ -353,10 +353,7 @@ crisp-meta-x-wrapper
 
 ;;;###autoload
 (define-minor-mode crisp-mode
-  "Toggle CRiSP/Brief emulation (CRiSP mode).
-With a prefix argument ARG, enable CRiSP mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Toggle CRiSP/Brief emulation (CRiSP mode)."
   :keymap crisp-mode-map
   :lighter crisp-mode-mode-line-string
   (when crisp-mode
diff --git a/lisp/obsolete/iswitchb.el b/lisp/obsolete/iswitchb.el
index d03621df3c..6192368f8b 100644
--- a/lisp/obsolete/iswitchb.el
+++ b/lisp/obsolete/iswitchb.el
@@ -1417,9 +1417,6 @@ iswitchb-case
 ;;;###autoload
 (define-minor-mode iswitchb-mode
   "Toggle Iswitchb mode.
-With a prefix argument ARG, enable Iswitchb mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Iswitchb mode is a global minor mode that enables switching
 between buffers using substrings.  See `iswitchb' for details."
diff --git a/lisp/obsolete/longlines.el b/lisp/obsolete/longlines.el
index e3121dbd87..d07f7bf34b 100644
--- a/lisp/obsolete/longlines.el
+++ b/lisp/obsolete/longlines.el
@@ -97,9 +97,6 @@ message-indent-citation-function
 ;;;###autoload
 (define-minor-mode longlines-mode
   "Toggle Long Lines mode in this buffer.
-With a prefix argument ARG, enable Long Lines mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Long Lines mode is enabled, long lines are wrapped if they
 extend beyond `fill-column'.  The soft newlines used for line
diff --git a/lisp/obsolete/mouse-sel.el b/lisp/obsolete/mouse-sel.el
index 52e84f2117..f54bcf01c9 100644
--- a/lisp/obsolete/mouse-sel.el
+++ b/lisp/obsolete/mouse-sel.el
@@ -194,9 +194,6 @@ 'mouse-sel--ignore
 ;;;###autoload
 (define-minor-mode mouse-sel-mode
   "Toggle Mouse Sel mode.
-With a prefix argument ARG, enable Mouse Sel mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Mouse Sel mode is a global minor mode.  When enabled, mouse
 selection is enhanced in various ways:
diff --git a/lisp/obsolete/old-whitespace.el b/lisp/obsolete/old-whitespace.el
index 86dd5dc842..0c9fc32118 100644
--- a/lisp/obsolete/old-whitespace.el
+++ b/lisp/obsolete/old-whitespace.el
@@ -747,7 +747,6 @@ 'global-whitespace-mode
 ;;;###autoload
 (define-minor-mode whitespace-global-mode
   "Toggle using Whitespace mode in new buffers.
-With ARG, turn the mode on if ARG is positive, otherwise turn it off.
 
 When this mode is active, `whitespace-buffer' is added to
 `find-file-hook' and `kill-buffer-hook'."
diff --git a/lisp/obsolete/tpu-edt.el b/lisp/obsolete/tpu-edt.el
index 83b713d927..c047381ef7 100644
--- a/lisp/obsolete/tpu-edt.el
+++ b/lisp/obsolete/tpu-edt.el
@@ -980,10 +980,7 @@ tpu-quit
 ;;;
 ;;;###autoload
 (define-minor-mode tpu-edt-mode
-  "Toggle TPU/edt emulation on or off.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Toggle TPU/edt emulation on or off."
   :global t :group 'tpu
   (if tpu-edt-mode (tpu-edt-on) (tpu-edt-off)))
 
diff --git a/lisp/obsolete/tpu-extras.el b/lisp/obsolete/tpu-extras.el
index 8739e1b215..21006ff005 100644
--- a/lisp/obsolete/tpu-extras.el
+++ b/lisp/obsolete/tpu-extras.el
@@ -133,10 +133,7 @@ tpu-backward-char-like-tpu
 
 ;;;###autoload
 (define-minor-mode tpu-cursor-free-mode
-  "Minor mode to allow the cursor to move freely about the screen.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode to allow the cursor to move freely about the screen."
   :init-value nil
   (if (not tpu-cursor-free-mode)
       (tpu-trim-line-ends))
diff --git a/lisp/obsolete/xesam.el b/lisp/obsolete/xesam.el
index 1f3661d924..3e91b2c8df 100644
--- a/lisp/obsolete/xesam.el
+++ b/lisp/obsolete/xesam.el
@@ -512,9 +512,6 @@ xesam-mode
 
 (define-minor-mode xesam-minor-mode
   "Toggle Xesam minor mode.
-With a prefix argument ARG, enable Xesam minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Xesam minor mode is enabled, all text which matches a
 previous Xesam query in this buffer is highlighted."
diff --git a/lisp/outline.el b/lisp/outline.el
index 669935bbc1..59169e4189 100644
--- a/lisp/outline.el
+++ b/lisp/outline.el
@@ -299,9 +299,6 @@ outline-minor-mode-prefix
 ;;;###autoload
 (define-minor-mode outline-minor-mode
   "Toggle Outline minor mode.
-With a prefix argument ARG, enable Outline minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 See the command `outline-mode' for more information on this mode."
   nil " Outl" (list (cons [menu-bar] outline-minor-mode-menu-bar-map)
diff --git a/lisp/paren.el b/lisp/paren.el
index 467e5e985d..1cab6eb2be 100644
--- a/lisp/paren.el
+++ b/lisp/paren.el
@@ -100,9 +100,6 @@ show-paren--overlay-1
 ;;;###autoload
 (define-minor-mode show-paren-mode
   "Toggle visualization of matching parens (Show Paren mode).
-With a prefix argument ARG, enable Show Paren mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Show Paren mode is a global minor mode.  When enabled, any
 matching parenthesis is highlighted in `show-paren-style' after
diff --git a/lisp/pixel-scroll.el b/lisp/pixel-scroll.el
index d362419e0f..227580f4d4 100644
--- a/lisp/pixel-scroll.el
+++ b/lisp/pixel-scroll.el
@@ -105,10 +105,7 @@ pixel-scroll-in-rush-p
 
 ;;;###autoload
 (define-minor-mode pixel-scroll-mode
-  "A minor mode to scroll text pixel-by-pixel.
-With a prefix argument ARG, enable Pixel Scroll mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable Pixel Scroll mode
-if ARG is omitted or nil."
+  "A minor mode to scroll text pixel-by-pixel."
   :init-value nil
   :group 'scrolling
   :global t
diff --git a/lisp/progmodes/bug-reference.el b/lisp/progmodes/bug-reference.el
index d2b3af1972..75bd0ba51e 100644
--- a/lisp/progmodes/bug-reference.el
+++ b/lisp/progmodes/bug-reference.el
@@ -141,10 +141,7 @@ bug-reference-push-button
 
 ;;;###autoload
 (define-minor-mode bug-reference-mode
-  "Toggle hyperlinking bug references in the buffer (Bug Reference mode).
-With a prefix argument ARG, enable Bug Reference mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle hyperlinking bug references in the buffer (Bug Reference mode)."
   nil
   ""
   nil
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 15503ee0b2..7e7c18fb30 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -2164,9 +2164,6 @@ compilation--unsetup
 ;;;###autoload
 (define-minor-mode compilation-shell-minor-mode
   "Toggle Compilation Shell minor mode.
-With a prefix argument ARG, enable Compilation Shell minor mode
-if ARG is positive, and disable it otherwise.  If called from
-Lisp, enable the mode if ARG is omitted or nil.
 
 When Compilation Shell minor mode is enabled, all the
 error-parsing commands of the Compilation major mode are
@@ -2181,9 +2178,6 @@ compilation-shell-minor-mode
 ;;;###autoload
 (define-minor-mode compilation-minor-mode
   "Toggle Compilation minor mode.
-With a prefix argument ARG, enable Compilation minor mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Compilation minor mode is enabled, all the error-parsing
 commands of Compilation major mode are available.  See
diff --git a/lisp/progmodes/cwarn.el b/lisp/progmodes/cwarn.el
index a578896dbf..ff79b90956 100644
--- a/lisp/progmodes/cwarn.el
+++ b/lisp/progmodes/cwarn.el
@@ -180,11 +180,7 @@ cwarn-mode
 
 Note, in addition to enabling this minor mode, the major mode must
 be included in the variable `cwarn-configuration'.  By default C and
-C++ modes are included.
-
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+C++ modes are included."
   :group 'cwarn :lighter cwarn-mode-text
   (cwarn-font-lock-keywords cwarn-mode)
   (font-lock-flush))
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index e8bb3355a0..60d1660e5f 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -915,9 +915,6 @@ flymake-mode-map
 ;;;###autoload
 (define-minor-mode flymake-mode
   "Toggle Flymake mode on or off.
-With a prefix argument ARG, enable Flymake mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'.
 
 Flymake is an Emacs minor mode for on-the-fly syntax checking.
 Flymake collects diagnostic information from multiple sources,
diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el
index 88e34d8df9..6fee895e6a 100644
--- a/lisp/progmodes/gdb-mi.el
+++ b/lisp/progmodes/gdb-mi.el
@@ -1138,9 +1138,7 @@ gdb-delete-out-of-scope
   :version "22.2")
 
 (define-minor-mode gdb-speedbar-auto-raise
-  "Minor mode to automatically raise the speedbar for watch expressions.
-With prefix argument ARG, automatically raise speedbar if ARG is
-positive, otherwise don't automatically raise it."
+  "Minor mode to automatically raise the speedbar for watch expressions."
   :global t
   :group 'gdb
   :version "22.1")
diff --git a/lisp/progmodes/glasses.el b/lisp/progmodes/glasses.el
index c3e8ac35f3..f2bf209946 100644
--- a/lisp/progmodes/glasses.el
+++ b/lisp/progmodes/glasses.el
@@ -312,10 +312,9 @@ glasses-change
 ;;;###autoload
 (define-minor-mode glasses-mode
   "Minor mode for making identifiers likeThis readable.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.  When this mode is active, it tries to
-add virtual separators (like underscores) at places they belong to."
+
+When this mode is active, it tries to add virtual
+separators (like underscores) at places they belong to."
   :group 'glasses :lighter " o^o"
   (save-excursion
     (save-restriction
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 6826674a94..91b4a65edd 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -3363,10 +3363,7 @@ tooltip-mode
 
 ;;;###autoload
 (define-minor-mode gud-tooltip-mode
-  "Toggle the display of GUD tooltips.
-With a prefix argument ARG, enable the feature if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-it if ARG is omitted or nil."
+  "Toggle the display of GUD tooltips."
   :global t
   :group 'gud
   :group 'tooltip
diff --git a/lisp/progmodes/hideif.el b/lisp/progmodes/hideif.el
index 7ac1312d8d..ce7127a3d7 100644
--- a/lisp/progmodes/hideif.el
+++ b/lisp/progmodes/hideif.el
@@ -263,9 +263,6 @@ hif-outside-read-only
 ;;;###autoload
 (define-minor-mode hide-ifdef-mode
   "Toggle features to hide/show #ifdef blocks (Hide-Ifdef mode).
-With a prefix argument ARG, enable Hide-Ifdef mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Hide-Ifdef mode is a buffer-local minor mode for use with C and
 C-like major modes.  When enabled, code within #ifdef constructs
diff --git a/lisp/progmodes/hideshow.el b/lisp/progmodes/hideshow.el
index 799536cbf4..84b2147394 100644
--- a/lisp/progmodes/hideshow.el
+++ b/lisp/progmodes/hideshow.el
@@ -932,9 +932,6 @@ hs-hide-initial-comment-block
 ;;;###autoload
 (define-minor-mode hs-minor-mode
   "Minor mode to selectively hide/show code and comment blocks.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 When hideshow minor mode is on, the menu bar is augmented with hideshow
 commands and the hideshow commands are enabled.
diff --git a/lisp/progmodes/idlw-shell.el b/lisp/progmodes/idlw-shell.el
index dcb81f5a94..616341b0a2 100644
--- a/lisp/progmodes/idlw-shell.el
+++ b/lisp/progmodes/idlw-shell.el
@@ -4251,9 +4251,6 @@ idlwave-shell-electric-debug-buffers
 
 (define-minor-mode idlwave-shell-electric-debug-mode
   "Toggle Idlwave Shell Electric Debug mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 When Idlwave Shell Electric Debug mode is enabled, the Idlwave
 Shell debugging commands are available as single key sequences."
diff --git a/lisp/progmodes/pascal.el b/lisp/progmodes/pascal.el
index 58dc213d8a..6d13d328c5 100644
--- a/lisp/progmodes/pascal.el
+++ b/lisp/progmodes/pascal.el
@@ -1405,9 +1405,6 @@ pascal-outline-map
 
 (define-minor-mode pascal-outline-mode
   "Outline-line minor mode for Pascal mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 When enabled, portions of the text being edited may be made
 invisible.\\<pascal-outline-map>
diff --git a/lisp/progmodes/prog-mode.el b/lisp/progmodes/prog-mode.el
index 19269766c9..b1a17dfa3c 100644
--- a/lisp/progmodes/prog-mode.el
+++ b/lisp/progmodes/prog-mode.el
@@ -196,9 +196,6 @@ prettify-symbols--post-command-hook
 ;;;###autoload
 (define-minor-mode prettify-symbols-mode
   "Toggle Prettify Symbols mode.
-With a prefix argument ARG, enable Prettify Symbols mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Prettify Symbols mode and font-locking are enabled, symbols are
 prettified (displayed as composed characters) according to the rules
diff --git a/lisp/progmodes/subword.el b/lisp/progmodes/subword.el
index cbaa273a7a..ed71b862cf 100644
--- a/lisp/progmodes/subword.el
+++ b/lisp/progmodes/subword.el
@@ -93,9 +93,6 @@ subword-mode-map
 ;;;###autoload
 (define-minor-mode subword-mode
   "Toggle subword movement and editing (Subword mode).
-With a prefix argument ARG, enable Subword mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Subword mode is a buffer-local minor mode.  Enabling it changes
 the definition of a word so that word-based commands stop inside
@@ -269,9 +266,6 @@ superword-mode-map
 ;;;###autoload
 (define-minor-mode superword-mode
   "Toggle superword movement and editing (Superword mode).
-With a prefix argument ARG, enable Superword mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Superword mode is a buffer-local minor mode.  Enabling it changes
 the definition of words such that symbols characters are treated
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el
index f6cb2419de..e17b7f504e 100644
--- a/lisp/progmodes/vhdl-mode.el
+++ b/lisp/progmodes/vhdl-mode.el
@@ -8707,17 +8707,11 @@ vhdl-work-library
 ;;  Enabling/disabling
 
 (define-minor-mode vhdl-electric-mode
-  "Toggle VHDL electric mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable it if ARG
-is omitted or nil."
+  "Toggle VHDL electric mode."
   :global t :group 'vhdl-mode)
 
 (define-minor-mode vhdl-stutter-mode
-  "Toggle VHDL stuttering mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable it if ARG
-is omitted or nil."
+  "Toggle VHDL stuttering mode."
   :global t :group 'vhdl-mode)
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
diff --git a/lisp/progmodes/which-func.el b/lisp/progmodes/which-func.el
index 152f6d2293..7604be0c25 100644
--- a/lisp/progmodes/which-func.el
+++ b/lisp/progmodes/which-func.el
@@ -247,9 +247,6 @@ which-func-update-timer
 ;;;###autoload
 (define-minor-mode which-function-mode
   "Toggle mode line display of current function (Which Function mode).
-With a prefix argument ARG, enable Which Function mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Which Function mode is a global minor mode.  When enabled, the
 current function name is continuously displayed in the mode line,
diff --git a/lisp/recentf.el b/lisp/recentf.el
index c3c4e45922..e318486cde 100644
--- a/lisp/recentf.el
+++ b/lisp/recentf.el
@@ -1342,9 +1342,6 @@ recentf-mode-map
 ;;;###autoload
 (define-minor-mode recentf-mode
   "Toggle \"Open Recent\" menu (Recentf mode).
-With a prefix argument ARG, enable Recentf mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Recentf mode if ARG is omitted or nil.
 
 When Recentf mode is enabled, a \"Open Recent\" submenu is
 displayed in the \"File\" menu, containing a list of files that
diff --git a/lisp/rect.el b/lisp/rect.el
index ba13e12358..8ccf051ee1 100644
--- a/lisp/rect.el
+++ b/lisp/rect.el
@@ -604,6 +604,7 @@ rectangle-mark-mode-map
 ;;;###autoload
 (define-minor-mode rectangle-mark-mode
   "Toggle the region as rectangular.
+
 Activates the region if needed.  Only lasts until the region is deactivated."
   nil nil nil
   (rectangle--reset-crutches)
diff --git a/lisp/reveal.el b/lisp/reveal.el
index 2831c0cc01..a3ecfc490e 100644
--- a/lisp/reveal.el
+++ b/lisp/reveal.el
@@ -191,9 +191,6 @@ reveal-mode-map
 ;;;###autoload
 (define-minor-mode reveal-mode
   "Toggle uncloaking of invisible text near point (Reveal mode).
-With a prefix argument ARG, enable Reveal mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Reveal mode if ARG is omitted or nil.
 
 Reveal mode is a buffer-local minor mode.  When enabled, it
 reveals invisible text around point."
@@ -210,11 +207,7 @@ reveal-mode
 ;;;###autoload
 (define-minor-mode global-reveal-mode
   "Toggle Reveal mode in all buffers (Global Reveal mode).
-Reveal mode renders invisible text around point visible again.
-
-With a prefix argument ARG, enable Global Reveal mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+Reveal mode renders invisible text around point visible again."
   :global t :group 'reveal
   (setq-default reveal-mode global-reveal-mode)
   (if global-reveal-mode
diff --git a/lisp/rfn-eshadow.el b/lisp/rfn-eshadow.el
index 847db68a77..41fd8b5f97 100644
--- a/lisp/rfn-eshadow.el
+++ b/lisp/rfn-eshadow.el
@@ -209,9 +209,6 @@ rfn-eshadow-update-overlay
 \f
 (define-minor-mode file-name-shadow-mode
   "Toggle file-name shadowing in minibuffers (File-Name Shadow mode).
-With a prefix argument ARG, enable File-Name Shadow mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 File-Name Shadow mode is a global minor mode.  When enabled, any
 part of a filename being read in the minibuffer that would be
diff --git a/lisp/ruler-mode.el b/lisp/ruler-mode.el
index 02d5a211ba..366bd15041 100644
--- a/lisp/ruler-mode.el
+++ b/lisp/ruler-mode.el
@@ -591,10 +591,7 @@ ruler--save-header-line-format
 
 ;;;###autoload
 (define-minor-mode ruler-mode
-  "Toggle display of ruler in header line (Ruler mode).
-With a prefix argument ARG, enable Ruler mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Toggle display of ruler in header line (Ruler mode)."
   nil nil
   ruler-mode-map
   :group 'ruler-mode
diff --git a/lisp/savehist.el b/lisp/savehist.el
index 0a261b0b0c..e555450c20 100644
--- a/lisp/savehist.el
+++ b/lisp/savehist.el
@@ -171,9 +171,6 @@ savehist-loaded
 ;;;###autoload
 (define-minor-mode savehist-mode
   "Toggle saving of minibuffer history (Savehist mode).
-With a prefix argument ARG, enable Savehist mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Savehist mode is enabled, minibuffer history is saved
 periodically and when exiting Emacs.  When Savehist mode is
diff --git a/lisp/saveplace.el b/lisp/saveplace.el
index aeb6cf1de7..9d3f10ac35 100644
--- a/lisp/saveplace.el
+++ b/lisp/saveplace.el
@@ -160,9 +160,6 @@ save-place-local-mode
 or exit Emacs.  Visiting this file again will go to that position,
 even in a later Emacs session.
 
-If called with a prefix arg, the mode is enabled if and only if
-the argument is positive.
-
 To save places automatically in all files, put this in your init
 file:
 
diff --git a/lisp/scroll-all.el b/lisp/scroll-all.el
index dea15d58d8..c32960efba 100644
--- a/lisp/scroll-all.el
+++ b/lisp/scroll-all.el
@@ -102,9 +102,6 @@ scroll-all-check-to-scroll
 ;;;###autoload
 (define-minor-mode scroll-all-mode
   "Toggle shared scrolling in same-frame windows (Scroll-All mode).
-With a prefix argument ARG, enable Scroll-All mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Scroll-All mode is enabled, scrolling commands invoked in
 one window apply to all visible windows in the same frame."
diff --git a/lisp/scroll-bar.el b/lisp/scroll-bar.el
index dd4a8aab0e..4d1ad03fa5 100644
--- a/lisp/scroll-bar.el
+++ b/lisp/scroll-bar.el
@@ -133,9 +133,6 @@ get-scroll-bar-mode
 
 (define-minor-mode scroll-bar-mode
   "Toggle vertical scroll bars on all frames (Scroll Bar mode).
-With a prefix argument ARG, enable Scroll Bar mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 This command applies to all frames that exist and frames to be
 created in the future."
@@ -152,9 +149,6 @@ horizontal-scroll-bars-available-p
 
 (define-minor-mode horizontal-scroll-bar-mode
   "Toggle horizontal scroll bars on all frames (Horizontal Scroll Bar mode).
-With a prefix argument ARG, enable Horizontal Scroll Bar mode if
-ARG is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 This command applies to all frames that exist and frames to be
 created in the future."
diff --git a/lisp/scroll-lock.el b/lisp/scroll-lock.el
index 2ce0f4578b..123fbb2b37 100644
--- a/lisp/scroll-lock.el
+++ b/lisp/scroll-lock.el
@@ -49,12 +49,11 @@ scroll-lock-temporary-goal-column
 ;;;###autoload
 (define-minor-mode scroll-lock-mode
   "Buffer-local minor mode for pager-like scrolling.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.  When enabled, keys that normally move
-point by line or paragraph will scroll the buffer by the
-respective amount of lines instead and point will be kept
-vertically fixed relative to window boundaries during scrolling."
+
+When enabled, keys that normally move point by line or paragraph
+will scroll the buffer by the respective amount of lines instead
+and point will be kept vertically fixed relative to window
+boundaries during scrolling."
   :lighter " ScrLck"
   :keymap scroll-lock-mode-map
   (if scroll-lock-mode
diff --git a/lisp/server.el b/lisp/server.el
index ff03cbe622..00e202e5e8 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -770,9 +770,6 @@ server-running-p
 ;;;###autoload
 (define-minor-mode server-mode
   "Toggle Server mode.
-With a prefix argument ARG, enable Server mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Server mode if ARG is omitted or nil.
 
 Server mode runs a process that accepts commands from the
 `emacsclient' program.  See Info node `Emacs server' and
diff --git a/lisp/shell.el b/lisp/shell.el
index 91c65ed171..c78903b3e5 100644
--- a/lisp/shell.el
+++ b/lisp/shell.el
@@ -967,9 +967,6 @@ shell-extract-num
 
 (define-minor-mode shell-dirtrack-mode
   "Toggle directory tracking in this shell buffer (Shell Dirtrack mode).
-With a prefix argument ARG, enable Shell Dirtrack mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 The `dirtrack' package provides an alternative implementation of
 this feature; see the function `dirtrack-mode'."
diff --git a/lisp/simple.el b/lisp/simple.el
index f8c02c1dbf..e98cea78d4 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -401,9 +401,7 @@ next-error-follow-last-line
 
 (define-minor-mode next-error-follow-minor-mode
   "Minor mode for compilation, occur and diff modes.
-With a prefix argument ARG, enable mode if ARG is positive, and
-disable it otherwise.  If called from Lisp, enable mode if ARG is
-omitted or nil.
+
 When turned on, cursor motion in the compilation, grep, occur or diff
 buffer causes automatic display of the corresponding source code location."
   :group 'next-error :init-value nil :lighter " Fol"
@@ -5817,9 +5815,6 @@ handle-shift-selection
 
 (define-minor-mode transient-mark-mode
   "Toggle Transient Mark mode.
-With a prefix argument ARG, enable Transient Mark mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Transient Mark mode if ARG is omitted or nil.
 
 Transient Mark mode is a global minor mode.  When enabled, the
 region is highlighted with the `region' face whenever the mark
@@ -6854,12 +6849,6 @@ visual-line--saved-state
 
 (define-minor-mode visual-line-mode
   "Toggle visual line based editing (Visual Line mode) in the current buffer.
-Interactively, with a prefix argument, enable
-Visual Line mode if the prefix argument is positive,
-and disable it otherwise.  If called from Lisp, toggle
-the mode if ARG is `toggle', disable the mode if ARG is
-a non-positive integer, and enable the mode otherwise
-\(including if ARG is omitted or nil or a positive integer).
 
 When Visual Line mode is enabled, `word-wrap' is turned on in
 this buffer, and simple editing commands are redefined to act on
@@ -7290,12 +7279,6 @@ normal-auto-fill-function
 
 (define-minor-mode auto-fill-mode
   "Toggle automatic line breaking (Auto Fill mode).
-Interactively, with a prefix argument, enable
-Auto Fill mode if the prefix argument is positive,
-and disable it otherwise.  If called from Lisp, toggle
-the mode if ARG is `toggle', disable the mode if ARG is
-a non-positive integer, and enable the mode otherwise
-\(including if ARG is omitted or nil or a positive integer).
 
 When Auto Fill mode is enabled, inserting a space at a column
 beyond `current-fill-column' automatically breaks the line at a
@@ -7410,9 +7393,6 @@ overwrite-mode-binary
 
 (define-minor-mode overwrite-mode
   "Toggle Overwrite mode.
-With a prefix argument ARG, enable Overwrite mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Overwrite mode is enabled, printing characters typed in
 replace existing text on a one-for-one basis, rather than pushing
@@ -7426,9 +7406,6 @@ overwrite-mode
 
 (define-minor-mode binary-overwrite-mode
   "Toggle Binary Overwrite mode.
-With a prefix argument ARG, enable Binary Overwrite mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Binary Overwrite mode is enabled, printing characters typed
 in replace existing text.  Newlines are not treated specially, so
@@ -7446,9 +7423,6 @@ binary-overwrite-mode
 
 (define-minor-mode line-number-mode
   "Toggle line number display in the mode line (Line Number mode).
-With a prefix argument ARG, enable Line Number mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Line numbers do not appear for very large buffers and buffers
 with very long lines; see variables `line-number-display-limit'
@@ -7456,27 +7430,15 @@ line-number-mode
   :init-value t :global t :group 'mode-line)
 
 (define-minor-mode column-number-mode
-  "Toggle column number display in the mode line (Column Number mode).
-With a prefix argument ARG, enable Column Number mode if ARG is
-positive, and disable it otherwise.
-
-If called from Lisp, enable the mode if ARG is omitted or nil."
+  "Toggle column number display in the mode line (Column Number mode)."
   :global t :group 'mode-line)
 
 (define-minor-mode size-indication-mode
-  "Toggle buffer size display in the mode line (Size Indication mode).
-With a prefix argument ARG, enable Size Indication mode if ARG is
-positive, and disable it otherwise.
-
-If called from Lisp, enable the mode if ARG is omitted or nil."
+  "Toggle buffer size display in the mode line (Size Indication mode)."
   :global t :group 'mode-line)
 
 (define-minor-mode auto-save-mode
-  "Toggle auto-saving in the current buffer (Auto Save mode).
-With a prefix argument ARG, enable Auto Save mode if ARG is
-positive, and disable it otherwise.
-
-If called from Lisp, enable the mode if ARG is omitted or nil."
+  "Toggle auto-saving in the current buffer (Auto Save mode)."
   :variable ((and buffer-auto-save-file-name
                   ;; If auto-save is off because buffer has shrunk,
                   ;; then toggling should turn it on.
@@ -8687,9 +8649,6 @@ normal-erase-is-backspace-setup-frame
 
 (define-minor-mode normal-erase-is-backspace-mode
   "Toggle the Erase and Delete mode of the Backspace and Delete keys.
-With a prefix argument ARG, enable this feature if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 On window systems, when this mode is on, Delete is mapped to C-d
 and Backspace is mapped to DEL; when this mode is off, both
@@ -8766,9 +8725,9 @@ vis-mode-saved-buffer-invisibility-spec
 
 (define-minor-mode read-only-mode
   "Change whether the current buffer is read-only.
-With prefix argument ARG, make the buffer read-only if ARG is
-positive, otherwise make it writable.  If buffer is read-only
-and `view-read-only' is non-nil, enter view mode.
+
+If buffer is read-only and `view-read-only' is non-nil, enter
+view mode.
 
 Do not call this from a Lisp program unless you really intend to
 do the same thing as the \\[read-only-mode] command, including
@@ -8792,9 +8751,6 @@ read-only-mode
 
 (define-minor-mode visible-mode
   "Toggle making all invisible text temporarily visible (Visible mode).
-With a prefix argument ARG, enable Visible mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 This mode works by saving the value of `buffer-invisibility-spec'
 and setting it to nil."
diff --git a/lisp/strokes.el b/lisp/strokes.el
index 6ffcff73c2..d5c287c341 100644
--- a/lisp/strokes.el
+++ b/lisp/strokes.el
@@ -1388,9 +1388,6 @@ strokes-mode-map
 ;;;###autoload
 (define-minor-mode strokes-mode
   "Toggle Strokes mode, a global minor mode.
-With a prefix argument ARG, enable Strokes mode if ARG is
-positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 \\<strokes-mode-map>
 Strokes are pictographic mouse gestures which invoke commands.
diff --git a/lisp/t-mouse.el b/lisp/t-mouse.el
index 8a816fd444..3ad719d193 100644
--- a/lisp/t-mouse.el
+++ b/lisp/t-mouse.el
@@ -67,9 +67,6 @@ 't-mouse-mode
 ;;;###autoload
 (define-minor-mode gpm-mouse-mode
   "Toggle mouse support in GNU/Linux consoles (GPM Mouse mode).
-With a prefix argument ARG, enable GPM Mouse mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 This allows the use of the mouse when operating on a GNU/Linux console,
 in the same way as you can use the mouse under X11.
diff --git a/lisp/tar-mode.el b/lisp/tar-mode.el
index f7b14fab51..9860c8b30c 100644
--- a/lisp/tar-mode.el
+++ b/lisp/tar-mode.el
@@ -762,12 +762,10 @@ tar-mode
 
 (define-minor-mode tar-subfile-mode
   "Minor mode for editing an element of a tar-file.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.  This mode arranges for \"saving\" this
-buffer to write the data into the tar-file buffer that it came
-from.  The changes will actually appear on disk when you save the
-tar-file's buffer."
+
+This mode arranges for \"saving\" this buffer to write the data
+into the tar-file buffer that it came from.  The changes will
+actually appear on disk when you save the tar-file's buffer."
   ;; Don't do this, because it is redundant and wastes mode line space.
   ;; :lighter " TarFile"
   nil nil nil
diff --git a/lisp/term/tvi970.el b/lisp/term/tvi970.el
index 97687894ec..0c4b0ae73b 100644
--- a/lisp/term/tvi970.el
+++ b/lisp/term/tvi970.el
@@ -101,9 +101,6 @@ terminal-init-tvi970
 ;; Should keypad numbers send ordinary digits or distinct escape sequences?
 (define-minor-mode tvi970-set-keypad-mode
   "Toggle alternate keypad mode on TVI 970 keypad.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 In alternate keypad mode, the keys send distinct escape
 sequences, meaning that they can have their own bindings,
diff --git a/lisp/term/vt100.el b/lisp/term/vt100.el
index d40c550aff..b61e557e2f 100644
--- a/lisp/term/vt100.el
+++ b/lisp/term/vt100.el
@@ -39,10 +39,7 @@ terminal-init-vt100
 
 ;;; Controlling the screen width.
 (define-minor-mode vt100-wide-mode
-  "Toggle 132/80 column mode for vt100s.
-With a prefix argument ARG, switch to 132-column mode if ARG is
-positive, and 80-column mode otherwise.  If called from Lisp,
-switch to 132-column mode if ARG is omitted or nil."
+  "Toggle 132/80 column mode for vt100s."
   :global t :init-value (= (frame-width) 132)
   :group 'terminals
   (send-string-to-terminal (if vt100-wide-mode "\e[?3h" "\e[?3l"))
diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el
index 61ca0856bc..940a78ae92 100644
--- a/lisp/textmodes/artist.el
+++ b/lisp/textmodes/artist.el
@@ -1198,7 +1198,7 @@ artist-select-prev-op-in-list
 ;;;###autoload
 (define-minor-mode artist-mode
   "Toggle Artist mode.
-With argument ARG, turn Artist mode on if ARG is positive.
+
 Artist lets you draw lines, squares, rectangles and poly-lines,
 ellipses and circles with your mouse and/or keyboard.
 
diff --git a/lisp/textmodes/enriched.el b/lisp/textmodes/enriched.el
index 6b4c44a39e..f2065cbff9 100644
--- a/lisp/textmodes/enriched.el
+++ b/lisp/textmodes/enriched.el
@@ -210,10 +210,6 @@ enriched-mode
 These are files with embedded formatting information in the MIME standard
 text/enriched format.
 
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
-
 Turning the mode on or off runs `enriched-mode-hook'.
 
 More information about Enriched mode is available in the file
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index 9747f8e2eb..8ad6832880 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -505,9 +505,6 @@ flyspell-overlay
 ;;;###autoload
 (define-minor-mode flyspell-mode
   "Toggle on-the-fly spell checking (Flyspell mode).
-With a prefix argument ARG, enable Flyspell mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Flyspell mode is a buffer-local minor mode.  When enabled, it
 spawns a single Ispell process and checks each word.  The default
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index d1d47718f9..d80447e0a5 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -3695,9 +3695,6 @@ ispell-minor-keymap
 ;;;###autoload
 (define-minor-mode ispell-minor-mode
   "Toggle last-word spell checking (Ispell minor mode).
-With a prefix argument ARG, enable Ispell minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Ispell minor mode is a buffer-local minor mode.  When enabled,
 typing SPC or RET warns you if the previous word is incorrectly
diff --git a/lisp/textmodes/nroff-mode.el b/lisp/textmodes/nroff-mode.el
index 6955ed25e1..51a9f5820d 100644
--- a/lisp/textmodes/nroff-mode.el
+++ b/lisp/textmodes/nroff-mode.el
@@ -298,9 +298,6 @@ nroff-electric-newline
 
 (define-minor-mode nroff-electric-mode
   "Toggle automatic nroff request pairing (Nroff Electric mode).
-With a prefix argument ARG, enable Nroff Electric mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Nroff Electric mode is a buffer-local minor mode, for use with
 `nroff-mode'.  When enabled, Emacs checks for an nroff request at
diff --git a/lisp/textmodes/paragraphs.el b/lisp/textmodes/paragraphs.el
index 3e2784ca95..ee812566b9 100644
--- a/lisp/textmodes/paragraphs.el
+++ b/lisp/textmodes/paragraphs.el
@@ -36,9 +36,6 @@ paragraphs
 (put 'use-hard-newlines 'permanent-local t)
 (define-minor-mode use-hard-newlines
   "Toggle distinguishing between hard and soft newlines.
-With a prefix argument ARG, enable the feature if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-it if ARG is omitted or nil.
 
 When enabled, the functions `newline' and `open-line' add the
 text-property `hard' to newlines that they insert, and a line is
diff --git a/lisp/textmodes/refill.el b/lisp/textmodes/refill.el
index 1252afe417..229d6a24dd 100644
--- a/lisp/textmodes/refill.el
+++ b/lisp/textmodes/refill.el
@@ -213,9 +213,6 @@ refill-saved-state
 ;;;###autoload
 (define-minor-mode refill-mode
   "Toggle automatic refilling (Refill mode).
-With a prefix argument ARG, enable Refill mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Refill mode is a buffer-local minor mode.  When enabled, the
 current paragraph is refilled as you edit.  Self-inserting
diff --git a/lisp/textmodes/rst.el b/lisp/textmodes/rst.el
index 40d75a9db8..126804fdab 100644
--- a/lisp/textmodes/rst.el
+++ b/lisp/textmodes/rst.el
@@ -1411,9 +1411,6 @@ rst-mode
 ;;;###autoload
 (define-minor-mode rst-minor-mode
   "Toggle ReST minor mode.
-With a prefix argument ARG, enable ReST minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When ReST minor mode is enabled, the ReST mode keybindings
 are installed on top of the major mode bindings.  Use this
diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el
index 30ca11199d..470f4a348a 100644
--- a/lisp/textmodes/sgml-mode.el
+++ b/lisp/textmodes/sgml-mode.el
@@ -941,9 +941,6 @@ sgml-electric-tag-pair-flush-overlays
 
 (define-minor-mode sgml-electric-tag-pair-mode
   "Toggle SGML Electric Tag Pair mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 SGML Electric Tag Pair mode is a buffer-local minor mode for use
 with `sgml-mode' and related major modes.  When enabled, editing
@@ -2379,9 +2376,6 @@ html-imenu-index
 
 (define-minor-mode html-autoview-mode
   "Toggle viewing of HTML files on save (HTML Autoview mode).
-With a prefix argument ARG, enable HTML Autoview mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 HTML Autoview mode is a buffer-local minor mode for use with
 `html-mode'.  If enabled, saving the file automatically runs
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el
index c65b3b3ea2..c223af4769 100644
--- a/lisp/textmodes/tex-mode.el
+++ b/lisp/textmodes/tex-mode.el
@@ -713,9 +713,6 @@ tex-env-mark
 
 (define-minor-mode latex-electric-env-pair-mode
   "Toggle Latex Electric Env Pair mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable it if ARG
-is omitted or nil.
 
 Latex Electric Env Pair mode is a buffer-local minor mode for use
 with `latex-mode'.  When enabled, typing a \\begin or \\end tag
diff --git a/lisp/time.el b/lisp/time.el
index ab6b5b9632..94f7009953 100644
--- a/lisp/time.el
+++ b/lisp/time.el
@@ -488,9 +488,6 @@ display-time-file-nonempty-p
 ;;;###autoload
 (define-minor-mode display-time-mode
   "Toggle display of time, load level, and mail flag in mode lines.
-With a prefix argument ARG, enable Display Time mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-it if ARG is omitted or nil.
 
 When Display Time mode is enabled, it updates every minute (you
 can control the number of seconds between updates by customizing
diff --git a/lisp/tool-bar.el b/lisp/tool-bar.el
index 18f54dbac6..e2242cf6f7 100644
--- a/lisp/tool-bar.el
+++ b/lisp/tool-bar.el
@@ -44,9 +44,6 @@
 ;; when you are on a tty.  I hope that won't cause too much trouble -- rms.
 (define-minor-mode tool-bar-mode
   "Toggle the tool bar in all graphical frames (Tool Bar mode).
-With a prefix argument ARG, enable Tool Bar mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Tool Bar mode if ARG is omitted or nil.
 
 See `tool-bar-add-item' and `tool-bar-add-item-from-menu' for
 conveniently adding tool bar items."
diff --git a/lisp/tooltip.el b/lisp/tooltip.el
index 81df229a13..384d3d19db 100644
--- a/lisp/tooltip.el
+++ b/lisp/tooltip.el
@@ -42,9 +42,6 @@ tooltip
 
 (define-minor-mode tooltip-mode
   "Toggle Tooltip mode.
-With a prefix argument ARG, enable Tooltip mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 When this global minor mode is enabled, Emacs displays help
 text (e.g. for buttons and menu items that you put the mouse on)
diff --git a/lisp/type-break.el b/lisp/type-break.el
index 98947bac27..c7cdc46036 100644
--- a/lisp/type-break.el
+++ b/lisp/type-break.el
@@ -287,9 +287,6 @@ type-break-mode
 to find a good breaking point in his or her work, but be sufficiently
 annoying to discourage putting typing breaks off indefinitely.
 
-A negative prefix argument disables this mode.
-No argument or any non-negative argument enables it.
-
 The user may enable or disable this mode by setting the variable of the
 same name, though setting it in that way doesn't reschedule a break or
 reset the keystroke counter.
@@ -406,9 +403,6 @@ type-break-mode
 
 (define-minor-mode type-break-mode-line-message-mode
   "Toggle warnings about typing breaks in the mode line.
-With a prefix argument ARG, enable these warnings if ARG is
-positive, and disable them otherwise.  If called from Lisp,
-enable them if ARG is omitted or nil.
 
 The user may also enable or disable this mode simply by setting
 the variable of the same name.
@@ -423,9 +417,6 @@ type-break-mode-line-message-mode
 
 (define-minor-mode type-break-query-mode
   "Toggle typing break queries.
-With a prefix argument ARG, enable these queries if ARG is
-positive, and disable them otherwise.  If called from Lisp,
-enable them if ARG is omitted or nil.
 
 The user may also enable or disable this mode simply by setting
 the variable of the same name."
diff --git a/lisp/url/url-dired.el b/lisp/url/url-dired.el
index 784f70eb1f..50d84f71cc 100644
--- a/lisp/url/url-dired.el
+++ b/lisp/url/url-dired.el
@@ -43,10 +43,7 @@ url-dired-find-file-mouse
   (url-dired-find-file))
 
 (define-minor-mode url-dired-minor-mode
-  "Minor mode for directory browsing.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode for directory browsing."
   :lighter " URL" :keymap url-dired-minor-mode-map)
 
 (defun url-find-file-dired (dir)
diff --git a/lisp/url/url-handlers.el b/lisp/url/url-handlers.el
index 98f9f1e373..3802c39b78 100644
--- a/lisp/url/url-handlers.el
+++ b/lisp/url/url-handlers.el
@@ -102,10 +102,7 @@ url-handler-regexp
 
 ;;;###autoload
 (define-minor-mode url-handler-mode
-  "Toggle using `url' library for URL filenames (URL Handler mode).
-With a prefix argument ARG, enable URL Handler mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle using `url' library for URL filenames (URL Handler mode)."
   :global t :group 'url
   ;; Remove old entry, if any.
   (setq file-name-handler-alist
diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el
index 1e2fbb97fc..e88ccece41 100644
--- a/lisp/vc/diff-mode.el
+++ b/lisp/vc/diff-mode.el
@@ -216,9 +216,6 @@ diff-minor-mode-prefix
 
 (define-minor-mode diff-auto-refine-mode
   "Toggle automatic diff hunk highlighting (Diff Auto Refine mode).
-With a prefix argument ARG, enable Diff Auto Refine mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 Diff Auto Refine mode is a buffer-local minor mode used with
 `diff-mode'.  When enabled, Emacs automatically highlights
@@ -1424,9 +1421,6 @@ diff-mode
 ;;;###autoload
 (define-minor-mode diff-minor-mode
   "Toggle Diff minor mode.
-With a prefix argument ARG, enable Diff minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 \\{diff-minor-mode-map}"
   :group 'diff-mode :lighter " Diff"
diff --git a/lisp/vc/smerge-mode.el b/lisp/vc/smerge-mode.el
index 99a074cf25..cb51fbab8e 100644
--- a/lisp/vc/smerge-mode.el
+++ b/lisp/vc/smerge-mode.el
@@ -1398,9 +1398,7 @@ smerge-parsep-re
 ;;;###autoload
 (define-minor-mode smerge-mode
   "Minor mode to simplify editing output from the diff3 program.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
+
 \\{smerge-mode-map}"
   :group 'smerge :lighter " SMerge"
   (when (and (boundp 'font-lock-mode) font-lock-mode)
diff --git a/lisp/vcursor.el b/lisp/vcursor.el
index 8974330452..ce7a895a62 100644
--- a/lisp/vcursor.el
+++ b/lisp/vcursor.el
@@ -815,8 +815,7 @@ vcursor-check
 
 (define-minor-mode vcursor-use-vcursor-map
   "Toggle the state of the vcursor key map.
-With a prefix argument ARG, enable it if ARG is positive, and disable
-it otherwise.  If called from Lisp, enable it if ARG is omitted or nil.
+
 When on, the keys defined in it are mapped directly on top of the main
 keymap, allowing you to move the vcursor with ordinary motion keys.
 An indication \"!VC\" appears in the mode list.  The effect is
diff --git a/lisp/view.el b/lisp/view.el
index cc328680e2..56f98a6db2 100644
--- a/lisp/view.el
+++ b/lisp/view.el
@@ -381,9 +381,6 @@ view-mode
   ;; bindings instead of using the \\[] construction.  The reason for this
   ;; is that most commands have more than one key binding.
   "Toggle View mode, a minor mode for viewing text but not editing it.
-With a prefix argument ARG, enable View mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable View mode
-if ARG is omitted or nil.
 
 When View mode is enabled, commands that do not change the buffer
 contents are available as usual.  Kill commands insert text in
diff --git a/lisp/whitespace.el b/lisp/whitespace.el
index c2827d3d51..d8249316e4 100644
--- a/lisp/whitespace.el
+++ b/lisp/whitespace.el
@@ -924,11 +924,6 @@ whitespace-action
 ;;;###autoload
 (define-minor-mode whitespace-mode
   "Toggle whitespace visualization (Whitespace mode).
-With a prefix argument ARG, enable Whitespace mode if ARG is
-positive, and disable it otherwise.
-
-If called from Lisp, also enables the mode if ARG is omitted or nil,
-and toggles it if ARG is `toggle'.
 
 See also `whitespace-style', `whitespace-newline' and
 `whitespace-display-mappings'."
@@ -949,11 +944,6 @@ whitespace-mode
 ;;;###autoload
 (define-minor-mode whitespace-newline-mode
   "Toggle newline visualization (Whitespace Newline mode).
-With a prefix argument ARG, enable Whitespace Newline mode if ARG
-is positive, and disable it otherwise.
-
-If called from Lisp, also enables the mode if ARG is omitted or nil,
-and toggles it if ARG is `toggle'.
 
 Use `whitespace-newline-mode' only for NEWLINE visualization
 exclusively.  For other visualizations, including NEWLINE
@@ -979,11 +969,6 @@ whitespace-newline-mode
 ;;;###autoload
 (define-minor-mode global-whitespace-mode
   "Toggle whitespace visualization globally (Global Whitespace mode).
-With a prefix argument ARG, enable Global Whitespace mode if ARG
-is positive, and disable it otherwise.
-
-If called from Lisp, also enables the mode if ARG is omitted or nil,
-and toggles it if ARG is `toggle'.
 
 See also `whitespace-style', `whitespace-newline' and
 `whitespace-display-mappings'."
@@ -1040,11 +1025,6 @@ whitespace-turn-on-if-enabled
 ;;;###autoload
 (define-minor-mode global-whitespace-newline-mode
   "Toggle global newline visualization (Global Whitespace Newline mode).
-With a prefix argument ARG, enable Global Whitespace Newline mode
-if ARG is positive, and disable it otherwise.
-
-If called from Lisp, also enables the mode if ARG is omitted or nil,
-and toggles it if ARG is `toggle'.
 
 Use `global-whitespace-newline-mode' only for NEWLINE
 visualization exclusively.  For other visualizations, including
diff --git a/lisp/wid-browse.el b/lisp/wid-browse.el
index db2be0cc90..d86e9cd2e2 100644
--- a/lisp/wid-browse.el
+++ b/lisp/wid-browse.el
@@ -269,10 +269,7 @@ widget-minor-mode-map
 
 ;;;###autoload
 (define-minor-mode widget-minor-mode
-  "Minor mode for traversing widgets.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode for traversing widgets."
   :lighter " Widget")
 
 ;;; The End:
diff --git a/lisp/winner.el b/lisp/winner.el
index 72b90b0e43..5e13a378a7 100644
--- a/lisp/winner.el
+++ b/lisp/winner.el
@@ -351,9 +351,6 @@ winner-mode-map
 ;;;###autoload
 (define-minor-mode winner-mode
   "Toggle Winner mode on or off.
-With a prefix argument ARG, enable Winner mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'.
 
 Winner mode is a global minor mode that records the changes in
 the window configuration (i.e. how the frames are partitioned
diff --git a/lisp/xt-mouse.el b/lisp/xt-mouse.el
index 8fb65d5bfa..da4af32e5e 100644
--- a/lisp/xt-mouse.el
+++ b/lisp/xt-mouse.el
@@ -312,9 +312,6 @@ xterm-mouse-event
 ;;;###autoload
 (define-minor-mode xterm-mouse-mode
   "Toggle XTerm mouse mode.
-With a prefix argument ARG, enable XTerm mouse mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Turn it on to use Emacs mouse commands, and off to use xterm mouse commands.
 This works in terminal emulators compatible with xterm.  It only
-- 
2.18.0


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

* bug#10754: define-minor-mode and doc of derived mode
  2018-06-29 15:48                                             ` John Shahid
@ 2018-06-30  7:55                                               ` Eli Zaretskii
  2018-06-30 20:44                                                 ` John Shahid
  0 siblings, 1 reply; 28+ messages in thread
From: Eli Zaretskii @ 2018-06-30  7:55 UTC (permalink / raw)
  To: John Shahid; +Cc: npostavs, 10754, monnier

> From: John Shahid <jvshahid@gmail.com>
> Date: Fri, 29 Jun 2018 15:48:42 +0000
> Cc: Stefan Monnier <monnier@iro.umontreal.ca>, 10754@debbugs.gnu.org

I have a few minor nits:

> From: John Shahid <jvshahid@gmail.com>
> Date: Tue, 5 Jun 2018 19:56:12 -0400
> Subject: [PATCH] optionally include argument description in minor mode DOC
> 
> * easy-mmode.el (define-minor-mode): Add a parapgraph to the mode's
>   docstring documenting the mode ARG usage if the supplied docstring
>   didn't contain the word "ARG".

Please mention the bug number in the log message.

> removed argument documetation from all minor modes.
                   ^^^^^^^^^^^^
Typo.  Also, this should be a full sentence, starting with a capital
letter.

> +(defconst easy-mmode-arg-docstring
> +  "
> +
> +If called interactively, enable %s if ARG is positive, and
> +disable it otherwise.  If called from Lisp, enable the mode if
> +ARG is omitted or nil, and toggle it if ARG is `toggle'. Disable
> +the mode otherwise")

I prefer this text (which also fixes a problem with only one space
between sentences):

  If called interactively, enable %s if ARG is positive, and
  disable it if ARG is zero or negative.  If called from Lisp,
  also enable the mode if ARG is omitted or nil, and toggle it
  if ARG is `toggle'; disable the mode otherwise.

> -documenting what its argument does.
> +documenting what its argument does. If the word \"ARG\" does not
                                      ^
Two spaces between sentences, please.

Thanks.





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

* bug#10754: define-minor-mode and doc of derived mode
  2018-06-29 13:55                                       ` Stefan Monnier
  2018-06-29 14:52                                         ` John Shahid
@ 2018-06-30  7:56                                         ` Eli Zaretskii
  1 sibling, 0 replies; 28+ messages in thread
From: Eli Zaretskii @ 2018-06-30  7:56 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: jvshahid, 10754

> From: Stefan Monnier <monnier@IRO.UMontreal.CA>
> Cc: John Shahid <jvshahid@gmail.com>, 10754@debbugs.gnu.org,
>         drew.adams@oracle.com
> Date: Fri, 29 Jun 2018 09:55:22 -0400
> 
> > Sounds reasonable, I was hesitant to make the implementation more
> > complicated but it turns out not to be that bad. Attached the patch to
> > either append the paragraph or insert it at the first empty line.
> 
> Thanks, looks great to me.
> Eli, any objection?

No objections, but a few minor nits, after which this can go in.  The
master branch, I presume?





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

* bug#10754: define-minor-mode and doc of derived mode
  2018-06-30  7:55                                               ` Eli Zaretskii
@ 2018-06-30 20:44                                                 ` John Shahid
  2018-07-02  3:36                                                   ` Stefan Monnier
  0 siblings, 1 reply; 28+ messages in thread
From: John Shahid @ 2018-06-30 20:44 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: npostavs, 10754, monnier

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


Eli Zaretskii <eliz@gnu.org> writes:

>> From: John Shahid <jvshahid@gmail.com>
>> Date: Fri, 29 Jun 2018 15:48:42 +0000
>> Cc: Stefan Monnier <monnier@iro.umontreal.ca>, 10754@debbugs.gnu.org
>
> I have a few minor nits:
>
>> From: John Shahid <jvshahid@gmail.com>
>> Date: Tue, 5 Jun 2018 19:56:12 -0400
>> Subject: [PATCH] optionally include argument description in minor mode DOC
>> 
>> * easy-mmode.el (define-minor-mode): Add a parapgraph to the mode's
>>   docstring documenting the mode ARG usage if the supplied docstring
>>   didn't contain the word "ARG".
>
> Please mention the bug number in the log message.
>
>> removed argument documetation from all minor modes.
>                    ^^^^^^^^^^^^
> Typo.  Also, this should be a full sentence, starting with a capital
> letter.
>
>> +(defconst easy-mmode-arg-docstring
>> +  "
>> +
>> +If called interactively, enable %s if ARG is positive, and
>> +disable it otherwise.  If called from Lisp, enable the mode if
>> +ARG is omitted or nil, and toggle it if ARG is `toggle'. Disable
>> +the mode otherwise")
>
> I prefer this text (which also fixes a problem with only one space
> between sentences):
>
>   If called interactively, enable %s if ARG is positive, and
>   disable it if ARG is zero or negative.  If called from Lisp,
>   also enable the mode if ARG is omitted or nil, and toggle it
>   if ARG is `toggle'; disable the mode otherwise.
>
>> -documenting what its argument does.
>> +documenting what its argument does. If the word \"ARG\" does not
>                                       ^
> Two spaces between sentences, please.
>
> Thanks.

fixed all the issue mentioned above in the latest patch attached.

cheers,


[-- Attachment #2: 0001-optionally-add-argument-description-in-minor-mode-DO.patch --]
[-- Type: text/x-diff, Size: 117666 bytes --]

From d7c34e4725f00a0b88800c6e49642da24e1b1cae Mon Sep 17 00:00:00 2001
From: John Shahid <jvshahid@gmail.com>
Date: Tue, 5 Jun 2018 19:56:12 -0400
Subject: [PATCH] optionally add argument description in minor mode DOC
 (Bug#10754)

* easy-mmode.el (define-minor-mode): Add a paragraph to the mode's
  docstring documenting the mode ARG usage if the supplied docstring
  didn't contain the word "ARG".

Removed argument documentation from all minor modes.
---
 lisp/abbrev.el                       |  3 --
 lisp/allout-widgets.el               |  3 --
 lisp/allout.el                       |  3 --
 lisp/autoarg.el                      |  6 ---
 lisp/autoinsert.el                   |  3 --
 lisp/autorevert.el                   |  9 -----
 lisp/battery.el                      |  3 --
 lisp/cedet/ede.el                    |  6 ---
 lisp/cedet/ede/dired.el              |  4 +-
 lisp/cedet/semantic.el               |  3 --
 lisp/cedet/semantic/db-mode.el       |  1 -
 lisp/cedet/semantic/decorate/mode.el | 12 +++---
 lisp/cedet/semantic/idle.el          | 19 ++++-----
 lisp/cedet/semantic/mru-bookmark.el  | 10 ++---
 lisp/cedet/semantic/util-modes.el    | 52 +++++++++++--------------
 lisp/cedet/srecode/mode.el           | 11 +++---
 lisp/completion.el                   |  5 +--
 lisp/composite.el                    |  6 ---
 lisp/delsel.el                       |  6 ---
 lisp/desktop.el                      |  3 --
 lisp/dired-x.el                      |  3 --
 lisp/dirtrack.el                     |  8 +---
 lisp/doc-view.el                     |  3 --
 lisp/double.el                       |  3 --
 lisp/elec-pair.el                    |  3 --
 lisp/electric.el                     | 10 +----
 lisp/emacs-lisp/checkdoc.el          |  3 --
 lisp/emacs-lisp/easy-mmode.el        | 31 +++++++++++----
 lisp/emacs-lisp/eldoc.el             |  3 --
 lisp/emacs-lock.el                   |  4 +-
 lisp/emulation/cua-base.el           |  3 --
 lisp/epa-hook.el                     |  5 +--
 lisp/epa-mail.el                     | 10 +----
 lisp/erc/erc-track.el                |  3 --
 lisp/face-remap.el                   | 10 ++---
 lisp/files.el                        |  8 +---
 lisp/follow.el                       |  3 --
 lisp/font-core.el                    |  3 --
 lisp/frame.el                        | 12 ------
 lisp/help.el                         |  3 --
 lisp/hexl.el                         |  1 +
 lisp/hi-lock.el                      |  3 --
 lisp/hilit-chg.el                    |  6 ---
 lisp/hl-line.el                      |  6 ---
 lisp/ibuf-ext.el                     |  5 +--
 lisp/icomplete.el                    |  3 --
 lisp/ido.el                          |  5 +--
 lisp/image-file.el                   |  3 --
 lisp/image-mode.el                   |  3 --
 lisp/international/iso-ascii.el      |  5 +--
 lisp/jit-lock.el                     |  1 +
 lisp/jka-cmpr-hook.el                |  3 --
 lisp/language/thai-util.el           |  9 ++---
 lisp/linum.el                        |  4 +-
 lisp/mail/footnote.el                |  3 --
 lisp/mail/mailabbrev.el              |  3 --
 lisp/master.el                       |  3 --
 lisp/mb-depth.el                     |  3 --
 lisp/menu-bar.el                     |  3 --
 lisp/minibuf-eldef.el                |  3 --
 lisp/msb.el                          |  3 --
 lisp/mwheel.el                       |  5 +--
 lisp/net/goto-addr.el                |  5 +--
 lisp/net/rcirc.el                    | 13 +------
 lisp/obsolete/complete.el            |  1 -
 lisp/obsolete/crisp.el               |  5 +--
 lisp/obsolete/iswitchb.el            |  3 --
 lisp/obsolete/longlines.el           |  3 --
 lisp/obsolete/mouse-sel.el           |  3 --
 lisp/obsolete/old-whitespace.el      |  1 -
 lisp/obsolete/tpu-edt.el             |  5 +--
 lisp/obsolete/tpu-extras.el          |  5 +--
 lisp/obsolete/xesam.el               |  3 --
 lisp/outline.el                      |  3 --
 lisp/paren.el                        |  3 --
 lisp/pixel-scroll.el                 |  5 +--
 lisp/progmodes/bug-reference.el      |  5 +--
 lisp/progmodes/compile.el            |  6 ---
 lisp/progmodes/cwarn.el              |  6 +--
 lisp/progmodes/flymake.el            |  3 --
 lisp/progmodes/gdb-mi.el             |  4 +-
 lisp/progmodes/glasses.el            |  7 ++--
 lisp/progmodes/gud.el                |  5 +--
 lisp/progmodes/hideif.el             |  3 --
 lisp/progmodes/hideshow.el           |  3 --
 lisp/progmodes/idlw-shell.el         |  3 --
 lisp/progmodes/pascal.el             |  3 --
 lisp/progmodes/prog-mode.el          |  3 --
 lisp/progmodes/subword.el            |  6 ---
 lisp/progmodes/vhdl-mode.el          | 10 +----
 lisp/progmodes/which-func.el         |  3 --
 lisp/recentf.el                      |  3 --
 lisp/rect.el                         |  1 +
 lisp/reveal.el                       |  9 +----
 lisp/rfn-eshadow.el                  |  3 --
 lisp/ruler-mode.el                   |  5 +--
 lisp/savehist.el                     |  3 --
 lisp/saveplace.el                    |  3 --
 lisp/scroll-all.el                   |  3 --
 lisp/scroll-bar.el                   |  6 ---
 lisp/scroll-lock.el                  | 11 +++---
 lisp/server.el                       |  3 --
 lisp/shell.el                        |  3 --
 lisp/simple.el                       | 58 ++++------------------------
 lisp/strokes.el                      |  3 --
 lisp/t-mouse.el                      |  3 --
 lisp/tar-mode.el                     | 10 ++---
 lisp/term/tvi970.el                  |  3 --
 lisp/term/vt100.el                   |  5 +--
 lisp/textmodes/artist.el             |  2 +-
 lisp/textmodes/enriched.el           |  4 --
 lisp/textmodes/flyspell.el           |  3 --
 lisp/textmodes/ispell.el             |  3 --
 lisp/textmodes/nroff-mode.el         |  3 --
 lisp/textmodes/paragraphs.el         |  3 --
 lisp/textmodes/refill.el             |  3 --
 lisp/textmodes/rst.el                |  3 --
 lisp/textmodes/sgml-mode.el          |  6 ---
 lisp/textmodes/tex-mode.el           |  3 --
 lisp/time.el                         |  3 --
 lisp/tool-bar.el                     |  3 --
 lisp/tooltip.el                      |  3 --
 lisp/type-break.el                   |  9 -----
 lisp/url/url-dired.el                |  5 +--
 lisp/url/url-handlers.el             |  5 +--
 lisp/vc/diff-mode.el                 |  6 ---
 lisp/vc/smerge-mode.el               |  4 +-
 lisp/vcursor.el                      |  3 +-
 lisp/view.el                         |  3 --
 lisp/whitespace.el                   | 20 ----------
 lisp/wid-browse.el                   |  5 +--
 lisp/winner.el                       |  3 --
 lisp/xt-mouse.el                     |  3 --
 133 files changed, 134 insertions(+), 619 deletions(-)

diff --git a/lisp/abbrev.el b/lisp/abbrev.el
index fd2f36e198..cddce8f529 100644
--- a/lisp/abbrev.el
+++ b/lisp/abbrev.el
@@ -56,9 +56,6 @@ only-global-abbrevs
 
 (define-minor-mode abbrev-mode
   "Toggle Abbrev mode in the current buffer.
-With a prefix argument ARG, enable Abbrev mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Abbrev mode if ARG is omitted or nil.
 
 In Abbrev mode, inserting an abbreviation causes it to expand and
 be replaced by its expansion."
diff --git a/lisp/allout-widgets.el b/lisp/allout-widgets.el
index 71b1b39008..5abd9788dd 100644
--- a/lisp/allout-widgets.el
+++ b/lisp/allout-widgets.el
@@ -513,9 +513,6 @@ allout-widgets-last-decoration-timing
 ;;;###autoload
 (define-minor-mode allout-widgets-mode
   "Toggle Allout Widgets mode.
-With a prefix argument ARG, enable Allout Widgets mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Allout Widgets mode is an extension of Allout mode that provides
 graphical decoration of outline structure.  It is meant to
diff --git a/lisp/allout.el b/lisp/allout.el
index 26e7f6b56c..a123ece9b9 100644
--- a/lisp/allout.el
+++ b/lisp/allout.el
@@ -1693,9 +1693,6 @@ allout-overlay-preparations
 (define-minor-mode allout-mode
 ;;;_    . Doc string:
   "Toggle Allout outline mode.
-With a prefix argument ARG, enable Allout outline mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 \\<allout-mode-map-value>
 Allout outline mode is a minor mode that provides extensive
diff --git a/lisp/autoarg.el b/lisp/autoarg.el
index 096bdefc1a..4bf5785c7d 100644
--- a/lisp/autoarg.el
+++ b/lisp/autoarg.el
@@ -90,9 +90,6 @@ autoarg-kp-mode-map
 ;;;###autoload
 (define-minor-mode autoarg-mode
   "Toggle Autoarg mode, a global minor mode.
-With a prefix argument ARG, enable Autoarg mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 \\<autoarg-mode-map>
 In Autoarg mode, digits are bound to `digit-argument', i.e. they
@@ -116,9 +113,6 @@ autoarg-mode
 ;;;###autoload
 (define-minor-mode autoarg-kp-mode
   "Toggle Autoarg-KP mode, a global minor mode.
-With a prefix argument ARG, enable Autoarg-KP mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 \\<autoarg-kp-mode-map>
 This is similar to `autoarg-mode' but rebinds the keypad keys
diff --git a/lisp/autoinsert.el b/lisp/autoinsert.el
index 7858041440..cb0d15196f 100644
--- a/lisp/autoinsert.el
+++ b/lisp/autoinsert.el
@@ -412,9 +412,6 @@ define-auto-insert
 ;;;###autoload
 (define-minor-mode auto-insert-mode
   "Toggle Auto-insert mode, a global minor mode.
-With a prefix argument ARG, enable Auto-insert mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Auto-insert mode is enabled, when new files are created you can
 insert a template for the file depending on the mode of the buffer."
diff --git a/lisp/autorevert.el b/lisp/autorevert.el
index 0a9d3bef54..c60fe010a3 100644
--- a/lisp/autorevert.el
+++ b/lisp/autorevert.el
@@ -351,9 +351,6 @@ auto-revert-remove-current-buffer
 ;;;###autoload
 (define-minor-mode auto-revert-mode
   "Toggle reverting buffer when the file changes (Auto-Revert Mode).
-With a prefix argument ARG, enable Auto-Revert Mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Auto-Revert Mode is a minor mode that affects only the current
 buffer.  When enabled, it reverts the buffer when the file on
@@ -393,9 +390,6 @@ turn-on-auto-revert-mode
 ;;;###autoload
 (define-minor-mode auto-revert-tail-mode
   "Toggle reverting tail of buffer when the file grows.
-With a prefix argument ARG, enable Auto-Revert Tail Mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Auto-Revert Tail Mode is enabled, the tail of the file is
 constantly followed, as with the shell command `tail -f'.  This
@@ -460,9 +454,6 @@ turn-on-auto-revert-tail-mode
 ;;;###autoload
 (define-minor-mode global-auto-revert-mode
   "Toggle Global Auto-Revert Mode.
-With a prefix argument ARG, enable Global Auto-Revert Mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 Global Auto-Revert Mode is a global minor mode that reverts any
 buffer associated with a file when the file changes on disk.  Use
diff --git a/lisp/battery.el b/lisp/battery.el
index ca17ae8fc3..192a6ae898 100644
--- a/lisp/battery.el
+++ b/lisp/battery.el
@@ -175,9 +175,6 @@ battery
 ;;;###autoload
 (define-minor-mode display-battery-mode
   "Toggle battery status display in mode line (Display Battery mode).
-With a prefix argument ARG, enable Display Battery mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 The text displayed in the mode line is controlled by
 `battery-mode-line-format' and `battery-status-function'.
diff --git a/lisp/cedet/ede.el b/lisp/cedet/ede.el
index 5bbc2d0f85..1168f26842 100644
--- a/lisp/cedet/ede.el
+++ b/lisp/cedet/ede.el
@@ -475,9 +475,6 @@ ede-turn-on-hook
 
 (define-minor-mode ede-minor-mode
   "Toggle EDE (Emacs Development Environment) minor mode.
-With a prefix argument ARG, enable EDE minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-EDE minor mode if ARG is omitted or nil.
 
 If this file is contained, or could be contained in an EDE
 controlled project, then this mode is activated automatically
@@ -563,9 +560,6 @@ ede-reset-all-buffers
 ;;;###autoload
 (define-minor-mode global-ede-mode
   "Toggle global EDE (Emacs Development Environment) mode.
-With a prefix argument ARG, enable global EDE mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 This global minor mode enables `ede-minor-mode' in all buffers in
 an EDE controlled project."
diff --git a/lisp/cedet/ede/dired.el b/lisp/cedet/ede/dired.el
index 33afc7e547..9600d3dd34 100644
--- a/lisp/cedet/ede/dired.el
+++ b/lisp/cedet/ede/dired.el
@@ -59,9 +59,7 @@ ede-dired-keymap
 
 ;;;###autoload
 (define-minor-mode ede-dired-minor-mode
-  "A minor mode that should only be activated in DIRED buffers.
-If ARG is nil or a positive number, force on, if
-negative, force off."
+  "A minor mode that should only be activated in DIRED buffers."
   :lighter " EDE" :keymap ede-dired-keymap
   (unless (derived-mode-p 'dired-mode)
     (setq ede-dired-minor-mode nil)
diff --git a/lisp/cedet/semantic.el b/lisp/cedet/semantic.el
index b24e2fbbb1..f0a1e6bb5a 100644
--- a/lisp/cedet/semantic.el
+++ b/lisp/cedet/semantic.el
@@ -1096,9 +1096,6 @@ semantic-default-submodes
 ;;;###autoload
 (define-minor-mode semantic-mode
   "Toggle parser features (Semantic mode).
-With a prefix argument ARG, enable Semantic mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Semantic mode if ARG is omitted or nil.
 
 In Semantic mode, Emacs parses the buffers you visit for their
 semantic content.  This information is used by a variety of
diff --git a/lisp/cedet/semantic/db-mode.el b/lisp/cedet/semantic/db-mode.el
index e6a2340b8c..638f2915f0 100644
--- a/lisp/cedet/semantic/db-mode.el
+++ b/lisp/cedet/semantic/db-mode.el
@@ -56,7 +56,6 @@ 'semanticdb-global-mode
 ;;;###autoload
 (define-minor-mode global-semanticdb-minor-mode
   "Toggle Semantic DB mode.
-With ARG, turn Semantic DB mode on if ARG is positive, off otherwise.
 
 In Semantic DB mode, Semantic parsers store results in a
 database, which can be saved for future Emacs sessions."
diff --git a/lisp/cedet/semantic/decorate/mode.el b/lisp/cedet/semantic/decorate/mode.el
index 100e221ce3..77a8471e27 100644
--- a/lisp/cedet/semantic/decorate/mode.el
+++ b/lisp/cedet/semantic/decorate/mode.el
@@ -249,13 +249,13 @@ semantic-decoration-mode-hook
 
 (define-minor-mode semantic-decoration-mode
   "Minor mode for decorating tags.
-Decorations are specified in `semantic-decoration-styles'.
-You can define new decoration styles with
+Decorations are specified in `semantic-decoration-styles'.  You
+can define new decoration styles with
 `define-semantic-decoration-style'.
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
 ;;
 ;;\\{semantic-decoration-map}"
   nil nil nil
diff --git a/lisp/cedet/semantic/idle.el b/lisp/cedet/semantic/idle.el
index 56398d0627..07b7af8942 100644
--- a/lisp/cedet/semantic/idle.el
+++ b/lisp/cedet/semantic/idle.el
@@ -172,11 +172,9 @@ semantic-idle-scheduler-mode
 is enabled, Emacs periodically checks to see if the buffer is out of
 date, and reparses while the user is idle (not typing.)
 
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
-  nil nil nil
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."  nil nil nil
   (if semantic-idle-scheduler-mode
       (if (not (and (featurep 'semantic) (semantic-active-p)))
           (progn
@@ -776,8 +774,6 @@ semantic-idle-summary-idle-function
 
 (define-minor-mode semantic-idle-summary-mode
   "Toggle Semantic Idle Summary mode.
-With ARG, turn Semantic Idle Summary mode on if ARG is positive,
-off otherwise.
 
 When this minor mode is enabled, the echo area displays a summary
 of the lexical token at point whenever Emacs is idle."
@@ -812,8 +808,6 @@ semantic-idle-summary-refresh-echo-area
 
 (define-minor-mode global-semantic-idle-summary-mode
   "Toggle Global Semantic Idle Summary mode.
-With ARG, turn Global Semantic Idle Summary mode on if ARG is
-positive, off otherwise.
 
 When this minor mode is enabled, `semantic-idle-summary-mode' is
 turned on in every Semantic-supported buffer."
@@ -931,9 +925,10 @@ semantic-idle-local-symbol-highlight
 ;;;###autoload
 (define-minor-mode global-semantic-idle-scheduler-mode
   "Toggle global use of option `semantic-idle-scheduler-mode'.
-The idle scheduler will automatically reparse buffers in idle time,
-and then schedule other jobs setup with `semantic-idle-scheduler-add'.
-If ARG is positive or nil, enable, if it is negative, disable."
+
+The idle scheduler will automatically reparse buffers in idle
+time, and then schedule other jobs setup with
+`semantic-idle-scheduler-add'."
   :global t
   :group 'semantic
   :group 'semantic-modes
diff --git a/lisp/cedet/semantic/mru-bookmark.el b/lisp/cedet/semantic/mru-bookmark.el
index ad63014890..5789881d38 100644
--- a/lisp/cedet/semantic/mru-bookmark.el
+++ b/lisp/cedet/semantic/mru-bookmark.el
@@ -252,8 +252,7 @@ global-semantic-mru-bookmark-mode
 
 ;;;###autoload
 (define-minor-mode global-semantic-mru-bookmark-mode
-  "Toggle global use of option `semantic-mru-bookmark-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-mru-bookmark-mode'."
   :global t :group 'semantic :group 'semantic-modes
   ;; Not needed because it's autoloaded instead.
   ;; :require 'semantic-util-modes
@@ -278,10 +277,9 @@ semantic-mru-bookmark-mode
 
 \\{semantic-mru-bookmark-mode-map}
 
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
   :keymap semantic-mru-bookmark-mode-map
   (if semantic-mru-bookmark-mode
       (if (not (and (featurep 'semantic) (semantic-active-p)))
diff --git a/lisp/cedet/semantic/util-modes.el b/lisp/cedet/semantic/util-modes.el
index 54c9578773..180aca5b60 100644
--- a/lisp/cedet/semantic/util-modes.el
+++ b/lisp/cedet/semantic/util-modes.el
@@ -170,8 +170,7 @@ semantic-toggle-minor-mode-globally
 
 ;;;###autoload
 (define-minor-mode global-semantic-highlight-edits-mode
-  "Toggle global use of option `semantic-highlight-edits-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-highlight-edits-mode'."
   :global t :group 'semantic :group 'semantic-modes
   (semantic-toggle-minor-mode-globally
    'semantic-highlight-edits-mode
@@ -209,10 +208,10 @@ semantic-highlight-edits-mode
 properly.
 This mode will highlight those changes as they are made, and clear them
 when the incremental parser accounts for those edits.
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
   :keymap semantic-highlight-edits-mode-map
   (if semantic-highlight-edits-mode
       (if (not (and (featurep 'semantic) (semantic-active-p)))
@@ -237,8 +236,7 @@ semantic-highlight-edits-mode
 
 ;;;###autoload
 (define-minor-mode global-semantic-show-unmatched-syntax-mode
-  "Toggle global use of option `semantic-show-unmatched-syntax-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-show-unmatched-syntax-mode'."
   :global t :group 'semantic :group 'semantic-modes
   ;; Not needed because it's autoloaded instead.
   ;; :require 'semantic/util-modes
@@ -360,10 +358,9 @@ semantic-show-unmatched-syntax-mode
 Often time, the display of unmatched syntax can expose coding
 problems before the compiler is run.
 
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled.
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled.
 
 \\{semantic-show-unmatched-syntax-mode-map}"
   :keymap semantic-show-unmatched-syntax-mode-map
@@ -410,8 +407,7 @@ semantic-show-unmatched-syntax-next
 
 ;;;###autoload
 (define-minor-mode global-semantic-show-parser-state-mode
-  "Toggle global use of option `semantic-show-parser-state-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-show-parser-state-mode'."
   :global t :group 'semantic
   ;; Not needed because it's autoloaded instead.
   ;; :require 'semantic/util-modes
@@ -440,10 +436,10 @@ semantic-show-parser-state-mode
  `~'  ->  The cache needs to be incrementally parsed.
  `%'  ->  The cache is not currently parsable.
  `@'  ->  Auto-parse in progress (not set here.)
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
   :keymap semantic-show-parser-state-mode-map
   (if semantic-show-parser-state-mode
       (if (not (and (featurep 'semantic) (semantic-active-p)))
@@ -557,8 +553,7 @@ semantic-show-parser-state-auto-marker
 
 ;;;###autoload
 (define-minor-mode global-semantic-stickyfunc-mode
-  "Toggle global use of option `semantic-stickyfunc-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-stickyfunc-mode'."
   :global t :group 'semantic :group 'semantic-modes
   ;; Not needed because it's autoloaded instead.
   ;; :require 'semantic/util-modes
@@ -700,10 +695,9 @@ semantic-stickyfunc-mode
 first line which describes the rest of the construct.  This first
 line is what is displayed in the header line.
 
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
   ;; Don't need indicator.  It's quite visible
   :keymap semantic-stickyfunc-mode-map
   (if semantic-stickyfunc-mode
@@ -837,8 +831,7 @@ semantic-stickyfunc-menu
 
 ;;;###autoload
 (define-minor-mode global-semantic-highlight-func-mode
-  "Toggle global use of option `semantic-highlight-func-mode'.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of option `semantic-highlight-func-mode'."
   :global t :group 'semantic :group 'semantic-modes
   ;; Not needed because it's autoloaded instead.
   ;; :require 'semantic/util-modes
@@ -933,10 +926,9 @@ semantic-highlight-func-mode
 header line.  This mode recycles the stickyfunc configuration
 classes list.
 
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled."
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled."
   :lighter nil ;; Don't need indicator.  It's quite visible.
   (if semantic-highlight-func-mode
       (progn
diff --git a/lisp/cedet/srecode/mode.el b/lisp/cedet/srecode/mode.el
index 76e7e08761..28e8b3b64e 100644
--- a/lisp/cedet/srecode/mode.el
+++ b/lisp/cedet/srecode/mode.el
@@ -148,10 +148,10 @@ srecode-mode-map
 ;;;###autoload
 (define-minor-mode srecode-minor-mode
   "Toggle srecode minor mode.
-With prefix argument ARG, turn on if positive, otherwise off.  The
-minor mode can be turned on only if semantic feature is available and
-the current buffer was set up for parsing.  Return non-nil if the
-minor mode is enabled.
+
+The minor mode can be turned on only if semantic feature is
+available and the current buffer was set up for parsing.  Return
+non-nil if the minor mode is enabled.
 
 \\{srecode-mode-map}"
   :keymap srecode-mode-map
@@ -176,8 +176,7 @@ srecode-minor-mode
 
 ;;;###autoload
 (define-minor-mode global-srecode-minor-mode
-  "Toggle global use of srecode minor mode.
-If ARG is positive or nil, enable, if it is negative, disable."
+  "Toggle global use of srecode minor mode."
   :global t :group 'srecode
   ;; Not needed because it's autoloaded instead.
   ;; :require 'srecode/mode
diff --git a/lisp/completion.el b/lisp/completion.el
index 2ddf0999e4..66b413f6af 100644
--- a/lisp/completion.el
+++ b/lisp/completion.el
@@ -2275,10 +2275,7 @@ completion-saved-bindings
 
 ;;;###autoload
 (define-minor-mode dynamic-completion-mode
-  "Toggle dynamic word-completion on or off.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Toggle dynamic word-completion on or off."
   :global t
   :group 'completion
   ;; This is always good, not specific to dynamic-completion-mode.
diff --git a/lisp/composite.el b/lisp/composite.el
index 76949fb582..7daea54c9e 100644
--- a/lisp/composite.el
+++ b/lisp/composite.el
@@ -829,9 +829,6 @@ auto-compose-chars
 ;;;###autoload
 (define-minor-mode auto-composition-mode
   "Toggle Auto Composition mode.
-With a prefix argument ARG, enable Auto Composition mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Auto Composition mode is enabled, text characters are
 automatically composed by functions registered in
@@ -847,9 +844,6 @@ auto-composition-mode
 ;;;###autoload
 (define-minor-mode global-auto-composition-mode
   "Toggle Auto Composition mode in all buffers.
-With a prefix argument ARG, enable it if ARG is positive, and
-disable it otherwise.  If called from Lisp, enable it if ARG is
-omitted or nil.
 
 For more information on Auto Composition mode, see
 `auto-composition-mode' ."
diff --git a/lisp/delsel.el b/lisp/delsel.el
index bfccdc6a4c..a3c2934947 100644
--- a/lisp/delsel.el
+++ b/lisp/delsel.el
@@ -70,12 +70,6 @@ 'pending-delete-mode
 ;;;###autoload
 (define-minor-mode delete-selection-mode
   "Toggle Delete Selection mode.
-Interactively, with a prefix argument, enable
-Delete Selection mode if the prefix argument is positive,
-and disable it otherwise.  If called from Lisp, toggle
-the mode if ARG is `toggle', disable the mode if ARG is
-a non-positive integer, and enable the mode otherwise
-\(including if ARG is omitted or nil or a positive integer).
 
 When Delete Selection mode is enabled, typed text replaces the selection
 if the selection is active.  Otherwise, typed text is just inserted at
diff --git a/lisp/desktop.el b/lisp/desktop.el
index 3e1ba200b5..a9fa2873b3 100644
--- a/lisp/desktop.el
+++ b/lisp/desktop.el
@@ -161,9 +161,6 @@ desktop
 ;;;###autoload
 (define-minor-mode desktop-save-mode
   "Toggle desktop saving (Desktop Save mode).
-With a prefix argument ARG, enable Desktop Save mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode if ARG
-is omitted or nil.
 
 When Desktop Save mode is enabled, the state of Emacs is saved from
 one session to another.  In particular, Emacs will save the desktop when
diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index 4517dedeeb..f07a5deb4f 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -139,9 +139,6 @@ dired-omit-case-fold-p
 
 (define-minor-mode dired-omit-mode
   "Toggle omission of uninteresting files in Dired (Dired-Omit mode).
-With a prefix argument ARG, enable Dired-Omit mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Dired-Omit mode is a buffer-local minor mode.  When enabled in a
 Dired buffer, Dired does not list files whose filenames match
diff --git a/lisp/dirtrack.el b/lisp/dirtrack.el
index e5e1497c4d..862268d49b 100644
--- a/lisp/dirtrack.el
+++ b/lisp/dirtrack.el
@@ -184,9 +184,6 @@ 'dirtrackp
 ;;;###autoload
 (define-minor-mode dirtrack-mode
   "Toggle directory tracking in shell buffers (Dirtrack mode).
-With a prefix argument ARG, enable Dirtrack mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 This method requires that your shell prompt contain the current
 working directory at all times, and that you set the variable
@@ -205,10 +202,7 @@ 'dirtrack-debug-toggle
   "23.1")
 (define-obsolete-variable-alias 'dirtrack-debug 'dirtrack-debug-mode "23.1")
 (define-minor-mode dirtrack-debug-mode
-  "Toggle Dirtrack debugging.
-With a prefix argument ARG, enable Dirtrack debugging if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle Dirtrack debugging."
   nil nil nil
   (if dirtrack-debug-mode
       (display-buffer (get-buffer-create dirtrack-debug-buffer))))
diff --git a/lisp/doc-view.el b/lisp/doc-view.el
index 970e12402d..017b6c5fd9 100644
--- a/lisp/doc-view.el
+++ b/lisp/doc-view.el
@@ -1859,9 +1859,6 @@ doc-view-mode-maybe
 ;;;###autoload
 (define-minor-mode doc-view-minor-mode
   "Toggle displaying buffer via Doc View (Doc View minor mode).
-With a prefix argument ARG, enable Doc View minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 See the command `doc-view-mode' for more information on this mode."
   nil " DocView" doc-view-minor-mode-map
diff --git a/lisp/double.el b/lisp/double.el
index 4334a4ca70..b21fe5bc20 100644
--- a/lisp/double.el
+++ b/lisp/double.el
@@ -150,9 +150,6 @@ double-translate-key
 ;;;###autoload
 (define-minor-mode double-mode
   "Toggle special insertion on double keypresses (Double mode).
-With a prefix argument ARG, enable Double mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Double mode is enabled, some keys will insert different
 strings when pressed twice.  See `double-map' for details."
diff --git a/lisp/elec-pair.el b/lisp/elec-pair.el
index 85c25f0469..7df7098295 100644
--- a/lisp/elec-pair.el
+++ b/lisp/elec-pair.el
@@ -581,9 +581,6 @@ electric-pair-mode-map
 ;;;###autoload
 (define-minor-mode electric-pair-mode
   "Toggle automatic parens pairing (Electric Pair mode).
-With a prefix argument ARG, enable Electric Pair mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Electric Pair mode is a global minor mode.  When enabled, typing
 an open parenthesis automatically inserts the corresponding
diff --git a/lisp/electric.el b/lisp/electric.el
index c00e7c00a5..72a3978344 100644
--- a/lisp/electric.el
+++ b/lisp/electric.el
@@ -314,9 +314,6 @@ electric-newline-and-maybe-indent
 ;;;###autoload
 (define-minor-mode electric-indent-mode
   "Toggle on-the-fly reindentation (Electric Indent mode).
-With a prefix argument ARG, enable Electric Indent mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When enabled, this reindents whenever the hook `electric-indent-functions'
 returns non-nil, or if you insert a character from `electric-indent-chars'.
@@ -400,9 +397,7 @@ electric-layout-post-self-insert-function
 ;;;###autoload
 (define-minor-mode electric-layout-mode
   "Automatically insert newlines around some chars.
-With a prefix argument ARG, enable Electric Layout mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
+
 The variable `electric-layout-rules' says when and how to insert newlines."
   :global t :group 'electricity
   (cond (electric-layout-mode
@@ -540,9 +535,6 @@ electric-quote-post-self-insert-function
 ;;;###autoload
 (define-minor-mode electric-quote-mode
   "Toggle on-the-fly requoting (Electric Quote mode).
-With a prefix argument ARG, enable Electric Quote mode if
-ARG is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When enabled, as you type this replaces \\=` with ‘, \\=' with ’,
 \\=`\\=` with “, and \\='\\=' with ”.  This occurs only in comments, strings,
diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el
index 300a3908c1..1b3b23d887 100644
--- a/lisp/emacs-lisp/checkdoc.el
+++ b/lisp/emacs-lisp/checkdoc.el
@@ -1237,9 +1237,6 @@ checkdoc-minor-mode-map
 ;;;###autoload
 (define-minor-mode checkdoc-minor-mode
   "Toggle automatic docstring checking (Checkdoc minor mode).
-With a prefix argument ARG, enable Checkdoc minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 In Checkdoc minor mode, the usual bindings for `eval-defun' which is
 bound to \\<checkdoc-minor-mode-map>\\[checkdoc-eval-defun] and `checkdoc-eval-current-buffer' are overridden to include
diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el
index a81b6fefb2..3c58ca9020 100644
--- a/lisp/emacs-lisp/easy-mmode.el
+++ b/lisp/emacs-lisp/easy-mmode.el
@@ -81,6 +81,26 @@ easy-mmode-pretty-mode-name
       ;; space.)
       (replace-regexp-in-string (regexp-quote lighter) lighter name t t))))
 
+(defconst easy-mmode-arg-docstring
+  "
+
+If called interactively, enable %s if ARG is positive, and
+disable it if ARG is zero or negative.  If called from Lisp,
+also enable the mode if ARG is omitted or nil, and toggle it
+if ARG is `toggle'; disable the mode otherwise.")
+
+(defun easy-mmode-mode-docstring (doc mode-pretty-name keymap-sym)
+  (let ((doc (or doc (format "Toggle %s on or off.
+
+\\{%s}" mode-pretty-name keymap-sym))))
+    (if (string-match-p "\\bARG\\b" doc)
+        doc
+      (let ((argdoc (format easy-mmode-arg-docstring
+                            mode-pretty-name)))
+        (replace-regexp-in-string "\\(\n\n\\|\\'\\)\\(.\\|\n\\)*\\'"
+                                  (concat argdoc "\\1")
+                                  doc nil nil 1)))))
+
 ;;;###autoload
 (defalias 'easy-mmode-define-minor-mode 'define-minor-mode)
 ;;;###autoload
@@ -101,7 +121,9 @@ define-minor-mode
 if the argument is omitted or nil or a positive integer).
 
 If DOC is nil, give the mode command a basic doc-string
-documenting what its argument does.
+documenting what its argument does.  If the word \"ARG\" does not
+appear in DOC, a paragraph will be to appended to DOC explaining
+usages of the mode argument.
 
 Optional INIT-VALUE is the initial value of the mode's variable.
 Optional LIGHTER is displayed in the mode line when the mode is on.
@@ -270,12 +292,7 @@ define-minor-mode
 
        ;; The actual function.
        (defun ,modefun (&optional arg ,@extra-args)
-	 ,(or doc
-	      (format (concat "Toggle %s on or off.
-With a prefix argument ARG, enable %s if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'.
-\\{%s}") pretty-name pretty-name keymap-sym))
+         ,(easy-mmode-mode-docstring doc pretty-name keymap-sym)
 	 ;; Use `toggle' rather than (if ,mode 0 1) so that using
 	 ;; repeat-command still does the toggling correctly.
 	 (interactive (list (or current-prefix-arg 'toggle)))
diff --git a/lisp/emacs-lisp/eldoc.el b/lisp/emacs-lisp/eldoc.el
index a662265f4b..49ba71fb1b 100644
--- a/lisp/emacs-lisp/eldoc.el
+++ b/lisp/emacs-lisp/eldoc.el
@@ -177,9 +177,6 @@ eldoc-edit-message-commands
 ;;;###autoload
 (define-minor-mode eldoc-mode
   "Toggle echo area display of Lisp objects at point (ElDoc mode).
-With a prefix argument ARG, enable ElDoc mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable ElDoc mode
-if ARG is omitted or nil.
 
 ElDoc mode is a buffer-local minor mode.  When enabled, the echo
 area displays information about a function or variable in the
diff --git a/lisp/emacs-lock.el b/lisp/emacs-lock.el
index b6e28fb253..0733c3326c 100644
--- a/lisp/emacs-lock.el
+++ b/lisp/emacs-lock.el
@@ -189,9 +189,7 @@ emacs-lock--set-mode
 (define-minor-mode emacs-lock-mode
   "Toggle Emacs Lock mode in the current buffer.
 If called with a plain prefix argument, ask for the locking mode
-to be used.  With any other prefix ARG, turn mode on if ARG is
-positive, off otherwise.  If called from Lisp, enable the mode if
-ARG is omitted or nil.
+to be used.
 
 Initially, if the user does not pass an explicit locking mode, it
 defaults to `emacs-lock-default-locking-mode' (which see);
diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el
index ff23484dd0..f1143425eb 100644
--- a/lisp/emulation/cua-base.el
+++ b/lisp/emulation/cua-base.el
@@ -1318,9 +1318,6 @@ delete-selection-save-to-register
 ;;;###autoload
 (define-minor-mode cua-mode
   "Toggle Common User Access style editing (CUA mode).
-With a prefix argument ARG, enable CUA mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 CUA mode is a global minor mode.  When enabled, typed text
 replaces the active selection, and you can use C-z, C-x, C-c, and
diff --git a/lisp/epa-hook.el b/lisp/epa-hook.el
index 135c956c3f..19f131cc33 100644
--- a/lisp/epa-hook.el
+++ b/lisp/epa-hook.el
@@ -83,10 +83,7 @@ epa-file-find-file-hook
       (auto-save-mode 0)))
 
 (define-minor-mode auto-encryption-mode
-  "Toggle automatic file encryption/decryption (Auto Encryption mode).
-With a prefix argument ARG, enable Auto Encryption mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle automatic file encryption/decryption (Auto Encryption mode)."
   :global t :init-value t :group 'epa-file :version "23.1"
   ;; We'd like to use custom-initialize-set here so the setup is done
   ;; before dumping, but at the point where the defcustom is evaluated,
diff --git a/lisp/epa-mail.el b/lisp/epa-mail.el
index 7f4c28e967..008593712b 100644
--- a/lisp/epa-mail.el
+++ b/lisp/epa-mail.el
@@ -47,10 +47,7 @@ epa-mail-mode-off-hook
 
 ;;;###autoload
 (define-minor-mode epa-mail-mode
-  "A minor-mode for composing encrypted/clearsigned mails.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "A minor-mode for composing encrypted/clearsigned mails."
   nil " epa-mail" epa-mail-mode-map)
 
 (defun epa-mail--find-usable-key (keys usage)
@@ -238,10 +235,7 @@ epa-mail-import-keys
 
 ;;;###autoload
 (define-minor-mode epa-global-mail-mode
-  "Minor mode to hook EasyPG into Mail mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode to hook EasyPG into Mail mode."
   :global t :init-value nil :group 'epa-mail :version "23.1"
   (remove-hook 'mail-mode-hook 'epa-mail-mode)
   (if epa-global-mail-mode
diff --git a/lisp/erc/erc-track.el b/lisp/erc/erc-track.el
index 7817a0799e..cae18f6093 100644
--- a/lisp/erc/erc-track.el
+++ b/lisp/erc/erc-track.el
@@ -495,9 +495,6 @@ erc-track-minor-mode-map
 ;;;###autoload
 (define-minor-mode erc-track-minor-mode
   "Toggle mode line display of ERC activity (ERC Track minor mode).
-With a prefix argument ARG, enable ERC Track minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 ERC Track minor mode is a global minor mode.  It exists for the
 sole purpose of providing the C-c C-SPC and C-c C-@ keybindings.
diff --git a/lisp/face-remap.el b/lisp/face-remap.el
index 476736773b..c6a976deb0 100644
--- a/lisp/face-remap.el
+++ b/lisp/face-remap.el
@@ -229,9 +229,6 @@ text-scale-mode-amount
 
 (define-minor-mode text-scale-mode
   "Minor mode for displaying buffer text in a larger/smaller font.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 The amount of scaling is determined by the variable
 `text-scale-mode-amount': one step scales the global default
@@ -387,10 +384,9 @@ buffer-face-mode-remapping
 ;;;###autoload
 (define-minor-mode buffer-face-mode
   "Minor mode for a buffer-specific default face.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.  When enabled, the face specified by the
-variable `buffer-face-mode-face' is used to display the buffer text."
+
+When enabled, the face specified by the variable
+`buffer-face-mode-face' is used to display the buffer text."
   :lighter " BufFace"
   (when buffer-face-mode-remapping
     (face-remap-remove-relative buffer-face-mode-remapping))
diff --git a/lisp/files.el b/lisp/files.el
index 398e6dc12b..31e2f39a8d 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -419,14 +419,10 @@ auto-save-visited-interval
 
 (define-minor-mode auto-save-visited-mode
   "Toggle automatic saving to file-visiting buffers on or off.
-With a prefix argument ARG, enable regular saving of all buffers
-visiting a file if ARG is positive, and disable it otherwise.
+
 Unlike `auto-save-mode', this mode will auto-save buffer contents
 to the visited files directly and will also run all save-related
-hooks.  See Info node `Saving' for details of the save process.
-
-If called from Lisp, enable the mode if ARG is omitted or nil,
-and toggle it if ARG is `toggle'."
+hooks.  See Info node `Saving' for details of the save process."
   :group 'auto-save
   :global t
   (when auto-save--timer (cancel-timer auto-save--timer))
diff --git a/lisp/follow.el b/lisp/follow.el
index fd397c077b..7aa7b51473 100644
--- a/lisp/follow.el
+++ b/lisp/follow.el
@@ -383,9 +383,6 @@ turn-off-follow-mode
 ;;;###autoload
 (define-minor-mode follow-mode
   "Toggle Follow mode.
-With a prefix argument ARG, enable Follow mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Follow mode is a minor mode that combines windows into one tall
 virtual window.  This is accomplished by two main techniques:
diff --git a/lisp/font-core.el b/lisp/font-core.el
index ace1476eda..c5b036e04f 100644
--- a/lisp/font-core.el
+++ b/lisp/font-core.el
@@ -78,9 +78,6 @@ font-lock-major-mode
 
 (define-minor-mode font-lock-mode
   "Toggle syntax highlighting in this buffer (Font Lock mode).
-With a prefix argument ARG, enable Font Lock mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Font Lock mode is enabled, text is fontified as you type it:
 
diff --git a/lisp/frame.el b/lisp/frame.el
index 70b4b242a0..56b8c5487c 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -1382,9 +1382,6 @@ set-border-color
 
 (define-minor-mode auto-raise-mode
   "Toggle whether or not selected frames should auto-raise.
-With a prefix argument ARG, enable Auto Raise mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Auto Raise mode does nothing under most window managers, which
 switch focus on mouse clicks.  It only has an effect if your
@@ -1402,9 +1399,6 @@ auto-raise-mode
 
 (define-minor-mode auto-lower-mode
   "Toggle whether or not the selected frame should auto-lower.
-With a prefix argument ARG, enable Auto Lower mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Auto Lower mode does nothing under most window managers, which
 switch focus on mouse clicks.  It only has an effect if your
@@ -2297,9 +2291,6 @@ window-divider-mode-apply
 
 (define-minor-mode window-divider-mode
   "Display dividers between windows (Window Divider mode).
-With a prefix argument ARG, enable Window Divider mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 The option `window-divider-default-places' specifies on which
 side of a window dividers are displayed.  The options
@@ -2450,9 +2441,6 @@ blink-cursor--rescan-frames
 
 (define-minor-mode blink-cursor-mode
   "Toggle cursor blinking (Blink Cursor mode).
-With a prefix argument ARG, enable Blink Cursor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 If the value of `blink-cursor-blinks' is positive (10 by default),
 the cursor stops blinking after that number of blinks, if Emacs
diff --git a/lisp/help.el b/lisp/help.el
index 985d9c567a..28288e57f6 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -1107,9 +1107,6 @@ temp-buffer-max-width
 
 (define-minor-mode temp-buffer-resize-mode
   "Toggle auto-resizing temporary buffer windows (Temp Buffer Resize Mode).
-With a prefix argument ARG, enable Temp Buffer Resize mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Temp Buffer Resize mode is enabled, the windows in which we
 show a temporary buffer are automatically resized in height to
diff --git a/lisp/hexl.el b/lisp/hexl.el
index f37be9d410..f3b5d7d4cc 100644
--- a/lisp/hexl.el
+++ b/lisp/hexl.el
@@ -997,6 +997,7 @@ hexl-insert-octal-char
 
 (define-minor-mode hexl-follow-ascii-mode
   "Minor mode to follow ASCII in current Hexl buffer.
+
 When following is enabled, the ASCII character corresponding to the
 element under the point is highlighted.
 The default activation is controlled by `hexl-follow-ascii'."
diff --git a/lisp/hi-lock.el b/lisp/hi-lock.el
index f3a329f467..13ebffb1af 100644
--- a/lisp/hi-lock.el
+++ b/lisp/hi-lock.el
@@ -289,9 +289,6 @@ hi-lock-map
 ;;;###autoload
 (define-minor-mode hi-lock-mode
   "Toggle selective highlighting of patterns (Hi Lock mode).
-With a prefix argument ARG, enable Hi Lock mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Hi Lock mode is automatically enabled when you invoke any of the
 highlighting commands listed below, such as \\[highlight-regexp].
diff --git a/lisp/hilit-chg.el b/lisp/hilit-chg.el
index 9d4d2d8b38..70bf6b44b9 100644
--- a/lisp/hilit-chg.el
+++ b/lisp/hilit-chg.el
@@ -319,9 +319,6 @@ hilit-chg-string
 ;;;###autoload
 (define-minor-mode highlight-changes-mode
   "Toggle highlighting changes in this buffer (Highlight Changes mode).
-With a prefix argument ARG, enable Highlight Changes mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Highlight Changes is enabled, changes are marked with a text
 property.  Normally they are displayed in a distinctive face, but
@@ -360,9 +357,6 @@ highlight-changes-mode
 ;;;###autoload
 (define-minor-mode highlight-changes-visible-mode
   "Toggle visibility of highlighting due to Highlight Changes mode.
-With a prefix argument ARG, enable Highlight Changes Visible mode
-if ARG is positive, and disable it otherwise.  If called from
-Lisp, enable the mode if ARG is omitted or nil.
 
 Highlight Changes Visible mode only has an effect when Highlight
 Changes mode is on.  When enabled, the changed text is displayed
diff --git a/lisp/hl-line.el b/lisp/hl-line.el
index fc75b478c8..f0ee22a1da 100644
--- a/lisp/hl-line.el
+++ b/lisp/hl-line.el
@@ -132,9 +132,6 @@ hl-line-overlay-buffer
 ;;;###autoload
 (define-minor-mode hl-line-mode
   "Toggle highlighting of the current line (Hl-Line mode).
-With a prefix argument ARG, enable Hl-Line mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Hl-Line mode is a buffer-local minor mode.  If
 `hl-line-sticky-flag' is non-nil, Hl-Line mode highlights the
@@ -203,9 +200,6 @@ hl-line-maybe-unhighlight
 ;;;###autoload
 (define-minor-mode global-hl-line-mode
   "Toggle line highlighting in all buffers (Global Hl-Line mode).
-With a prefix argument ARG, enable Global Hl-Line mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 If `global-hl-line-sticky-flag' is non-nil, Global Hl-Line mode
 highlights the line about the current buffer's point in all live
diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el
index a1adb1df35..d9949d2835 100644
--- a/lisp/ibuf-ext.el
+++ b/lisp/ibuf-ext.el
@@ -403,10 +403,7 @@ ibuffer-ext-visible-p
 
 ;;;###autoload
 (define-minor-mode ibuffer-auto-mode
-  "Toggle use of Ibuffer's auto-update facility (Ibuffer Auto mode).
-With a prefix argument ARG, enable Ibuffer Auto mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle use of Ibuffer's auto-update facility (Ibuffer Auto mode)."
   nil nil nil
   (unless (derived-mode-p 'ibuffer-mode)
     (error "This buffer is not in Ibuffer mode"))
diff --git a/lisp/icomplete.el b/lisp/icomplete.el
index b37db8869b..ad5a9d017d 100644
--- a/lisp/icomplete.el
+++ b/lisp/icomplete.el
@@ -194,9 +194,6 @@ icomplete-backward-completions
 ;;;###autoload
 (define-minor-mode icomplete-mode
   "Toggle incremental minibuffer completion (Icomplete mode).
-With a prefix argument ARG, enable Icomplete mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When this global minor mode is enabled, typing in the minibuffer
 continuously displays a list of possible completions that match
diff --git a/lisp/ido.el b/lisp/ido.el
index 705e7dd630..18cc03f0df 100644
--- a/lisp/ido.el
+++ b/lisp/ido.el
@@ -1579,10 +1579,7 @@ ido-common-initialization
   (add-hook 'choose-completion-string-functions 'ido-choose-completion-string))
 
 (define-minor-mode ido-everywhere
-  "Toggle use of Ido for all buffer/file reading.
-With a prefix argument ARG, enable this feature if ARG is
-positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil."
+  "Toggle use of Ido for all buffer/file reading."
   :global t
   :group 'ido
   (remove-function read-file-name-function #'ido-read-file-name)
diff --git a/lisp/image-file.el b/lisp/image-file.el
index 8a04afc25f..19dc7878a5 100644
--- a/lisp/image-file.el
+++ b/lisp/image-file.el
@@ -179,9 +179,6 @@ image-file-call-underlying
 ;;;###autoload
 (define-minor-mode auto-image-file-mode
   "Toggle visiting of image files as images (Auto Image File mode).
-With a prefix argument ARG, enable Auto Image File mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 An image file is one whose name has an extension in
 `image-file-name-extensions', or matches a regexp in
diff --git a/lisp/image-mode.el b/lisp/image-mode.el
index 0925c6ef9c..19fa28d440 100644
--- a/lisp/image-mode.el
+++ b/lisp/image-mode.el
@@ -617,9 +617,6 @@ image-mode
 ;;;###autoload
 (define-minor-mode image-minor-mode
   "Toggle Image minor mode in this buffer.
-With a prefix argument ARG, enable Image minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Image minor mode provides the key \\<image-mode-map>\\[image-toggle-display],
 to switch back to `image-mode' and display an image file as the
diff --git a/lisp/international/iso-ascii.el b/lisp/international/iso-ascii.el
index 0103d934b2..bcb285eda0 100644
--- a/lisp/international/iso-ascii.el
+++ b/lisp/international/iso-ascii.el
@@ -163,10 +163,7 @@ iso-ascii-display
 (iso-ascii-display 255 "\"y") ; small y with diaeresis or umlaut mark
 
 (define-minor-mode iso-ascii-mode
-  "Toggle ISO-ASCII mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Toggle ISO-ASCII mode."
   :variable ((eq standard-display-table iso-ascii-display-table)
              . (lambda (v)
                  (setq standard-display-table
diff --git a/lisp/jit-lock.el b/lisp/jit-lock.el
index df7272c12e..2b13c60bc6 100644
--- a/lisp/jit-lock.el
+++ b/lisp/jit-lock.el
@@ -266,6 +266,7 @@ jit-lock-mode
 
 (define-minor-mode jit-lock-debug-mode
   "Minor mode to help debug code run from jit-lock.
+
 When this minor mode is enabled, jit-lock runs as little code as possible
 during redisplay and moves the rest to a timer, where things
 like `debug-on-error' and Edebug can be used."
diff --git a/lisp/jka-cmpr-hook.el b/lisp/jka-cmpr-hook.el
index cca8ef703f..d800b60513 100644
--- a/lisp/jka-cmpr-hook.el
+++ b/lisp/jka-cmpr-hook.el
@@ -347,9 +347,6 @@ jka-compr-load-suffixes
 
 (define-minor-mode auto-compression-mode
   "Toggle Auto Compression mode.
-With a prefix argument ARG, enable Auto Compression mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 Auto Compression mode is a global minor mode.  When enabled,
 compressed files are automatically uncompressed for reading, and
diff --git a/lisp/language/thai-util.el b/lisp/language/thai-util.el
index b550b65a56..d6c9732a9e 100644
--- a/lisp/language/thai-util.el
+++ b/lisp/language/thai-util.el
@@ -256,11 +256,10 @@ thai-word-mode-map
 
 (define-minor-mode thai-word-mode
   "Minor mode to make word-oriented commands aware of Thai words.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.  The commands affected are
-\\[forward-word], \\[backward-word], \\[kill-word], \\[backward-kill-word],
-\\[transpose-words], and \\[fill-paragraph]."
+
+The commands affected are \\[forward-word], \\[backward-word],
+\\[kill-word], \\[backward-kill-word], \\[transpose-words], and
+\\[fill-paragraph]."
   :global t :group 'mule
   (cond (thai-word-mode
 	 ;; This enables linebreak between Thai characters.
diff --git a/lisp/linum.el b/lisp/linum.el
index 9df0c5d023..6e673e58b0 100644
--- a/lisp/linum.el
+++ b/lisp/linum.el
@@ -75,12 +75,10 @@ linum-delay
 ;;;###autoload
 (define-minor-mode linum-mode
   "Toggle display of line numbers in the left margin (Linum mode).
-With a prefix argument ARG, enable Linum mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 Linum mode is a buffer-local minor mode."
   :lighter ""                           ; for desktop.el
+  :append-arg-docstring t
   (if linum-mode
       (progn
         (if linum-eager
diff --git a/lisp/mail/footnote.el b/lisp/mail/footnote.el
index d35b87046f..f5d280ae1e 100644
--- a/lisp/mail/footnote.el
+++ b/lisp/mail/footnote.el
@@ -945,9 +945,6 @@ footnote-minor-mode-map
 ;;;###autoload
 (define-minor-mode footnote-mode
   "Toggle Footnote mode.
-With a prefix argument ARG, enable Footnote mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Footnote mode is a buffer-local minor mode.  If enabled, it
 provides footnote support for `message-mode'.  To get started,
diff --git a/lisp/mail/mailabbrev.el b/lisp/mail/mailabbrev.el
index ba1688f411..0ce1a3b12b 100644
--- a/lisp/mail/mailabbrev.el
+++ b/lisp/mail/mailabbrev.el
@@ -134,9 +134,6 @@ mail-abbrev
 ;;;###autoload
 (define-minor-mode mail-abbrevs-mode
   "Toggle abbrev expansion of mail aliases (Mail Abbrevs mode).
-With a prefix argument ARG, enable Mail Abbrevs mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Mail Abbrevs mode is a global minor mode.  When enabled,
 abbrev-like expansion is performed when editing certain mail
diff --git a/lisp/master.el b/lisp/master.el
index 4891c07166..7176897902 100644
--- a/lisp/master.el
+++ b/lisp/master.el
@@ -73,9 +73,6 @@ master-set-slave-hook
 ;;;###autoload
 (define-minor-mode master-mode
   "Toggle Master mode.
-With a prefix argument ARG, enable Master mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Master mode is enabled, you can scroll the slave buffer
 using the following commands:
diff --git a/lisp/mb-depth.el b/lisp/mb-depth.el
index e75e497999..84c73cadfa 100644
--- a/lisp/mb-depth.el
+++ b/lisp/mb-depth.el
@@ -58,9 +58,6 @@ minibuffer-depth-setup
 ;;;###autoload
 (define-minor-mode minibuffer-depth-indicate-mode
   "Toggle Minibuffer Depth Indication mode.
-With a prefix argument ARG, enable Minibuffer Depth Indication
-mode if ARG is positive, and disable it otherwise.  If called
-from Lisp, enable the mode if ARG is omitted or nil.
 
 Minibuffer Depth Indication mode is a global minor mode.  When
 enabled, any recursive use of the minibuffer will show the
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 25e016247b..ad59533e26 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -2285,9 +2285,6 @@ menu-bar-update-buffers
 \f
 (define-minor-mode menu-bar-mode
   "Toggle display of a menu bar on each frame (Menu Bar mode).
-With a prefix argument ARG, enable Menu Bar mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, also
-enable Menu Bar mode if ARG is omitted or nil.
 
 This command applies to all frames that exist and frames to be
 created in the future."
diff --git a/lisp/minibuf-eldef.el b/lisp/minibuf-eldef.el
index 07663ea6a6..a81e663589 100644
--- a/lisp/minibuf-eldef.el
+++ b/lisp/minibuf-eldef.el
@@ -163,9 +163,6 @@ minibuf-eldef-update-minibuffer
 ;;;###autoload
 (define-minor-mode minibuffer-electric-default-mode
   "Toggle Minibuffer Electric Default mode.
-With a prefix argument ARG, enable Minibuffer Electric Default
-mode if ARG is positive, and disable it otherwise.  If called
-from Lisp, enable the mode if ARG is omitted or nil.
 
 Minibuffer Electric Default mode is a global minor mode.  When
 enabled, minibuffer prompts that show a default value only show
diff --git a/lisp/msb.el b/lisp/msb.el
index 383f075bf9..91d83d2e4a 100644
--- a/lisp/msb.el
+++ b/lisp/msb.el
@@ -1132,9 +1132,6 @@ msb-mode-map
 ;;;###autoload
 (define-minor-mode msb-mode
   "Toggle Msb mode.
-With a prefix argument ARG, enable Msb mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 This mode overrides the binding(s) of `mouse-buffer-menu' to provide a
 different buffer menu using the function `msb'."
diff --git a/lisp/mwheel.el b/lisp/mwheel.el
index f055df9ee8..876659f1f7 100644
--- a/lisp/mwheel.el
+++ b/lisp/mwheel.el
@@ -309,10 +309,7 @@ mwheel-scroll
 (defvar mwheel-installed-bindings nil)
 
 (define-minor-mode mouse-wheel-mode
-  "Toggle mouse wheel support (Mouse Wheel mode).
-With a prefix argument ARG, enable Mouse Wheel mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle mouse wheel support (Mouse Wheel mode)."
   :init-value t
   ;; We'd like to use custom-initialize-set here so the setup is done
   ;; before dumping, but at the point where the defcustom is evaluated,
diff --git a/lisp/net/goto-addr.el b/lisp/net/goto-addr.el
index cc1cdd1518..db59df374b 100644
--- a/lisp/net/goto-addr.el
+++ b/lisp/net/goto-addr.el
@@ -270,10 +270,7 @@ goto-address
 
 ;;;###autoload
 (define-minor-mode goto-address-mode
-  "Minor mode to buttonize URLs and e-mail addresses in the current buffer.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode to buttonize URLs and e-mail addresses in the current buffer."
   nil
   ""
   nil
diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el
index abd969216f..5b63e0c34d 100644
--- a/lisp/net/rcirc.el
+++ b/lisp/net/rcirc.el
@@ -186,9 +186,6 @@ rcirc-prompt-start-marker
 
 (define-minor-mode rcirc-omit-mode
   "Toggle the hiding of \"uninteresting\" lines.
-With a prefix argument ARG, enable Rcirc-Omit mode if ARG is
-positive, and disable it otherwise. If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Uninteresting lines are those whose responses are listed in
 `rcirc-omit-responses'."
@@ -1353,10 +1350,7 @@ rcirc-multiline-minor-mode-map
   "Keymap for multiline mode in rcirc.")
 
 (define-minor-mode rcirc-multiline-minor-mode
-  "Minor mode for editing multiple lines in rcirc.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode for editing multiple lines in rcirc."
   :init-value nil
   :lighter " rcirc-mline"
   :keymap rcirc-multiline-minor-mode-map
@@ -1867,10 +1861,7 @@ rcirc-track-minor-mode-map
 
 ;;;###autoload
 (define-minor-mode rcirc-track-minor-mode
-  "Global minor mode for tracking activity in rcirc buffers.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Global minor mode for tracking activity in rcirc buffers."
   :init-value nil
   :lighter ""
   :keymap rcirc-track-minor-mode-map
diff --git a/lisp/obsolete/complete.el b/lisp/obsolete/complete.el
index ee6af77029..f5e4328d33 100644
--- a/lisp/obsolete/complete.el
+++ b/lisp/obsolete/complete.el
@@ -191,7 +191,6 @@ PC-goto-end
 ;;;###autoload
 (define-minor-mode partial-completion-mode
   "Toggle Partial Completion mode.
-With prefix ARG, turn Partial Completion mode on if ARG is positive.
 
 When Partial Completion mode is enabled, TAB (or M-TAB if `PC-meta-flag' is
 nil) is enhanced so that if some string is divided into words and each word is
diff --git a/lisp/obsolete/crisp.el b/lisp/obsolete/crisp.el
index 1d09d9e223..4bd555a72e 100644
--- a/lisp/obsolete/crisp.el
+++ b/lisp/obsolete/crisp.el
@@ -353,10 +353,7 @@ crisp-meta-x-wrapper
 
 ;;;###autoload
 (define-minor-mode crisp-mode
-  "Toggle CRiSP/Brief emulation (CRiSP mode).
-With a prefix argument ARG, enable CRiSP mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Toggle CRiSP/Brief emulation (CRiSP mode)."
   :keymap crisp-mode-map
   :lighter crisp-mode-mode-line-string
   (when crisp-mode
diff --git a/lisp/obsolete/iswitchb.el b/lisp/obsolete/iswitchb.el
index d03621df3c..6192368f8b 100644
--- a/lisp/obsolete/iswitchb.el
+++ b/lisp/obsolete/iswitchb.el
@@ -1417,9 +1417,6 @@ iswitchb-case
 ;;;###autoload
 (define-minor-mode iswitchb-mode
   "Toggle Iswitchb mode.
-With a prefix argument ARG, enable Iswitchb mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Iswitchb mode is a global minor mode that enables switching
 between buffers using substrings.  See `iswitchb' for details."
diff --git a/lisp/obsolete/longlines.el b/lisp/obsolete/longlines.el
index e3121dbd87..d07f7bf34b 100644
--- a/lisp/obsolete/longlines.el
+++ b/lisp/obsolete/longlines.el
@@ -97,9 +97,6 @@ message-indent-citation-function
 ;;;###autoload
 (define-minor-mode longlines-mode
   "Toggle Long Lines mode in this buffer.
-With a prefix argument ARG, enable Long Lines mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Long Lines mode is enabled, long lines are wrapped if they
 extend beyond `fill-column'.  The soft newlines used for line
diff --git a/lisp/obsolete/mouse-sel.el b/lisp/obsolete/mouse-sel.el
index 52e84f2117..f54bcf01c9 100644
--- a/lisp/obsolete/mouse-sel.el
+++ b/lisp/obsolete/mouse-sel.el
@@ -194,9 +194,6 @@ 'mouse-sel--ignore
 ;;;###autoload
 (define-minor-mode mouse-sel-mode
   "Toggle Mouse Sel mode.
-With a prefix argument ARG, enable Mouse Sel mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Mouse Sel mode is a global minor mode.  When enabled, mouse
 selection is enhanced in various ways:
diff --git a/lisp/obsolete/old-whitespace.el b/lisp/obsolete/old-whitespace.el
index 86dd5dc842..0c9fc32118 100644
--- a/lisp/obsolete/old-whitespace.el
+++ b/lisp/obsolete/old-whitespace.el
@@ -747,7 +747,6 @@ 'global-whitespace-mode
 ;;;###autoload
 (define-minor-mode whitespace-global-mode
   "Toggle using Whitespace mode in new buffers.
-With ARG, turn the mode on if ARG is positive, otherwise turn it off.
 
 When this mode is active, `whitespace-buffer' is added to
 `find-file-hook' and `kill-buffer-hook'."
diff --git a/lisp/obsolete/tpu-edt.el b/lisp/obsolete/tpu-edt.el
index 83b713d927..c047381ef7 100644
--- a/lisp/obsolete/tpu-edt.el
+++ b/lisp/obsolete/tpu-edt.el
@@ -980,10 +980,7 @@ tpu-quit
 ;;;
 ;;;###autoload
 (define-minor-mode tpu-edt-mode
-  "Toggle TPU/edt emulation on or off.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Toggle TPU/edt emulation on or off."
   :global t :group 'tpu
   (if tpu-edt-mode (tpu-edt-on) (tpu-edt-off)))
 
diff --git a/lisp/obsolete/tpu-extras.el b/lisp/obsolete/tpu-extras.el
index 8739e1b215..21006ff005 100644
--- a/lisp/obsolete/tpu-extras.el
+++ b/lisp/obsolete/tpu-extras.el
@@ -133,10 +133,7 @@ tpu-backward-char-like-tpu
 
 ;;;###autoload
 (define-minor-mode tpu-cursor-free-mode
-  "Minor mode to allow the cursor to move freely about the screen.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode to allow the cursor to move freely about the screen."
   :init-value nil
   (if (not tpu-cursor-free-mode)
       (tpu-trim-line-ends))
diff --git a/lisp/obsolete/xesam.el b/lisp/obsolete/xesam.el
index 1f3661d924..3e91b2c8df 100644
--- a/lisp/obsolete/xesam.el
+++ b/lisp/obsolete/xesam.el
@@ -512,9 +512,6 @@ xesam-mode
 
 (define-minor-mode xesam-minor-mode
   "Toggle Xesam minor mode.
-With a prefix argument ARG, enable Xesam minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Xesam minor mode is enabled, all text which matches a
 previous Xesam query in this buffer is highlighted."
diff --git a/lisp/outline.el b/lisp/outline.el
index 669935bbc1..59169e4189 100644
--- a/lisp/outline.el
+++ b/lisp/outline.el
@@ -299,9 +299,6 @@ outline-minor-mode-prefix
 ;;;###autoload
 (define-minor-mode outline-minor-mode
   "Toggle Outline minor mode.
-With a prefix argument ARG, enable Outline minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 See the command `outline-mode' for more information on this mode."
   nil " Outl" (list (cons [menu-bar] outline-minor-mode-menu-bar-map)
diff --git a/lisp/paren.el b/lisp/paren.el
index 467e5e985d..1cab6eb2be 100644
--- a/lisp/paren.el
+++ b/lisp/paren.el
@@ -100,9 +100,6 @@ show-paren--overlay-1
 ;;;###autoload
 (define-minor-mode show-paren-mode
   "Toggle visualization of matching parens (Show Paren mode).
-With a prefix argument ARG, enable Show Paren mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Show Paren mode is a global minor mode.  When enabled, any
 matching parenthesis is highlighted in `show-paren-style' after
diff --git a/lisp/pixel-scroll.el b/lisp/pixel-scroll.el
index d362419e0f..227580f4d4 100644
--- a/lisp/pixel-scroll.el
+++ b/lisp/pixel-scroll.el
@@ -105,10 +105,7 @@ pixel-scroll-in-rush-p
 
 ;;;###autoload
 (define-minor-mode pixel-scroll-mode
-  "A minor mode to scroll text pixel-by-pixel.
-With a prefix argument ARG, enable Pixel Scroll mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable Pixel Scroll mode
-if ARG is omitted or nil."
+  "A minor mode to scroll text pixel-by-pixel."
   :init-value nil
   :group 'scrolling
   :global t
diff --git a/lisp/progmodes/bug-reference.el b/lisp/progmodes/bug-reference.el
index d2b3af1972..75bd0ba51e 100644
--- a/lisp/progmodes/bug-reference.el
+++ b/lisp/progmodes/bug-reference.el
@@ -141,10 +141,7 @@ bug-reference-push-button
 
 ;;;###autoload
 (define-minor-mode bug-reference-mode
-  "Toggle hyperlinking bug references in the buffer (Bug Reference mode).
-With a prefix argument ARG, enable Bug Reference mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle hyperlinking bug references in the buffer (Bug Reference mode)."
   nil
   ""
   nil
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 15503ee0b2..7e7c18fb30 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -2164,9 +2164,6 @@ compilation--unsetup
 ;;;###autoload
 (define-minor-mode compilation-shell-minor-mode
   "Toggle Compilation Shell minor mode.
-With a prefix argument ARG, enable Compilation Shell minor mode
-if ARG is positive, and disable it otherwise.  If called from
-Lisp, enable the mode if ARG is omitted or nil.
 
 When Compilation Shell minor mode is enabled, all the
 error-parsing commands of the Compilation major mode are
@@ -2181,9 +2178,6 @@ compilation-shell-minor-mode
 ;;;###autoload
 (define-minor-mode compilation-minor-mode
   "Toggle Compilation minor mode.
-With a prefix argument ARG, enable Compilation minor mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Compilation minor mode is enabled, all the error-parsing
 commands of Compilation major mode are available.  See
diff --git a/lisp/progmodes/cwarn.el b/lisp/progmodes/cwarn.el
index a578896dbf..ff79b90956 100644
--- a/lisp/progmodes/cwarn.el
+++ b/lisp/progmodes/cwarn.el
@@ -180,11 +180,7 @@ cwarn-mode
 
 Note, in addition to enabling this minor mode, the major mode must
 be included in the variable `cwarn-configuration'.  By default C and
-C++ modes are included.
-
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+C++ modes are included."
   :group 'cwarn :lighter cwarn-mode-text
   (cwarn-font-lock-keywords cwarn-mode)
   (font-lock-flush))
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index e8bb3355a0..60d1660e5f 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -915,9 +915,6 @@ flymake-mode-map
 ;;;###autoload
 (define-minor-mode flymake-mode
   "Toggle Flymake mode on or off.
-With a prefix argument ARG, enable Flymake mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'.
 
 Flymake is an Emacs minor mode for on-the-fly syntax checking.
 Flymake collects diagnostic information from multiple sources,
diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el
index 88e34d8df9..6fee895e6a 100644
--- a/lisp/progmodes/gdb-mi.el
+++ b/lisp/progmodes/gdb-mi.el
@@ -1138,9 +1138,7 @@ gdb-delete-out-of-scope
   :version "22.2")
 
 (define-minor-mode gdb-speedbar-auto-raise
-  "Minor mode to automatically raise the speedbar for watch expressions.
-With prefix argument ARG, automatically raise speedbar if ARG is
-positive, otherwise don't automatically raise it."
+  "Minor mode to automatically raise the speedbar for watch expressions."
   :global t
   :group 'gdb
   :version "22.1")
diff --git a/lisp/progmodes/glasses.el b/lisp/progmodes/glasses.el
index c3e8ac35f3..f2bf209946 100644
--- a/lisp/progmodes/glasses.el
+++ b/lisp/progmodes/glasses.el
@@ -312,10 +312,9 @@ glasses-change
 ;;;###autoload
 (define-minor-mode glasses-mode
   "Minor mode for making identifiers likeThis readable.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.  When this mode is active, it tries to
-add virtual separators (like underscores) at places they belong to."
+
+When this mode is active, it tries to add virtual
+separators (like underscores) at places they belong to."
   :group 'glasses :lighter " o^o"
   (save-excursion
     (save-restriction
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 6826674a94..91b4a65edd 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -3363,10 +3363,7 @@ tooltip-mode
 
 ;;;###autoload
 (define-minor-mode gud-tooltip-mode
-  "Toggle the display of GUD tooltips.
-With a prefix argument ARG, enable the feature if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-it if ARG is omitted or nil."
+  "Toggle the display of GUD tooltips."
   :global t
   :group 'gud
   :group 'tooltip
diff --git a/lisp/progmodes/hideif.el b/lisp/progmodes/hideif.el
index 7ac1312d8d..ce7127a3d7 100644
--- a/lisp/progmodes/hideif.el
+++ b/lisp/progmodes/hideif.el
@@ -263,9 +263,6 @@ hif-outside-read-only
 ;;;###autoload
 (define-minor-mode hide-ifdef-mode
   "Toggle features to hide/show #ifdef blocks (Hide-Ifdef mode).
-With a prefix argument ARG, enable Hide-Ifdef mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Hide-Ifdef mode is a buffer-local minor mode for use with C and
 C-like major modes.  When enabled, code within #ifdef constructs
diff --git a/lisp/progmodes/hideshow.el b/lisp/progmodes/hideshow.el
index 799536cbf4..84b2147394 100644
--- a/lisp/progmodes/hideshow.el
+++ b/lisp/progmodes/hideshow.el
@@ -932,9 +932,6 @@ hs-hide-initial-comment-block
 ;;;###autoload
 (define-minor-mode hs-minor-mode
   "Minor mode to selectively hide/show code and comment blocks.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 When hideshow minor mode is on, the menu bar is augmented with hideshow
 commands and the hideshow commands are enabled.
diff --git a/lisp/progmodes/idlw-shell.el b/lisp/progmodes/idlw-shell.el
index dcb81f5a94..616341b0a2 100644
--- a/lisp/progmodes/idlw-shell.el
+++ b/lisp/progmodes/idlw-shell.el
@@ -4251,9 +4251,6 @@ idlwave-shell-electric-debug-buffers
 
 (define-minor-mode idlwave-shell-electric-debug-mode
   "Toggle Idlwave Shell Electric Debug mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 When Idlwave Shell Electric Debug mode is enabled, the Idlwave
 Shell debugging commands are available as single key sequences."
diff --git a/lisp/progmodes/pascal.el b/lisp/progmodes/pascal.el
index 58dc213d8a..6d13d328c5 100644
--- a/lisp/progmodes/pascal.el
+++ b/lisp/progmodes/pascal.el
@@ -1405,9 +1405,6 @@ pascal-outline-map
 
 (define-minor-mode pascal-outline-mode
   "Outline-line minor mode for Pascal mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 When enabled, portions of the text being edited may be made
 invisible.\\<pascal-outline-map>
diff --git a/lisp/progmodes/prog-mode.el b/lisp/progmodes/prog-mode.el
index 19269766c9..b1a17dfa3c 100644
--- a/lisp/progmodes/prog-mode.el
+++ b/lisp/progmodes/prog-mode.el
@@ -196,9 +196,6 @@ prettify-symbols--post-command-hook
 ;;;###autoload
 (define-minor-mode prettify-symbols-mode
   "Toggle Prettify Symbols mode.
-With a prefix argument ARG, enable Prettify Symbols mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Prettify Symbols mode and font-locking are enabled, symbols are
 prettified (displayed as composed characters) according to the rules
diff --git a/lisp/progmodes/subword.el b/lisp/progmodes/subword.el
index cbaa273a7a..ed71b862cf 100644
--- a/lisp/progmodes/subword.el
+++ b/lisp/progmodes/subword.el
@@ -93,9 +93,6 @@ subword-mode-map
 ;;;###autoload
 (define-minor-mode subword-mode
   "Toggle subword movement and editing (Subword mode).
-With a prefix argument ARG, enable Subword mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Subword mode is a buffer-local minor mode.  Enabling it changes
 the definition of a word so that word-based commands stop inside
@@ -269,9 +266,6 @@ superword-mode-map
 ;;;###autoload
 (define-minor-mode superword-mode
   "Toggle superword movement and editing (Superword mode).
-With a prefix argument ARG, enable Superword mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Superword mode is a buffer-local minor mode.  Enabling it changes
 the definition of words such that symbols characters are treated
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el
index f6cb2419de..e17b7f504e 100644
--- a/lisp/progmodes/vhdl-mode.el
+++ b/lisp/progmodes/vhdl-mode.el
@@ -8707,17 +8707,11 @@ vhdl-work-library
 ;;  Enabling/disabling
 
 (define-minor-mode vhdl-electric-mode
-  "Toggle VHDL electric mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable it if ARG
-is omitted or nil."
+  "Toggle VHDL electric mode."
   :global t :group 'vhdl-mode)
 
 (define-minor-mode vhdl-stutter-mode
-  "Toggle VHDL stuttering mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable it if ARG
-is omitted or nil."
+  "Toggle VHDL stuttering mode."
   :global t :group 'vhdl-mode)
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
diff --git a/lisp/progmodes/which-func.el b/lisp/progmodes/which-func.el
index 152f6d2293..7604be0c25 100644
--- a/lisp/progmodes/which-func.el
+++ b/lisp/progmodes/which-func.el
@@ -247,9 +247,6 @@ which-func-update-timer
 ;;;###autoload
 (define-minor-mode which-function-mode
   "Toggle mode line display of current function (Which Function mode).
-With a prefix argument ARG, enable Which Function mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Which Function mode is a global minor mode.  When enabled, the
 current function name is continuously displayed in the mode line,
diff --git a/lisp/recentf.el b/lisp/recentf.el
index c3c4e45922..e318486cde 100644
--- a/lisp/recentf.el
+++ b/lisp/recentf.el
@@ -1342,9 +1342,6 @@ recentf-mode-map
 ;;;###autoload
 (define-minor-mode recentf-mode
   "Toggle \"Open Recent\" menu (Recentf mode).
-With a prefix argument ARG, enable Recentf mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Recentf mode if ARG is omitted or nil.
 
 When Recentf mode is enabled, a \"Open Recent\" submenu is
 displayed in the \"File\" menu, containing a list of files that
diff --git a/lisp/rect.el b/lisp/rect.el
index ba13e12358..8ccf051ee1 100644
--- a/lisp/rect.el
+++ b/lisp/rect.el
@@ -604,6 +604,7 @@ rectangle-mark-mode-map
 ;;;###autoload
 (define-minor-mode rectangle-mark-mode
   "Toggle the region as rectangular.
+
 Activates the region if needed.  Only lasts until the region is deactivated."
   nil nil nil
   (rectangle--reset-crutches)
diff --git a/lisp/reveal.el b/lisp/reveal.el
index 2831c0cc01..a3ecfc490e 100644
--- a/lisp/reveal.el
+++ b/lisp/reveal.el
@@ -191,9 +191,6 @@ reveal-mode-map
 ;;;###autoload
 (define-minor-mode reveal-mode
   "Toggle uncloaking of invisible text near point (Reveal mode).
-With a prefix argument ARG, enable Reveal mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Reveal mode if ARG is omitted or nil.
 
 Reveal mode is a buffer-local minor mode.  When enabled, it
 reveals invisible text around point."
@@ -210,11 +207,7 @@ reveal-mode
 ;;;###autoload
 (define-minor-mode global-reveal-mode
   "Toggle Reveal mode in all buffers (Global Reveal mode).
-Reveal mode renders invisible text around point visible again.
-
-With a prefix argument ARG, enable Global Reveal mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+Reveal mode renders invisible text around point visible again."
   :global t :group 'reveal
   (setq-default reveal-mode global-reveal-mode)
   (if global-reveal-mode
diff --git a/lisp/rfn-eshadow.el b/lisp/rfn-eshadow.el
index 847db68a77..41fd8b5f97 100644
--- a/lisp/rfn-eshadow.el
+++ b/lisp/rfn-eshadow.el
@@ -209,9 +209,6 @@ rfn-eshadow-update-overlay
 \f
 (define-minor-mode file-name-shadow-mode
   "Toggle file-name shadowing in minibuffers (File-Name Shadow mode).
-With a prefix argument ARG, enable File-Name Shadow mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 File-Name Shadow mode is a global minor mode.  When enabled, any
 part of a filename being read in the minibuffer that would be
diff --git a/lisp/ruler-mode.el b/lisp/ruler-mode.el
index 02d5a211ba..366bd15041 100644
--- a/lisp/ruler-mode.el
+++ b/lisp/ruler-mode.el
@@ -591,10 +591,7 @@ ruler--save-header-line-format
 
 ;;;###autoload
 (define-minor-mode ruler-mode
-  "Toggle display of ruler in header line (Ruler mode).
-With a prefix argument ARG, enable Ruler mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Toggle display of ruler in header line (Ruler mode)."
   nil nil
   ruler-mode-map
   :group 'ruler-mode
diff --git a/lisp/savehist.el b/lisp/savehist.el
index 0a261b0b0c..e555450c20 100644
--- a/lisp/savehist.el
+++ b/lisp/savehist.el
@@ -171,9 +171,6 @@ savehist-loaded
 ;;;###autoload
 (define-minor-mode savehist-mode
   "Toggle saving of minibuffer history (Savehist mode).
-With a prefix argument ARG, enable Savehist mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Savehist mode is enabled, minibuffer history is saved
 periodically and when exiting Emacs.  When Savehist mode is
diff --git a/lisp/saveplace.el b/lisp/saveplace.el
index aeb6cf1de7..9d3f10ac35 100644
--- a/lisp/saveplace.el
+++ b/lisp/saveplace.el
@@ -160,9 +160,6 @@ save-place-local-mode
 or exit Emacs.  Visiting this file again will go to that position,
 even in a later Emacs session.
 
-If called with a prefix arg, the mode is enabled if and only if
-the argument is positive.
-
 To save places automatically in all files, put this in your init
 file:
 
diff --git a/lisp/scroll-all.el b/lisp/scroll-all.el
index dea15d58d8..c32960efba 100644
--- a/lisp/scroll-all.el
+++ b/lisp/scroll-all.el
@@ -102,9 +102,6 @@ scroll-all-check-to-scroll
 ;;;###autoload
 (define-minor-mode scroll-all-mode
   "Toggle shared scrolling in same-frame windows (Scroll-All mode).
-With a prefix argument ARG, enable Scroll-All mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Scroll-All mode is enabled, scrolling commands invoked in
 one window apply to all visible windows in the same frame."
diff --git a/lisp/scroll-bar.el b/lisp/scroll-bar.el
index dd4a8aab0e..4d1ad03fa5 100644
--- a/lisp/scroll-bar.el
+++ b/lisp/scroll-bar.el
@@ -133,9 +133,6 @@ get-scroll-bar-mode
 
 (define-minor-mode scroll-bar-mode
   "Toggle vertical scroll bars on all frames (Scroll Bar mode).
-With a prefix argument ARG, enable Scroll Bar mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 This command applies to all frames that exist and frames to be
 created in the future."
@@ -152,9 +149,6 @@ horizontal-scroll-bars-available-p
 
 (define-minor-mode horizontal-scroll-bar-mode
   "Toggle horizontal scroll bars on all frames (Horizontal Scroll Bar mode).
-With a prefix argument ARG, enable Horizontal Scroll Bar mode if
-ARG is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 This command applies to all frames that exist and frames to be
 created in the future."
diff --git a/lisp/scroll-lock.el b/lisp/scroll-lock.el
index 2ce0f4578b..123fbb2b37 100644
--- a/lisp/scroll-lock.el
+++ b/lisp/scroll-lock.el
@@ -49,12 +49,11 @@ scroll-lock-temporary-goal-column
 ;;;###autoload
 (define-minor-mode scroll-lock-mode
   "Buffer-local minor mode for pager-like scrolling.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.  When enabled, keys that normally move
-point by line or paragraph will scroll the buffer by the
-respective amount of lines instead and point will be kept
-vertically fixed relative to window boundaries during scrolling."
+
+When enabled, keys that normally move point by line or paragraph
+will scroll the buffer by the respective amount of lines instead
+and point will be kept vertically fixed relative to window
+boundaries during scrolling."
   :lighter " ScrLck"
   :keymap scroll-lock-mode-map
   (if scroll-lock-mode
diff --git a/lisp/server.el b/lisp/server.el
index ff03cbe622..00e202e5e8 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -770,9 +770,6 @@ server-running-p
 ;;;###autoload
 (define-minor-mode server-mode
   "Toggle Server mode.
-With a prefix argument ARG, enable Server mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Server mode if ARG is omitted or nil.
 
 Server mode runs a process that accepts commands from the
 `emacsclient' program.  See Info node `Emacs server' and
diff --git a/lisp/shell.el b/lisp/shell.el
index 91c65ed171..c78903b3e5 100644
--- a/lisp/shell.el
+++ b/lisp/shell.el
@@ -967,9 +967,6 @@ shell-extract-num
 
 (define-minor-mode shell-dirtrack-mode
   "Toggle directory tracking in this shell buffer (Shell Dirtrack mode).
-With a prefix argument ARG, enable Shell Dirtrack mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 The `dirtrack' package provides an alternative implementation of
 this feature; see the function `dirtrack-mode'."
diff --git a/lisp/simple.el b/lisp/simple.el
index f8c02c1dbf..e98cea78d4 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -401,9 +401,7 @@ next-error-follow-last-line
 
 (define-minor-mode next-error-follow-minor-mode
   "Minor mode for compilation, occur and diff modes.
-With a prefix argument ARG, enable mode if ARG is positive, and
-disable it otherwise.  If called from Lisp, enable mode if ARG is
-omitted or nil.
+
 When turned on, cursor motion in the compilation, grep, occur or diff
 buffer causes automatic display of the corresponding source code location."
   :group 'next-error :init-value nil :lighter " Fol"
@@ -5817,9 +5815,6 @@ handle-shift-selection
 
 (define-minor-mode transient-mark-mode
   "Toggle Transient Mark mode.
-With a prefix argument ARG, enable Transient Mark mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Transient Mark mode if ARG is omitted or nil.
 
 Transient Mark mode is a global minor mode.  When enabled, the
 region is highlighted with the `region' face whenever the mark
@@ -6854,12 +6849,6 @@ visual-line--saved-state
 
 (define-minor-mode visual-line-mode
   "Toggle visual line based editing (Visual Line mode) in the current buffer.
-Interactively, with a prefix argument, enable
-Visual Line mode if the prefix argument is positive,
-and disable it otherwise.  If called from Lisp, toggle
-the mode if ARG is `toggle', disable the mode if ARG is
-a non-positive integer, and enable the mode otherwise
-\(including if ARG is omitted or nil or a positive integer).
 
 When Visual Line mode is enabled, `word-wrap' is turned on in
 this buffer, and simple editing commands are redefined to act on
@@ -7290,12 +7279,6 @@ normal-auto-fill-function
 
 (define-minor-mode auto-fill-mode
   "Toggle automatic line breaking (Auto Fill mode).
-Interactively, with a prefix argument, enable
-Auto Fill mode if the prefix argument is positive,
-and disable it otherwise.  If called from Lisp, toggle
-the mode if ARG is `toggle', disable the mode if ARG is
-a non-positive integer, and enable the mode otherwise
-\(including if ARG is omitted or nil or a positive integer).
 
 When Auto Fill mode is enabled, inserting a space at a column
 beyond `current-fill-column' automatically breaks the line at a
@@ -7410,9 +7393,6 @@ overwrite-mode-binary
 
 (define-minor-mode overwrite-mode
   "Toggle Overwrite mode.
-With a prefix argument ARG, enable Overwrite mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When Overwrite mode is enabled, printing characters typed in
 replace existing text on a one-for-one basis, rather than pushing
@@ -7426,9 +7406,6 @@ overwrite-mode
 
 (define-minor-mode binary-overwrite-mode
   "Toggle Binary Overwrite mode.
-With a prefix argument ARG, enable Binary Overwrite mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 When Binary Overwrite mode is enabled, printing characters typed
 in replace existing text.  Newlines are not treated specially, so
@@ -7446,9 +7423,6 @@ binary-overwrite-mode
 
 (define-minor-mode line-number-mode
   "Toggle line number display in the mode line (Line Number mode).
-With a prefix argument ARG, enable Line Number mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Line numbers do not appear for very large buffers and buffers
 with very long lines; see variables `line-number-display-limit'
@@ -7456,27 +7430,15 @@ line-number-mode
   :init-value t :global t :group 'mode-line)
 
 (define-minor-mode column-number-mode
-  "Toggle column number display in the mode line (Column Number mode).
-With a prefix argument ARG, enable Column Number mode if ARG is
-positive, and disable it otherwise.
-
-If called from Lisp, enable the mode if ARG is omitted or nil."
+  "Toggle column number display in the mode line (Column Number mode)."
   :global t :group 'mode-line)
 
 (define-minor-mode size-indication-mode
-  "Toggle buffer size display in the mode line (Size Indication mode).
-With a prefix argument ARG, enable Size Indication mode if ARG is
-positive, and disable it otherwise.
-
-If called from Lisp, enable the mode if ARG is omitted or nil."
+  "Toggle buffer size display in the mode line (Size Indication mode)."
   :global t :group 'mode-line)
 
 (define-minor-mode auto-save-mode
-  "Toggle auto-saving in the current buffer (Auto Save mode).
-With a prefix argument ARG, enable Auto Save mode if ARG is
-positive, and disable it otherwise.
-
-If called from Lisp, enable the mode if ARG is omitted or nil."
+  "Toggle auto-saving in the current buffer (Auto Save mode)."
   :variable ((and buffer-auto-save-file-name
                   ;; If auto-save is off because buffer has shrunk,
                   ;; then toggling should turn it on.
@@ -8687,9 +8649,6 @@ normal-erase-is-backspace-setup-frame
 
 (define-minor-mode normal-erase-is-backspace-mode
   "Toggle the Erase and Delete mode of the Backspace and Delete keys.
-With a prefix argument ARG, enable this feature if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 On window systems, when this mode is on, Delete is mapped to C-d
 and Backspace is mapped to DEL; when this mode is off, both
@@ -8766,9 +8725,9 @@ vis-mode-saved-buffer-invisibility-spec
 
 (define-minor-mode read-only-mode
   "Change whether the current buffer is read-only.
-With prefix argument ARG, make the buffer read-only if ARG is
-positive, otherwise make it writable.  If buffer is read-only
-and `view-read-only' is non-nil, enter view mode.
+
+If buffer is read-only and `view-read-only' is non-nil, enter
+view mode.
 
 Do not call this from a Lisp program unless you really intend to
 do the same thing as the \\[read-only-mode] command, including
@@ -8792,9 +8751,6 @@ read-only-mode
 
 (define-minor-mode visible-mode
   "Toggle making all invisible text temporarily visible (Visible mode).
-With a prefix argument ARG, enable Visible mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 This mode works by saving the value of `buffer-invisibility-spec'
 and setting it to nil."
diff --git a/lisp/strokes.el b/lisp/strokes.el
index 6ffcff73c2..d5c287c341 100644
--- a/lisp/strokes.el
+++ b/lisp/strokes.el
@@ -1388,9 +1388,6 @@ strokes-mode-map
 ;;;###autoload
 (define-minor-mode strokes-mode
   "Toggle Strokes mode, a global minor mode.
-With a prefix argument ARG, enable Strokes mode if ARG is
-positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 \\<strokes-mode-map>
 Strokes are pictographic mouse gestures which invoke commands.
diff --git a/lisp/t-mouse.el b/lisp/t-mouse.el
index 8a816fd444..3ad719d193 100644
--- a/lisp/t-mouse.el
+++ b/lisp/t-mouse.el
@@ -67,9 +67,6 @@ 't-mouse-mode
 ;;;###autoload
 (define-minor-mode gpm-mouse-mode
   "Toggle mouse support in GNU/Linux consoles (GPM Mouse mode).
-With a prefix argument ARG, enable GPM Mouse mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 This allows the use of the mouse when operating on a GNU/Linux console,
 in the same way as you can use the mouse under X11.
diff --git a/lisp/tar-mode.el b/lisp/tar-mode.el
index f7b14fab51..9860c8b30c 100644
--- a/lisp/tar-mode.el
+++ b/lisp/tar-mode.el
@@ -762,12 +762,10 @@ tar-mode
 
 (define-minor-mode tar-subfile-mode
   "Minor mode for editing an element of a tar-file.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.  This mode arranges for \"saving\" this
-buffer to write the data into the tar-file buffer that it came
-from.  The changes will actually appear on disk when you save the
-tar-file's buffer."
+
+This mode arranges for \"saving\" this buffer to write the data
+into the tar-file buffer that it came from.  The changes will
+actually appear on disk when you save the tar-file's buffer."
   ;; Don't do this, because it is redundant and wastes mode line space.
   ;; :lighter " TarFile"
   nil nil nil
diff --git a/lisp/term/tvi970.el b/lisp/term/tvi970.el
index 97687894ec..0c4b0ae73b 100644
--- a/lisp/term/tvi970.el
+++ b/lisp/term/tvi970.el
@@ -101,9 +101,6 @@ terminal-init-tvi970
 ;; Should keypad numbers send ordinary digits or distinct escape sequences?
 (define-minor-mode tvi970-set-keypad-mode
   "Toggle alternate keypad mode on TVI 970 keypad.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 In alternate keypad mode, the keys send distinct escape
 sequences, meaning that they can have their own bindings,
diff --git a/lisp/term/vt100.el b/lisp/term/vt100.el
index d40c550aff..b61e557e2f 100644
--- a/lisp/term/vt100.el
+++ b/lisp/term/vt100.el
@@ -39,10 +39,7 @@ terminal-init-vt100
 
 ;;; Controlling the screen width.
 (define-minor-mode vt100-wide-mode
-  "Toggle 132/80 column mode for vt100s.
-With a prefix argument ARG, switch to 132-column mode if ARG is
-positive, and 80-column mode otherwise.  If called from Lisp,
-switch to 132-column mode if ARG is omitted or nil."
+  "Toggle 132/80 column mode for vt100s."
   :global t :init-value (= (frame-width) 132)
   :group 'terminals
   (send-string-to-terminal (if vt100-wide-mode "\e[?3h" "\e[?3l"))
diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el
index 61ca0856bc..940a78ae92 100644
--- a/lisp/textmodes/artist.el
+++ b/lisp/textmodes/artist.el
@@ -1198,7 +1198,7 @@ artist-select-prev-op-in-list
 ;;;###autoload
 (define-minor-mode artist-mode
   "Toggle Artist mode.
-With argument ARG, turn Artist mode on if ARG is positive.
+
 Artist lets you draw lines, squares, rectangles and poly-lines,
 ellipses and circles with your mouse and/or keyboard.
 
diff --git a/lisp/textmodes/enriched.el b/lisp/textmodes/enriched.el
index 6b4c44a39e..f2065cbff9 100644
--- a/lisp/textmodes/enriched.el
+++ b/lisp/textmodes/enriched.el
@@ -210,10 +210,6 @@ enriched-mode
 These are files with embedded formatting information in the MIME standard
 text/enriched format.
 
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
-
 Turning the mode on or off runs `enriched-mode-hook'.
 
 More information about Enriched mode is available in the file
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index 9747f8e2eb..8ad6832880 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -505,9 +505,6 @@ flyspell-overlay
 ;;;###autoload
 (define-minor-mode flyspell-mode
   "Toggle on-the-fly spell checking (Flyspell mode).
-With a prefix argument ARG, enable Flyspell mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Flyspell mode is a buffer-local minor mode.  When enabled, it
 spawns a single Ispell process and checks each word.  The default
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index d1d47718f9..d80447e0a5 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -3695,9 +3695,6 @@ ispell-minor-keymap
 ;;;###autoload
 (define-minor-mode ispell-minor-mode
   "Toggle last-word spell checking (Ispell minor mode).
-With a prefix argument ARG, enable Ispell minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Ispell minor mode is a buffer-local minor mode.  When enabled,
 typing SPC or RET warns you if the previous word is incorrectly
diff --git a/lisp/textmodes/nroff-mode.el b/lisp/textmodes/nroff-mode.el
index 6955ed25e1..51a9f5820d 100644
--- a/lisp/textmodes/nroff-mode.el
+++ b/lisp/textmodes/nroff-mode.el
@@ -298,9 +298,6 @@ nroff-electric-newline
 
 (define-minor-mode nroff-electric-mode
   "Toggle automatic nroff request pairing (Nroff Electric mode).
-With a prefix argument ARG, enable Nroff Electric mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Nroff Electric mode is a buffer-local minor mode, for use with
 `nroff-mode'.  When enabled, Emacs checks for an nroff request at
diff --git a/lisp/textmodes/paragraphs.el b/lisp/textmodes/paragraphs.el
index 3e2784ca95..ee812566b9 100644
--- a/lisp/textmodes/paragraphs.el
+++ b/lisp/textmodes/paragraphs.el
@@ -36,9 +36,6 @@ paragraphs
 (put 'use-hard-newlines 'permanent-local t)
 (define-minor-mode use-hard-newlines
   "Toggle distinguishing between hard and soft newlines.
-With a prefix argument ARG, enable the feature if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-it if ARG is omitted or nil.
 
 When enabled, the functions `newline' and `open-line' add the
 text-property `hard' to newlines that they insert, and a line is
diff --git a/lisp/textmodes/refill.el b/lisp/textmodes/refill.el
index 1252afe417..229d6a24dd 100644
--- a/lisp/textmodes/refill.el
+++ b/lisp/textmodes/refill.el
@@ -213,9 +213,6 @@ refill-saved-state
 ;;;###autoload
 (define-minor-mode refill-mode
   "Toggle automatic refilling (Refill mode).
-With a prefix argument ARG, enable Refill mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Refill mode is a buffer-local minor mode.  When enabled, the
 current paragraph is refilled as you edit.  Self-inserting
diff --git a/lisp/textmodes/rst.el b/lisp/textmodes/rst.el
index 40d75a9db8..126804fdab 100644
--- a/lisp/textmodes/rst.el
+++ b/lisp/textmodes/rst.el
@@ -1411,9 +1411,6 @@ rst-mode
 ;;;###autoload
 (define-minor-mode rst-minor-mode
   "Toggle ReST minor mode.
-With a prefix argument ARG, enable ReST minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 When ReST minor mode is enabled, the ReST mode keybindings
 are installed on top of the major mode bindings.  Use this
diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el
index 30ca11199d..470f4a348a 100644
--- a/lisp/textmodes/sgml-mode.el
+++ b/lisp/textmodes/sgml-mode.el
@@ -941,9 +941,6 @@ sgml-electric-tag-pair-flush-overlays
 
 (define-minor-mode sgml-electric-tag-pair-mode
   "Toggle SGML Electric Tag Pair mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 SGML Electric Tag Pair mode is a buffer-local minor mode for use
 with `sgml-mode' and related major modes.  When enabled, editing
@@ -2379,9 +2376,6 @@ html-imenu-index
 
 (define-minor-mode html-autoview-mode
   "Toggle viewing of HTML files on save (HTML Autoview mode).
-With a prefix argument ARG, enable HTML Autoview mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 HTML Autoview mode is a buffer-local minor mode for use with
 `html-mode'.  If enabled, saving the file automatically runs
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el
index c65b3b3ea2..c223af4769 100644
--- a/lisp/textmodes/tex-mode.el
+++ b/lisp/textmodes/tex-mode.el
@@ -713,9 +713,6 @@ tex-env-mark
 
 (define-minor-mode latex-electric-env-pair-mode
   "Toggle Latex Electric Env Pair mode.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable it if ARG
-is omitted or nil.
 
 Latex Electric Env Pair mode is a buffer-local minor mode for use
 with `latex-mode'.  When enabled, typing a \\begin or \\end tag
diff --git a/lisp/time.el b/lisp/time.el
index ab6b5b9632..94f7009953 100644
--- a/lisp/time.el
+++ b/lisp/time.el
@@ -488,9 +488,6 @@ display-time-file-nonempty-p
 ;;;###autoload
 (define-minor-mode display-time-mode
   "Toggle display of time, load level, and mail flag in mode lines.
-With a prefix argument ARG, enable Display Time mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-it if ARG is omitted or nil.
 
 When Display Time mode is enabled, it updates every minute (you
 can control the number of seconds between updates by customizing
diff --git a/lisp/tool-bar.el b/lisp/tool-bar.el
index 18f54dbac6..e2242cf6f7 100644
--- a/lisp/tool-bar.el
+++ b/lisp/tool-bar.el
@@ -44,9 +44,6 @@
 ;; when you are on a tty.  I hope that won't cause too much trouble -- rms.
 (define-minor-mode tool-bar-mode
   "Toggle the tool bar in all graphical frames (Tool Bar mode).
-With a prefix argument ARG, enable Tool Bar mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-Tool Bar mode if ARG is omitted or nil.
 
 See `tool-bar-add-item' and `tool-bar-add-item-from-menu' for
 conveniently adding tool bar items."
diff --git a/lisp/tooltip.el b/lisp/tooltip.el
index 81df229a13..384d3d19db 100644
--- a/lisp/tooltip.el
+++ b/lisp/tooltip.el
@@ -42,9 +42,6 @@ tooltip
 
 (define-minor-mode tooltip-mode
   "Toggle Tooltip mode.
-With a prefix argument ARG, enable Tooltip mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
 
 When this global minor mode is enabled, Emacs displays help
 text (e.g. for buttons and menu items that you put the mouse on)
diff --git a/lisp/type-break.el b/lisp/type-break.el
index 98947bac27..c7cdc46036 100644
--- a/lisp/type-break.el
+++ b/lisp/type-break.el
@@ -287,9 +287,6 @@ type-break-mode
 to find a good breaking point in his or her work, but be sufficiently
 annoying to discourage putting typing breaks off indefinitely.
 
-A negative prefix argument disables this mode.
-No argument or any non-negative argument enables it.
-
 The user may enable or disable this mode by setting the variable of the
 same name, though setting it in that way doesn't reschedule a break or
 reset the keystroke counter.
@@ -406,9 +403,6 @@ type-break-mode
 
 (define-minor-mode type-break-mode-line-message-mode
   "Toggle warnings about typing breaks in the mode line.
-With a prefix argument ARG, enable these warnings if ARG is
-positive, and disable them otherwise.  If called from Lisp,
-enable them if ARG is omitted or nil.
 
 The user may also enable or disable this mode simply by setting
 the variable of the same name.
@@ -423,9 +417,6 @@ type-break-mode-line-message-mode
 
 (define-minor-mode type-break-query-mode
   "Toggle typing break queries.
-With a prefix argument ARG, enable these queries if ARG is
-positive, and disable them otherwise.  If called from Lisp,
-enable them if ARG is omitted or nil.
 
 The user may also enable or disable this mode simply by setting
 the variable of the same name."
diff --git a/lisp/url/url-dired.el b/lisp/url/url-dired.el
index 784f70eb1f..50d84f71cc 100644
--- a/lisp/url/url-dired.el
+++ b/lisp/url/url-dired.el
@@ -43,10 +43,7 @@ url-dired-find-file-mouse
   (url-dired-find-file))
 
 (define-minor-mode url-dired-minor-mode
-  "Minor mode for directory browsing.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode for directory browsing."
   :lighter " URL" :keymap url-dired-minor-mode-map)
 
 (defun url-find-file-dired (dir)
diff --git a/lisp/url/url-handlers.el b/lisp/url/url-handlers.el
index 98f9f1e373..3802c39b78 100644
--- a/lisp/url/url-handlers.el
+++ b/lisp/url/url-handlers.el
@@ -102,10 +102,7 @@ url-handler-regexp
 
 ;;;###autoload
 (define-minor-mode url-handler-mode
-  "Toggle using `url' library for URL filenames (URL Handler mode).
-With a prefix argument ARG, enable URL Handler mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil."
+  "Toggle using `url' library for URL filenames (URL Handler mode)."
   :global t :group 'url
   ;; Remove old entry, if any.
   (setq file-name-handler-alist
diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el
index 1e2fbb97fc..e88ccece41 100644
--- a/lisp/vc/diff-mode.el
+++ b/lisp/vc/diff-mode.el
@@ -216,9 +216,6 @@ diff-minor-mode-prefix
 
 (define-minor-mode diff-auto-refine-mode
   "Toggle automatic diff hunk highlighting (Diff Auto Refine mode).
-With a prefix argument ARG, enable Diff Auto Refine mode if ARG
-is positive, and disable it otherwise.  If called from Lisp,
-enable the mode if ARG is omitted or nil.
 
 Diff Auto Refine mode is a buffer-local minor mode used with
 `diff-mode'.  When enabled, Emacs automatically highlights
@@ -1424,9 +1421,6 @@ diff-mode
 ;;;###autoload
 (define-minor-mode diff-minor-mode
   "Toggle Diff minor mode.
-With a prefix argument ARG, enable Diff minor mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 \\{diff-minor-mode-map}"
   :group 'diff-mode :lighter " Diff"
diff --git a/lisp/vc/smerge-mode.el b/lisp/vc/smerge-mode.el
index 99a074cf25..cb51fbab8e 100644
--- a/lisp/vc/smerge-mode.el
+++ b/lisp/vc/smerge-mode.el
@@ -1398,9 +1398,7 @@ smerge-parsep-re
 ;;;###autoload
 (define-minor-mode smerge-mode
   "Minor mode to simplify editing output from the diff3 program.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil.
+
 \\{smerge-mode-map}"
   :group 'smerge :lighter " SMerge"
   (when (and (boundp 'font-lock-mode) font-lock-mode)
diff --git a/lisp/vcursor.el b/lisp/vcursor.el
index 8974330452..ce7a895a62 100644
--- a/lisp/vcursor.el
+++ b/lisp/vcursor.el
@@ -815,8 +815,7 @@ vcursor-check
 
 (define-minor-mode vcursor-use-vcursor-map
   "Toggle the state of the vcursor key map.
-With a prefix argument ARG, enable it if ARG is positive, and disable
-it otherwise.  If called from Lisp, enable it if ARG is omitted or nil.
+
 When on, the keys defined in it are mapped directly on top of the main
 keymap, allowing you to move the vcursor with ordinary motion keys.
 An indication \"!VC\" appears in the mode list.  The effect is
diff --git a/lisp/view.el b/lisp/view.el
index cc328680e2..56f98a6db2 100644
--- a/lisp/view.el
+++ b/lisp/view.el
@@ -381,9 +381,6 @@ view-mode
   ;; bindings instead of using the \\[] construction.  The reason for this
   ;; is that most commands have more than one key binding.
   "Toggle View mode, a minor mode for viewing text but not editing it.
-With a prefix argument ARG, enable View mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable View mode
-if ARG is omitted or nil.
 
 When View mode is enabled, commands that do not change the buffer
 contents are available as usual.  Kill commands insert text in
diff --git a/lisp/whitespace.el b/lisp/whitespace.el
index c2827d3d51..d8249316e4 100644
--- a/lisp/whitespace.el
+++ b/lisp/whitespace.el
@@ -924,11 +924,6 @@ whitespace-action
 ;;;###autoload
 (define-minor-mode whitespace-mode
   "Toggle whitespace visualization (Whitespace mode).
-With a prefix argument ARG, enable Whitespace mode if ARG is
-positive, and disable it otherwise.
-
-If called from Lisp, also enables the mode if ARG is omitted or nil,
-and toggles it if ARG is `toggle'.
 
 See also `whitespace-style', `whitespace-newline' and
 `whitespace-display-mappings'."
@@ -949,11 +944,6 @@ whitespace-mode
 ;;;###autoload
 (define-minor-mode whitespace-newline-mode
   "Toggle newline visualization (Whitespace Newline mode).
-With a prefix argument ARG, enable Whitespace Newline mode if ARG
-is positive, and disable it otherwise.
-
-If called from Lisp, also enables the mode if ARG is omitted or nil,
-and toggles it if ARG is `toggle'.
 
 Use `whitespace-newline-mode' only for NEWLINE visualization
 exclusively.  For other visualizations, including NEWLINE
@@ -979,11 +969,6 @@ whitespace-newline-mode
 ;;;###autoload
 (define-minor-mode global-whitespace-mode
   "Toggle whitespace visualization globally (Global Whitespace mode).
-With a prefix argument ARG, enable Global Whitespace mode if ARG
-is positive, and disable it otherwise.
-
-If called from Lisp, also enables the mode if ARG is omitted or nil,
-and toggles it if ARG is `toggle'.
 
 See also `whitespace-style', `whitespace-newline' and
 `whitespace-display-mappings'."
@@ -1040,11 +1025,6 @@ whitespace-turn-on-if-enabled
 ;;;###autoload
 (define-minor-mode global-whitespace-newline-mode
   "Toggle global newline visualization (Global Whitespace Newline mode).
-With a prefix argument ARG, enable Global Whitespace Newline mode
-if ARG is positive, and disable it otherwise.
-
-If called from Lisp, also enables the mode if ARG is omitted or nil,
-and toggles it if ARG is `toggle'.
 
 Use `global-whitespace-newline-mode' only for NEWLINE
 visualization exclusively.  For other visualizations, including
diff --git a/lisp/wid-browse.el b/lisp/wid-browse.el
index db2be0cc90..d86e9cd2e2 100644
--- a/lisp/wid-browse.el
+++ b/lisp/wid-browse.el
@@ -269,10 +269,7 @@ widget-minor-mode-map
 
 ;;;###autoload
 (define-minor-mode widget-minor-mode
-  "Minor mode for traversing widgets.
-With a prefix argument ARG, enable the mode if ARG is positive,
-and disable it otherwise.  If called from Lisp, enable the mode
-if ARG is omitted or nil."
+  "Minor mode for traversing widgets."
   :lighter " Widget")
 
 ;;; The End:
diff --git a/lisp/winner.el b/lisp/winner.el
index 72b90b0e43..5e13a378a7 100644
--- a/lisp/winner.el
+++ b/lisp/winner.el
@@ -351,9 +351,6 @@ winner-mode-map
 ;;;###autoload
 (define-minor-mode winner-mode
   "Toggle Winner mode on or off.
-With a prefix argument ARG, enable Winner mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'.
 
 Winner mode is a global minor mode that records the changes in
 the window configuration (i.e. how the frames are partitioned
diff --git a/lisp/xt-mouse.el b/lisp/xt-mouse.el
index 8fb65d5bfa..da4af32e5e 100644
--- a/lisp/xt-mouse.el
+++ b/lisp/xt-mouse.el
@@ -312,9 +312,6 @@ xterm-mouse-event
 ;;;###autoload
 (define-minor-mode xterm-mouse-mode
   "Toggle XTerm mouse mode.
-With a prefix argument ARG, enable XTerm mouse mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil.
 
 Turn it on to use Emacs mouse commands, and off to use xterm mouse commands.
 This works in terminal emulators compatible with xterm.  It only
-- 
2.18.0


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

* bug#10754: define-minor-mode and doc of derived mode
  2018-06-30 20:44                                                 ` John Shahid
@ 2018-07-02  3:36                                                   ` Stefan Monnier
  0 siblings, 0 replies; 28+ messages in thread
From: Stefan Monnier @ 2018-07-02  3:36 UTC (permalink / raw)
  To: John Shahid; +Cc: npostavs, 10754

> fixed all the issue mentioned above in the latest patch attached.

Thanks, installed, with a few tweaks (e.g. use imperative instead of
past tense and use "--" for internal definitions).


        Stefan





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

end of thread, other threads:[~2018-07-02  3:36 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-07 18:02 bug#10754: define-minor-mode and doc of derived mode Glenn Morris
2012-02-07 20:27 ` Glenn Morris
2018-06-07 11:20   ` John Shahid
2018-06-07 13:46     ` Drew Adams
2018-06-08  2:25       ` John Shahid
2018-06-08 21:45         ` John Shahid
2018-06-16 10:52           ` Eli Zaretskii
2018-06-16 17:23             ` Stefan Monnier
2018-06-17 15:55               ` John Shahid
2018-06-17 18:31                 ` Stefan Monnier
2018-06-17 19:45                   ` John Shahid
2018-06-17 21:00                     ` Stefan Monnier
2018-06-17 23:19                       ` John Shahid
2018-06-18 13:47                         ` Stefan Monnier
2018-06-20 19:33                           ` John Shahid
2018-06-20 21:55                             ` Stefan Monnier
2018-06-27 21:26                               ` John Shahid
2018-06-27 21:31                                 ` John Shahid
2018-06-29  1:02                                   ` Stefan Monnier
2018-06-29 13:45                                     ` John Shahid
2018-06-29 13:55                                       ` Stefan Monnier
2018-06-29 14:52                                         ` John Shahid
2018-06-29 15:12                                           ` Noam Postavsky
2018-06-29 15:48                                             ` John Shahid
2018-06-30  7:55                                               ` Eli Zaretskii
2018-06-30 20:44                                                 ` John Shahid
2018-07-02  3:36                                                   ` Stefan Monnier
2018-06-30  7:56                                         ` Eli Zaretskii

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).