all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#11299: 24.1.50; Make `customize-mode' work for minor modes too, or define `customize-minor-mode'
@ 2012-04-21 16:16 Drew Adams
  2012-04-21 17:50 ` bug#11299: 24.1.50; Make `customize-mode' work for minor modes too, or define`customize-minor-mode' Drew Adams
  2016-06-25  3:23 ` Noam Postavsky
  0 siblings, 2 replies; 6+ messages in thread
From: Drew Adams @ 2012-04-21 16:16 UTC (permalink / raw
  To: 11299

1. First, a doc quibble and a question about the status of this command.
`(elisp) Derived Modes' says, "Only the (still experimental and
unadvertised) command `customize-mode' currently uses this."
 
It has said this since at least Emacs 22.  If it was an experiment (how
so? no explanation anywhere, AFAICT), presumably it is over now?  Or at
least explain in what way it is experimental.  Does it have problems?
If so what?  It does not help users to characterize something as
"experimental" if you do not describe the experiment or the associated
questions/problems.
 
And `customize-mode' is of course not at all "unadvertised", since it is
documented, including here, in this part of the manual.  This kind of
writing, characterizing something as experimental or unadvertised does
not belong in the manual.  And it only becomes more inappropriate with
time and neglect.
 

2. AFAICT, there is nothing in the definition or use of `customize-mode'
that necessarily limits it to major modes.  The only thing that limits
it this way is that `major-mode' is hard-coded in its definition.
 
Even the use of `custom-group-of-mode' in the definition applies equally
to minor modes, IIUC.  Likewise, the use of `completion-regexp-list'
with "-mode\\'" applies to minor modes as well.
 
So please release it from its limitation to major modes.  Minor modes
can have defcustoms and deffaces and defgroups too.
 
It is OK for the default to be the current major mode, but the use of a
prefix arg (completion for a mode name) should at least allow for minor
modes as well as major modes.
 

In GNU Emacs 24.1.50.1 (i386-mingw-nt5.1.2600)
 of 2012-04-19 on MARVIN
Bzr revision: 107968 monnier@iro.umontreal.ca-20120419220225-gijdcbfxuiqy5dhb
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
 `configure --with-gcc (4.6) --no-opt --enable-checking --cflags
 -ID:/devel/emacs/libs/libXpm-3.5.8/include
 -ID:/devel/emacs/libs/libXpm-3.5.8/src
 -ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include
 -ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include
 -ID:/devel/emacs/libs/giflib-4.1.4-1/include
 -ID:/devel/emacs/libs/jpeg-6b-4/include
 -ID:/devel/emacs/libs/tiff-3.8.2-1/include
 -ID:/devel/emacs/libs/gnutls-3.0.9/include
 -ID:/devel/emacs/libs/libiconv-1.13.1-1-dev/include
 -ID:/devel/emacs/libs/libxml2-2.7.8/include/libxml2'
 






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

* bug#11299: 24.1.50; Make `customize-mode' work for minor modes too, or define`customize-minor-mode'
  2012-04-21 16:16 bug#11299: 24.1.50; Make `customize-mode' work for minor modes too, or define `customize-minor-mode' Drew Adams
@ 2012-04-21 17:50 ` Drew Adams
  2016-06-25  3:23 ` Noam Postavsky
  1 sibling, 0 replies; 6+ messages in thread
