unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* mac os x: how do you run emacs in-place?
@ 2014-11-26 19:01 Sam Steingold
  2014-11-26 20:01 ` Harald Hanche-Olsen
  2014-11-26 20:56 ` David Reitter
  0 siblings, 2 replies; 9+ messages in thread
From: Sam Steingold @ 2014-11-26 19:01 UTC (permalink / raw)
  To: emacs-devel

On a normal unix system one can run Emacs from the build directory as
"build/src/emacs", but it does not work on mac os.
Is there a way to run emacs without "make install" ?
Thanks!

-- 
Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1343
http://www.childpsy.net/ http://iris.org.il http://camera.org
http://truepeace.org http://islamexposedonline.com http://think-israel.org
Yellow wine is called "white" because it is made out of green grapes.




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: mac os x: how do you run emacs in-place?
  2014-11-26 19:01 mac os x: how do you run emacs in-place? Sam Steingold
@ 2014-11-26 20:01 ` Harald Hanche-Olsen
  2014-11-26 21:17   ` Sam Steingold
  2014-11-26 20:56 ` David Reitter
  1 sibling, 1 reply; 9+ messages in thread
From: Harald Hanche-Olsen @ 2014-11-26 20:01 UTC (permalink / raw)
  To: sds; +Cc: emacs-devel

Sam Steingold wrote:
> On a normal unix system one can run Emacs from the build directory as
> "build/src/emacs", but it does not work on mac os.
> Is there a way to run emacs without "make install" ?

Are you talking about the nextstep build? I ask because that is not the 
only way to build emacs on OS X.

Anyhow, I find that even with the nextstep build, running with the -nw 
flag is unproblematic. But without it, it does indeed seem to have 
difficulties. It starts, but behaves funny.

– Harald



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: mac os x: how do you run emacs in-place?
@ 2014-11-26 20:18 Angelo Graziosi
  0 siblings, 0 replies; 9+ messages in thread
From: Angelo Graziosi @ 2014-11-26 20:18 UTC (permalink / raw)
  To: emacs developers; +Cc: Sam Steingold

Sam Steingold wrote:
> On a normal unix system one can run Emacs from the build directory as
> "build/src/emacs", but it does not work on mac os.
> Is there a way to run emacs without "make install" ?

How do you build it? Have you read nextstep/INSTALL?

If you don't use --prefix while configuring, 'make install' put all you 
need in nextstep/Emacs.app. Usually I don't run 'make' but directly 
'make install' after 'configure', then I create a tar-ball

cd nextstep
apack foo.tar.xz Emacs.app


and install it in /usr/local

tar -xf foo.tar.xz -C /usr/local

After the first run, I have left it on the Dock and run it with that 
link, but sometimes I have run Emacs directly from commandline with

$ open nextstep/Emacs.app

or

$ open /usr/local/Emacs.app


Ciao,
  Angelo.



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: mac os x: how do you run emacs in-place?
  2014-11-26 19:01 mac os x: how do you run emacs in-place? Sam Steingold
  2014-11-26 20:01 ` Harald Hanche-Olsen
@ 2014-11-26 20:56 ` David Reitter
  2014-11-26 21:25   ` Sam Steingold
  1 sibling, 1 reply; 9+ messages in thread
From: David Reitter @ 2014-11-26 20:56 UTC (permalink / raw)
  To: sds; +Cc: emacs-devel

On Nov 26, 2014, at 2:01 PM, Sam Steingold <sds@gnu.org> wrote:
> 
> On a normal unix system one can run Emacs from the build directory as
> "build/src/emacs", but it does not work on mac os.
> Is there a way to run emacs without "make install” ?

“make install” really just installs it into nextstep/Emacs.

When you do “make”, the binary is updated (src/emacs -> nextstep/Emacs.app/Contents/MacOS/Emacs), which facilitates fast testing.  So, only the first “make install” is necessary to test when doing development, unless non-preloaded (dumped) lisp files or other resources are changed.  This binary gets its resources from what is in nextstep/Emacs.app.

