aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Formula')
-rw-r--r--Library/Formula/uemacs.rb68
1 files changed, 68 insertions, 0 deletions
diff --git a/Library/Formula/uemacs.rb b/Library/Formula/uemacs.rb
new file mode 100644
index 000000000..cafe992cf
--- /dev/null
+++ b/Library/Formula/uemacs.rb
@@ -0,0 +1,68 @@
+require 'formula'
+
+class Uemacs < Formula
+ head 'git://git.kernel.org/pub/scm/editors/uemacs/uemacs.git'
+ homepage 'http://git.kernel.org/?p=editors/uemacs/uemacs.git'
+
+ # two patches to ensure config files are loaded correctly
+ def patches
+ DATA
+ end
+
+ def install
+ cellar_etc = prefix + 'etc'
+
+ inreplace 'Makefile' do |s|
+ s.change_make_var! 'BINDIR', bin
+ s.change_make_var! 'LIBDIR', cellar_etc
+ s.gsub! ".emacsrc", "emacs.rc"
+ end
+
+ inreplace 'epath.h' do |s|
+ s.gsub! ".emacsrc", "emacs.rc"
+ s.gsub! "/usr/local/lib", etc
+ end
+
+ bin.mkdir
+ cellar_etc.mkdir
+
+ system "make"
+ system "make install"
+ end
+
+ def caveats
+ <<-EOS.undent
+ The system-wide configuration file, emacs.rc, has been installed to
+ #{etc}. uemacs will also load ~/.emrc if it exists. You can
+ override this behavior by creating the file ~/.emacsrc.
+ EOS
+ end
+end
+
+__END__
+diff --git a/emacs.rc b/emacs.rc
+index 06c0f12..e8e07b7 100644
+--- a/emacs.rc
++++ b/emacs.rc
+@@ -286,4 +286,7 @@ bind-to-key newline ^J
+ add-global-mode "utf-8"
+ !endif
+
++!force execute-file &cat $HOME "/.emrc"
++!force execute-file &cat ".emrc"
++
+ set $discmd "TRUE"
+
+diff --git a/bind.c b/bind.c
+index eb28c1f..88911f6 100644
+--- a/bind.c
++++ b/bind.c
+@@ -490,7 +490,7 @@ char *flook(char *fname, int hflag)
+ /* build home dir file spec */
+ strcpy(fspec, home);
+ strcat(fspec, "/");
+- strcat(fspec, fname);
++ strcat(fspec, ".emacsrc");
+
+ /* and try it out */
+ if (ffropen(fspec) == FIOSUC) {