Project:Emacs/Test plans

From Gentoo Wiki
Jump to:navigation Jump to:search

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:

CODE
(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:

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

  1. Browse the HTML documentation at /usr/share/doc/${PF}/html/casting-spels-emacs-1.html
  2. In Emacs, type M-x load-library RET wizard-adventure-emacs RET
  3. Type C-x b *scratch* RET and switch to the scratch buffer
  4. 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:

  1. Type C-h i d to get the Info directory node
  2. Check if there is a dir entry for Elisp <version> (you should find it under the Emacs heading)
  3. Press RET at the dir entry to go to the manual
  4. Browse around

With stand-alone info:

  1. In the shell, type info RET
  2. 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:

  1. Visiting and saving files
  2. Cursor movement
  3. Basic editing operations

app-editors/e3

See general notes on other Emacs-like editors.

  1. The e3em binary will give you Emacs key bindings (you don't want to know what e3vi 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.

  1. QEmacs has full UTF-8 support
  2. 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.

  1. Emerge with USE=test

app-emacs – Individual Emacs Lisp packages

app-emacs/analog

  1. Add the following to your ~/.emacs file:
    CODE
    (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)
    
  2. (Re)Start Emacs
  3. Type M-x analog RET
  4. You should get a status display for df -HT and last, updated every 10 seconds
  5. Press q to quit

app-emacs/apel

  1. emerge app-emacs/elscreen with it, see below

app-emacs/auctex

  1. Call emacs test.tex (empty file)
  2. Press C-c C-e and follow the instructions in the minibuffer (the line at the end)

USE=preview-latex only:

  1. Download and visit the file circ.tex
  2. 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

  1. Download and visit the file aclocal.m4
  2. The mode line should now say Autoconf
  3. You should get syntax highlighting if font-lock-mode is enabled
  4. Move the cursor to the beginning of some code block and press C-@ (or C-SPC)
  5. Move to the end of the code block and press C-c ;
  6. The block should be commented out now

app-emacs/bbdb

  1. Type M-x bbdb-create RET
  2. Follow prompts and enter all the information you want
  3. Press the following keys and play around: e (edit entry), ; (edit notes), d (delete entry)

app-emacs/binclock

  1. Type M-x binclock RET
  2. Current time in binary form should be displayed

app-emacs/bm

  1. Visit a text file
  2. Move to some line you want to bookmark
  3. Type M-x bm-toggle RET
  4. The line should be highlighted now
  5. Repeat previous 3 steps another time
  6. Type M-x bm-show RET
  7. You should get a buffer *bm-bookmarks* with a list of the bookmarks

app-emacs/boxquote

  1. Type M-x boxquote-shell-command RET
  2. Type some command, like pwd RET or fortune RET
  3. A quoted box similar to the following example should appear:
    CODE
    ,----[ fortune ]
    | Vi has one purpose, and should be used only for that purpose.
    | To configure Emacs for compilation.
    |                 -- Floyd Davidson
    `----
    

app-emacs/bubblet

  1. Type M-x bubblet RET
  2. Play a game by clicking units of more than two same-coloured blocks

app-emacs/buttercup

  1. Run package tests from src_test by emerging app-emacs/buttercup with FEATURES="test".
  2. Execute buttercup --help and check if the help message is printed (and not error backtrace).

app-emacs/chess

  1. Make sure you are member of the games group, and /usr/games/bin is in your PATH
  2. Make sure you have Emacs open in an X session, not console
  3. Type M-x chess RET
  4. A new window with a chess board should appear
  5. Press V to change the size of pieces
  6. Type in some move like e4 or move pieces with the mouse

app-emacs/circe

  1. Type M-x circe RET
  2. Enter irc.libera.chat as host and 6667 as port
  3. Fool around on IRC

app-emacs/cldoc

  1. Execute the test plan for app-emacs/slime, see below
  2. Download and visit the file cldoc-test.lisp
  3. Check that the file's major mode is Lisp
  4. Move the point over defun
  5. You should see this in the echo area:
    CODE
    defun: function-name lambda-list [[declaration* | documentation]] form* => function-name
    

app-emacs/color-theme

  1. Type M-x color-theme-select RET
  2. Use the cursor up/down keys and press return to select a theme

app-emacs/cperl-mode

  1. Download and visit the file example.pl
  2. The mode line should tell you that Perl mode is enabled
  3. Type M-x cperl-mode RET
  4. Highlighting should change a little bit and mode line should announce CPerl
  5. Check version by C-h v cperl-version RET
  6. Go to a Perl statement (like use) and press C-c C-h v
  7. You should get some help about this functions in the echo area

app-emacs/csharp-mode

  1. Download and visit the file test.cs
  2. The mode line should now say C#
  3. Type M-x global-font-lock-mode RET
  4. The source code should be highlighted (or not highlighted anymore)

app-emacs/css-mode

  1. Copy the file /usr/share/doc/css-mode-*/html/standard.css and visit it
  2. The mode line should now say CSS
  3. Type M-x font-lock-mode RET to toggle syntax highlighting
  4. Press C-x h to mark the whole buffer as a region
  5. Press C-M-\ to indent the region
  6. You should now get "old style" indentation (i.e. the closing } should be at the same indent level as the block)
  7. Type M-: (setq cssm-indent-function #'cssm-c-style-indenter) RET to activate C style indentation
  8. Press C-M-\ again
  9. You should now get "C style" indenting

app-emacs/csv-mode

  1. Download and visit the file test.csv
  2. The mode line should now say CSV
  3. Mark the text with the mouse
  4. Type M-x csv-sort-fields RET and confirm the next question
  5. Lines should be sorted now
  6. Type M-x csv-transpose RET
  7. Columns and lines are now transposed

app-emacs/develock

  1. Download and visit the file ChangeLog
  2. Type M-x develock-mode RET
  3. You should now see markers for different errors: overlong lines, leading whitespace (non-tabs)

app-emacs/df-mode

  1. Type M-x df-mode RET
  2. The mode line should show buffer size / free space on partition

app-emacs/dictionary

  1. Type M-x dictionary-search RET
  2. Type some English word and watch the output

app-emacs/dircolors

  1. Press C-x C-f
  2. Type some incomplete path, e.g. /usr/share/emacs/site-lisp/
  3. Press TAB
  4. You should see directories in blue, source files in yellow, etc.

app-emacs/dired-sort-menu

  1. Press C-x C-f and type in a path (not an empty directory, please)
  2. The contents should be displayed in the main window
  3. Type M-x dired-sort-menu-toggle-reverse RET
  4. Repeat the former step and the ordering should be reversed everytime

app-emacs/doctest-mode

  1. Use http://www.cis.upenn.edu/~edloper/projects/doctestmode/walkthrough1.html to test it

app-emacs/doxymacs

  1. Download and visit the file use_flag.h
  2. Mode line should show C/l doxy
  3. Go to the first functions and type M-x doxymacs-insert-blank-multiline-comment RET
  4. A multiline comment should be there for you now

app-emacs/dts-mode

  1. Download and visit the file p1025rdb_32b.dts
  2. The mode line should now say Devicetree
  3. Type M-x font-lock-mode RET to toggle syntax highlighting
  4. Move the cursor to the beginning of some code block and press C-@ (or C-SPC)
  5. Move to the end of the code block and press C-c ;
  6. The block should be commented out now

app-emacs/easypg

  1. You need a working GnuPG including a private key
  2. Type M-x epa-list-keys RET
  3. Your keyring should be displayed, select an entry and check the contents
  4. Type M-x epa-sign-file RET
  5. Choose a file you wish to sign, then check the signature (.asc file)
  6. Type M-x epa-sign-region RET in a writable opened file (aka buffer)
  7. See an inline signature appear

app-emacs/ebuild-mode

Run the package's test suite (FEATURES=test or USE=test).

  1. Visit an ebuild and/or eclass file
  2. Check if Ebuild[bash] is indicated in the mode line
  3. It should highlight the syntax

The following is for an ebuild file:

  1. Press C-c C-e C-e and type in an ebuild subcommand (manifest, unpack, compile, etc.)
  2. After unpacking, C-c C-e C-s should visit S (the temporary build directory)
  3. Press C-c C-e C-y and give away KEYWORDS in the ekeyword syntax
  4. 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)
  5. 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

  1. Start Emacs in a folder with the source code of a program
  2. Type M-x ecb-activate RET
  3. It should display some windows with your source files
  4. Possibly use M-x ecb-change-layout RET and see a list of options with TAB

app-emacs/elib

  1. Emerge app-emacs/jde with it

app-emacs/elscreen

  1. Type M-x elscreen-start RET
  2. Press C-z C-c (a new tab should appear on one of the top lines)
  3. Work with Emacs (visit a file or whatever)
  4. Use C-z C-p to switch to the previous screen in cyclic order, or C-z C-a to toggle screens
  5. Type M-x calculator RET
  6. 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:

  1. Type M-: (featurep 'site-gentoo) RET
  2. It should display t in the echo area
  3. Repeat above test, but this time with Emacs started with emacs -Q
  4. It should display nil now

Test the desktop entry (only if Emacs was emerged with USE="X"):

  1. Login under some X desktop (like Xfce or Gnome or KDE)
  2. 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
  3. Check if Emacs can be started via the desktop menu

Test if shared score files work (only if Emacs was emerged with USE="games"):

  1. Play a game of Tetris with M-x tetris RET
  2. When finished, a buffer tetris-scores with your score should appear
  3. 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.

  1. As root, create a link for the init script for a user: ln -s emacs /etc/init.d/emacs.<user>
  2. Start the Emacs daemon with /etc/init.d/emacs.<user> start
  3. Login as the user that you had previously specified
  4. Connect to the Emacs daemon with emacsclient -t in a terminal, or with emacsclient -c for a new X frame
  5. Type C-x 5 0 to disconnect again
  6. Stop the Emacs daemon with /etc/init.d/emacs.<user> stop

app-emacs/emacs-jabber

  1. Type M-x jabber-customize RET
  2. Give an XMPP server and a user name in the correct fields
  3. Save settings (either permanent or for that session only)
  4. Type M-x jabber-connect RET
  5. Type in password when asked
  6. Go to buffer *-jabber-*
  7. Try to chat with some contacts you might have

app-emacs/emacs-w3m

  1. Type M-x w3m RET
  2. You should be able to browse the WWW now
  3. Press RET or middle mouse button on an image to display it

app-emacs/emacs-wget

  1. Type M-x wget RET
  2. Type in name of a file to download from the internet
  3. Possibly confirm creation of ~/download
  4. Type M-x wget-web-page RET
  5. Type in a domain name
  6. Check ~/download for the files

app-emacs/erobot

  1. Type M-x erobot-tour RET
  2. If something moves on the screen, you are done

app-emacs/eperiodic

  1. Type M-x eperiodic RET
  2. Move around with the cursor keys and watch the property table below change

app-emacs/erc

  1. Type M-x erc RET
  2. Answer the questions, the default is good for Libera.Chat
  3. chat along on your favourite Gentoo channel

app-emacs/eselect-mode

  1. Visit an eselect file
  2. Check if Eselect[bash] is indicated in the mode line
  3. It should highlight the syntax

app-emacs/ess

  1. Create a working directory and cd there
  2. Make sure you have dev-lang/R installed
  3. Start Emacs, type M-x R RET
  4. An R shell should appear, saying iESS in the mode line
  5. Type M-x server-start RET
  6. Type fix(iterator) in the R shell
  7. A new window should open with a function skeleton
  8. Leave the window with C-x #

app-emacs/evil

  1. Type M-x evil-mode RET
  2. Check if <N> is indicated in the mode line
  3. Visit an arbitrary file with : e filename RET
  4. Test cursor movement: k and j for previous/next line, h and l for backward/forward
  5. i should switch to insert mode (<I> in mode line)
  6. Type ESC : q RET to exit Emacs, or C-z C-u 0 M-x evil-mode RET to exit evil-mode only

app-emacs/fff

  1. Type M-x fff-install-map RET
  2. Press C-c C-f C-f and type a filename (without path!)
  3. It should locate the file and visit it

app-emacs/filladapt

  1. Add the following line to your ~/.emacs file: (require 'filladapt)
  2. Restart Emacs
  3. Visit a file
  4. Type M-x filladapt-mode RET
  5. The status line should show Filladapt
  6. Press M-q, the paragraph should be reformatted

app-emacs/flashcard

  1. Download and visit the file emacs.deck
  2. Answer the questions

app-emacs/flim

  1. Emerge reverse dependencies: app-emacs/emacs-jabber, app-emacs/mu-cite, app-emacs/semi, app-emacs/wanderlust
  2. Test them

app-emacs/folding

  1. Make sure you have Emacs open in an X session, not console
  2. Visit /usr/share/emacs/site-lisp/folding/folding.el
  3. Type M-x folding-mode RET
  4. All functions should be folded and highlighted
  5. Click on function name with middle mouse button to unfold

app-emacs/gnuplot-mode

  1. Start Emacs in an X session with emacs test.gp (empty file)
  2. Check if Gnuplot is indicated in the mode line
  3. Type pl followed by M-TAB
  4. The keyword should be completed to plot
  5. Complete the line to say plot [0:6.283] sin(x)
  6. It should highlight the syntax
  7. Position the cursor in the line you just typed and press C-c C-l
  8. 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

  1. Type C-u M-x gnus RET
  2. Choose news.gmane.org as server
  3. Press U to add a new newsgroup (choose gmane.test)
  4. Point to the group and press a to write an article
  5. Send the news with C-c C-c
  6. Press return on gmane.test to enter the group and read articles

app-emacs/gnuserv

  1. Make sure that the GNU Emacs (not XEmacs) version of gnuserv is eselected (as root): eselect gnuclient set gnuclient-emacs
  2. Type M-x gnuserv-start RET
  3. Change to a terminal window and type gnuclient somefile there
  4. The file should now appear in an Emacs frame
  5. Finish editing with C-x #; the gnuclient command should return then

app-emacs/graphviz-dot-mode

  1. Download and visit the file helloworld.dot
  2. Check if dot is indicated in the mode line
  3. Typing M-x font-lock-mode RET should toggle syntax highlighting
  4. 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:

  1. Type C-c c to generate a PNG image
  2. Type C-c p
  3. A *preview* window with the image should appear

app-emacs/h4x0r

  1. Visit some text file
  2. Type M-x h4x0r-buffer RET
  3. T3h bUff0r sh001d b3 c0nv0rt3d t0 l33t sp33x n0w

app-emacs/haskell-mode

  1. Download and visit the file Interp2.lhs
  2. Check if there is a Haskell menu
  3. Check if there is LitHaskell on the bottom line
  4. Type M-x global-font-lock-mode RET
  5. The source code should be highlighted

app-emacs/hexrgb

  1. Type M-x load-library RET hexrgb RET
  2. Switch to the lisp interaction buffer: C-x b *scratch* RET
  3. Type (hexrgb-color-name-to-hex "yellow") C-j
  4. Output should be "#FFFFFFFF0000"
  5. Type (hexrgb-hsv-to-hex 0 0.5 0.8) C-j
  6. Output should be "#CCCC66666666"

app-emacs/highline

  1. Visit a text file
  2. Type C-u M-x highline-mode RET
  3. The current line should be highlighted now

app-emacs/howm

  1. Type M-x howm-menu RET
  2. Play with it

app-emacs/htmlfontify

This mode produces a HTML file out of a given text file:

  1. Visit a text file
  2. Type M-x htmlfontify-buffer RET
  3. Save as file with extension .html
  4. 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:

  1. Visit a text file
  2. Type M-x htmlize-buffer RET
  3. Save as file with extension .html
  4. Use a browser to verify that the output looks ok

app-emacs/ibuffer

  1. Make sure you have set Emacs 21 by eselect emacs set emacs-21
  2. Emerge it
  3. Visit some files
  4. Type M-x ibuffer RET
  5. Check if all open files are nicely listed

app-emacs/igrep

  1. Type M-x igrep-find RET
  2. Type in a regex that should match the contents of files
  3. Type in a pattern for filenames in which should be searched

app-emacs/initsplit

  1. Add the contents of dotemacs.initsplit to your ~/.emacs file
  2. 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)
  3. Restart Emacs and check if you are asked for confirmation when quitting

app-emacs/jam-mode

  1. Download and visit the file strawberry.jam
  2. Go to line starting with cat
  3. Type M-x jam-indent-line RET, the line should be indented now
  4. Type M-x font-lock-mode RET to toggle syntax highlighting

app-emacs/jasmin

  1. Download and visit the file hello.j
  2. Check if Jasmin is indicated in the mode line
  3. Type M-x font-lock-mode RET to toggle syntax highlighting
  4. Change the indentation of a few lines; the TAB key should restore it

app-emacs/javascript

  1. Download and visit the file lcm.js
  2. Check if JavaScript is indicated in the mode line
  3. Type M-x font-lock-mode RET to toggle syntax highlighting
  4. Change the indentation of a few lines; the TAB key should restore it

app-emacs/keywiz

  1. Type M-x keywiz RET
  2. Press the key combinations connected to the given function
  3. Leave with q and see how miserably you failed

app-emacs/limit

  1. See test plan for app-emacs/flim

app-emacs/lua-mode

  1. Download and visit the file alt_getopt.lua
  2. Type M-x font-lock-mode RET to toggle syntax highlighting

app-emacs/lyskom-elisp-client

  1. 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)
  2. Type M-x lyskom RET
  3. You should be asked for a server, choose kom.lysator.liu.se for example. TAB autocompletion should work
  4. Answer the questions to login or create a new account
  5. Type (for example) l c linux RET to get a list of all Linux conferences
  6. q to quit

app-emacs/magit

  1. Visit any file that is part of a git working tree
  2. Type M-x magit-status RET
  3. You should get a buffer *magit: repository with some info about your repository
  4. Type l l (these are two ells)
  5. A buffer *magit-log: repository with the commit logs should appear
  6. Move the curser to some commit and press RET
  7. The commit should be shown

app-emacs/mailcrypt

  1. Emerge dev-python/py-gnupg
  2. Use ebuild tool to compile mailcrypt ebuild
  3. Go to ${S}/${PN}-${PV}/tests/
  4. Run LC_ALL=C make

app-emacs/matlab

  1. Download and visit the file test.m
  2. It should ask you for MLINT configuration (say no)
  3. Text should be highlighted
  4. Edit the file (add a space e.g.) and save it
  5. Emacs should ask: Function and file names are different. Fix?(y or n)
  6. Answer with yes, double(a) should now be test(a)

If you have Matlab installed (not shipped with Gentoo):

  1. Type M-x matlab-shell RET
  2. Play around there

app-emacs/mew

  1. 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
  2. Type M-x mew RET
  3. Mail retrieval should start immediately
  4. Select a mail and press Enter to read it
  5. Type M-x mew-send RET to compose a mail
  6. Send it by C-c C-c

app-emacs/mic-paren

  1. Type M-x paren-activate RET
  2. Visit a C or Lisp file (see the bottom of this page)
  3. Matching (and mismatched) parentheses should be highlighted now

app-emacs/mldonkey

  1. Run /usr/bin/mlnet from net-p2p/mldonkey (or the init script)
  2. Start Emacs, type M-x mldonkey RET
  3. A succesful connect is enough if you have an unconfigured mldonkey else
  4. Try M-x mldonkey-sort-age RET to see your shared files listed

app-emacs/mmm-mode

  1. Download and visit the file mmm-example.sh
  2. Press y to accept the local variables of the file
  3. The two regions of the embedded here-documents should be highlighted now
  4. Move the cursor into the first highlighted region
  5. The mode line should change to (Shell-script[HTML][sh] MMM)
  6. Move to the second region
  7. The mode line should change to (Shell-script[Lisp][sh] MMM)
  8. Press C-h k TAB
  9. The help buffer should show the documentation for lisp-indent-line

app-emacs/mode-compile

  1. Download and visit the file hello.c
  2. Type M-x mode-compile RET
  3. You have to confirm the compile line (have a look if it is ok)
  4. Go to the directory where you stored hello.c and check if the corresponding executable gives correct output

app-emacs/mpg123-el

  1. Type M-x mpg123 RET
  2. Choose a directory where you have MP3 or Ogg files
  3. Press space bar to start playing
  4. Help is provided in the very window, use some hotkeys

app-emacs/multi-term

  1. Type M-x multi-term RET
  2. Verify that *terminal<1>* is indicated in the mode line
  3. You should get a shell prompt; try some shell command
  4. Exit the shell with exit RET
  5. This should also delete the terminal buffer

app-emacs/multiple-cursors

  1. Visit some file
  2. Mark a region (move cursor to start of region, press C-SPC, move to end of region)
  3. Type M-x mc/edit-lines RET
  4. There should be multiple cursors now, in all lines of the region
  5. Type some text, it should appear in all lines
  6. Press RET to exit the mode

app-emacs/muse

  1. Add the following lines to your ~/.emacs file:
    CODE
    (require 'muse-html)
    (require 'muse-latex)
    (require 'muse-texinfo)
    (require 'muse-docbook)
    
  2. Restart Emacs and visit the file test.muse
  3. Type M-x muse-publish-file RET
  4. Answer the questions, publishing style has tab completion, redo with different styles (PDF, LaTex, Info, HTML etc.)
  5. Check output files if they make sense to you

app-emacs/nagios-mode

  1. Download and visit the file test_suite.cfg
  2. Type M-x nagios-mode RET to enable nagios-mode
  3. Verify that nagios is indicated in the mode line
  4. Check that each of the tests in the file does what it says it should

app-emacs/navi2ch

  1. Type M-x navi2ch RET
  2. Move cursor to [+]PC等 around bottom
  3. Press SPACE to expand the tree
  4. Move cursor to UNIX (unix)
  5. Press SPACE to list up articles
  6. Check if articles are listed up
  7. Press SPACE on an article you choose
  8. You should read the contents of the article
  9. 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:

  1. Install Japanese fonts (emerge media-fonts/mplus-fonts e.g.)
  2. Add the following code to your ~/.emacs file:
    CODE
    (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")
    
  3. (Re-)Start Emacs

app-emacs/nxml-gentoo-schemas

  1. Visit the metadata.xml file of any package.
  2. You should get syntax highlighting and the mode line should show (nXML Valid)
  3. Open a new line after the <pkgmetadata> tag and type <
  4. Pressing M-TAB should show a list of possible completions, like longdescription and maintainer
  5. Insert a tag that is not allowed at this position, like <flag>
  6. The invalid tag should be highlighted in red, and the mode line should show (nXML Invalid)

app-emacs/nxml-mode

  1. Download and visit the file test.valid.xml
  2. You should get syntax highlighting and the mode line should show (nXML Valid)
  3. Download and visit the file test.invalid.xml
  4. The mode line should show (nXML Invalid)
  5. Press C-h m and try some of the commands mentioned there

app-emacs/ocaml-mode

  1. Download and visit the file text.ml
  2. 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-x caml-mode RET
  3. You should get syntax highlighting if font-lock-mode is enabled
  4. Try some commands like C-c b and C-c w to insert begin and while forms

app-emacs/org-mode

  1. Download and visit the file example.org
  2. The mode line should show Org
  3. Type M-x org-version RET and check if it corresponds with the to be stabled version
  4. Text should be highlighted (if not, type M-x font-lock-mode RET)
  5. Move the cursor to the * Top level headline
  6. Press TAB several times
  7. The state should cycle between FOLDED, CHILDREN, and SUBTREE, unfolding the respective sections
  8. Move the cursor to the * Example table line
  9. Press TAB until you are in state SUBTREE
  10. Move cursor to the number 10 in the second column
  11. Press TAB
  12. The line is calculated and the whole table reformatted, to accomodate the wider columns

app-emacs/outline-magic

  1. Emerge app-emacs/wikipedia-mode
  2. Execute (at least) the first two steps of its test plan, see below

Now test if outline-magic mode works:

  1. Type M-x load-library RET outline-magic RET
  2. Move the cursor to some second-level heading, e.g. == Penguin biology ==
  3. Press S-TAB several times (this works under X only; on a tty type M-x wikipedia-outline-cycle RET)
  4. The state should cycle between FOLDED, CHILDREN, and SUBTREE, unfolding the respective sections

app-emacs/php-mode

  1. Download and visit the file admin.php
  2. Text should be highlighted
  3. If not, type M-x font-lock-mode RET

app-emacs/pinentry

  1. Add the line allow-emacs-pinentry to your ~/.gnupg/gpg-agent.conf configuration file
  2. Create a text file with arbitrary content, e.g. file.txt
  3. Type M-x pinentry-start RET
  4. Type C-h v epg-pinentry-mode RET and verify that the variable's value is either nil or ask
  5. If not, type M-x set-variable RET epg-pinentry-mode RET nil RET
  6. Type M-x epa-sign-file RET file.txt RET to sign the file (that you had created above)
  7. You should get a buffer *Pinentry* with info on your OpenPGP key, and a passphrase prompt should appear in the minibuffer
  8. Type your passphrase
  9. Signing should succeed

app-emacs/po-mode

  1. Download and visit the file cups_de.po
  2. Jump from field to field with n
  3. Edit with RETURN
  4. Save the change for an entry with C-c C-c

app-emacs/proofgeneral

  1. Type M-x isar-mode RET
  2. A nice menu should appear (be sure to have started Emacs in X)

app-emacs/protbuf

  1. Visit a file named test.txt (contents does not matter)
  2. Put (protect-buffer-from-kill-mode nil (get-buffer "test.txt")) into the buffer *scratch*
  3. Go to the end of the just pasted line and press C-x C-e
  4. Go to the buffer test.txt
  5. 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

  1. Download and visit the file test.sql
  2. The mode line should now say psql
  3. You should get syntax highlighting if font-lock-mode is enabled

app-emacs/pymacs

  1. Type M-x pymacs-eval RET
  2. Type in a Python expression. For example 1+1
  3. Check the output: Successful execution returns nil or calculation result (2 in above case)
  4. Use M-x pymacs-load RET to load a Python library if you want to check some special expressions

app-emacs/python-mode

  1. Visit /usr/bin/emerge (be careful when editing)
  2. Go down some lines so you are inside the first try block
  3. Type M-x py-goto-block-up RET
  4. Cursor should be on try
  5. Press C-c !, this opens a Python interactive shell
  6. Do some Python

app-emacs/qwerty

  1. Type M-x qwerty RET
  2. Type M-x dvorak RET
  3. Typed in letters should not match the output on the screen
  4. Press C-x C-c to quit emacs (people with confirmation can use t for y)

app-emacs/redo

  1. Add (require 'redo) to your ~/.emacs file
  2. (Re)Start Emacs and type in text
  3. Undo by C-_
  4. Type M-x redo RET
  5. The text should reappear

app-emacs/redo+

  1. Add (require 'redo+) to your ~/.emacs file
  2. Follow the test plan for redo starting with second point
  3. Test if the menu bar items Edit / Undo and Edit / Redo are there and working (on a tty, you can invoke the menu bar with F10)

app-emacs/remember

  1. Type M-x remember RET
  2. Write down a note and press C-c C-c
  3. Check ~/.notes if it has been saved correctly

app-emacs/rfcview

  1. Visit an RFC text file, e.g. http://www.ietf.org/rfc/rfc2324.txt
  2. Page headers and footers should be suppressed, headings should be highlighted

app-emacs/riece

  1. Type M-x riece RET
  2. Answer the questions
  3. Type C-c j to join a channel
  4. Try some commands (type C-h m for a list)
  5. Type C-c q to quit

app-emacs/rnc-mode

  1. Visit a RELAX-NG .rnc file
  2. You should get syntax highlighting

app-emacs/rst

  1. Download and visit the file example.rst
  2. Check if bottom line says (reST)
  3. Type M-x font-lock-mode RET to toggle highlighting
  4. Add ^^ below the first word (An)
  5. Type M-x rst-adjust RET
  6. Check if the carets are multiplied

app-emacs/ruby-mode

  1. Download and visit the file biorhythm.rb
  2. Check if there is Ruby on the bottom line
  3. Type M-x global-font-lock-mode RET
  4. See if the source code is highlighted (or if it is switched-off)

app-emacs/semi

  1. emerge and test app-emacs/wanderlust with it, see below

app-emacs/session

  1. Add the following code to your ~/.emacs file:
    CODE
    (require 'session)
    (add-hook 'after-init-hook 'session-initialize)
    
  2. Restart Emacs
  3. Visit any file
  4. Move the cursor down a few lines and make some change
  5. Restart Emacs again
  6. Visit the same file again
  7. The cursor should be in the same line as before

app-emacs/setnu

  1. Visit any file
  2. Type M-x setnu-mode RET
  3. Lines should be preceded by a line number now
  4. Another M-x setnu-mode RET should turn it off again

app-emacs/slime

  1. 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
  2. Type M-x slime RET
  3. If you get a console-like display, it is working

app-emacs/sml-mode

  1. Download and visit the file test.sml
  2. Check if bottom line says (SML)
  3. Type M-x font-lock-mode RET
  4. Check highlighting
  5. info sml-mode for documentation

app-emacs/sokoban

  1. Type M-x sokoban RET
  2. Use the arrow keys to move around (the object of the game is to push all boxes through the maze to the goal area)
  3. Undo by C-/

app-emacs/stripes

  1. Visit a text file
  2. Type M-x stripes-mode RET
  3. You should see a pyjama-like pattern now

app-emacs/table

  1. 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)
  2. Type M-x table-insert RET
  3. Press RET 4 times for the default answers to all questions
  4. A 3x3 table template should appear
  5. Type some text; press TAB to go to the next field

app-emacs/tdtd

  1. Follow the instructions in /usr/share/doc/tdtd-*/tutorial.txt

app-emacs/teco

  1. Visit an arbitrary text file in Emacs
  2. Type M-x teco RET which should give you a TECO command prompt (*) in the minibuffer
  3. Try some basic editing commands: Type ihello and press ESC two times to terminate the command. This should insert the string hello at point position
  4. Type M-x teco RET -5d ESC ESC. This should delete the previously inserted characters again
  5. Now visit the file example.teco
  6. 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
  7. Type M-x teco RET
  8. Type m2 ESC ESC at the TECO command prompt
  9. Some output (as in http://99-bottles-of-beer.net/lyrics.html) should appear in the *Teco Output* window

app-emacs/thumbs

  1. Make sure you are in X
  2. Type M-x thumbs RET
  3. Choose a directory where images are located
  4. Watch the output

app-emacs/tnt

  1. Type M-x tnt-open RET
  2. Follow the menu and connect to an AIM server

app-emacs/tramp

  1. Press C-x C-f
  2. Type in /ssh:username@dev.gentoo.org:filename
  3. Edit it, save it (C-x C-s), control by normal ssh if everything went fine
  4. Type M-x tramp-version RET
  5. Check output to be in sync with emerged version
  6. Press C-x C-f
  7. Type in /su::/etc/rc.conf and give your root password (make sure you start Emacs as normal user)
  8. Edit and save the file

app-emacs/tty-format

  1. Visit a colored Portage build.log file
  2. Type M-x format-decode-buffer RET ansi-colors RET
  3. The ANSI escape sequences should be shown as colors

app-emacs/tuareg-mode

  1. Visit text.ml in Emacs
  2. Code should be highlighted and mode line should show Tuareg
  3. C-c C-n and C-c C-p should move to the next and previous phrase, respectively.
  4. C-c . c should insert a template for a class.
  5. A phrase (like a block after a let statement) should be marked

app-emacs/typing

  1. Type M-x typing-of-emacs RET
  2. Have fun

app-emacs/u-vm-color

  1. Follow test plan for app-emacs/vm, see below
  2. In addition, fonts should be coloured now

app-emacs/uboat

  1. Type M-x uboat-death-message RET
  2. A message should appear in the echo area

app-emacs/uptimes

  1. Add the following line to your ~/.emacs file:
    CODE
    (require 'uptimes)
    
  2. Start Emacs again
  3. Type M-x uptimes RET
  4. A list of Emacs session uptimes should be displayed

app-emacs/vhdl-mode

  1. Download and visit the file example.vhdl
  2. The mode line should say (VHDL)
  3. 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)
  4. Press C-c RET C-e to toggle electric mode
  5. The mode line should say (VHDL/e) now (if not, press C-c RET C-e again)
  6. Typing M-x font-lock-mode RET should toggle syntax highlighting
  7. Press M-> to go to the end of the buffer
  8. Type entity and press SPACE
  9. Answer the questions, the template should be filled (empty answer(s) to terminate)

app-emacs/view-process

  1. Type M-x view-processes RET
  2. A list of all running processes should be displayed

app-emacs/visual-basic-mode

  1. Download and visit the file Hello.vb
  2. Type M-x visual-basic-mode RET
  3. Check the conditions indicated in the comments

app-emacs/vm

  1. 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
  2. Type M-x vm RET to start vm
  3. Press g to retrieve new mail
  4. Press SPACE to view a message
  5. You should see the contents of your mail folder now

app-emacs/volume

  1. Type M-x volume RET
  2. An indicator bar should appear
  3. Use the left and right arrow keys to change the audio volume
  4. Press q to quit

app-emacs/w3m-type-ahead

  1. Follow the test plan for app-emacs/emacs-w3m
  2. In addition, the / key should do incremental searches, but limited to the text in HREF anchors

app-emacs/wanderlust

  1. Create a file ~/.folders
    • -gmane.emacs.announce:@news.gmane.org:119
  2. Type M-x wl RET
  3. Enter the newsgroup by clicking on the folder name

app-emacs/whine

  1. Type M-x whinify RET
  2. Try some keyboard commands, like cursor movement
  3. The commands should print silly messages in the message line now
  4. Type M-x unwhinify RET to turn it off again

app-emacs/wikipedia-mode

  1. Get the source code of some Wikipedia page, e.g. http://en.wikipedia.org/wiki/Penguin, and
  2. The mode line should indicate Wikipedia ll Outl
  3. Type M-x font-lock-mode RET to toggle syntax highlighting
  4. 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

  1. Download and visit the file Emacs.ad
  2. The mode line should say (xrdb) now
  3. Typing M-x font-lock-mode RET should toggle syntax highlighting

app-emacs/xslide

  1. Download and visit the file test.xsl
  2. The mode line should say (XSL) now
  3. Typing M-x font-lock-mode RET should toggle syntax highlighting
  4. Type M-x xsl-electric- followed by two times TAB key
  5. Choose a function and check if they generate the correct character

app-emacs/yow

  1. Test this package with GNU Emacs 22.1 or later
  2. Type M-x yow RET
  3. A random quotation should appear in the echo area (try it several times; it should be a different one each time)

app-emacs/zenburn

  1. Type M-x zenburn RET
  2. The colour scheme should have changed

app-emacs/zenburn-theme

  1. Type M-x load-theme RET zenburn RET
  2. The colour scheme should have changed

app-emacs/zenirc

  1. Add the following lines to your ~/.emacs file:
    CODE
    (setq zenirc-server-default "irc.libera.chat")
    (setq zenirc-nick-default "name")
    
  2. Restart Emacs
  3. Type M-x zenirc RET
  4. 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.

Note
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.