To test run after changes to the C code in src/, I usually do something like

make -j4
../nextstep/Emacs.app/Contents/MacOS/Emacs -q







^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: mac os x: how do you run emacs in-place?
  2014-11-26 20:01 ` Harald Hanche-Olsen
@ 2014-11-26 21:17   ` Sam Steingold
  0 siblings, 0 replies; 9+ messages in thread
From: Sam Steingold @ 2014-11-26 21:17 UTC (permalink / raw)
  To: emacs-devel

> * Harald Hanche-Olsen <unapur@zngu.agah.ab> [2014-11-26 21:01:58 +0100]:
>
> Sam Steingold wrote:
>> On a normal unix system one can run Emacs from the build directory as
>> "build/src/emacs", but it does not work on mac os.
>> Is there a way to run emacs without "make install" ?
>
> Are you talking about the nextstep build?

yes, "./configure --with-ns"

> I ask because that is not the
> only way to build emacs on OS X.

sorry.

> running with the -nw flag is unproblematic.

I am interested in the full GUI.

-- 
Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1343
http://www.childpsy.net/ http://www.memritv.org http://americancensorship.org
http://honestreporting.com http://www.dhimmitude.org http://palestinefacts.org
Abandon all hope, all ye who press Enter.




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: mac os x: how do you run emacs in-place?
  2014-11-26 20:56 ` David Reitter
@ 2014-11-26 21:25   ` Sam Steingold
  2014-11-26 21:36     ` David Reitter
  0 siblings, 1 reply; 9+ messages in thread
From: Sam Steingold @ 2014-11-26 21:25 UTC (permalink / raw)
  To: emacs-devel

> * David Reitter <qnivq.ervggre@tznvy.pbz> [2014-11-26 15:56:00 -0500]:
>
> On Nov 26, 2014, at 2:01 PM, Sam Steingold <sds@gnu.org> wrote:
>> 
>> On a normal unix system one can run Emacs from the build directory as
>> "build/src/emacs", but it does not work on mac os.
>> Is there a way to run emacs without "make install” ?
>
> “make install” really just installs it into nextstep/Emacs.

I know.
and I don't want to use that, mostly because clicking on file names in
*Help* buffer finds the installed "el.gz" files instead of the files
under version control.

> only the first “make install” is necessary

this is not true because the executable is copied, not symlinked.

However, you gave me an idea:
I will go through nextstep/Emacs.app and replace files and directories
with symlinks back into the tree.

thanks!

-- 
Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1343
http://www.childpsy.net/ http://ffii.org http://think-israel.org
http://iris.org.il http://honestreporting.com http://memri.org
20% of people do 80% of work; also 80% of people think they are in those 20%.




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: mac os x: how do you run emacs in-place?
  2014-11-26 21:25   ` Sam Steingold
@ 2014-11-26 21:36     ` David Reitter
  2014-11-27 11:00       ` Jan D.
  0 siblings, 1 reply; 9+ messages in thread
From: David Reitter @ 2014-11-26 21:36 UTC (permalink / raw)
  To: sds; +Cc: emacs-devel@gnu.org developers

On Nov 26, 2014, at 4:25 PM, Sam Steingold <sds@gnu.org> wrote:

> and I don't want to use that, mostly because clicking on file names in
> *Help* buffer finds the installed "el.gz" files instead of the files
> under version control.

Understood.  I don’t think what you want exists as an option so far.  

>> only the first “make install” is necessary
> 
> this is not true because the executable is copied, not symlinked.

I think I am right because a simple “make” will copy it again.

See nextstep/Makefile, line 29 (target ${ns_appbindir}/Emacs, which is required by “all”).
And this makefile is called via the “ns-app” target in src/Makefile, which is put in $OTHER_FILES, required by “all” there (and not just “install”).

> However, you gave me an idea:
> I will go through nextstep/Emacs.app and replace files and directories
> with symlinks back into the tree.

If this works well, you could get the ns-app target to make symlinks in nextstep (put code as a new target in nextstep/Makefile perhaps).  Then, “make install” will do what it does now, but if one wants to run the executable directly, this could be conveniently done after a “make”.  





