Kaushal Modi writes: > I also update org via git and faced the compiled code incompatibility > issue. I resolved it the same way .. using version specific compiled org > dirs. > > Here's the full code gathered from various places in my config: > > Part 1: > https://github.com/kaushalmodi/.emacs.d/blob/56b84df6ff399ab65c040d4d872dc65fb45515e6/init.el#L9-L13 > (setq user-home-directory (concat (getenv "HOME") "/")) ; must end with > / > (setq user-emacs-directory (concat user-home-directory ".emacs.d/")) ; > must end with / > (setq emacs-version-short (replace-regexp-in-string > "\\([0-9]+\\)\\.\\([0-9]+\\).*" > "\\1_\\2" emacs-version)) ; 25.0.50.1 -> 25_0 > > Part 2: > https://github.com/kaushalmodi/.emacs.d/blob/56b84df6ff399ab65c040d4d872dc65fb45515e6/setup-files/setup-org.el#L32-L34 > (add-to-list 'load-path (concat user-emacs-directory > "elisp/org-mode/lisp_" > emacs-version-short "/")) > > Part 3: The nasty part. > Use a shell script or script of your preferred flavor to build org-mode for > each of the emacs versions you are using and copy the built lisp/ dir to > the version specific lisp dir. > > #!/bin/tcsh -f > # Build script to compile org mode lisp for different emacs versions > > > # > # Back up your $PATH > # > > alias get_org_mode_lisp_dir_suffix '\emacs --version | \grep -oE '"'"'Emacs > [0-9]+\.[0-9]+'"'"' | \awk '"'"'{print $2}'"'"' | \tr "." "_"' > > #** Build for emacs master > > # > # Set the $PATH *here* to use the emacs master (built from latest in git) > # I use something work proprietary like GNU Modules to do this > # > > echo "\nBuilding for emacs version: "`\emacs --version | \grep -E 'Emacs > [0-9]+\.[0-9]+'`"\n" > make clean > make > set org_mode_lisp_dir = "lisp_"`get_org_mode_lisp_dir_suffix` > if ( -d "${org_mode_lisp_dir}" ) then > \rm -rf ${org_mode_lisp_dir} > endif > \cp -rf lisp ${org_mode_lisp_dir} > > #** Build for emacs 24.5 > > # > # Set the $PATH *here* to use emacs 24.5 > # I use something work proprietary like GNU Modules to do this > # > > echo "\nBuilding for emacs version: "`\emacs --version | \grep -E 'Emacs > [0-9]+\.[0-9]+'`"\n" > make clean > make > set org_mode_lisp_dir = "lisp_"`get_org_mode_lisp_dir_suffix` > if ( -d "${org_mode_lisp_dir}" ) then > \rm -rf ${org_mode_lisp_dir} > endif > \cp -rf lisp ${org_mode_lisp_dir} > > unalias get_org_mode_lisp_dir_suffix > unset {org_mode_lisp_dir} > > # > # Restore your $PATH to point to your default emacs version > # > > Part 4: Restart any one of the versions of emacs for which you compiled the > org files in Part 3. The org stuff will work just fine as it would pick out > the org files from the correct lisp_<>/ directory. > > I hope all of this makes sense. Thanks - makes perfect sense. My only question is the contrib directory. I assume I simply also have to copy the files in the same version specific lisp dir? Rainer > > > > -- > Kaushal Modi > > On Fri, Oct 2, 2015 at 3:05 PM, Rainer M Krug wrote: > >> Kaushal Modi writes: >> >> > @Stefan, sharing elpa/ between at least emacs 24.5 and emacs 25.x (git >> > master) does not work as the complied .elc files are not compatible >> between >> > the two versions. >> >> Just jumping in as I have the two version problem. >> >> I am fine with most of my stuff managed by cask, therefore aware of >> versions. But how can I manage org, which is via git? Any smart >> suggestion how I can use this between two versions on one machine? >> >> Rainer >> >> >> > >> > >> > -- >> > Kaushal Modi >> > >> > On Fri, Oct 2, 2015 at 11:54 AM, Stefan Monnier < >> monnier@iro.umontreal.ca> >> > wrote: >> > >> >> Yes, of course. >> >> >> >> Just like you can share it over NFS or any other file system. >> >> You can share them even between different systems using different >> >> Emacs versions, different processor architectures, and/or different >> OSes. >> >> >> >> At least, if that leads to problems, then I'd recommend you file them >> >> as bugs. >> >> >> >> >> >> Stefan >> >> >> >> >> >> >> > >> >> -- >> Rainer M. Krug >> email: Rainerkrugsde >> PGP: 0x0F52F982 >> > -- Rainer M. Krug email: Rainerkrugsde PGP: 0x0F52F982