Take a look at the system-configuration-options variable.
Here's an example, which is the result of running C-h v system-configuration-options
system-configuration-options is a variable defined in `C source code'.
Its value is
"--prefix=/usr/local/emacs 'CFLAGS=-O2 -march=native -pipe
-falign-functions=64 -fomit-frame-pointer -ftracer -funit-at-a-time
If you use use-package, you can move that file around from computer to computer, and when Emacs starts up, as long as you have internet access, it will pull in the packages and configure them.
First, set up the package library:
'("melpa" . "https://melpa.org/packages/") t)
The correct solution is to use straight.el, a package manager that I wrote to solve this problem. You can find more details about this in another answer to this question.
This answer, which was written months before I started work on straight.el, previously described a strictly inferior way of achieving a partial solution. This approach is described briefly ...
How can I keep multiple profiles for Emacs?
In a single init file. As others have suggested in the comments above, this is easily done in emacs without having multiple profiles.
A single init file can keep the settings for multiple modes. Based on your question, those modes would be Clojure, Mathematica, and Text modes, and perhaps others in future. ...
setting default value for auto-fill-column
Normally, you'd put such configuration in dotspacemacs/user-config, which is a function in your dotfile (~/.spacemacs).
It's possible to use a ~/.spacemacs.d/init.el as your dotfile instead of ~/.spacemacs, which I assume is what Eivind Fond does.
The original default value for fill-column is 70. In current ...
Next-generation package management with straight.el
After a long and frustrating struggle to use package.el + Quelpa to manage my packages, I bit the bullet and wrote my own package manager. It is intended to completely replace package.el by providing a package management experience that is superior in almost every way.
You can read the very extensive ...
C-h f cd:
cd is an interactive compiled Lisp function in files.el.
Make DIR become the current buffer’s default directory.
If your environment includes a CDPATH variable, try each one of
that list of directories (separated by occurrences of
path-separator) when resolving a relative directory name.
The path separator is colon ...
You can type M-x ielm
Then in the REPL type load-path to see what the default is.
I know package manager appends to it but I'm not sure what else (if anything) does. You can add (add-to-list 'load-path "~/.emacs.d/lisp/") to your init.el file. It is good to get used to modifying your init.el file.
I actually have multiple *.el files for my configuration ...
This is most likely an instance of Emacs bug#25228 - custom-set-faces from init file ~/.emacs ignored. Basically Emacs is applying gconf settings which override your customization (Emacs versions prior to 25.1 apparently had some bug which prevented the settings from applying at all). To disable gconf updates, add this your .emacs:
The terminal application has full control over the graphical elements. The gui terminal app will give text applications some control via “escape codes”. For example, vt100/xterm terminals, including Mac OS X Terminal, allow you to change colors using the sequence ESC [ numbers m. Try it in the shell:
echo -e "\e[1;37;41mhello"
This should print the word “...
As I can see from one of your comments, the main point is to run Emacs faster in some cases. Then there are several options for you.
You can load your GUI-related configuration only when you run Emacs in GUI mode. You can use something like the following code (just place your GUI-related configuration in init_gui.el):
I would like to have emacs in English only,
Emacs is already English only.
to have for example eshell or built-in gdb output in English.
gdb output is not builtin to Emacs, it comes from gdb. By eshell, I assume you refer to external programs which you call from eshell.
On a Unixish system, you can tell programs to use non-localized message and ...
You can achieve this "fast load, slow load" using the server/client functionality of emacs, which works like this:
Emacs can be started as a server. This can either be done as a stand-alone, running a server in the background. Or, if you want to, say, run a main GUI instance of emacs, the GUI and server can be started at the same time.
Once the server is ...
This line is in error:
(add-to-list 'auto-mode-alist '("\\.tpl\\.php\\'" . web-mode))
It doesn't open .tpl files and .php files in web-mode, it opens files ending .tpl.php in web-mode.
Amusingly, I have that in my init file also; it came from somewhere on the web. And it doesn't work for me either.
So, to fix it, add two separate lines, one for each ...
Dunno about a command-line switch, but:
If you use library emacsbug+.el, which enhances standard library emacsbug.el, then you can use command ebp-insert-version with a prefix arg, to insert the complete version info, including some build info, in the current buffer. This is the same version info that is included when you use command report-emacs-bug. For ...
I just did that using chemacs.
Considering you don't have an .emacs file in your home folder you can follow this instruction to install it:
Clone the Git repository, and run install.sh
$ git clone https://github.com/plexus/chemacs.git
$ cd chemacs
you should get this message:
OK Creating symlink ~/.emacs -> /home/arne/chemacs/....
The Bug-Hunter may be able to help you with that.
Install the bug-hunter package from the Package-Menu.
Invoke M-x bug-hunter-init-file
It will ask you for an assertion, type (or paste) in the following predicate and hit RET.
(or (member "~/.emacs.d/" load-path)
(member (expand-file-name "~/.emacs.d/") load-path))
That's it! You'll be presented with a ...
Two approaches come to mind.
... to search for offending code:
Open your elpa directory in Dired. If you're not sure where this directory is located, check the value of package-user-dir with C-h v.
M-x rgrep RET add-to-list 'loadpath RET *.el RET RET
You might need to play around with the exact search string a bit to narrow down ...
Customize default-frame-list to have values for frame parameters top and left that put it in the middle of your screen. (Use M-x customize-option default-frame-alist.)
If that doesn't do the job then try the same thing with initial-frame-alist instead (or in addition).
If you really want to use more than one full emacs configuration at the same time and not only some major mode configurations, then you can use the configuration that I have described here: https://emacs.stackexchange.com/a/20508/934
With this .emacs-file you can start emacs with a configuration directory:
You could use as many "configurations" as you would like by wrapping your emacs commad to a script that would use different emacs directories (say .emacs.d.clojure .emacs.d.mathematica and .emacs.d.notes)
Assuming you are using a Unix type system your emacs incantation would be something like
emacs -Q -l .emacs.d.clojure/init.el
Another alternative is to ...
(setq load-path (cl-delete-if-not #'file-name-absolute-p load-path))
to my .emacs.el fixed this problem for me.
The problem manifests itself unless I pass the --no-site-lisp option.
I filed a bug report.