[OS X Emacs] Emacs.app 9.0-rc3 released

Peter Dyballa Peter_Dyballa at Web.DE
Tue Nov 27 05:57:25 EST 2007


Am 27.11.2007 um 04:56 schrieb Joe Davison:

> One thing I did notice in comparing epaths.h and epaths.h-orig is  
> that I could tell how many compiles I'd done with that flag,  
> because the process always copies epaths.h to epaths.h-orig and  
> then modifies epaths.h.n
>
>
> You may want to replace the first line of your modification:
>
> <    (cd src; mv epaths.h epaths.h-orig; \
>
> with something like:
>
> >    (cd src; if [ ! -r epaths.h-orig ]; then mv epaths.h epaths.h- 
> orig; else echo epaths.h-orig already exist, not recreated; fi; \
>
> With the current scheme it's possible to make a trashed epath  
> persistent by trying to build with the bad path and then trying  
> again...

Yes, that's true! I made already years, or so, ago another change to  
my compile script, when I found that a subsequent re-compilation  
produced something strange: I added a 'make clean' to start the whole  
process with, i.e. before configure is invoked.

My assumption was that the inherent configure step completely  
overwrites src/epaths.h, so that I don't need to take care whether  
there is a patched version lying around. This does not seem to be  
true, because I might have observed it in a cleaned environment, so  
your correction should be put into the compile script. A bit  
modified, because when src/epaths.h-orig exists another change might  
not be necessary (/might/, because a user could decide to try another  
local lisp path), from the old

     (cd src; mv epaths.h epaths.h-orig; \
        printf "s,\(#define PATH_LOADSEARCH \"\),\\\1%s:,\n" "$ 
{locallisppath}" > locallisppath.sed; \
        cat epaths.h-orig | sed -f locallisppath.sed > epaths.h; rm  
locallisppath.sed)

to newer

     (cd src
	if [ -r epaths.h-orig ]; then
	    echo "### src/epaths.h-orig already exists, no further change ###"
	else
	    mv epaths.h epaths.h-orig
	    printf "s,\(#define PATH_LOADSEARCH \"\),\\\1%s:,\n" "$ 
{locallisppath}" > locallisppath.sed
	    cat epaths.h-orig | sed -f locallisppath.sed > epaths.h
	    rm locallisppath.sed
	fi)

And 'make *clean' need to remove src/epath.h-orig!

The actual problem is that the system conforming local lisp path in  
Mac OS X is /Library/Application Support/Emacs, a path name with a  
space. This character needs to be saved when passed within the  
argument to the configure script, and it needs to be recognised as  
part of the path name and not a separator by configure. I have no  
solution, only this work-around ...

--
Greetings

   Pete

 From error to error, one discovers the entire truth.
                                                      - Sigmund Freud





More information about the MacOSX-Emacs mailing list