Subject: bug#8416: closed (Re: bug#8416: easy-mmode.el -- enhance define-minor-mode to define turn-on-* and turn-off-* functions)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 04 Apr 2011 14:33:02 +0000

Your bug report

#8416: easy-mmode.el -- enhance define-minor-mode to define turn-on-* and turn-off-* functions

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
8416: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8416
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#8416: easy-mmode.el -- enhance define-minor-mode to define turn-on-* and turn-off-* functions
From: Stefan Monnier <[email-masked]>
To: Jari Aalto <[email-masked]>
Cc: [email-masked]
Date: Mon, 04 Apr 2011 10:32:03 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

> It would be nice if the define-minor-mode would also define functions:

>     turn-on-*
>     turn-off-*

In Emacs-24, the `foo-mode' function of a minor mode *is* the
turn-on-foo-mode function (at least when called non-interactively
without an argument, e.g. on a normal hook).

> This would be much more cleaner than what is needed now:
>     (add-hook 'nroff-mode-hook '(lambda () (turn-on-hl-line-mode 1)))

As mentioned, the above is not needed any more:

  (add-hook 'nroff-mode-hook 'hl-line-mode)

will work just fine.

The turn-off-foo is rarely needed in my experience.

        Stefan

Subject: easy-mmode.el -- enhance define-minor-mode to define turn-on-* and turn-off-* functions
From: Jari Aalto <[email-masked]>
To: [email-masked]
Date: Sun, 03 Apr 2011 16:42:03 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

Package: emacs
Version: 23.2+1-7
Severity: wishlist

It would be nice if the define-minor-mode would also define functions:

    turn-on-*
    turn-off-*

An example:

    ;; lisp/hl-line.el
    (define-minor-mode hl-line-mode ...)

That would make it possible to add to ~/.emacs:

    (add-hook 'nroff-mode-hook 'turn-on-hl-line-mode)

    ;; Or later:
    (remove-hook 'nroff-mode-hook 'turn-on-hl-line-mode)

This would be much more cleaner than what is needed now:

    (add-hook 'nroff-mode-hook '(lambda () (turn-on-hl-line-mode 1)))
    ...
    ;; the hook removal command is as messy

-- System Information
Debian Release: wheezy/sid
  APT Prefers testing
  APT policy: (990, testing) (500, unstable) (1, experimental)
Architecture: amd64
Kernel: Linux picasso 2.6.32-5-amd64 #1 SMP Wed Jan 12 03:40:32 UTC 2011 x86_64 GNU/Linux
Locale: LANG=en_DK.UTF-8

-- Versions of packages `emacs depends on'.
Depends:
emacs23         23.2+1-7        GNU Emacs is the extensible self-documenting
emacs23-lucid   23.2+1-7        GNU Emacs is the extensible self-documenting
emacs23-nox     23.2+1-7        GNU Emacs is the extensible self-documenting