Project:Emacs/Test plans
Why this?
Some packages need testing when being keyworded or stabilised, so they are collected here.
Improvements of the test plans are of course welcome, attach them to the respective stabilisation bug or write an e-mail to mailto:emacs@gentoo.org.
Prerequisites / Things to know
Add the following to /etc/emacs/site-start.el or to your ~/.emacs file:
(require 'site-gentoo)
Emacs uses a special scheme for key combinations which uses C for Ctrl, M for Meta (often bound to the Alt key), and S for Shift. So C-x C-c means Ctrl+x followed by Ctrl+c, which lets you exit Emacs.
Always make sure with the eselect module that you have the latest stable version active.
Glossary
Emacs jargon predates most of today's user interfaces. Here are some terms that are used below:
Emacs term | common term |
---|---|
frame | window |
window | pane |
visit a file | open a file |
kill | cut |
yank | paste |
See also:
- http://www.emacswiki.org/emacs/EmacsJargon
- http://www.gnu.org/software/emacs/manual/html_node/emacs/Glossary.html
GNU Emacs and core components
Here are some test cases to for GNU Emacs:
Emerge with different USE flags
Watch out that the X USE flag will switch between a console only and X-enabled Emacs editor. When having X support switched on, run emacs
with the -nw
switch to test text-only mode.
Editing capabilities
Call Emacs with a file as parameter, even run it with (server-start)
in your ~/.emacs file and use the emacsclient
executable to visit test files.
Emerge Elisp packages
Emerge several packages from the app-emacs category and test them (various test cases are provided here).
eselect module
Emerge several versions of Emacs (and Emacs from Git), try to switch versions and call the executables (check version with -version
parameter). Check if correct man pages are symlinked.
emacs-updater
Do a dry run with emacs-updater -p
or just run it with emacs-updater
(you will be asked for confirmation before any real action is taken).
app-doc – Documentation
app-doc/casting-spels-emacs
- Browse the HTML documentation at /usr/share/doc/${PF}/html/casting-spels-emacs-1.html
- In Emacs, type M-x
load-library
RETwizard-adventure-emacs
RET - Type C-x b
*scratch*
RET and switch to the scratch buffer - Try some commands, like
(look)
or(walk west)
. Terminate the commands by pressing C-j
app-doc/elisp-manual
This should be tested with Emacs and with stand-alone info. Within Emacs:
- Type C-h i d to get the Info directory node
- Check if there is a dir entry for
Elisp <version>
(you should find it under theEmacs
heading) - Press RET at the dir entry to go to the manual
- Browse around
With stand-alone info:
- In the shell, type
info
RET - Follow steps 2 etc as above
app-editors – Other Emacs-like editors
Other Emacs-like editors are available as packages, including several Microemacs variants. They all should support basic Emacs key bindings. Notes for some individual editors are included below. Generally, you should test:
- Visiting and saving files
- Cursor movement
- Basic editing operations
app-editors/e3
See general notes on other Emacs-like editors.
- The
e3em
binary will give you Emacs key bindings (you don't want to know whate3vi
is ;-)
app-editors/emacs
See above: GNU Emacs and core components
app-editors/emact
See general notes on other Emacs-like editors.
app-editors/ersatz-emacs
See general notes on other Emacs-like editors.
app-editors/fe
See general notes on other Emacs-like editors.
app-editors/jasspa-microemacs
See general notes on other Emacs-like editors.
app-editors/jed
See general notes on other Emacs-like editors.
app-editors/jove
See general notes on other Emacs-like editors.
app-editors/mg
See general notes on other Emacs-like editors.
app-editors/qemacs
See general notes on other Emacs-like editors.
- QEmacs has full UTF-8 support
- If you have the chance, try to edit some bidirectional text
app-editors/uemacs-pk
See general notes on other Emacs-like editors.
Some key bindings are different from GNU Emacs, most notably M-s (instead of C-s) for search-forward
, C-x C-d (instead of C-x C-s) for save-file
, C-z (in addition to M-v) for previous-page
, and C-x d (instead of C-z) for suspend-emacs
. See M-x describe-bindings
RET for a complete list.
app-editors/zile
See general notes on other Emacs-like editors.
- Emerge with
USE=test
app-emacs – Individual Emacs Lisp packages
app-emacs/analog
- Add the following to your ~/.emacs file:
(setq analog-entry-list '(("test" (("df -HT" (label . "df") (type . shell-command) (lines . 10) (position . head) (actions) (faces) (alerts)) ("last" (label . "last") (type . shell-command) (lines . 10) (position . head) (actions) (faces) (alerts))))) analog-use-timer t analog-timer-period 10)
- (Re)Start Emacs
- Type M-x
analog
RET - You should get a status display for
df -HT
andlast
, updated every 10 seconds - Press q to quit
app-emacs/apel
- emerge app-emacs/elscreen with it, see below
app-emacs/auctex
- Call
emacs test.tex
(empty file) - Press C-c C-e and follow the instructions in the minibuffer (the line at the end)
USE=preview-latex
only:
- Download and visit the file circ.tex
- Press C-c C-p C-b. There is an intentional error (you can see it by the comments around the region). Maybe you have to let LaTeX process it before via C-c C-c
app-emacs/autoconf-mode
- Download and visit the file aclocal.m4
- The mode line should now say
Autoconf
- You should get syntax highlighting if
font-lock-mode
is enabled - Move the cursor to the beginning of some code block and press C-@ (or C-SPC)
- Move to the end of the code block and press C-c ;
- The block should be commented out now
app-emacs/bbdb
- Type M-x
bbdb-create
RET - Follow prompts and enter all the information you want
- Press the following keys and play around: e (edit entry), ; (edit notes), d (delete entry)
app-emacs/binclock
- Type M-x
binclock
RET - Current time in binary form should be displayed
app-emacs/bm
- Visit a text file
- Move to some line you want to bookmark
- Type M-x
bm-toggle
RET - The line should be highlighted now
- Repeat previous 3 steps another time
- Type M-x
bm-show
RET - You should get a buffer
*bm-bookmarks*
with a list of the bookmarks
app-emacs/boxquote
- Type M-x
boxquote-shell-command
RET - Type some command, like
pwd
RET orfortune
RET - A quoted box similar to the following example should appear:
,----[ fortune ] | Vi has one purpose, and should be used only for that purpose. | To configure Emacs for compilation. | -- Floyd Davidson `----
app-emacs/bubblet
- Type M-x
bubblet
RET - Play a game by clicking units of more than two same-coloured blocks
app-emacs/buttercup
- Run package tests from
src_test
by emergingapp-emacs/buttercup
withFEATURES="test"
. - Execute
buttercup --help
and check if the help message is printed (and not error backtrace).
app-emacs/chess
- Make sure you are member of the games group, and /usr/games/bin is in your PATH
- Make sure you have Emacs open in an X session, not console
- Type M-x
chess
RET - A new window with a chess board should appear
- Press V to change the size of pieces
- Type in some move like
e4
or move pieces with the mouse
app-emacs/circe
- Type M-x
circe
RET - Enter
irc.libera.chat
as host and6667
as port - Fool around on IRC
app-emacs/cldoc
- Execute the test plan for app-emacs/slime, see below
- Download and visit the file cldoc-test.lisp
- Check that the file's major mode is Lisp
- Move the point over
defun
- You should see this in the echo area:
defun: function-name lambda-list [[declaration* | documentation]] form* => function-name
app-emacs/color-theme
- Type M-x
color-theme-select
RET - Use the cursor up/down keys and press return to select a theme
app-emacs/cperl-mode
- Download and visit the file example.pl
- The mode line should tell you that
Perl
mode is enabled - Type M-x
cperl-mode
RET - Highlighting should change a little bit and mode line should announce
CPerl
- Check version by C-h v
cperl-version
RET - Go to a Perl statement (like
use
) and press C-c C-h v - You should get some help about this functions in the echo area
app-emacs/csharp-mode
- Download and visit the file test.cs
- The mode line should now say
C#
- Type M-x
global-font-lock-mode
RET - The source code should be highlighted (or not highlighted anymore)
app-emacs/css-mode
- Copy the file /usr/share/doc/css-mode-*/html/standard.css and visit it
- The mode line should now say
CSS
- Type M-x
font-lock-mode
RET to toggle syntax highlighting - Press C-x h to mark the whole buffer as a region
- Press C-M-\ to indent the region
- You should now get "old style" indentation (i.e. the closing
}
should be at the same indent level as the block) - Type M-:
(setq cssm-indent-function #'cssm-c-style-indenter)
RET to activate C style indentation - Press C-M-\ again
- You should now get "C style" indenting
app-emacs/csv-mode
- Download and visit the file test.csv
- The mode line should now say
CSV
- Mark the text with the mouse
- Type M-x
csv-sort-fields
RET and confirm the next question - Lines should be sorted now
- Type M-x
csv-transpose
RET - Columns and lines are now transposed
app-emacs/develock
- Download and visit the file ChangeLog
- Type M-x
develock-mode
RET - You should now see markers for different errors: overlong lines, leading whitespace (non-tabs)
app-emacs/df-mode
- Type M-x
df-mode
RET - The mode line should show buffer size / free space on partition
app-emacs/dictionary
- Type M-x
dictionary-search
RET - Type some English word and watch the output
app-emacs/dircolors
- Press C-x C-f
- Type some incomplete path, e.g.
/usr/share/emacs/site-lisp/
- Press TAB
- You should see directories in blue, source files in yellow, etc.
- Press C-x C-f and type in a path (not an empty directory, please)
- The contents should be displayed in the main window
- Type M-x
dired-sort-menu-toggle-reverse
RET - Repeat the former step and the ordering should be reversed everytime
app-emacs/doctest-mode
app-emacs/doxymacs
- Download and visit the file use_flag.h
- Mode line should show
C/l doxy
- Go to the first functions and type M-x
doxymacs-insert-blank-multiline-comment
RET - A multiline comment should be there for you now
app-emacs/dts-mode
- Download and visit the file p1025rdb_32b.dts
- The mode line should now say
Devicetree
- Type M-x
font-lock-mode
RET to toggle syntax highlighting - Move the cursor to the beginning of some code block and press C-@ (or C-SPC)
- Move to the end of the code block and press C-c ;
- The block should be commented out now
app-emacs/easypg
- You need a working GnuPG including a private key
- Type M-x
epa-list-keys
RET - Your keyring should be displayed, select an entry and check the contents
- Type M-x
epa-sign-file
RET - Choose a file you wish to sign, then check the signature (.asc file)
- Type M-x
epa-sign-region
RET in a writable opened file (aka buffer) - See an inline signature appear
app-emacs/ebuild-mode
Run the package's test suite (FEATURES=test
or USE=test
).
- Visit an ebuild and/or eclass file
- Check if
Ebuild[bash]
is indicated in the mode line - It should highlight the syntax
The following is for an ebuild file:
- Press C-c C-e C-e and type in an ebuild subcommand (
manifest
,unpack
,compile
, etc.) - After unpacking, C-c C-e C-s should visit S (the temporary build directory)
- Press C-c C-e C-y and give away KEYWORDS in the ekeyword syntax
- Save the file with C-x C-s and verify that the date in the copyright line is updated to the current year (only upon first saving)
- Switch to a new buffer with C-x b
new.ebuild
RET. Press C-c C-e C-n and create a new ebuild from scratch
app-emacs/ecb
- Start Emacs in a folder with the source code of a program
- Type M-x
ecb-activate
RET - It should display some windows with your source files
- Possibly use M-x
ecb-change-layout
RET and see a list of options with TAB
app-emacs/elib
- Emerge app-emacs/jde with it
app-emacs/elscreen
- Type M-x
elscreen-start
RET - Press C-z C-c (a new tab should appear on one of the top lines)
- Work with Emacs (visit a file or whatever)
- Use C-z C-p to switch to the previous screen in cyclic order, or C-z C-a to toggle screens
- Type M-x
calculator
RET - A small window should appear above the minibuffer (regression test for bug #196996)
app-emacs/emacs-common
This package is untypical for the app-emacs category, since it isn't an Emacs add-on. It installs files common to all SLOTs of Emacs. First, test if the site-start mechanism works correctly:
- Type M-:
(featurep 'site-gentoo)
RET - It should display
t
in the echo area - Repeat above test, but this time with Emacs started with
emacs -Q
- It should display
nil
now
Test the desktop entry (only if Emacs was emerged with USE="X"):
- Login under some X desktop (like Xfce or Gnome or KDE)
- There should be an entry for Emacs in the desktop menu under
Development
/GNU Emacs
. There should also be an icon if your desktop supports it - Check if Emacs can be started via the desktop menu
Test if shared score files work (only if Emacs was emerged with USE="games"):
- Play a game of Tetris with M-x
tetris
RET - When finished, a buffer
tetris-scores
with your score should appear - Type C-x C-b and verify that the file is in /var/games/emacs/ (something went wrong if it's in ~/.emacs.d/games/)
app-emacs/emacs-daemon
This will work only if Emacs itself supports the --daemon
option. Use eselect emacs
to make sure that you have Emacs 23 or later.
- As root, create a link for the init script for a user:
ln -s emacs /etc/init.d/emacs.<user>
- Start the Emacs daemon with
/etc/init.d/emacs.<user> start
- Login as the user that you had previously specified
- Connect to the Emacs daemon with
emacsclient -t
in a terminal, or withemacsclient -c
for a new X frame - Type C-x 5 0 to disconnect again
- Stop the Emacs daemon with
/etc/init.d/emacs.<user> stop
app-emacs/emacs-jabber
- Type M-x
jabber-customize
RET - Give an XMPP server and a user name in the correct fields
- Save settings (either permanent or for that session only)
- Type M-x
jabber-connect
RET - Type in password when asked
- Go to buffer
*-jabber-*
- Try to chat with some contacts you might have
app-emacs/emacs-w3m
- Type M-x
w3m
RET - You should be able to browse the WWW now
- Press RET or middle mouse button on an image to display it
app-emacs/emacs-wget
- Type M-x
wget
RET - Type in name of a file to download from the internet
- Possibly confirm creation of ~/download
- Type M-x
wget-web-page
RET - Type in a domain name
- Check ~/download for the files
app-emacs/erobot
- Type M-x
erobot-tour
RET - If something moves on the screen, you are done
app-emacs/eperiodic
- Type M-x
eperiodic
RET - Move around with the cursor keys and watch the property table below change
app-emacs/erc
- Type M-x
erc
RET - Answer the questions, the default is good for Libera.Chat
- chat along on your favourite Gentoo channel
app-emacs/eselect-mode
- Visit an eselect file
- Check if
Eselect[bash]
is indicated in the mode line - It should highlight the syntax
app-emacs/ess
- Create a working directory and
cd
there - Make sure you have dev-lang/R installed
- Start Emacs, type M-x
R
RET - An R shell should appear, saying
iESS
in the mode line - Type M-x
server-start
RET - Type
fix(iterator)
in the R shell - A new window should open with a function skeleton
- Leave the window with C-x #
app-emacs/evil
- Type M-x
evil-mode
RET - Check if
<N>
is indicated in the mode line - Visit an arbitrary file with :
e filename
RET - Test cursor movement: k and j for previous/next line, h and l for backward/forward
- i should switch to insert mode (
<I>
in mode line) - Type ESC :
q
RET to exit Emacs, or C-z C-u0
M-xevil-mode
RET to exit evil-mode only
app-emacs/fff
- Type M-x
fff-install-map
RET - Press C-c C-f C-f and type a filename (without path!)
- It should locate the file and visit it
app-emacs/filladapt
- Add the following line to your ~/.emacs file:
(require 'filladapt)
- Restart Emacs
- Visit a file
- Type M-x
filladapt-mode
RET - The status line should show
Filladapt
- Press M-q, the paragraph should be reformatted
app-emacs/flashcard
- Download and visit the file emacs.deck
- Answer the questions
app-emacs/flim
- Emerge reverse dependencies: app-emacs/emacs-jabber, app-emacs/mu-cite, app-emacs/semi, app-emacs/wanderlust
- Test them
app-emacs/folding
- Make sure you have Emacs open in an X session, not console
- Visit /usr/share/emacs/site-lisp/folding/folding.el
- Type M-x
folding-mode
RET - All functions should be folded and highlighted
- Click on function name with middle mouse button to unfold
app-emacs/gnuplot-mode
- Start Emacs in an X session with
emacs test.gp
(empty file) - Check if
Gnuplot
is indicated in the mode line - Type
pl
followed by M-TAB - The keyword should be completed to
plot
- Complete the line to say
plot [0:6.283] sin(x)
- It should highlight the syntax
- Position the cursor in the line you just typed and press C-c C-l
- A
*gnuplot*
command window should appear in Emacs, as well as a gnuplot X frame showing a plot of the sine function
app-emacs/gnus
- Type C-u M-x
gnus
RET - Choose
news.gmane.org
as server - Press U to add a new newsgroup (choose
gmane.test
) - Point to the group and press a to write an article
- Send the news with C-c C-c
- Press return on
gmane.test
to enter the group and read articles
app-emacs/gnuserv
- Make sure that the GNU Emacs (not XEmacs) version of gnuserv is eselected (as root):
eselect gnuclient set gnuclient-emacs
- Type M-x
gnuserv-start
RET - Change to a terminal window and type
gnuclient somefile
there - The file should now appear in an Emacs frame
- Finish editing with C-x #; the
gnuclient
command should return then
app-emacs/graphviz-dot-mode
- Download and visit the file helloworld.dot
- Check if
dot
is indicated in the mode line - Typing M-x
font-lock-mode
RET should toggle syntax highlighting - Change the indentation of a few lines; the TAB key should restore it
If you have media-gfx/graphviz installed, you may now also test previewing:
- Type C-c c to generate a PNG image
- Type C-c p
- A
*preview*
window with the image should appear
app-emacs/h4x0r
- Visit some text file
- Type M-x
h4x0r-buffer
RET - T3h bUff0r sh001d b3 c0nv0rt3d t0 l33t sp33x n0w
app-emacs/haskell-mode
- Download and visit the file Interp2.lhs
- Check if there is a Haskell menu
- Check if there is LitHaskell on the bottom line
- Type M-x
global-font-lock-mode
RET - The source code should be highlighted
app-emacs/hexrgb
- Type M-x
load-library
REThexrgb
RET - Switch to the lisp interaction buffer: C-x b
*scratch*
RET - Type
(hexrgb-color-name-to-hex "yellow")
C-j - Output should be
"#FFFFFFFF0000"
- Type
(hexrgb-hsv-to-hex 0 0.5 0.8)
C-j - Output should be
"#CCCC66666666"
app-emacs/highline
- Visit a text file
- Type C-u M-x
highline-mode
RET - The current line should be highlighted now
app-emacs/howm
- Type M-x
howm-menu
RET - Play with it
app-emacs/htmlfontify
This mode produces a HTML file out of a given text file:
- Visit a text file
- Type M-x
htmlfontify-buffer
RET - Save as file with extension .html
- Use a browser to verify that the output looks ok
app-emacs/htmlize
This mode produces a HTML file out of a given text file:
- Visit a text file
- Type M-x
htmlize-buffer
RET - Save as file with extension .html
- Use a browser to verify that the output looks ok
app-emacs/ibuffer
- Make sure you have set Emacs 21 by
eselect emacs set emacs-21
- Emerge it
- Visit some files
- Type M-x
ibuffer
RET - Check if all open files are nicely listed
app-emacs/igrep
- Type M-x
igrep-find
RET - Type in a regex that should match the contents of files
- Type in a pattern for filenames in which should be searched
app-emacs/initsplit
- Add the contents of dotemacs.initsplit to your ~/.emacs file
- Add the line
(setq confirm-kill-emacs (quote y-or-n-p))
to the file ~/test (this activates quit confirmation in Emacs, maybe you have it switched on already) - Restart Emacs and check if you are asked for confirmation when quitting
app-emacs/jam-mode
- Download and visit the file strawberry.jam
- Go to line starting with
cat
- Type M-x
jam-indent-line
RET, the line should be indented now - Type M-x
font-lock-mode
RET to toggle syntax highlighting
app-emacs/jasmin
- Download and visit the file hello.j
- Check if
Jasmin
is indicated in the mode line - Type M-x
font-lock-mode
RET to toggle syntax highlighting - Change the indentation of a few lines; the TAB key should restore it
app-emacs/javascript
- Download and visit the file lcm.js
- Check if
JavaScript
is indicated in the mode line - Type M-x
font-lock-mode
RET to toggle syntax highlighting - Change the indentation of a few lines; the TAB key should restore it
app-emacs/keywiz
- Type M-x
keywiz
RET - Press the key combinations connected to the given function
- Leave with q and see how miserably you failed
app-emacs/limit
- See test plan for app-emacs/flim
app-emacs/lua-mode
- Download and visit the file alt_getopt.lua
- Type M-x
font-lock-mode
RET to toggle syntax highlighting
app-emacs/lyskom-elisp-client
- Start Emacs in an English locale (like
en_US
) to get an English language environment. Alternatively, add the following line to your ~/.emacs file:(setq-default kom-default-language 'en)
- Type M-x
lyskom
RET - You should be asked for a server, choose
kom.lysator.liu.se
for example. TAB autocompletion should work - Answer the questions to login or create a new account
- Type (for example) l c
linux
RET to get a list of all Linux conferences - q to quit
app-emacs/magit
- Visit any file that is part of a git working tree
- Type M-x
magit-status
RET - You should get a buffer
*magit: repository
with some info about your repository - Type l l (these are two ells)
- A buffer
*magit-log: repository
with the commit logs should appear - Move the curser to some commit and press RET
- The commit should be shown
app-emacs/mailcrypt
- Emerge dev-python/py-gnupg
- Use
ebuild
tool to compile mailcrypt ebuild - Go to ${S}/${PN}-${PV}/tests/
- Run
LC_ALL=C make
app-emacs/matlab
- Download and visit the file test.m
- It should ask you for MLINT configuration (say no)
- Text should be highlighted
- Edit the file (add a space e.g.) and save it
- Emacs should ask:
Function and file names are different. Fix?(y or n)
- Answer with yes,
double(a)
should now betest(a)
If you have Matlab installed (not shipped with Gentoo):
- Type M-x
matlab-shell
RET - Play around there
app-emacs/mew
- Add lines to ~/.mew according to http://www.mew.org/en/info/release/mew_1.html#SEC6, the upper part is not relevant to set up only the mail configuration itself
- Type M-x
mew
RET - Mail retrieval should start immediately
- Select a mail and press Enter to read it
- Type M-x
mew-send
RET to compose a mail - Send it by C-c C-c
app-emacs/mic-paren
- Type M-x
paren-activate
RET - Visit a C or Lisp file (see the bottom of this page)
- Matching (and mismatched) parentheses should be highlighted now
app-emacs/mldonkey
- Run
/usr/bin/mlnet
from net-p2p/mldonkey (or the init script) - Start Emacs, type M-x
mldonkey
RET - A succesful connect is enough if you have an unconfigured mldonkey else
- Try M-x
mldonkey-sort-age
RET to see your shared files listed
app-emacs/mmm-mode
- Download and visit the file mmm-example.sh
- Press y to accept the local variables of the file
- The two regions of the embedded here-documents should be highlighted now
- Move the cursor into the first highlighted region
- The mode line should change to
(Shell-script[HTML][sh] MMM)
- Move to the second region
- The mode line should change to
(Shell-script[Lisp][sh] MMM)
- Press C-h k TAB
- The help buffer should show the documentation for
lisp-indent-line
app-emacs/mode-compile
- Download and visit the file hello.c
- Type M-x
mode-compile
RET - You have to confirm the compile line (have a look if it is ok)
- Go to the directory where you stored
hello.c
and check if the corresponding executable gives correct output
app-emacs/mpg123-el
- Type M-x
mpg123
RET - Choose a directory where you have MP3 or Ogg files
- Press space bar to start playing
- Help is provided in the very window, use some hotkeys
app-emacs/multi-term
- Type M-x
multi-term
RET - Verify that
*terminal<1>*
is indicated in the mode line - You should get a shell prompt; try some shell command
- Exit the shell with
exit
RET - This should also delete the terminal buffer
app-emacs/multiple-cursors
- Visit some file
- Mark a region (move cursor to start of region, press C-SPC, move to end of region)
- Type M-x mc/edit-lines RET
- There should be multiple cursors now, in all lines of the region
- Type some text, it should appear in all lines
- Press RET to exit the mode
app-emacs/muse
- Add the following lines to your ~/.emacs file:
(require 'muse-html) (require 'muse-latex) (require 'muse-texinfo) (require 'muse-docbook)
- Restart Emacs and visit the file test.muse
- Type M-x
muse-publish-file
RET - Answer the questions, publishing style has tab completion, redo with different styles (PDF, LaTex, Info, HTML etc.)
- Check output files if they make sense to you
app-emacs/nagios-mode
- Download and visit the file test_suite.cfg
- Type M-x
nagios-mode
RET to enable nagios-mode - Verify that
nagios
is indicated in the mode line - Check that each of the tests in the file does what it says it should
- Type M-x
navi2ch
RET - Move cursor to [+]PC等 around bottom
- Press SPACE to expand the tree
- Move cursor to UNIX (unix)
- Press SPACE to list up articles
- Check if articles are listed up
- Press SPACE on an article you choose
- You should read the contents of the article
- Press q three times to quit
If Japanese characters are not displayed correctly, you may have to install Japanese fonts first, before performing above test:
- Install Japanese fonts (emerge media-fonts/mplus-fonts e.g.)
- Add the following code to your ~/.emacs file:
(create-fontset-from-fontset-spec "-mplus-gothic-*-r-normal--12-*-*-*-*-*-fontset-mplus_12r, ascii:-mplus-fxd-medium-r-semicondensed--12-*-*-*-*-*-iso8859-1, japanese-jisx0208:-mplus-gothic-medium-r-normal--12-*-jisx0208.1990-0, katakana-jisx0201:-mplus-gothic-medium-r-normal--12-*-jisx0201.1976-0") (set-default-font "fontset-mplus_12r") (set-language-environment "Japanese")
- (Re-)Start Emacs
app-emacs/nxml-gentoo-schemas
- Visit the metadata.xml file of any package.
- You should get syntax highlighting and the mode line should show
(nXML Valid)
- Open a new line after the
<pkgmetadata>
tag and type<
- Pressing M-TAB should show a list of possible completions, like
longdescription
andmaintainer
- Insert a tag that is not allowed at this position, like
<flag>
- The invalid tag should be highlighted in red, and the mode line should show
(nXML Invalid)
app-emacs/nxml-mode
- Download and visit the file test.valid.xml
- You should get syntax highlighting and the mode line should show
(nXML Valid)
- Download and visit the file test.invalid.xml
- The mode line should show
(nXML Invalid)
- Press C-h m and try some of the commands mentioned there
app-emacs/ocaml-mode
- Download and visit the file text.ml
- The mode line should show
caml
, if you have app-emacs/tuareg-mode installed you may have to switch to the right mode by M-xcaml-mode
RET - You should get syntax highlighting if
font-lock-mode
is enabled - Try some commands like C-c b and C-c w to insert
begin
andwhile
forms
app-emacs/org-mode
- Download and visit the file example.org
- The mode line should show
Org
- Type M-x
org-version
RET and check if it corresponds with the to be stabled version - Text should be highlighted (if not, type M-x
font-lock-mode
RET) - Move the cursor to the
* Top level headline
- Press TAB several times
- The state should cycle between
FOLDED
,CHILDREN
, andSUBTREE
, unfolding the respective sections - Move the cursor to the
* Example table
line - Press TAB until you are in state
SUBTREE
- Move cursor to the number
10
in the second column - Press TAB
- The line is calculated and the whole table reformatted, to accomodate the wider columns
app-emacs/outline-magic
- Emerge app-emacs/wikipedia-mode
- Execute (at least) the first two steps of its test plan, see below
Now test if outline-magic mode works:
- Type M-x
load-library
REToutline-magic
RET - Move the cursor to some second-level heading, e.g.
== Penguin biology ==
- Press S-TAB several times (this works under X only; on a tty type M-x
wikipedia-outline-cycle
RET) - The state should cycle between
FOLDED
,CHILDREN
, andSUBTREE
, unfolding the respective sections
app-emacs/php-mode
- Download and visit the file admin.php
- Text should be highlighted
- If not, type M-x
font-lock-mode
RET
app-emacs/pinentry
- Add the line
allow-emacs-pinentry
to your~/.gnupg/gpg-agent.conf
configuration file - Create a text file with arbitrary content, e.g.
file.txt
- Type M-x
pinentry-start
RET - Type C-h v
epg-pinentry-mode
RET and verify that the variable's value is eithernil
orask
- If not, type M-x
set-variable
RETepg-pinentry-mode
RETnil
RET - Type M-x
epa-sign-file
RETfile.txt
RET to sign the file (that you had created above) - You should get a buffer
*Pinentry*
with info on your OpenPGP key, and a passphrase prompt should appear in the minibuffer - Type your passphrase
- Signing should succeed
app-emacs/po-mode
- Download and visit the file cups_de.po
- Jump from field to field with n
- Edit with RETURN
- Save the change for an entry with C-c C-c
app-emacs/proofgeneral
- Type M-x
isar-mode
RET - A nice menu should appear (be sure to have started Emacs in X)
app-emacs/protbuf
- Visit a file named test.txt (contents does not matter)
- Put
(protect-buffer-from-kill-mode nil (get-buffer "test.txt"))
into the buffer*scratch*
- Go to the end of the just pasted line and press C-x C-e
- Go to the buffer test.txt
- Press C-x k RET and the buffer should not be closed (including a message in the bottom line), the displayed buffer may change though
app-emacs/psql
- Download and visit the file test.sql
- The mode line should now say
psql
- You should get syntax highlighting if
font-lock-mode
is enabled
app-emacs/pymacs
- Type M-x
pymacs-eval
RET - Type in a Python expression. For example
1+1
- Check the output: Successful execution returns
nil
or calculation result (2
in above case) - Use M-x
pymacs-load
RET to load a Python library if you want to check some special expressions
app-emacs/python-mode
- Visit
/usr/bin/emerge
(be careful when editing) - Go down some lines so you are inside the first try block
- Type M-x
py-goto-block-up
RET - Cursor should be on
try
- Press C-c !, this opens a Python interactive shell
- Do some Python
app-emacs/qwerty
- Type M-x
qwerty
RET - Type M-x
dvorak
RET - Typed in letters should not match the output on the screen
- Press C-x C-c to quit emacs (people with confirmation can use t for y)
app-emacs/redo
- Add
(require 'redo)
to your ~/.emacs file - (Re)Start Emacs and type in text
- Undo by C-_
- Type M-x
redo
RET - The text should reappear
app-emacs/redo+
- Add
(require 'redo+)
to your ~/.emacs file - Follow the test plan for redo starting with second point
- Test if the menu bar items
Edit
/Undo
andEdit
/Redo
are there and working (on a tty, you can invoke the menu bar with F10)
app-emacs/remember
- Type M-x
remember
RET - Write down a note and press C-c C-c
- Check ~/.notes if it has been saved correctly
app-emacs/rfcview
- Visit an RFC text file, e.g. http://www.ietf.org/rfc/rfc2324.txt
- Page headers and footers should be suppressed, headings should be highlighted
app-emacs/riece
- Type M-x
riece
RET - Answer the questions
- Type C-c j to join a channel
- Try some commands (type C-h m for a list)
- Type C-c q to quit
app-emacs/rnc-mode
- Visit a RELAX-NG .rnc file
- You should get syntax highlighting
app-emacs/rst
- Download and visit the file example.rst
- Check if bottom line says
(reST)
- Type M-x
font-lock-mode
RET to toggle highlighting - Add
^^
below the first word (An) - Type M-x
rst-adjust
RET - Check if the carets are multiplied
app-emacs/ruby-mode
- Download and visit the file biorhythm.rb
- Check if there is Ruby on the bottom line
- Type M-x
global-font-lock-mode
RET - See if the source code is highlighted (or if it is switched-off)
app-emacs/semi
- emerge and test app-emacs/wanderlust with it, see below
app-emacs/session
- Add the following code to your ~/.emacs file:
(require 'session) (add-hook 'after-init-hook 'session-initialize)
- Restart Emacs
- Visit any file
- Move the cursor down a few lines and make some change
- Restart Emacs again
- Visit the same file again
- The cursor should be in the same line as before
app-emacs/setnu
- Visit any file
- Type M-x
setnu-mode
RET - Lines should be preceded by a line number now
- Another M-x
setnu-mode
RET should turn it off again
app-emacs/slime
- Add the following line to your ~/.emacs file:
(setq inferior-lisp-program "sbcl")
, instead of sbcl you must choose the Common LISP implementation you use - Type M-x
slime
RET - If you get a console-like display, it is working
app-emacs/sml-mode
- Download and visit the file test.sml
- Check if bottom line says
(SML)
- Type M-x
font-lock-mode
RET - Check highlighting
info sml-mode
for documentation
app-emacs/sokoban
- Type M-x
sokoban
RET - Use the arrow keys to move around (the object of the game is to push all boxes through the maze to the goal area)
- Undo by C-/
app-emacs/stripes
- Visit a text file
- Type M-x
stripes-mode
RET - You should see a pyjama-like pattern now
app-emacs/table
- Please test this package with both emacs-21.4-r12 and emacs-22.1-r1 (where it is disabled – a message should be displayed in pkg_postinst)
- Type M-x
table-insert
RET - Press RET 4 times for the default answers to all questions
- A 3x3 table template should appear
- Type some text; press TAB to go to the next field
app-emacs/tdtd
- Follow the instructions in /usr/share/doc/tdtd-*/tutorial.txt
app-emacs/teco
- Visit an arbitrary text file in Emacs
- Type M-x
teco
RET which should give you a TECO command prompt (*
) in the minibuffer - Try some basic editing commands: Type
ihello
and press ESC two times to terminate the command. This should insert the stringhello
at point position - Type M-x
teco
RET-5d
ESC ESC. This should delete the previously inserted characters again - Now visit the file example.teco
- Type C-x h M-x
teco:copy-to-q-reg
RET 2 to copy the file's contents to TECO's Q register 2 - Type M-x
teco
RET - Type
m2
ESC ESC at the TECO command prompt - Some output (as in http://99-bottles-of-beer.net/lyrics.html) should appear in the
*Teco Output*
window
app-emacs/thumbs
- Make sure you are in X
- Type M-x
thumbs
RET - Choose a directory where images are located
- Watch the output
app-emacs/tnt
- Type M-x
tnt-open
RET - Follow the menu and connect to an AIM server
app-emacs/tramp
- Press C-x C-f
- Type in
/ssh:username@dev.gentoo.org:filename
- Edit it, save it (C-x C-s), control by normal ssh if everything went fine
- Type M-x
tramp-version
RET - Check output to be in sync with emerged version
- Press C-x C-f
- Type in
/su::/etc/rc.conf
and give your root password (make sure you start Emacs as normal user) - Edit and save the file
app-emacs/tty-format
- Visit a colored Portage build.log file
- Type M-x
format-decode-buffer
RETansi-colors
RET - The ANSI escape sequences should be shown as colors
app-emacs/tuareg-mode
- Visit text.ml in Emacs
- Code should be highlighted and mode line should show
Tuareg
- C-c C-n and C-c C-p should move to the next and previous phrase, respectively.
- C-c . c should insert a template for a class.
- A phrase (like a block after a let statement) should be marked
app-emacs/typing
- Type M-x
typing-of-emacs
RET - Have fun
app-emacs/u-vm-color
- Follow test plan for app-emacs/vm, see below
- In addition, fonts should be coloured now
app-emacs/uboat
- Type M-x
uboat-death-message
RET - A message should appear in the echo area
app-emacs/uptimes
- Add the following line to your ~/.emacs file:
(require 'uptimes)
- Start Emacs again
- Type M-x
uptimes
RET - A list of Emacs session uptimes should be displayed
app-emacs/vhdl-mode
- Download and visit the file example.vhdl
- The mode line should say
(VHDL)
- Press C-h v
vhdl-version
RET and verify if you have the right version (an older version of vhdl-mode comes with Emacs itself) - Press C-c RET C-e to toggle electric mode
- The mode line should say
(VHDL/e)
now (if not, press C-c RET C-e again) - Typing M-x
font-lock-mode
RET should toggle syntax highlighting - Press M-> to go to the end of the buffer
- Type
entity
and press SPACE - Answer the questions, the template should be filled (empty answer(s) to terminate)
app-emacs/view-process
- Type M-x
view-processes
RET - A list of all running processes should be displayed
app-emacs/visual-basic-mode
- Download and visit the file Hello.vb
- Type M-x
visual-basic-mode
RET - Check the conditions indicated in the comments
app-emacs/vm
- Create a file ~/.vm where you specify how mail is retrieved:
(setq vm-spool-files '("pop:HOST:110:pass:USER:*"))
for POP
(HOST and USER should be replaced by appropriate values),(setq vm-spool-files '("imap:HOST:143:inbox:login:USER:*"))
for IMAP- Add an mbox file to download and use
(setq vm-spool-files '("~/mbox.file"))
- See info vm / Starting Up / Spool Files for more information
- Type M-x
vm
RET to start vm - Press g to retrieve new mail
- Press SPACE to view a message
- You should see the contents of your mail folder now
app-emacs/volume
- Type M-x
volume
RET - An indicator bar should appear
- Use the left and right arrow keys to change the audio volume
- Press q to quit
app-emacs/w3m-type-ahead
- Follow the test plan for app-emacs/emacs-w3m
- In addition, the / key should do incremental searches, but limited to the text in HREF anchors
app-emacs/wanderlust
- Create a file ~/.folders
-gmane.emacs.announce:@news.gmane.org:119
- Type M-x
wl
RET - Enter the newsgroup by clicking on the folder name
app-emacs/whine
- Type M-x
whinify
RET - Try some keyboard commands, like cursor movement
- The commands should print silly messages in the message line now
- Type M-x
unwhinify
RET to turn it off again
app-emacs/wikipedia-mode
- Get the source code of some Wikipedia page, e.g. http://en.wikipedia.org/wiki/Penguin, and
- either use the
It's All Text!
plugin in Firefox https://addons.mozilla.org/en-US/firefox/addon/its-all-text/ and edit the page source directly in Emacs, - or manually save it as penguin.wiki and visit the file in Emacs
- either use the
- The mode line should indicate
Wikipedia ll Outl
- Type M-x
font-lock-mode
RET to toggle syntax highlighting - Try some commands, like C-c C-f C-i to insert italic text, or C-c C-f C-l to insert a link
See also: http://en.wikipedia.org/wiki/Wikipedia:Wikipedia-mode.el
app-emacs/xrdb-mode
- Download and visit the file Emacs.ad
- The mode line should say
(xrdb)
now - Typing M-x
font-lock-mode
RET should toggle syntax highlighting
app-emacs/xslide
- Download and visit the file test.xsl
- The mode line should say
(XSL)
now - Typing M-x
font-lock-mode
RET should toggle syntax highlighting - Type M-x
xsl-electric-
followed by two times TAB key - Choose a function and check if they generate the correct character
app-emacs/yow
- Test this package with GNU Emacs 22.1 or later
- Type M-x
yow
RET - A random quotation should appear in the echo area (try it several times; it should be a different one each time)
app-emacs/zenburn
- Type M-x
zenburn
RET - The colour scheme should have changed
app-emacs/zenburn-theme
- Type M-x
load-theme
RETzenburn
RET - The colour scheme should have changed
app-emacs/zenirc
- Add the following lines to your ~/.emacs file:
(setq zenirc-server-default "irc.libera.chat") (setq zenirc-nick-default "name")
- Restart Emacs
- Type M-x
zenirc
RET - Use IRC commands as usual
Example files
Example files needed for the test plans are hosted at https://projects.gentoo.org/emacs/test-plans/. To add a new example file, it should be committed to the git+ssh://git@git.gentoo.org/sites/projects/emacs.git repository.
Only add example files that can be distributed under a free software license (or that are trivial and therefore not copyrightable). Update the LICENSES.txt file in the repository accordingly.