FS#21148 - [xemacs] not usable, search path is missing many subdirs

Attached to Project: Community Packages
Opened by David Faure (dfaure) - Friday, 08 October 2010, 10:59 GMT
Last edited by Sergej Pupykin (sergej) - Thursday, 05 May 2011, 10:00 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Sergej Pupykin (sergej)
Stefan Husmann (stefanhusmann)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:

The search path for .el files in xemacs is not configured properly, many directories are missing.

xemacs-21.5.29-2

Steps to reproduce:

Write in test-lazy-shot.el the following:

(custom-set-variables
'(gnuserv-visit-hook (quote (lazy-lock-mode)))
'(lazy-lock-mode nil nil (lazy-lock))
'(lazy-lock-stealth-verbose nil)
'(lazy-shot-mode t nil (lazy-shot))
'(lazy-shot-verbose nil)
)

Then try: xemacs -debug-init -user-init-file $PWD/test-lazy-shot.el

It fails with Cannot open load file: "lazy-shot"
However xemacs-all-packages installed it, in /usr/lib/xemacs/xemacs-packages/lisp/edit-utils/lazy-shot.el

On other distros it works. The difference is that C-h v load-path shows only
"/usr/lib/xemacs/xemacs-packages/lisp" and a few other site-lisp dirs, while on other distros load-path contains many many directories, including all the subdirs of that base directory. E.g. the subdir edit-utils is missing for this one to work, but all other subdirs are missing too. I have no idea where's the code that sets the default load-path though, and why it would be different between distros...
This task depends upon

Closed by  Sergej Pupykin (sergej)
Thursday, 05 May 2011, 10:00 GMT
Reason for closing:  Works for me
Additional comments about closing:  and no response for ~2 weeks
Comment by Gerardo Exequiel Pozzi (djgera) - Friday, 08 October 2010, 16:33 GMT
Assigned to latest packager + Orphan Team.
Comment by David Faure (dfaure) - Wednesday, 03 November 2010, 14:49 GMT
Why was this bug closed as fixed? I upgraded to 21.5.29-3 and the bug is still there, and
http://repos.archlinux.org/wsvn/packages?op=comp&compare[]=%2Fxemacs%2Ftrunk@63771&compare[]=%2Fxemacs%2Ftrunk@96361 doesn't show any change relating to the load-path.

Please have another look at this issue.
Comment by Stéphane Gaudreault (stephane) - Tuesday, 09 November 2010, 14:10 GMT
With which distro do you compare?
Comment by David Faure (dfaure) - Tuesday, 09 November 2010, 14:30 GMT
Well I'm comparing with kubuntu for instance, but I know for sure that my colleagues using OpenSUSE don't have to set the load-path by hand either.

OK I just had a deeper look on kubuntu: apt-get source xemacs21, and the diff.gz includes a xemacs21-21.4.22/debian/00debian.el which says

