emacs-pretest-bug
[Top][All Lists]
Advanced

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

RE: load-history is incorrect


From: Drew Adams
Subject: RE: load-history is incorrect
Date: Mon, 10 Jan 2005 09:39:58 -0800

It occurred to me that perhaps this bug was being confused with another with
a similar Subject line that I filed on the same day. I heard back about the
other bug, but not this one, so I thought I'd mention this one again, just
in case there was some confusion. This one is a more serious bug. -- Drew

    From: Drew Adams [mailto:address@hidden
    Sent: Thursday, December 30, 2004 11:00 PM

    In Emacs 20, each explicit `require' in a library is reflected
    in the entry for that library in variable `load-history'.

    In Emacs 21, the `load-history' seems to be seriously flawed
    (unless there is some change in the semantics that is not
    reflected by the doc string). Many explicit requires for a
    library are not listed in the library's entry in load-history.
    This is true for both user libraries and standard, preloaded libraries.

    To pick a library in a virgin emacs (-q), look at the
    `load-history' entry for, say, "term/w32-win". In the Emacs 21
    file w32-win.el you find these requires:

    (require 'frame)
    (require 'mouse)
    (require 'scroll-bar)
    (require 'faces)
    (require 'select)
    (require 'menu-bar)
    (require 'x-dnd)
    (require 'code-pages)
    (if (fboundp 'new-fontset)(require 'fontset))

    But in `load-history' you find only these requires in the
    "term/w32-win" entry:

    ("term/w32-win"
      (require . x-dnd)
      (require . code-pages)
      (require . fontset)
      w32-drag-n-drop-debug w32-drag-n-drop
    w32-drag-n-drop-other-frame x-command-line-resources
    x-handle-switch x-handle-numeric-switch x-handle-initial-switch
    x-handle-iconic x-handle-xrm-switch x-handle-geometry
    x-handle-name-switch
      (defvar . x-display-name)
      x-handle-display x-handle-args
      (defvar . x-colors)
      xw-defined-colors
      (defvar . w32-standard-fontset-spec)
      x-win-suspend-error internal-face-interactive mouse-set-font)

    As another example, look at the entry for library custom -
    there is no require for it in load-history, but there is a
    require in library custom.el.

    Load a library that you define that contains several requires,
    and then look at load-history. Many, perhaps most, of the
    requires will not be present.

    I don't know what the rule is for the missing requires, but to
    me this is a _serious_ problem. I've written code that lists
    all (i.e. recursive) dependencies for a library (either as a
    tree, showing the hierarchy, or as a flat list with no dups).
    The code works perfectly in Emacs 20, because the load-history
    is correct: all library requires are present. The code doesn't
    show complete require lists in Emacs 21 because load-history is
    incomplete wrt requires for libraries.

    In GNU Emacs 21.3.50.1 (i386-mingw-nt5.1.2600)
     of 2004-07-26 on BERATUNG4
    configured using `configure --with-gcc (3.3) --cflags
    -I../../jpeg-6b-1/include -I../../libpng-1.2.4-1/include
    -I../../tiff-3.5.7/include -I../../xpm-nox-4.2.0/include
    -I../../zlib-1.1.4-1/include'






reply via email to

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