China Stuff

China Photos


.    IC
.    Regexps
.    catchall.php
.    Elisp
.    Tetrii
.    sudoku
.    Mail aliases
.    AQI history
.    Subway
.    SchoolSite
.    Host change
.    freehostingweb

Harry Potter

Contrarian Ultimate




Site Map

Emacs Lisp Functions

emacs extensions

These are elisp functions I have written for my own use, which could be of interest or use to others. Because they are for my use, and usually written hurriedly to fill a need for myself only, they are not usually documented or written as nicely as my work code is.

  • mimosa.el (git functions) - This contains significant enhancements to git.el including displaying project history buffer, file log buffer, ediff any 2 previous file versions. It also has enhancements and customizations for serial port mode. (Mimosa is developing a wireless bridge, we connect to the hardware through serial interface, and use git for version control)

  • filter.el - Similar to outline mode, but makes it easy to define things to collapse and expand functions, along with their preceding documentation. It lets you attach tags to lines, and selectively hide sets of those tags. Currently it only has the definitions needed for Foxpro, since that is what I am using it in, but it is not hard to add regexps for other languages. (I will - check back in a few months)

  • lineno.el - Displays line numbers in an emacs buffer. It differs from other such packages because it only puts overlays on lines in the selected window, so it works fine no matter how large the file.

  • primes.el - Functions to find primes and factor numbers using cached primes and some optimizing tricks. Will factor large numbers relatively fast.

  • project.el - Interactively define "projects", groups of files that you can load with a single command.

  • java-class.el - A mode for viewing java .class files that displays the class definition in a buffer. It uses different faces to display different properties, and allows filtering by different types.

  • sudoku.el - Intended as a nice environment that allows you to concentrate on the logic to solve puzzles by keeping track of the details and presenting the current state nicely. Lets you view the current board and the possibilities for each cell, along with providing undo, checkmarking, saving and restoring puzzles, hints, the solution to any puzzle, and even present you with the reasoning used. A neat project that was more fun than the puzzles are. (and I am pretty good at solving the puzzles now)

  • javadoc.el - goes through a file adding proper javadoc comments to the front of method definitions. It fills in arguments and types, return value, and exceptions.

  • global-find.el - Makes a buffer that contains all occurences of a given string in buffers currently being edited. Useful for large multifile projects.

  • unhtml.el - Tries to remove html tags and leave the buffer formatted nicely enough to be readable. URLs can be removed, stored as text properties so they can be clicked on, or stored in-line, bracketed by "<<>>".

  • my-rmail.el - Expands mail aliases and manages sender email accounts. It takes a list of mail aliases and uses it to generate a Unix .mailrc alias file. Aliases are expanded in "To:" and "Cc:" lines in the emacs *mail* buffer. Also, each alias can associated with an email address which is used as the default sender of email to that recipient. This allows accounts to be used for different purposes, for instance a personal, spam-free account to be used only for family and friends and other accounts for business, bulletin boards, etc.

    It also handles replies to bulletin board digests, either to the sender or to the list, and gets the subject line right.

  • tracker.el - A time tracker that keeps track of work time by project and subproject, and generates time summaries and reports based on its records. It automatically logs off after a period of inactivity (no hardship for those of us that live in emacs), and touches its records every minute, so in case of machine crash it can restore the end time.

  • shell-enhancements.el - Tracks the current directory reliably in dos and unix environments, displays the current directory in the message area, fixes various shell commands that seem to have chcanged from what I am used to, implements shell CD expansion in the minibuffer for reading and writing files, puts VMSTAT in the mode line, and probably some other stuff too.

  • tetrii.el - Tetrii is my next level up from "hello world", I have written it in several different languages. It is tetris played on multiple boards at the same time. I started this as tetris a few years ago, and only recently went back to add multiple buffer support. It seems to work great now - try it out.

  • color-select - allows marking up a file with different faces by using windows selections, REs, or other ways if you care to write them. It can store the markups in file locals, and so restore them on reopening. It supports either its own internal tag format, or XML-style tagging.

Call or Send Us Mail!

or send email to
image of email address

(sorry, the email addresses
that used to be here have
been disabled due to spam