+(setq load-path
+ (append
+ (dir-and-all-good-subs
+ (expand-file-name "~/.xemacs/xemacs-packages"))
+ (dir-and-all-good-subs
+ (expand-file-name "~/.xemacs/packages"))
+ (list (concat "/etc/xemacs" debian-xemacs-major-version))
+ '("/etc/emacs")
+ (list (concat "/usr/local/share/emacs/xemacs-" debian-xemacs-version
+ "/site-lisp"))
+ '("/usr/local/share/emacs/site-lisp")
+ `(,@(dir-and-all-good-subs "/usr/local/lib/xemacs/site-lisp")
+ ,@(dir-and-all-good-subs
+ (concat "/usr/share/xemacs/site-lisp-"
+ debian-xemacs-major-version "/"))
+ ,@(dir-and-all-good-subs "/usr/share/xemacs/site-lisp/")
+ ,@(dir-and-all-good-subs
+ (concat "/usr/share/xemacs" debian-xemacs-major-version
+ "/site-lisp/"))
+ )
+ load-path
+ '("/usr/share/emacs/site-lisp")))

And above all this there's a (setq module-load-path '("/usr/lib/xemacs/site-modules")), not sure if related.

No idea how "upstream" xemacs is supposed to be used out of the box, with tons of missing dirs in load-path...
Comment by Stefan Husmann (stefanhusmann) - Friday, 15 April 2011, 06:55 GMT
Can you please attach that diff.gz or send a link?
Comment by Stefan Husmann (stefanhusmann) - Friday, 15 April 2011, 08:04 GMT
Maybe Sergey can send some light on this.
Comment by David Faure (dfaure) - Friday, 15 April 2011, 09:11 GMT Comment by Stefan Husmann (stefanhusmann) - Friday, 15 April 2011, 12:54 GMT
I think we shoud provide a file $pkgdir/usr/share/xemacs/xemacs-packages/lisp/site-start.el in the package xemacs-all-packages with the relevant paths added to the load path, i.e.

(setq load-path
(cons "/usr/lib/xemacs/xemacs-packages/lisp/edit-utils"
load-path))

This has to be done for every subdir that is missing.
Comment by Stefan Husmann (stefanhusmann) - Friday, 15 April 2011, 14:45 GMT
Oops. 116 entries:

/usr/lib/xemacs/xemacs-packages/lisp/ediff
/usr/lib/xemacs/xemacs-packages/lisp/hyperbole
/usr/lib/xemacs/xemacs-packages/lisp/ruby-modes
/usr/lib/xemacs/xemacs-packages/lisp/net-utils
/usr/lib/xemacs/xemacs-packages/lisp/ada
/usr/lib/xemacs/xemacs-packages/lisp/elib
/usr/lib/xemacs/xemacs-packages/lisp/ibuffer
/usr/lib/xemacs/xemacs-packages/lisp/apel
/usr/lib/xemacs/xemacs-packages/lisp/vm
/usr/lib/xemacs/xemacs-packages/lisp/gnus
/usr/lib/xemacs/xemacs-packages/lisp/x-symbol
/usr/lib/xemacs/xemacs-packages/lisp/speedbar
/usr/lib/xemacs/xemacs-packages/lisp/ocaml
/usr/lib/xemacs/xemacs-packages/lisp/dictionary
/usr/lib/xemacs/xemacs-packages/lisp/liece
/usr/lib/xemacs/xemacs-packages/lisp/semantic
/usr/lib/xemacs/xemacs-packages/lisp/sml-mode
/usr/lib/xemacs/xemacs-packages/lisp/mail-lib
/usr/lib/xemacs/xemacs-packages/lisp/vhdl
/usr/lib/xemacs/xemacs-packages/lisp/ess
/usr/lib/xemacs/xemacs-packages/lisp/ps-print
/usr/lib/xemacs/xemacs-packages/lisp/easypg
/usr/lib/xemacs/xemacs-packages/lisp/os-utils
/usr/lib/xemacs/xemacs-packages/lisp/idlwave
/usr/lib/xemacs/xemacs-packages/lisp/psgml
/usr/lib/xemacs/xemacs-packages/lisp/clearcase
/usr/lib/xemacs/xemacs-packages/lisp/edt
/usr/lib/xemacs/xemacs-packages/lisp/ispell
/usr/lib/xemacs/xemacs-packages/lisp/sounds-au
/usr/lib/xemacs/xemacs-packages/lisp/sh-script
/usr/lib/xemacs/xemacs-packages/lisp/general-docs
/usr/lib/xemacs/xemacs-packages/lisp/fortran-modes
/usr/lib/xemacs/xemacs-packages/lisp/edit-utils
/usr/lib/xemacs/xemacs-packages/lisp/zenirc
/usr/lib/xemacs/xemacs-packages/lisp/pcl-cvs
/usr/lib/xemacs/xemacs-packages/lisp/igrep
/usr/lib/xemacs/xemacs-packages/lisp/games
/usr/lib/xemacs/xemacs-packages/lisp/pc
/usr/lib/xemacs/xemacs-packages/lisp/gnats
/usr/lib/xemacs/xemacs-packages/lisp/mh-e
/usr/lib/xemacs/xemacs-packages/lisp/viper
/usr/lib/xemacs/xemacs-packages/lisp/w3
/usr/lib/xemacs/xemacs-packages/lisp/dired
/usr/lib/xemacs/xemacs-packages/lisp/crisp
/usr/lib/xemacs/xemacs-packages/lisp/vc-cc
/usr/lib/xemacs/xemacs-packages/lisp/text-modes
/usr/lib/xemacs/xemacs-packages/lisp/python-modes
/usr/lib/xemacs/xemacs-packages/lisp/tramp
/usr/lib/xemacs/xemacs-packages/lisp/ilisp
/usr/lib/xemacs/xemacs-packages/lisp/scheme
/usr/lib/xemacs/xemacs-packages/lisp/footnote
/usr/lib/xemacs/xemacs-packages/lisp/c-support
/usr/lib/xemacs/xemacs-packages/lisp/cedet-common
/usr/lib/xemacs/xemacs-packages/lisp/eudc
/usr/lib/xemacs/xemacs-packages/lisp/sasl
/usr/lib/xemacs/xemacs-packages/lisp/ecrypto
/usr/lib/xemacs/xemacs-packages/lisp/debug
/usr/lib/xemacs/xemacs-packages/lisp/reftex
/usr/lib/xemacs/xemacs-packages/lisp/xlib
/usr/lib/xemacs/xemacs-packages/lisp/jde
/usr/lib/xemacs/xemacs-packages/lisp/calendar
/usr/lib/xemacs/xemacs-packages/lisp/xwem
/usr/lib/xemacs/xemacs-packages/lisp/eterm
/usr/lib/xemacs/xemacs-packages/lisp/rmail
/usr/lib/xemacs/xemacs-packages/lisp/perl-modes
/usr/lib/xemacs/xemacs-packages/lisp/fsf-compat
/usr/lib/xemacs/xemacs-packages/lisp/sgml
/usr/lib/xemacs/xemacs-packages/lisp/erc
/usr/lib/xemacs/xemacs-packages/lisp/cogre
/usr/lib/xemacs/xemacs-packages/lisp/pgg
/usr/lib/xemacs/xemacs-packages/lisp/guided-tour
/usr/lib/xemacs/xemacs-packages/lisp/hm--html-menus
/usr/lib/xemacs/xemacs-packages/lisp/view-process
/usr/lib/xemacs/xemacs-packages/lisp/edebug
/usr/lib/xemacs/xemacs-packages/lisp/tooltalk
/usr/lib/xemacs/xemacs-packages/lisp/prog-modes
/usr/lib/xemacs/xemacs-packages/lisp/ecb
/usr/lib/xemacs/xemacs-packages/lisp/oo-browser
/usr/lib/xemacs/xemacs-packages/lisp/escreen
/usr/lib/xemacs/xemacs-packages/lisp/sounds-wav
/usr/lib/xemacs/xemacs-packages/lisp/haskell-mode
/usr/lib/xemacs/xemacs-packages/lisp/tpu
/usr/lib/xemacs/xemacs-packages/lisp/time
/usr/lib/xemacs/xemacs-packages/lisp/cookie
/usr/lib/xemacs/xemacs-packages/lisp/xemacs-devel
/usr/lib/xemacs/xemacs-packages/lisp/mine
/usr/lib/xemacs/xemacs-packages/lisp/efs
/usr/lib/xemacs/xemacs-packages/lisp/slider
/usr/lib/xemacs/xemacs-packages/lisp/textools
/usr/lib/xemacs/xemacs-packages/lisp/mew
/usr/lib/xemacs/xemacs-packages/lisp/frame-icon
/usr/lib/xemacs/xemacs-packages/lisp/emerge
/usr/lib/xemacs/xemacs-packages/lisp/cc-mode
/usr/lib/xemacs/xemacs-packages/lisp/eshell
/usr/lib/xemacs/xemacs-packages/lisp/xetla
/usr/lib/xemacs/xemacs-packages/lisp/bbdb
/usr/lib/xemacs/xemacs-packages/lisp/xslide
/usr/lib/xemacs/xemacs-packages/lisp/build
/usr/lib/xemacs/xemacs-packages/lisp/tm
/usr/lib/xemacs/xemacs-packages/lisp/ede
/usr/lib/xemacs/xemacs-packages/lisp/Sun
/usr/lib/xemacs/xemacs-packages/lisp/texinfo
/usr/lib/xemacs/xemacs-packages/lisp/riece
/usr/lib/xemacs/xemacs-packages/lisp/xemacs-base
/usr/lib/xemacs/xemacs-packages/lisp/pcomplete
/usr/lib/xemacs/xemacs-packages/lisp/calc
/usr/lib/xemacs/xemacs-packages/lisp/eieio
/usr/lib/xemacs/xemacs-packages/lisp/mailcrypt
/usr/lib/xemacs/xemacs-packages/lisp/forms
/usr/lib/xemacs/xemacs-packages/lisp/auctex
/usr/lib/xemacs/xemacs-packages/lisp/mmm-mode
/usr/lib/xemacs/xemacs-packages/lisp/sieve
/usr/lib/xemacs/xemacs-packages/lisp/misc-games
/usr/lib/xemacs/xemacs-packages/lisp/strokes
/usr/lib/xemacs/xemacs-packages/lisp/supercite
/usr/lib/xemacs/xemacs-packages/lisp/vc
Comment by Sergej Pupykin (sergej) - Monday, 18 April 2011, 10:21 GMT
I added site-start.el into xemacs-all-packages-20110418-1-any.pkg.tar.xz. Please check it.
(On my machine it does not load site-start.el automatically, but after load-file it works)

Loading...