help-gnu-emacs
[Top][All Lists]
Advanced

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

info/info+ (23.1.50/EmacsW32) - Error creating toplevel dir menu


From: Geek4AllSeasons
Subject: info/info+ (23.1.50/EmacsW32) - Error creating toplevel dir menu
Date: Sun, 10 Jan 2010 12:15:06 -0800 (PST)

A problem creating the toplevel dir menu (C-h i) was corrected with changes
below. Comments/suggestions would be appreciated on:

1. appropriate list/forum
2. change correctness
3. issues (regarding 2.)

After upgrading to EmacsW32+Emacs20091103 (patched) the toplevel dir menu
went missing. "Can't find dir or any compressed version of it" appears in
*messages*/*backtrace*.

After some Edebug hacking I found a mismatch in the "filename" parameter
being passed down from:
[info](Info-directory)->
[info](Info-find-node "dir" "top")->
[info+](Info-find-node-2 "dir" "top" )

The Dir menu was created after the following change was made in in
[info+]Info-find-node-2:

--- /cygdrive/d/Download/Emacs/info+.el 2010-01-10 18:09:46.262804400 +0000
+++ /cygdrive/c/Software/Emacs/site-lisp/auto-install/info+.el  2010-01-10
18:20:21.967298700 +0000
@@ -1463,8 +1463,9 @@
                        buffer-file-name nil)
                  (erase-buffer)
                  (cond
-                   ((eq filename t)
-                    (Info-insert-dir))
+                   ((or (eq filename t)
+                       (equal filename "dir"))
+                   (Info-insert-dir))
                    ((eq filename 'apropos)
                     (insert-buffer-substring " *info-apropos*"))
                    ((eq filename 'history)

The fix was made in info+.el to localize side effects and due to limited
knowledge of dependencies/design intent. The underlying problem maybe in the
"virtual" info logic. There may be a shortcircut between filename and
nodename semantics. Info-find-node calls Info-find-file. The first and only
case executed there is:

(Info-virtual-call (Info-virtual-fun 'find-file "dir" nil) "dir" noerror))

The problem is/was caused by 'find-file mapping to Info-directory-find-file,
which just returns the unchanged filename. 'find-node would map to
Info-directory-find-node, which calls Info-insert-dir (see above).

-- 
View this message in context: 
http://old.nabble.com/info-info%2B-%2823.1.50-EmacsW32%29---Error-creating-toplevel-dir-menu-tp27101958p27101958.html
Sent from the Emacs - Help mailing list archive at Nabble.com.





reply via email to

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