Giter VIP home page Giter VIP logo

emacs.d's Introduction

Build Status Support me

A reasonable Emacs config

This is my emacs configuration tree, continually used and tweaked since 2000, and it may be a good starting point for other Emacs users, especially web developers. These days it's somewhat geared towards OS X, but it is known to also work on Linux and Windows.

Emacs itself comes with support for many programming languages. This config adds improved defaults and extended support for the following, listed in the approximate order of how much I use them, from most to least:

  • Haskell / Purescript / Elm / OCaml
  • Ruby / Ruby on Rails
  • SQL
  • CSS / LESS / SASS / SCSS
  • Javascript / Typescript
  • HTML / HAML / Markdown / Textile / ERB
  • Common Lisp (with Slime)
  • Python
  • Rust
  • Clojure (with Cider and nRepl)
  • PHP
  • Erlang

In particular, there's a nice config for autocompletion with corfu, and flymake (re-using backends from flycheck) is used to immediately highlight syntax errors in Ruby, Python, Javascript, Haskell and a number of other languages.

LSP support is provided using eglot.

Supported Emacs versions

Use the latest released Emacs version available to you. The author typically uses the latest stable version.

The config should run on Emacs 27.1 or greater and is designed to degrade smoothly - see the CI build - but many enhancements may be unavailable if your Emacs is too old, and in general you should try to use the latest stable Emacs release like I do.

Other requirements

To make the most of the programming language-specific support in this config, further programs will likely be required, particularly those that flycheck uses to provide on-the-fly syntax checking.

Installation

To install, clone this repo to ~/.emacs.d, i.e. ensure that the init.el contained in this repo ends up at ~/.emacs.d/init.el:

git clone https://github.com/purcell/emacs.d.git ~/.emacs.d

Upon starting up Emacs for the first time, further third-party packages will be automatically downloaded and installed. If you encounter any errors at that stage, try restarting Emacs, and possibly running M-x package-refresh-contents before doing so.

Updates

Update the config with git pull. You'll probably also want/need to update the third-party packages regularly too, because that's what I do, and the config assumes it:

M-x package-list-packages, then U followed by x.

You should usually restart Emacs after pulling changes or updating packages so that they can take effect. Emacs should usually restore your working buffers when you restart due to this configuration's use of the desktop and session packages.

Changing themes and adding your own customization

To add your own customization, use M-x customize, M-x customize-themes etc. and/or create a file ~/.emacs.d/lisp/init-local.el which looks like this:

... your code here ...