^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: mac os x: how do you run emacs in-place?
  2014-11-26 21:36     ` David Reitter
@ 2014-11-27 11:00       ` Jan D.
  2014-11-28  6:09         ` Sam Steingold
  0 siblings, 1 reply; 9+ messages in thread
From: Jan D. @ 2014-11-27 11:00 UTC (permalink / raw)
  To: David Reitter, sds; +Cc: emacs-devel@gnu.org developers

David Reitter skrev den 2014-11-26 22:36:
> On Nov 26, 2014, at 4:25 PM, Sam Steingold <sds@gnu.org> wrote:
>
>> and I don't want to use that, mostly because clicking on file names in
>> *Help* buffer finds the installed "el.gz" files instead of the files
>> under version control.
>
> Understood.  I don’t think what you want exists as an option so far.

I use this:

(defadvice find-lisp-object-file-name (after my-find-in-source)
   (if (stringp ad-return-value)
       (let* ((str ad-return-value)
	     (idx (string-match "/lisp/" str))
	     (nfile (if idx (concat source-directory
				    (substring str idx)) nil)))
	(if (and nfile (file-exists-p nfile))
	    (setq ad-return-value nfile)))))
(ad-activate 'find-lisp-object-file-name)

	Jan D.




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: mac os x: how do you run emacs in-place?
  2014-11-27 11:00       ` Jan D.
@ 2014-11-28  6:09         ` Sam Steingold
  0 siblings, 0 replies; 9+ messages in thread
From: Sam Steingold @ 2014-11-28  6:09 UTC (permalink / raw)
  To: emacs-devel

> * Jan D. <wna.u.q@fjvcarg.fr> [2014-11-27 12:00:27 +0100]:
>
> David Reitter skrev den 2014-11-26 22:36:
>> On Nov 26, 2014, at 4:25 PM, Sam Steingold <sds@gnu.org> wrote:
>>
>>> and I don't want to use that, mostly because clicking on file names in
>>> *Help* buffer finds the installed "el.gz" files instead of the files
>>> under version control.
>>
> I use this:
>
> (defadvice find-lisp-object-file-name (after my-find-in-source)
>   (if (stringp ad-return-value)
>       (let* ((str ad-return-value)
> 	     (idx (string-match "/lisp/" str))
> 	     (nfile (if idx (concat source-directory
> 				    (substring str idx)) nil)))
> 	(if (and nfile (file-exists-p nfile))
> 	    (setq ad-return-value nfile)))))
> (ad-activate 'find-lisp-object-file-name)

Thanks for the idea.
Here is my version (uses the "modern" advice):

(when (eq system-type 'darwin)
  (defun sds-ns-find-in-source (f &rest args)
    "Find lisp objects in sources and not installation."
    (let* ((value (apply f args))
           (nfile (and value
                       (string-match "/nextstep/Emacs.app/Contents/Resources/" value)
                       (concat source-directory (substring value (match-end 0))))))
      (if (and nfile (file-exists-p nfile))
          nfile value)))
  (advice-add 'find-lisp-object-file-name :around 'sds-ns-find-in-source))


-- 
Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1343
http://www.childpsy.net/ http://honestreporting.com
http://ffii.org http://www.dhimmitude.org http://islamexposedonline.com
Linux - find out what you've been missing while you've been rebooting Windows.




^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2014-11-28  6:09 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-26 19:01 mac os x: how do you run emacs in-place? Sam Steingold
2014-11-26 20:01 ` Harald Hanche-Olsen
2014-11-26 21:17   ` Sam Steingold
2014-11-26 20:56 ` David Reitter
2014-11-26 21:25   ` Sam Steingold
2014-11-26 21:36     ` David Reitter
2014-11-27 11:00       ` Jan D.
2014-11-28  6:09         ` Sam Steingold
  -- strict thread matches above, loose matches on Subject: below --
2014-11-26 20:18 Angelo Graziosi

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).