New Ticket     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #12115 (closed defect: fixed)

Opened 5 years ago

Last modified 3 years ago

BUG: emacs-app can't see code installed by other elisp packages

Reported by: cmc@… Owned by: css@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port:

Description

The new emacs-app package installs itself in /Applications/MacPorts/Emacs.app, whereas previous Carbon Emacs installs (such as emacs-devel +carbon) split the Mac OS X application piece off from various support files. Emacs-app doesn't look at the /opt/local/share/emacs directory for other elisp code, so packages such as auctex do not work with emacs-app.

The simple fix appears to be to modify epaths.h at build time to include the /opt/local paths. Alternatively, I would be fine with going back to the way the Carbon Emacs.app was installed in previous Emacs packages.

(Note that it is also possible to modify your load-path in your .emacs file or your EMACSLOADPATH environment variable, either of which works as a temporary workaround. But packaged software should work with other packaged software, so one of the other solutions is needed for a real fix.)

Attachments

site-start.el Download (69 bytes) - added by css@… 4 years ago.
site startup will append the prefix to the load path
patch-Portfile.diff Download (0.8 KB) - added by css@… 4 years ago.
Copy the site-start into the application bundle, then patch it to point toward the ${prefix}

Change History

Changed 5 years ago by css@…

  • status changed from new to assigned
  • owner changed from macports-dev@… to css@…
  • summary changed from emacs-app can't see code installed by other elisp packages to BUG: emacs-app can't see code installed by other elisp packages

The current build simply wraps the upstream author's custom script. Ideally that script shouldn't be needed, but that's not the case right now. Given those circumstances, anything that modifies the build might be problematic. The packaged application should perhaps default to load other lisp packages from ${prefix}. I'll check into appending it to the autoload path.

Changed 5 years ago by nox@…

  • priority changed from Expected to Normal
  • version 1.4.40 deleted
  • milestone set to Port Bugs

Changed 4 years ago by css@…

The latest emacs-app supports a shared-lisp directory. Once I get it built and submitted (see #12718), check if that solves the issue.

Changed 4 years ago by css@…

The 0.9rc2 shared-lisp support makes quite a mess, as it scatters files outside the destroot during the build phase.

Changed 4 years ago by css@…

The emacs-app sitelisp could just contain:

(setq load-path (cons "/opt/local/share/emacs/site-lisp" load-path))

Changed 4 years ago by css@…

site startup will append the prefix to the load path

Changed 4 years ago by css@…

Copy the site-start into the application bundle, then patch it to point toward the ${prefix}

Changed 4 years ago by css@…

  • status changed from assigned to closed
  • resolution set to fixed

Committed to r34411

Changed 3 years ago by anonymous

  • milestone Port Bugs deleted

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.