(provide 'init-local)

If you need initialisation code which executes earlier in the startup process, you can also create an ~/.emacs.d/lisp/init-preload-local.el file.

If you plan to customize things more extensively, you should probably just fork the repo and hack away at the config to make it your own! Remember to regularly merge in changes from this repo, so that your config remains compatible with the latest package and Emacs versions.

Please note that I cannot provide support for customised versions of this configuration.

Support / issues

If you hit any problems, please first ensure that you are using the latest version of this code, and that you have updated your packages to the most recent available versions (see "Updates" above). If you still experience problems, go ahead and file an issue on the github project.

-Steve Purcell


๐Ÿ’ Support this project and my other Open Source work

๐Ÿ’ผ LinkedIn profile

โœ sanityinc.com

๐Ÿฆ @sanityinc

emacs.d's People

Contributors

adamfrey avatar archer-n avatar arthurl avatar blkt avatar c6c7 avatar compdzwio avatar dcorking avatar decoursin avatar demon386 avatar dependabot[bot] avatar fd3kyt avatar gengliangwang avatar jguenther avatar jsirex avatar krzysz00 avatar lanzhiheng avatar mattfidler avatar moonpole avatar ozanmakes avatar peterwvj avatar purcell avatar skaes avatar tarsius avatar thuzhf avatar ukari avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

emacs.d's Issues

Recommended way to customize .emacs.d while being able to keep it in sync?

Hi,

I am using your .emacs.d (and enjoining it a lot), and I would like to install a few packages which are not manageable with ELPA or MELPA, and also incorporate my own elisp programs, customize init.el, etc.

Is there a recommended way to do that, while preserving the ability to keep .emacs.d in sync with the latest git version?

Perhaps a custom directory which is ignored by git? But then, how could one change init.el, and keeping the changes? Would it be possible to add a hook of some kind, so that a custom init file (say, custom/custom-init.el) is loaded?

What if one would need to change some keybindings or variables already defined? How can one safely shadow those?

Also, is there a better way to periodically update all the packages installed by .emacs.d? Perhaps a function to do that at once (git fetch upstream/ git merge upstream/master + refresh ELBA/MELPA packages)?

Thank you so much for your .emacs.d. Very nice!

cygwin does not have 'locale' and init-locale fail

got error message when starting emacs,
'''
1Debugger entered--Lisp error: (file-error "Searching for program" "no such file or directory" "")
2 call-process("" nil t nil "-c" "locale")
3 shell-command-to-string("locale")
4 (string-match "UTF-8" (shell-command-to-string "locale"))
5 (or window-system (string-match "UTF-8" (shell-command-to-string "locale")))
'''
it's because the first line in init-locale.el, "(when (or window-system (string-match "UTF-8" (shell-command-to-string "locale")))"

emacs23 under cygwin, I think it's because the cygwin does not have 'locale' command.

init-growl.el has a bug with windows

it causes "cannot save customizations- init file not fully loaded" and "Spawning child process: invalid argument" on windows.
and remove
(require 'init-growl) in init.el
it works fine.
thanks for your work.

cannot export org file with python code embedded

Here is error message,
"'
37Org-mode restarted
38Exporting...
39org-babel-exp processing...
40flymake-python-pyflakes-load: Symbol's value as variable is void: flymake-python-allowed-file-name-masks
"'
I've already installed pyflakes.

My emacs.d, [email protected]:redguardtoo/emacs.d.git

Error when pulling dependencies in submodules

Hello,

This pack of plugins for Emacs seems to be really really nice ! Thanks to share.

But I have a problem when pulling submodules depencies with :

git submodule update --init

It gives me the error :

[...]
Submodule 'site-lisp/yaml-mode' (https://github.com/yoshiki/yaml-mode.git) registered for path 'site-lisp/yaml-mode'
Initialized empty Git repository in /tmp/emacs.d/site-lisp/ac-dabbrev/.git/
error: The requested URL returned error: 403
error: The requested URL returned error: 403
error: The requested URL returned error: 403
error: The requested URL returned error: 403
error: pathspec 'a38766b428136c1720544edf0ee7a42c9b5cdc67' did not match any file(s) known to git.
Unable to checkout 'a38766b428136c1720544edf0ee7a42c9b5cdc67' in submodule path 'site-lisp/ac-dabbrev'

It seems there is a problem with ac-dabbrev

Thanks,
Strzelewicz Alexandre

no syntax highlight in emacs 23.4.1 under console (cygwin actually)

The color theme is not loaded. and all the default syntax highlight is gone.

but if I run the command "TERM=xterm-256color emacs -nw", it's fine.

I can actually reproduce it under ArchLinux and emacs23 (console only).

BTW, do you know how to detect how many colors current emacs support in elisp code?

need install htmlize for org-export in org-mode

see foot note in http://orgmode.org/manual/Literal-examples.html.
Without that package, exported html will not have syntax highlight.

Here is the fix,
`
commit 227eef9
Author: chen bin
Date: Wed Jan 18 22:59:29 2012 +0800

org-export need htmlize for syntax highlight

diff --git a/init-elpa.el b/init-elpa.el
index f15c0ef..6817b39 100644
--- a/init-elpa.el
+++ b/init-elpa.el
@@ -60,6 +60,7 @@
(require-package 'rainbow-mode)
(require-package 'maxframe)
(when (< emacs-major-version 24)

  • (require-package 'htmlize)
    (require-package 'org))
    (require-package 'org2blog)
    (require-package 'clojure-mode)
    `

set-scroll-bar-mode problem

After I upgraded my emacs to 24.2.50.1 using home-brew(brew install emacs --HEAD --use-git-head --cocoa), I found that when I entered full screen mode I noticed that there's a narrow gray bar across the top of emacs window and the minor buffer below was beyond the screen. Finally I found out that it was caused by a statement in init-gui-frames.el:
(when (fboundp 'set-scroll-bar-mode)
(set-scroll-bar-mode nil))
If I commented it out the phenomenon described above disappeared.

GUI cannot activate input method fcitx even if disabled C-SPC

ubuntu 12.04 LTS amd64
ibus works perfectly in emacs23
but when I uninstall ibus and switch to fcitx, fcitx cannot be activated when using GUI.
fcitx works perfectly in other places.
I have added (global-set-key (kbd "C-SPC") 'nil) in custom.el
when hit C-SPC, minibuffer shows: C-SPC is undefined.
when using "emacs -nw" or "emacs -Q" to start emacs, fcitx works perfectly and does not have any problems.

Adding Ergoemacs

I managed to get everything installed (after some sweat - my emacs knowledge is very weak). I also had to change all references from git:// to http:// because ports (9418?) at work are blocked.
My problem now is that I'd like to use ErgoEmacs, see: http://ergoemacs.org and I can't for the life of me figure out how to install it in the context of this lovely package apparatus without screwing things up. Can anyone help?
Thanks,
Yitzhak

Error during download request: Not Found

I got this error message when I tried to compile:

+++++++++++++++++++++++++++++++++++++
Warning (initialization): An error occurred while loading `/home/wanglei/.emacs.d/init.el':

error: Error during download request: Not Found

To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file. Start Emacs with
the `--debug-init' option to view a complete error backtrace.

++++++++++++++++++++++++++++++++++++

And here follows the debug info:

+++++++++++++++++++++++++++++++++++++

Debugger entered--Lisp error: (error "Error during download request:
Not Found")
signal(error ("Error during download request: Not Found"))
error("Error during download request:%s" " Not Found")
package-handle-response()
package-download-tar(org "20120216")
ad-Orig-package-download-transaction((org))
package-download-transaction((org))
package-install(org)
(if (or (assoc package package-archive-contents) no-refresh)
(package-install package) (progn (package-refresh-contents)
(require-package package min-version t)))
(if (package-installed-p package min-version) t (if (or ...
no-refresh) (package-install package) (progn ... ...)))
require-package(org)
(progn (require-package (quote org)))
(if (< emacs-major-version 24) (progn (require-package ...)))
(when (< emacs-major-version 24) (require-package (quote org)))
eval-buffer(#<buffer load<2>> nil
"/home/blueabysm/.emacs.d/init-elpa.el" nil t) ; Reading at buffer
position 4808
load-with-code-conversion("/home/blueabysm/.emacs.d/init-elpa.el"
"/home/blueabysm/.emacs.d/init-elpa.el" nil t)
require(init-elpa)
eval-buffer(#<buffer load> nil "/home/blueabysm/.emacs.d/init.el"
nil t) ; Reading at buffer position 915
load-with-code-conversion("/home/blueabysm/.emacs.d/init.el"
"/home/blueabysm/.emacs.d/init.el" t t)
load("/home/blueabysm/.emacs.d/init" t t)
#[nil
"^H\205\264^@ \306=\203^Q^@\307^H\310Q\2027^@ \311=\2033^@\312\307\313\314#\203#^@\315\2027^@\312\307\313\316#\203/^@\317\2027^@\315\2027^@\307^H\320Q^Z\321^S\322\n\321\211#\210^K\321=\203_^@\323\324\325\307^
H\326Q!"^\322\f\321\211#\210^K\321=\203^^@\n^S)^K\203\244^@\327^K!\330\232\203\244^@\331^K!\211^]\332P^^"\333^N"!\203\200^@^N"\202\213^@\333^M!\203\212^@^M\202\213^@\313\211^U\203\243^@\334^M^K"\203\241^@
\335\336^M^K#\210\337\340!\210^M^S*^N#?\205\263^@\313^^$\322\341\321\211#))\207"
[init-file-user system-type user-init-file-1 user-init-file otherfile
source ms-dos "" "/_emacs" windows-nt directory-files nil
"^.emacs(.elc?)?$" "
/.emacs" "^_emacs(.elc?)?$"
"~/_emacs" "/.emacs" t load expand-file-name "init"
file-name-as-directory "/.emacs.d" file-name-extension "elc"
file-name-sans-extension ".el" file-exists-p file-newer-than-file-p
message "Warning: %s is newer than %s" sit-for 1 "default" alt
inhibit-default-init inhibit-startup-screen] 7]()
command-line()
normal-top-level()
+++++++++++++++++++++++++++++++++++++

Thank you all the same, and it's awesome!

Table capture does not work when ido-ubiquitous-mode is enabled

When trying to use table capture, the following error comes up:

Debugger entered--Lisp error: (void-variable collection)
  completing-read("Justify (default left): " (("left") ("center") ("right")) nil t nil table-capture-justify-history "left")
  (downcase (completing-read (format "Justify (default %s): " default) (quote (("left") ("center") ("right"))) nil t nil (quote table-capture-justify-history) default))
  (intern (downcase (completing-read (format "Justify (default %s): " default) (quote (("left") ("center") ("right"))) nil t nil (quote table-capture-justify-history) default)))
  (if (and (string= col-delim-regexp "") (string= row-delim-regexp "")) (quote left) (intern (downcase (completing-read (format "Justify (default %s): " default) (quote (("left") ("center") ("right"))) nil t nil (quote table-capture-justify-history) default))))
  (let* ((completion-ignore-case t) (default (car table-capture-justify-history))) (if (and (string= col-delim-regexp "") (string= row-delim-regexp "")) (quote left) (intern (downcase (completing-read (format "Justify (default %s): " default) (quote (("left") ("center") ("right"))) nil t nil (quote table-capture-justify-history) default)))))
  (list (mark) (point) (setq col-delim-regexp (read-from-minibuffer "Column delimiter regexp: " (car table-col-delim-regexp-history) nil nil (quote table-col-delim-regexp-history))) (setq row-delim-regexp (read-from-minibuffer "Row delimiter regexp: " (car table-row-delim-regexp-history) nil nil (quote table-row-delim-regexp-history))) (let* ((completion-ignore-case t) (default (car table-capture-justify-history))) (if (and (string= col-delim-regexp "") (string= row-delim-regexp "")) (quote left) (intern (downcase (completing-read (format "Justify (default %s): " default) (quote (... ... ...)) nil t nil (quote table-capture-justify-history) default))))) (if (and (string= col-delim-regexp "") (string= row-delim-regexp "")) "1" (table--read-from-minibuffer (quote ("Minimum cell width" . table-capture-min-cell-width-history)))) (if (and (not (string= col-delim-regexp "")) (string= row-delim-regexp "")) (string-to-number (table--read-from-minibuffer (quote ("Number of columns" . table-capture-columns-history)))) nil))
  (let ((col-delim-regexp) (row-delim-regexp)) (barf-if-buffer-read-only) (if (table--probe-cell) (error "Can't insert a table inside a table")) (list (mark) (point) (setq col-delim-regexp (read-from-minibuffer "Column delimiter regexp: " (car table-col-delim-regexp-history) nil nil (quote table-col-delim-regexp-history))) (setq row-delim-regexp (read-from-minibuffer "Row delimiter regexp: " (car table-row-delim-regexp-history) nil nil (quote table-row-delim-regexp-history))) (let* ((completion-ignore-case t) (default (car table-capture-justify-history))) (if (and (string= col-delim-regexp "") (string= row-delim-regexp "")) (quote left) (intern (downcase (completing-read (format "Justify (default %s): " default) (quote ...) nil t nil (quote table-capture-justify-history) default))))) (if (and (string= col-delim-regexp "") (string= row-delim-regexp "")) "1" (table--read-from-minibuffer (quote ("Minimum cell width" . table-capture-min-cell-width-history)))) (if (and (not (string= col-delim-regexp "")) (string= row-delim-regexp "")) (string-to-number (table--read-from-minibuffer (quote ("Number of columns" . table-capture-columns-history)))) nil)))
  call-interactively(table-capture record nil)
  command-execute(table-capture record)
  smex-read-and-run(("toggle-debug-on-error" "auto-fill-mode" "table-capture" "scratch" "table-justify" "table-insert" "replace-string" "customize-themes" "erc" "grep" "butterfly" "dired" "customize-group" "customize-option" "text-mode" "gist-region" "python-else" "python-mode" "magit-status" "customize-face" "package-install" "replace-rectangle" "diredp-do-bookmark" "ps-print-region-with-faces" "flymake-python-pyflakes-load" "rvm-activate-corresponding-ruby" "cd" "mf" "ri" "5x5" "arp" "dbx" "dig" "ert" "ftp" "gdb" "irc" "jdb" "kbd" "man" "mpc" "pdb" "pwd" "rsh" "sdb" "xdb" "yow" "calc" "dark" "diff" ...))
  smex()
  call-interactively(smex nil nil)

This stops if I comment out (ido-ubiquitous-mode t) in init-ido.el.

Im using Emacs24 on Ubuntu 11.04

Quick file access doesn't work in Emacs23

Hi Steve,

Thanks for your emacs.d. I like it so much :)

My problem is, the quick file access (Sorry I didn't know which extension actually provides this feature (maybe recentf?) . I mean the feature that when I press C-x b, all the files I have accessed (may cross sessions) would be listed in the mini buffer, and I could type a few chars to quickly access them) does not work in Emacs23 (it is OK in Emacs24).

"ido" extension works well according to my test, but it could only list currently existed buffers.

The reason why I use Emacs23 is that auto-complete extension always makes my emacs suspended in Emacs24, but it works great in Emacs23. I brought up an issue to m2ym/auto-complete. If one of these issues is solved, my problem will be solved :)

Thanks for your time!

emacs --debug-failed in init-maxframe.el

ns-auto-hide-menu exists only in emacs24, I think
see
http://batsov.com/articles/2011/08/19/a-peek-at-emacs24/

Here is the fix, tested on archlinux, emacs 23.3

commit 2efed8c633cb08b2cdaf3049f42c66c4e7862067
Author: chen bin
Date:   Wed Jan 18 08:06:30 2012 +0800

    check emacs version before do the macpro stuff

diff --git a/init-maxframe.el b/init-maxframe.el
index 6aac826..532d544 100644
--- a/init-maxframe.el
+++ b/init-maxframe.el
@@ -15,7 +15,7 @@
         mf-max-height 894
         mf-display-padding-width 4
         mf-offset-x 0
-        mf-display-padding-height (if ns-auto-hide-menu-bar
+        mf-display-padding-height (if (and (>= emacs-major-version 24) ns-auto-hide-menu-bar)
                                       23
                                     (+ 22 23))))

Default theme and init-local.el not loading

Hi,

Sorry to bother you already!

With a previous version of your .emacs.d, when Emacs is launched, the default theme (sanityinc-solarized-light) gets loaded.

I just cloned the current version, and the theme does not get loaded anymore. Also, I get the error:

sanityinc/emacs-lisp-setup: Symbol's function definition is void: rainbow-delimiters-mode

(That error message was not showing up with the older version.)

I also created a new file, init-local.eland added just a line, (require-package 'deft), but it seems that init-local is not loaded, too.

If I require manually the theme, or init-local, they do work, though.

I am using Emacs 24.0.95.1 on iMac with OS X 10.7.3

Mark Multiple highlight face under dark theme

When I use mark-multiple with "C->" under dark theme, the additional selections' face is hardly to recognize. The front and the back are both nearly grey.

It's pretty ok under light theme. But, in my view, the original selections' face should be same with the additional selections(mark-multiple part) since we can indicate the original one with cursor.

p.s. Would you please tell me how to indicate the certain face so that I can search and modify it?
Or any instruction?

init-elpa.el takes 20% of startup time

I guess it's because too many require-package calls. I admit those thing are necessary and all I want is I could disable them sometime when and only when I start emacs-nox through console, by using some extra cli flags, of course.

something about the installing of purcell emacs

I have used emacs for about two years. But I still couldn't write my configuration. I have tried to do that several times, and I like your dot-emacs-dot-d. But I still have some problems with it. I installed just as what you said, and some packages wasn't downloaded. I don't know what's wrong. What do you mean "set svn to my path"?
Since the installing willn't work, I just have to download some packages myself and config the init.el line by line. Almost all of them work after I download the packages required. But when I type "M-x slime", I get "Symbol's value as variable is void: slime-fancy". In addition I don't know what it means in init-site-lisp exactly. I guess it just load everything in site-lisp directory.
When I follow the guid of slime website, it is just fine to start slime. I read the init-slime.el but I just don't know elisp. God, emacs! Maybe I should read some books about elisp. Thanks for your work and I'm sorry about syntactic errors with my English.

install issues.

Hey,

This looks great and i want to try it, but using emacs 23.2 and the 'lazy install' instructions from el-get it appears that any :type elpa and (:name diminish :type http :url "http://www.eskimo.com/~seldon/diminish.el") this package are giving out errors.

I take it you don't have these problems, but would i need elpa too do you think? any elpa package says Symbol's value as variable is void: package-user-dir in the Warnings buffer and for diminish it's" wrong-number-of-arguments kill-buffer 0)

Typical with my emacs installs, they don't always go smoothly but i did follow the instructions you gave. Any help would be appreciated. thanks.

Could you decrease the loading timeof emacs.d

On my workstation (HP Z600), loading time is 7 or 8 seconds. Could u improve it with autoload?

For example, I found "Loading haskell-site-file" took some time even I only open c++ file

emacs --debug-int error

Hello Steve,

I used your emacs.d config to init my emacs, but when I started the emacs using emacs --debug-int command error

occured. It said that the package session can not found. I go to the MELPA website and find the session package is

really missing. I don't know how to fix it.

How can I use [C-lelft] in terminal?

I kown the init-xterm.el was to solve this problem.
But when I push [C-left] , emacs just display [1;5C]
What should I do? I use ubuntu' terminal.

error: Please run "make relaxing" in site-lisp/html5-el

I just cloned in a fresh Mac book pro with Emacs 23 installed. I got this error when opened emacs first time -

Warning (initialization): An error occurred while loading `/Users/vadi/.emacs.d/init.el':

error: Please run "make relaxing" in site-lisp/html5-el

To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file. Start Emacs with
the `--debug-init' option to view a complete error backtrace.

I don't see anything inside html5-el folder either

got error (void-function string-prefix-p) at emacs 23.1 on centos 6.0

Installing emacs 23.3 on centos 6.0 is troublesome, I tried.

Here is the patch,
'''
commit ad2c6a9
Author: chen bin [email protected]
Date: Thu Dec 1 13:20:46 2011 +0800

add missing internal api for emacs 23.1

diff --git a/init.el b/init.el
index 2feabb8..f54c5c6 100644
--- a/init.el
+++ b/init.el
@@ -1,3 +1,13 @@
+;make .emacs.d support emacs 23.1 and above
+
+;only emacs 23.3 and above has string-prefix-p defined
+(if (not (fboundp 'string-prefix-p) )

  • (defun string-prefix-p (shorter longer)
  • (let ((n (mismatch shorter longer))
  •     (l (length shorter)))
    
  •  (if (or (not n) (= n l)) l nil)))
    
  • )

;; -- coding: utf-8 --
(add-to-list 'load-path (expand-file-name "~/.emacs.d"))

'''

the bbdb-vcard package is broken

No issue list on your bbdb-vcard fork. So I reported here.
Your bbdb-vcard.el is actually vcard.el which wrongly renamed to bbdb-vcard.el. Besides, see https://github.com/tohojo/bbdb-vcard , tohojo fixed a critical bug (bbdb-join missing) which makes the bbdb-vcard work finally. You'd better package tohojo's version.

I reported the related bug to the original author of bbdb-vcard.

org-mac-iCal is missing

emacs 24.1.50.2 at osx 10.7.3

Try 'emacs --debug-init my.org' and you will see the error message

Melpa precedence over Marmalade

It seems that, if there are packages in common between Melpa and Marmalade, the Marmalade version takes priority and it is installed.

Usually packages from Marmalade are quite older. One example, Slime: Marmalade had a version from 2010, vs Melpa from yesterday. Would it be possible to have Melpa take precedence in a package installation, in case that package is listed in multiple repositories?

Flymake doesnt detect ruby version 1.9 syntax

I suspect this is because I am using rvm. My default system ruby is 1.8, but I have an rvmrc for a project which uses ruby 1.9. When opening files in this project, flymake highlights valid syntax as errors.

Screenshot:

Im using:

GNU Emacs 24.1.50.1 (i686-pc-linux-gnu, GTK+ Version 3.2.0)
Ubuntu 11.10
rvm 1.13.4

python complete

I tried many ways to achieve complete python syntax but has never been able to,my python path is python2 ,how to use the completion?

Can emacs delete obsolete package and upgrade to latest one in elpa at startup?

two elpa questions:

  1. how to automatically update package to the new version when it's available?
  2. How to automatically remove the directory of old version of package automatically?

For example,
I installed rinari-2.2 through elpa 3 months ago, I need emacs upgrade rinari to 2.6 ASAP. But I hate to list-packages to check when new version is release from time to time.

My purpose is make my elpa/ clean and find a easy way upgrade the packages I care.

sometimes I cannot download packages from melpa

looks it's just network problem. Several people in China has reported similar problems to me. Currently my solution is wait several minutes and try again.

Any mature mechanism exists for melpa so I can set up a mirror server? I'm thinking similar thing as package mirror servers in Linux (archlinux, debian ...)

jump to model in rinari failed

Looks it's because elpa package inflections-20100806.

Here is the defvar In this packages' inflections.el
(eval-when-compile (require 'cl) (defvar inflection-singulars nil) (defvar inflection-plurals nil) (defvar inflection-irregulars nil) (defvar inflection-uncountables nil))

In older inflections.el. No eval-when-compile. I fixed it by modifying inflections.el and remove inflections.elc.

Can you figure out some work around in init-rails.el without modifying elpa package?

Here is the error message in emacs:
Debugger entered--Lisp error: (void-variable inflection-uncountables) 2 singularize-string("users") 3 #[(term) "\301^H\302^H!\303^H!E!\207" [term delete-dups singularize-string pluralize-string] 5]("users") 4 mapcar(#[(term) "\301^H\302^H!\303^H!E!\207" [term delete-dups singularize-string pluralize-string] 5] ("users" "")) 5 jump-inflections(("users" "")) 6 jump-to-all-inflections("app/models/\\1.rb#\\2" ("users" "")) 7 jump-to("app/models/\\1.rb#\\2" ("users" "") nil) 8 (cond ((equal t matches) (jump-to (cdr spec) nil (if create (quote (lambda (path) (rinari-generate "model" (and ... ...))))))) (($ 9 (and (setf matches (jump-from (car spec))) (cond ((equal t matches) (jump-to (cdr spec) nil (if create (quote (lambda (path) (rin$ 10 (not (and (setf matches (jump-from (car spec))) (cond ((equal t matches) (jump-to (cdr spec) nil (if create (quote (lambda ... ..$ 11 (progn (setq spec (car --cl-var--)) (not (and (setf matches (jump-from (car spec))) (cond ((equal t matches) (jump-to (cdr spec) $ 12 (and (consp --cl-var--) (progn (setq spec (car --cl-var--)) (not (and (setf matches (jump-from (car spec))) (cond ((equal t match$ 13 (while (and (consp --cl-var--) (progn (setq spec (car --cl-var--)) (not (and (setf matches (jump-from (car spec))) (cond ((equal $ 14 (let* ((--cl-var-- (quote (("app/controllers/\\(.*?\\)_controller.rb#\\(.*?\\)$" . "app/models/\\1.rb#\\2") ("app/views/\\(.*?\\)$ 15 (catch (quote --cl-block-nil--) (let* ((--cl-var-- (quote (("app/controllers/\\(.*?\\)_controller.rb#\\(.*?\\)$" . "app/models/\\$ 16 (cl-block-wrapper (catch (quote --cl-block-nil--) (let* ((--cl-var-- (quote (("app/controllers/\\(.*?\\)_controller.rb#\\(.*?\\)$$ 17 (block nil (let* ((--cl-var-- (quote (("app/controllers/\\(.*?\\)_controller.rb#\\(.*?\\)$" . "app/models/\\1.rb#\\2") ("app/view$ 18 (loop for spec in (quote (("app/controllers/\\(.*?\\)_controller.rb#\\(.*?\\)$" . "app/models/\\1.rb#\\2") ("app/views/\\(.*?\\)/$ 19 (let ((root (rinari-root)) (method-command (quote ruby-add-log-current-method)) matches) (loop for spec in (quote (("app/controll$ 20 rinari-find-model(nil) 21 call-interactively(rinari-find-model nil nil)

flymake and org-bable conflict

I have fixed a small problem with using flymake-ruby when editing org-mode babel src blocks in a separate buffer: flymake is not happy about nil buffer names.

For details see this commit.

Strange mini-buffer behavior

I am using this on a macbook pro. Whenever I do M-x (command-x on my mac) and try to type something I am only able to see a single character. Keypresses >= 2 overwrite the previous key press. If I hit tab, it erases even the single remaining visible character. I can not figure out the cause of this behavior but I am open to the possibility that PEBKAC.

auto-pair doesnt work in ruby mode

Hello

New to emacs, I cant figure out where to start debugging this. auto-pair (closing brackets and ") doesnt work in ruby-mode. Any pointers as to how I could go about enabling this?

Im using Emacs 24.1.50.1 on Ubuntu 11.10

autocomplete parenthesis and < brackets > in erb files?

Just wondering if your emacs autocompletes tags and such?

like textmate you can hit some funky letters and hit tab, and boom you get <%= blah %> I know yasnippet is working on this, but as of 6 months ago was still wonky for me.

Does your setup have snippets enabled and I'm just missing it?

Cannot open load file: popup

After trying so many configuration bundles, I found this one to be one of the best, ar least for my way of working.

I found one error, both using Emacs 23.50 and Emacs 24.0.95, which comes up almost immediately after starting up emacs:

Compiling file /Users/sam/.emacs.d/site-lisp/auto-complete/auto-complete-config.el at Tue Apr  3 09:13:58 2012

Entering directory `/Users/sam/.emacs.d/site-lisp/auto-complete/'
auto-complete-config.el:31:1:Error: Cannot open load file: popup

Compiling file /Users/sam/.emacs.d/site-lisp/auto-complete/auto-complete.el at Tue Apr  3 09:13:58 2012

auto-complete.el:49:1:Error: Cannot open load file: popup

byte-recompile-directory may raise some delicate issue

compile site-lisp/ has some problem.

I tried it on site-lisp/yasnippet, which actually make the yasnippet broken:
without *.elc, I will have some nice pop up to select candidate.
with *.elc, the hooked fuction which to display the popup is gone

I only got the "Choose the snippet:" message,

grep the code,

at site-lisp/yasnippet/yasnippet:1263,

(defun yas/prompt-for-template (templates &optional prompt)
  "Interactively choose a template from the list TEMPLATES.

TEMPLATES is a list of `yas/template'."
  (when templates
    (some #'(lambda (fn)
              (funcall fn (or prompt "Choose a snippet: ")
                       templates
                       #'yas/template-name))
          yas/prompt-functions)))

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.