[Purdue-pm] for Emacs users

Mark Senn mark at purdue.edu
Mon Aug 31 09:54:19 PDT 2015

Do any Purdue Perl Mongers besides me use Emacs?

Following my signature (i.e., "-mark") is some stuff I recently added to
my .emacs file to make using Perl 6 easier.

The "Package path and loading." stuff will automatically get and install
smart-compile and smarter-compile packages.  (Don't have to get packages
manually when using a new computer.)

The "smarter-compile configuration" stuff is used to set up Emacs so it
will process files that end in ".p6" with "/usr/new/bin/perl".

The global-set-key commands are used so I can type Control-C Control-C
to smarter-compile it and confirm that I want to use "/usr/new/bin/perl6".
The Emacs window is split into two parts automatically and the program is run
in the other window.  After that, Control-C Control-R recompiles it using
the same Perl 6 executable.  I'm looking into packages that read the
she-bang line of the file and do the right thing.

I'm an ergonomic nut.  I use a TypeMatrix 2020 keyboard in Dvorak mode
now.  See
"C" is where "I" is on normal QWERTY keyboards; "R" is where "O" is on
normal QWERTY keyboards so the key sequences above are easy to type.  My
hands are too big to use a Typematrix 2030 keyboard comfortably.  I have
an ErgoDox kit I need to assemble (see
https://www.massdrop.com/buy/infinity-ergodox?mode=guest_open) and
ordered a a Keyboardio Model 01 that should come next year (see
http://shop.keyboard.io---wish it were made out of plastic instead of
wood, but I think only wood is available).  If you're interested in these
let me know and I'll bring them to a meeting after assembled and received.


; Package path and loading.
; See https://truongtx.me/2013/01/07/emacs-package-manager/
;;; Emacs is not a package manager, and here we load its package manager!
(require 'package)
(dolist (source '(("marmalade" . "http://marmalade-repo.org/packages/")
                  ("elpa" . "http://tromey.com/elpa/")
                  ("melpa" . "http://melpa.milkbox.net/packages/")
  (add-to-list 'package-archives source t))
;;; Required packages
;;; everytime emacs starts, it will automatically check if those packages are
;;; missing, it will install them automatically
(when (not package-archive-contents)
(defvar tmtxt/packages
  '(smart-compile smarter-compile))
(dolist (p tmtxt/packages)
  (when (not (package-installed-p p))
    (package-install p)))

; smarter-compile configuration
; See https://marmalade-repo.org/packages/smarter-compile
; M-x recompile just does the last command as last time without prompting.
(require 'smarter-compile)
 '("\\.p6\\'"   .   "/usr/new/bin/perl6 %f"))

(global-set-key "\C-c\C-c" 'smarter-compile)
(global-set-key "\C-c\C-r" 'recompile)

More information about the Purdue-pm mailing list