(load-library "name")
Finally, if you're interested in looking at the source code of the libraries, which can be a great way to pick up techniques as you develop skills in programming Emacs Lisp, check out the find-library-file function presented in Chapter 11.
Now, without further ado, here are the tables of Lisp packages.
Table B-1. Support for Java, C, and C++ programming
Table B-1. Support for Java, C, and C++ programming
| Package | Description | Startup |
|---|---|---|
cc-mode |
Major mode for editing Java, C, C++ and Objective-C source files | java-mode, c-mode, c++-mode, objc-mode, suffixes .java, .c, .h, .y, .lex, .cc, .hh, .C, .H, .cpp, .cxx, .hxx, .c++, .h++ |
cmacexp |
Function for using cpp to expand macros in C source code | c-macro-expand |
hideif |
Minor mode for hiding code within C preprocessor commands | hide-ifdef-mode |
cpp |
Major mode for highlighting and hiding code within C preprocessor conditionals; takes advantage of graphical displays | cpp-parse-edit |
Table B-2. Support for Lisp programming
Table B-2. Support for Lisp programming
| Package | Description | Startup |
|---|---|---|
lisp-mode |
Major modes for Lisp, Emacs Lisp and Lisp interaction | lisp-mode, emacs-lisp-mode, lisp-interaction-mode, suffixes .l, .lisp, .lsp, .ml, .el, and others[100] |
scheme |
Major mode for editing Scheme source files | scheme-mode, suffixes .scm, .stk, .ss, .sch, .oak |
cl |
Functions and macros for Emacs Lisp compatibility with Common Lisp | many |
debug |
Major mode for debugging Emacs Lisp programs | debug, automatically invoked if an error occurs running code when debug-on-error is not nil |
edebug |
Emacs Lisp debugging functionality, implemented as a minor mode | edebug |
disass |
Function to disassemble compiled Emacs Lisp code | disassemble |
elp |
Code profiler for Emacs Lisp | elp-instrument-package, elp-instrument-function |
trace |
Produces function call traces for Emacs Lisp | trace-function |
Table B-3. Support for other programming tasks and languages
Table B-3. Support for other programming tasks and languages
| Package | Description | Startup |
|---|---|---|
gud |
Major mode for working with many different debuggers including jdb, gdb, sdb, dbx, xdb, perldb, pdb (Python), and bash | jdb, bashdb, gdb, and many others |
perl-mode |
Major mode for working with Perl source | perl-mode, suffixes .pl, .pm, .perl, .al, and capitalized variants |
cperl-mode |
Major mode for working with Perl source, which many prefer to the older Perl mode | cperl-mode, suffixes .pl, .pm, .perl, .al, and capitalized variants |
python |
Major mode for editing Python source files | python-mode, suffix .py |
tcl |
Major mode for editing TCL source files | tcl-mode, suffixes .tcl, .exp, .itcl, .itk |
sql |
Major mode for editing SQL queries | sql-mode, suffix .sql |
ada-mode |
Major mode for editing Ada source files | ada-mode, suffixes .ada, .adb, .ads, .adb.dg, .ads.dg |
pascal |
Major mode for editing Pascal source files | pascal-mode, suffixes .p, .pas |
modula2 |
Major mode for editing Modula-2 source code | modula-2-mode |
fortran |
Major mode for editing Fortran source files | fortran-mode, suffixes .f, .F, .for |
f90 |
Major mode for editing source code in the Fortran 90 dialect | f90-mode, suffixes .f90, .f95 |
asm-mode |
Major mode for editing assembly language source code | asm-mode, suffixes .s, .S, .asm |
awk-mode |
Major mode for editing awk code | awk-mode, suffix .awk |
m4-mode |
Major mode for editing m4 macro source | m4-mode, suffixes .m4, .mc |
ps-mode |
Major mode for editing PostScript code | ps-mode, suffixes .ps, .eps, with any capitalization |
compile |
Major mode for compiling programs (often through make or ant) and allowing easy access to the source lines on which errors are reported | compile |
100
Emacs Lisp mode is also invoked for files named *scratch* buffer.