[Top][All Lists]
[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'
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- RE: load-history is incorrect,
Drew Adams <=