From: Drew Adams @ 2012-04-21 17:50 UTC (permalink / raw
  To: 11299

E.g., something like this:

(defun customize-mode (mode)
    "Customize options related to a major or minor mode.
By default the current major is used.
With a prefix argument or if the current major mode has no known group,
you are prompted for the MODE to customize."
    (interactive
     (list
      (let ((completion-regexp-list  '("-mode\\'"))
            (group                   (custom-group-of-mode major-mode)))
        (if (and group  (not current-prefix-arg))
            major-mode
          (intern (completing-read
                    "Mode: " obarray 'custom-group-of-mode
                    t nil nil (and group  (symbol-name major-mode))))))))
    (customize-group (custom-group-of-mode mode)))






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

* bug#11299: 24.1.50; Make `customize-mode' work for minor modes too, or define`customize-minor-mode'
  2012-04-21 16:16 bug#11299: 24.1.50; Make `customize-mode' work for minor modes too, or define `customize-minor-mode' Drew Adams
  2012-04-21 17:50 ` bug#11299: 24.1.50; Make `customize-mode' work for minor modes too, or define`customize-minor-mode' Drew Adams
@ 2016-06-25  3:23 ` Noam Postavsky
  2016-06-25  8:04   ` Eli Zaretskii
  2016-06-25  8:04   ` Eli Zaretskii
  1 sibling, 2 replies; 6+ messages in thread
From: Noam Postavsky @ 2016-06-25  3:23 UTC (permalink / raw
  To: 11299

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

tag 11299 + patch
quit

> `(elisp) Derived Modes' says, "Only the (still experimental and
> unadvertised) command `customize-mode' currently uses this."
>
> It has said this since at least Emacs 22.

Indeed that seems long enough to declare it non-experimental. So I
propose removing that phrase and just say "The command
`customize-mode' uses this", as in the current docstring of
`define-derived-modes'. Any objections?

> It is OK for the default to be the current major mode, but the use
> of a prefix arg (completion for a mode name) should at least allow
> for minor modes as well as major modes.

AFAICT it always allowed entering any mode with a prefix argument,
it's just a matter of updating prompt and docstring (cf
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=23649).

[-- Attachment #2: 0002-Don-t-describe-customize-mode-as-experimental.patch --]
[-- Type: text/x-patch, Size: 1223 bytes --]

From a23505433e2ccbca9b61e5564de581207fb3dd81 Mon Sep 17 00:00:00 2001
From: Noam Postavsky <npostavs@gmail.com>
Date: Fri, 24 Jun 2016 23:01:36 -0400
Subject: [PATCH 2/2] Don't describe `customize-mode' as experimental

* doc/lispref/modes.texi (Derived Modes): Remove note about
customize-mode being experimental; it has been around since Emacs
22 (Bug #11299).
---
 doc/lispref/modes.texi | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi
index 4c96e63..32baa27 100644
--- a/doc/lispref/modes.texi
+++ b/doc/lispref/modes.texi
@@ -794,10 +794,9 @@ Derived Modes
 
 @item :group
 If this is specified, the value should be the customization group for
-this mode.  (Not all major modes have one.)  Only the (still
-experimental and unadvertised) command @code{customize-mode} currently
-uses this.  @code{define-derived-mode} does @emph{not} automatically
-define the specified customization group.
+this mode.  (Not all major modes have one.)  The command
+@code{customize-mode} uses this.  @code{define-derived-mode} does
+@emph{not} automatically define the specified customization group.
 @end table
 
 Here is a hypothetical example:
-- 
2.8.0


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

* bug#11299: 24.1.50; Make `customize-mode' work for minor modes too, or define`customize-minor-mode'
  2016-06-25  3:23 ` Noam Postavsky
@ 2016-06-25  8:04   ` Eli Zaretskii
  2016-06-25 17:35     ` Noam Postavsky
  2016-06-25  8:04   ` Eli Zaretskii
  1 sibling, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2016-06-25  8:04 UTC (permalink / raw
  To: Noam Postavsky; +Cc: 11299

> From: Noam Postavsky <npostavs@users.sourceforge.net>
> Date: Fri, 24 Jun 2016 23:23:34 -0400
> 
> > `(elisp) Derived Modes' says, "Only the (still experimental and
> > unadvertised) command `customize-mode' currently uses this."
> >
> > It has said this since at least Emacs 22.
> 
> Indeed that seems long enough to declare it non-experimental. So I
> propose removing that phrase and just say "The command
> `customize-mode' uses this", as in the current docstring of
> `define-derived-modes'. Any objections?

No, looks good.

Thanks.





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

* bug#11299: 24.1.50; Make `customize-mode' work for minor modes too, or define`customize-minor-mode'
  2016-06-25  3:23 ` Noam Postavsky
  2016-06-25  8:04   ` Eli Zaretskii
@ 2016-06-25  8:04   ` Eli Zaretskii
  1 sibling, 0 replies; 6+ messages in thread
From: Eli Zaretskii @ 2016-06-25  8:04 UTC (permalink / raw
  To: Noam Postavsky; +Cc: 11299

> From: Noam Postavsky <npostavs@users.sourceforge.net>
> Date: Fri, 24 Jun 2016 23:23:34 -0400
> 
> > `(elisp) Derived Modes' says, "Only the (still experimental and
> > unadvertised) command `customize-mode' currently uses this."
> >
> > It has said this since at least Emacs 22.
> 
> Indeed that seems long enough to declare it non-experimental. So I
> propose removing that phrase and just say "The command
> `customize-mode' uses this", as in the current docstring of
> `define-derived-modes'. Any objections?

No, looks good.  Please push to the release branch.

Thanks.





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

* bug#11299: 24.1.50; Make `customize-mode' work for minor modes too, or define`customize-minor-mode'
  2016-06-25  8:04   ` Eli Zaretskii
@ 2016-06-25 17:35     ` Noam Postavsky
  0 siblings, 0 replies; 6+ messages in thread
From: Noam Postavsky @ 2016-06-25 17:35 UTC (permalink / raw
  To: Eli Zaretskii; +Cc: 11299-done

Version: 25.1

Pushed to emacs-25 f2536958ec711b50a0cf8714defb921193ea8ae4





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

end of thread, other threads:[~2016-06-25 17:35 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-04-21 16:16 bug#11299: 24.1.50; Make `customize-mode' work for minor modes too, or define `customize-minor-mode' Drew Adams
2012-04-21 17:50 ` bug#11299: 24.1.50; Make `customize-mode' work for minor modes too, or define`customize-minor-mode' Drew Adams
2016-06-25  3:23 ` Noam Postavsky
2016-06-25  8:04   ` Eli Zaretskii
2016-06-25 17:35     ` Noam Postavsky
2016-06-25  8:04   ` Eli Zaretskii

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.