Mercurial > emacs
annotate nextstep/INSTALL @ 107777:13c077500eb3
2010-04-04 John Wiegley <jwiegley@gmail.com>
* ido.el (ido-use-virtual-buffers): New variable to indicate
whether "virtual buffer" support is enabled for IDO. Essentially
it works as follows: Say you are visiting a file and the buffer
gets cleaned up by mignight.el. Later, you want to switch to that
buffer, but find it's no longer open. With virtual buffers
enabled, the buffer name stays in the buffer list (using the
ido-virtual face, and always at the end), and if you select it, it
opens the file back up again. This allows you to think less about
whether recently opened files are still open or not. Most of the
time you can quit Emacs, restart, and then switch to a file buffer
that was previously open as if it still were. NOTE: This feature
has been present in iswitchb for several years now, and I'm
porting the same logic to IDO.
(ido-virtual): Face used to indicate virtual buffers in the list.
(ido-buffer-internal): If a buffer is chosen, and no such buffer
exists, but a virtual buffer of that name does (which would be why
it was in the list), recreate the buffer by reopening the file.
(ido-make-buffer-list): If virtual buffers are being used, call
`ido-add-virtual-buffers-to-list' before the make list hook.
(ido-virtual-buffers): New variable which contains a copy of the
current contents of the `recentf-list', albeit pared down for the
sake of speed, and with proper faces applied.
(ido-add-virtual-buffers-to-list): Using the `recentf-list',
create a list of "virtual buffers" to present to the user in
addition to the currently open set. Note that this logic could
get rather slow if that list is too large. With the default
`recentf-max-saved-items' of 200, there is little speed penalty.
author | jwiegley@gmail.com |
---|---|
date | Sun, 04 Apr 2010 02:55:19 -0400 |
parents | 1d1d5d9bd884 |
children | 376148b31b5e |
rev | line source |
---|---|
106815 | 1 Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. |
96771
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
2 See the end of the file for license conditions. |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
3 |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
4 |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
5 Compilation |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
6 ----------- |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
7 |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
8 In the top-level directory, use: |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
9 |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
10 ./configure --with-ns |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
11 |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
12 This will compile all the files, but emacs will not be able to be run except |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
13 in -nw (terminal) mode. |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
14 |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
15 In order to run Emacs.app, you must run: |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
16 |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
17 make install |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
18 |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
19 This will assemble the app in nextstep/Emacs.app. |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
20 |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
21 If you pass the --disable-ns-self-contained option to configure, the lisp |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
22 files will be installed under whatever 'prefix' is set to (defaults to |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
23 /usr/local). The bundle will be smaller, but depend on these resources (may |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
24 require 'sudo' for "make install"). |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
25 |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
26 |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
27 Installation |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
28 ------------ |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
29 |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
30 Move nextstep/Emacs.app to any desired install location. |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
31 |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
32 |
103242
e0d2d5addcbf
* Cocoa/Emacs.xcodeproj/project.pbxproj: Update and redo targets to utilize Makefiles for assembly portions of the build. * INSTALL: Describe the Xcode project.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
101914
diff
changeset
|
33 Xcode |
e0d2d5addcbf
* Cocoa/Emacs.xcodeproj/project.pbxproj: Update and redo targets to utilize Makefiles for assembly portions of the build. * INSTALL: Describe the Xcode project.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
101914
diff
changeset
|
34 ----- |
e0d2d5addcbf
* Cocoa/Emacs.xcodeproj/project.pbxproj: Update and redo targets to utilize Makefiles for assembly portions of the build. * INSTALL: Describe the Xcode project.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
101914
diff
changeset
|
35 |
e0d2d5addcbf
* Cocoa/Emacs.xcodeproj/project.pbxproj: Update and redo targets to utilize Makefiles for assembly portions of the build. * INSTALL: Describe the Xcode project.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
101914
diff
changeset
|
36 On OS X Emacs can be built under Xcode. You need to run "configure" |
e0d2d5addcbf
* Cocoa/Emacs.xcodeproj/project.pbxproj: Update and redo targets to utilize Makefiles for assembly portions of the build. * INSTALL: Describe the Xcode project.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
101914
diff
changeset
|
37 as described above first. There are two targets: 'temacs' and 'Emacs.app'. |
e0d2d5addcbf
* Cocoa/Emacs.xcodeproj/project.pbxproj: Update and redo targets to utilize Makefiles for assembly portions of the build. * INSTALL: Describe the Xcode project.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
101914
diff
changeset
|
38 |
e0d2d5addcbf
* Cocoa/Emacs.xcodeproj/project.pbxproj: Update and redo targets to utilize Makefiles for assembly portions of the build. * INSTALL: Describe the Xcode project.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
101914
diff
changeset
|
39 'temacs' will build the undumped emacs executable, and copy it and the |
e0d2d5addcbf
* Cocoa/Emacs.xcodeproj/project.pbxproj: Update and redo targets to utilize Makefiles for assembly portions of the build. * INSTALL: Describe the Xcode project.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
101914
diff
changeset
|
40 *.o files to the src directory. These steps are necessary so the next target |
e0d2d5addcbf
* Cocoa/Emacs.xcodeproj/project.pbxproj: Update and redo targets to utilize Makefiles for assembly portions of the build. * INSTALL: Describe the Xcode project.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
101914
diff
changeset
|
41 works. |
e0d2d5addcbf
* Cocoa/Emacs.xcodeproj/project.pbxproj: Update and redo targets to utilize Makefiles for assembly portions of the build. * INSTALL: Describe the Xcode project.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
101914
diff
changeset
|
42 |
e0d2d5addcbf
* Cocoa/Emacs.xcodeproj/project.pbxproj: Update and redo targets to utilize Makefiles for assembly portions of the build. * INSTALL: Describe the Xcode project.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
101914
diff
changeset
|
43 'Emacs.app' uses "Run Script" build phases to assemble the Emacs.app bundle. |
e0d2d5addcbf
* Cocoa/Emacs.xcodeproj/project.pbxproj: Update and redo targets to utilize Makefiles for assembly portions of the build. * INSTALL: Describe the Xcode project.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
101914
diff
changeset
|
44 It uses the 'ns-app' target in src/Makefile together with the 'install' target |
e0d2d5addcbf
* Cocoa/Emacs.xcodeproj/project.pbxproj: Update and redo targets to utilize Makefiles for assembly portions of the build. * INSTALL: Describe the Xcode project.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
101914
diff
changeset
|
45 in the top level Makefile. |
e0d2d5addcbf
* Cocoa/Emacs.xcodeproj/project.pbxproj: Update and redo targets to utilize Makefiles for assembly portions of the build. * INSTALL: Describe the Xcode project.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
101914
diff
changeset
|
46 |
e0d2d5addcbf
* Cocoa/Emacs.xcodeproj/project.pbxproj: Update and redo targets to utilize Makefiles for assembly portions of the build. * INSTALL: Describe the Xcode project.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
101914
diff
changeset
|
47 The source files under the temacs target must list "pre-crt0" first |
e0d2d5addcbf
* Cocoa/Emacs.xcodeproj/project.pbxproj: Update and redo targets to utilize Makefiles for assembly portions of the build. * INSTALL: Describe the Xcode project.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
101914
diff
changeset
|
48 and "lastfile" last, so that dumping works. |
e0d2d5addcbf
* Cocoa/Emacs.xcodeproj/project.pbxproj: Update and redo targets to utilize Makefiles for assembly portions of the build. * INSTALL: Describe the Xcode project.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
101914
diff
changeset
|
49 |
e0d2d5addcbf
* Cocoa/Emacs.xcodeproj/project.pbxproj: Update and redo targets to utilize Makefiles for assembly portions of the build. * INSTALL: Describe the Xcode project.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
101914
diff
changeset
|
50 (Note, under GNUstep, you CAN'T use ProjectCenter, since PC cannot work |
e0d2d5addcbf
* Cocoa/Emacs.xcodeproj/project.pbxproj: Update and redo targets to utilize Makefiles for assembly portions of the build. * INSTALL: Describe the Xcode project.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
101914
diff
changeset
|
51 with files outside of its project directory.) |
e0d2d5addcbf
* Cocoa/Emacs.xcodeproj/project.pbxproj: Update and redo targets to utilize Makefiles for assembly portions of the build. * INSTALL: Describe the Xcode project.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
101914
diff
changeset
|
52 |
e0d2d5addcbf
* Cocoa/Emacs.xcodeproj/project.pbxproj: Update and redo targets to utilize Makefiles for assembly portions of the build. * INSTALL: Describe the Xcode project.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
101914
diff
changeset
|
53 |
96771
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
54 Distributions and Universal Binaries |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
55 ------------------------------------ |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
56 |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
57 Building as outlined above will create ordinary binaries running on your |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
58 architecture only. To create universal binaries, set CFLAGS to include |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
59 "-arch ppc -arch i386". |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
60 |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
61 |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
62 This file is part of GNU Emacs. |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
63 |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
64 GNU Emacs is free software: you can redistribute it and/or modify |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
65 it under the terms of the GNU General Public License as published by |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
66 the Free Software Foundation, either version 3 of the License, or |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
67 (at your option) any later version. |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
68 |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
69 GNU Emacs is distributed in the hope that it will be useful, |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
70 but WITHOUT ANY WARRANTY; without even the implied warranty of |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
71 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
72 GNU General Public License for more details. |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
73 |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
74 You should have received a copy of the GNU General Public License |
d92ec7333164
make more parallel to other platforms
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
75 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |