This was original part of EmacsPortableApp
Most of the specific applications work by adding paths and changing environmental variables. This is controlled by App/ini/paths.ini. EmacsPortableApp looks at the following sections
Local paths are paths that emacs checks that are locally available. They are specified by NAME=Local Path Snippet. An example of this is:
[local] git=msysgit\msysgit\bin git2=msysgit\bin gitmsys=msysgit\msysgit\mingw\bin gitmsys2=msysgit\mingw\bin
In this example git The following paths are checked:
If they exist they are added to the path environment before starting emacs. If the directory in fact exists, then two additional ini sections are checked, [local.git.path] and [local.git.set].
For the git local setup, there are two sections. The first local.git.path is specified as follows:
Then each key is added to the environment putting the root location before the right handed value. In this case, the environmental variable is set to c:\msysgit\msysgit or %ProgramFiles%\msysgit\msysgit depending on which path was found.
The other type of section that is used is the [local.git.set]. In the case of git this section is defined as:
Therefore, if git is found then the environmental variable PLINK_PROTOCOL is set to ssh.
The portable paths are set in the same way as the local paths with the exception of the places they check for the existence of paths. The portable section checks for paths in USB:\, and USB:\PortableApps\.
The exedir section checks for paths relative to the portable application.
Emacs uses Info for most everything. You can add info paths that Emacs doesn’t know about by a similar manner as the general paths, above.
Imagemagick is used for many Emacs Applications. EmacsPortableApp attempts to detect a portable version of EmacsPortableApp or see if Imagemagick is installed on the computer.
A portable version of Imagemagic is found at ftp.imagemagick.org By extracting the portable version in the PortableApps or LiberKey\MyApps EmacsPortable.App will add this to the path. This assumes the Imagemagick directory is ImageMagick-6.7.9-3
By installing Python Portable into your PortableApps Directory, python is available to Emacs. This is useful for installing Bazaar, which Emacs uses as its version control.
I have created a portable Bazaar. EmacsPortable.App will recognize bazaar version
Not quite portable, but you can get the binaries here.
Running in subversion from within EmacsPortable.App is portable, though. Emacs will set the %AppData% Environment variable to Data/AppData and set %ALLUSERSPROFILE% to Data/AppData
EmacsPortable.App picks up both Git portable and locally installed installations. Because of emacs version control, if Git is not installed locally, Emacs is slowed down substantially.
EmacsPortableApp looks for the gpg package that is installed with Mozilla Thunderbird. First install Thunderbird Portable:
Then install gpg from here
If you extract MikTeX portable to PortableApps/MikTexPortable/, EmacsPortable.App will be recognized and used.
Supports MSYS portable.
Since magit and OpenSSH does not work correctly in windows, you can use PuTTY to connect to your host via plink. Note that you must connect to the host first via PuTTY or you will get one of the following error messages:
The server's host key is not cached in the registry. You have no guarantee that the server is the computer you think it is. The server's rsa2 key fingerprint is: ssh-rsa 2048 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 Connection abandoned. fatal: The remote end hung up unexpectedly
WARNING - POTENTIAL SECURITY BREACH! The server's host key does not match the one PuTTY has cached in the registry. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server. The new rsa2 key fingerprint is: ssh-rsa 2048 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 Connection abandoned. fatal: The remote end hung up unexpectedly
The information about setting up GIT to use putty are located here.
This is done automatically when running TRAMP.
Therefore, if you want to use magit for github, you need open puttyportable and attempt to open email@example.com so it can cache the host id.
From Jeremy Engilsh there is a tutorial on how to get TRAMP to work with windows 2K. This is adapted from that tutorial.
EmacsPortable.App will download and setup the appropriate files for PuTTY portable, if you need them. In addition to putty.exe, you will need:
Use Puttygen to generate a key. Puttygen should be in the PuttyPortable application.
This is under File->Save Private Key
This is under Conversions->Export OpenSSH Key
This can be done with a secure file transfer like FileZilla.
Or, if ssh is working for you, you can use the following shell command
scp key user@host:~/
ssh example.server.com mkdir ~./ssh chmod 700 ~/.ssh cat ~/key >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys rm ~/key
Use EmacsOptions.exe to select the PuTTy key. If you want it to be portable keep the key on the USB drive OR in the executable directory.
EmacsPortable.App will start pageant.exe if it is not already running and set up tramp to use plink. This is done by the site-start.
To use the settings of PuTTYPortable, you have to have a PuTTYPortable session open.
PuTTY currently stores proxy settings in the registry. If EmacsPortable.App is started up AND PuTTY Pageant has not started up, then:
Therefore, you do not need to always manually edit proxy settings, and plink should work most of the time.
R can connect to remote sessions using ssh.el. When you use PuTTY to connect you will need to set the following option:
(setq ssh-program "plink")
These are notes to use the bleeding edge emacs.
Goto the App directory, and under a command prompt that has bzr installed, type
bzr branch --stacked bzr://bzr.savannah.gnu.org/emacs/trunk emacs-bzr
If that has already been performed, to update just type:
If you are behind a firewall you may wish to use git to get the latest sources. Note that only the Bazaar repo is the official
git clone http://git.savannah.gnu.org/r/emacs.git emacs-git