Opened 13 years ago
Closed 12 years ago
#32146 closed defect (fixed)
emacs-app must write /opt/local/share/emacs/site-lisp/subdirs.el if it is not present
Reported by: | vishketan@… | Owned by: | cssdev |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.0.3 |
Keywords: | Cc: | humem (humem) | |
Port: | emacs-app |
Description
If emacs-app is the only emacs that is installed via macports then the /opt/local/share/emacs/site-lisp/subdirs.el file is not written. Therefore, any of the packages (e.g. emacs-w3m) which are installed under the site-lisp directory are not loaded.
During installation emacs-app must detect if the subdirs.el file is present and if not then write this file.
Change History (4)
comment:1 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Owner: | changed from macports-tickets@… to css@… |
---|---|
Port: | emacs-app added |
comment:2 Changed 13 years ago by vishketan@…
IMHO the clean thing is to ensure that an emacs meta-package is installed when one of emacs, emacs22, emacs-snapshot, emacs-app, or emacs-app-devel is installed. This meta package will write this subdirs.el file and set links to the appropriate emacs binaries. Once this is done other emacs goodies (e.g. org-mode, cedet, ecb etc) must be modified to depend on this meta-package rather than on individual emacs instances as is currently being done. IIRC this is the way distributions like debian do things.
comment:3 Changed 13 years ago by jmroot (Joshua Root)
Cc: | hum@… added |
---|
comment:4 Changed 12 years ago by humem (humem)
Resolution: | → fixed |
---|---|
Status: | new → closed |
I modified site-start.el of emacs-app to append ${prefix}/share/emacs/site-lisp and its subdirectories to load-path, and committed in r96526.
Ports should not generally alter their behavior based on what other ports are installed. We have to take into consideration that the user may get a pre-built port from the buildbot. A port should either always install a file, or never do so, not vary this based on the user's environment. But perhaps there is an opportunity for the port to do something useful in a post-activate block.