emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: What holds the release


From: Stefan Monnier
Subject: Re: What holds the release
Date: Wed, 15 Jun 2005 12:21:43 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

>> Make VC-over-Tramp work where possible, or at least fail
>> gracefully if something isn't supported over Tramp.
>> To be done by Andre Spiegel <address@hidden>.

> This has been sitting there for several months now.  Has it already been
> done?  Is it a major inconvenience worth delaying 22.1 for?

I'd happily drop it.

>> define-minor-mode should not put :require into defcustom.
>> See msg from rms to emacs-devel on 21 Dec.

> The relevant URL is

> http://lists.gnu.org/archive/html/emacs-devel/2004-12/msg00732.html

> I've tried working on this, with no result.  I couldn't find a clean way
> to implement RMS's suggestion, and I'm not sure it even makes sense.  A
> workaround for the particular problem originally reported by Stephen Stahl
> is to add (require 'font-lock) to font-core.el and a ":require 'font-lock"
> tag to the definition of global-font-lock-mode.  Maybe we should just do
> that, and wait for 22.2 for whatever general solution is required.  (It
> would be *nice* to get it into 22.1, but what it would *not* be nice to
> delay 22.1 into 2006 just for that.)

Looking at it some more, here is my thoughts about it:
- this problem is only relevant for global minor modes (buffer-local minor
  modes can't be enabled/disabled via custom).
- every global minor mode is either pre-loaded or autoloaded.

So we should simply never add thje :require directive and we just need to
make sure that the :setter info (custom-set-minor-mode) is included in
loaddefs.el for the autoloaded vars so that enabling/disabling will go
through the minor mode function and trigger the autoloading.

I.e. the sample patch below seems to fix the problem.

>> ** Update Speedbar.

> The relevant URL is
> http://lists.gnu.org/archive/html/emacs-devel/2005-05/msg00180.html
> It sounds like this will be fixed soon.

Hopefully, yes.

>> Enhance scroll-bar to handle tall line (similar to line-move).

> This is a feature request, not a show-stopping bug.  In the real world,
> 99.9% of users don't use Emacs as an image viewer; they use a specialized
> image viewing program.  Emacs is currently a mediocre image viewer; it
> would be nice if it were a great image viewer, but not essential for the
> release.

100% agreement.

>> Adapt mouse-sel-mode to mouse-1-click-follows-link.
> I fixed this a couple weeks ago.  This entry should be removed.

Done, thanks.

>> Make GTK scrollbars behave like others w.r.t. overscrolling.
> I don't experience any problem with GTK scrollbars.  It does not seem to
> be a show-stopper.

Agreed.

>> Avoid unbreakable loops in redisplay.
> This is an "it would be nice" feature, not a show-stopper.  It would be
> nice to have a safety feature to avoid running inappropriate display
> properties, but AFAIK people aren't actually being affected by such bugs. 
> This shouldn't block the release.

Agreed.


        Stefan


Index: lisp/emacs-lisp/easy-mmode.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/emacs-lisp/easy-mmode.el,v
retrieving revision 1.65
diff -u -r1.65 easy-mmode.el
--- lisp/emacs-lisp/easy-mmode.el       8 Jun 2005 15:54:43 -0000       1.65
+++ lisp/emacs-lisp/easy-mmode.el       15 Jun 2005 16:18:23 -0000
@@ -201,10 +201,7 @@
               :type 'boolean
               ,@(cond
                  ((not (and curfile require)) nil)
-                 ((not (eq require t)) `(:require ,require))
-                 (t `(:require
-                      ',(intern (file-name-nondirectory
-                                 (file-name-sans-extension curfile))))))
+                 ((not (eq require t)) `(:require ,require)))
               ,@(nreverse extra-keywords))))
 
        ;; The actual function.
Index: lisp/emacs-lisp/autoload.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/emacs-lisp/autoload.el,v
retrieving revision 1.104
diff -u -r1.104 autoload.el
--- lisp/emacs-lisp/autoload.el 31 Mar 2005 21:17:40 -0000      1.104
+++ lisp/emacs-lisp/autoload.el 15 Jun 2005 16:18:23 -0000
@@ -1,7 +1,7 @@
 ;; autoload.el --- maintain autoloads in loaddefs.el
 
-;; Copyright (C) 1991,92,93,94,95,96,97, 2001,02,03,04
-;;   Free Software Foundation, Inc.
+;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 2001, 2002, 2003,
+;;   2004, 2005  Free Software Foundation, Inc.
 
 ;; Author: Roland McGrath <address@hidden>
 ;; Keywords: maint
@@ -123,7 +123,17 @@
            )
        `(progn
           (defvar ,varname ,init ,doc)
-          (custom-autoload ',varname ,file))))
+          (custom-autoload ',varname ,file)
+           ;; The use of :require in a defcustom can be annoying, especially
+           ;; when defcustoms are moved from one file to another between
+           ;; releases because the :require arg gets placed in the user's
+           ;; .emacs.  In order for autoloaded minor modes not to need the
+           ;; use of :require, we arrange to store their :setter.
+           ,(let ((setter (condition-case nil
+                              (cadr (memq :set form))
+                            (error nil))))
+              (if (equal setter ''custom-set-minor-mode)
+                  `(put ',varname 'custom-set 'custom-set-minor-mode))))))
 
      ;; nil here indicates that this is not a special autoload form.
      (t nil))))
@@ -566,5 +576,5 @@
 
 (provide 'autoload)
 
-;;; arch-tag: 00244766-98f4-4767-bf42-8a22103441c6
+;; arch-tag: 00244766-98f4-4767-bf42-8a22103441c6
 ;;; autoload.el ends here




reply via email to

[Prev in Thread] Current Thread [Next in Thread]