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

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

bug#11658: 24.1; --no-site-lisp option doesn't work with custom locallis


From: Ulrich Mueller
Subject: bug#11658: 24.1; --no-site-lisp option doesn't work with custom locallisppath
Date: Sat, 9 Jun 2012 13:39:24 +0200

This is a fallout from bug 11634; Eli Zaretskii has suggested to open
a new bug report for it.

Gentoo's ebuild [1] configures Emacs with (basically)
--enable-locallisppath="/etc/emacs:/usr/share/emacs/site-lisp",
because according to our policy user-configurable files like
site-start.el should go to /etc, not /usr/share.

However, the code that collects the site-lisp dirs in init_lread()
will stop before the first element that doesn't contain "site-lisp" in
its name:

              /* Remove "site-lisp" dirs from front of path temporarily
                 and store them in sitelisp, then conc them on at the
                 end so they're always first in path.
                 Note that this won't work if you used a
                 --enable-locallisppath element that does not happen
                 to contain "site-lisp" in its name.
              */
              sitelisp = Qnil;
              while (1)
                {
                  tem = Fcar (Vload_path);
                  tem1 = Fstring_match (build_string ("site-lisp"),
                                        tem, Qnil);
                  if (!NILP (tem1))
                    {
                      Vload_path = Fcdr (Vload_path);
                      sitelisp = Fcons (tem, sitelisp);
                    }
                  else
                    break;
                }

In bug 10208 it was already suggested that lisppath and locallisppath
(which are separate variables in configure) shouldn't be joined, but
mapped to separate macros in epaths.h.

(I would try to prepare a patch based on that approach, but I've
looked at the code in init_lread and don't fully understand its
intentions. For example, why is no_site_lisp ignored in the
CANNOT_DUMP case? Do all four possible combinations of the
"Vpurify_flag" and "initialized" flags occur?)

[1] 
<http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-editors/emacs/emacs-24.1_rc.ebuild?revision=1.1&view=markup>





reply via email to

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