Mercurial > hg > xemacs-beta
changeset 46:6a22abad6937 r19-15
Import from CVS: tag r19-15
line wrap: on
line diff
--- a/CHANGES-beta Mon Aug 13 08:55:13 2007 +0200 +++ b/CHANGES-beta Mon Aug 13 08:55:31 2007 +0200 @@ -1,5 +1,11 @@ -*- indented-text -*- to 19.15 +-- W3-3.0.75 +-- hm--html-menus +-- NEWS update +-- miscellaneous bug fixes + +to 19.15 prefinal -- W3-3.0.74 -- Documentation updates -- miscellaneous bug fixes
--- a/PROBLEMS Mon Aug 13 08:55:13 2007 +0200 +++ b/PROBLEMS Mon Aug 13 08:55:31 2007 +0200 @@ -3,6 +3,7 @@ in compiling, installing and running XEmacs. (synched up with: 19.30) +(updated for 20.0) * On Irix, I don't see the toolbar icons and I'm getting lots of entries in the warnings buffer. @@ -126,7 +127,7 @@ ftp://tsx-11.mit.edu/pub/linux/packages/GCC/gcc272-no-sr-bug.lbin.tgz - Or wait for GCC 2.7.3. + Or use GCC 2.7.2.1. * Under some versions of OSF XEmacs runs fine if built without optimization but will crash randomly if built with optimization. @@ -227,6 +228,12 @@ You probably have /usr/ucblib/ on your LD_LIBRARY_PATH. Do the link with LD_LIBRARY_PATH unset. +* On Solaris 2.* I cannot make alloc.o, glyphs.o or process.o. + +The SparcWorks C compiler may have difficulty building those modules +with optimization level -xO4. Try using only "-fast" optimization +for just those modules. (Or use gcc). + * I don't have `xmkmf' and `imake' on my HP. You can get these standard X tools by anonymous FTP to hpcvaaz.cv.hp.com. @@ -271,9 +278,9 @@ * With certain fonts, when the cursor appears on a character, the character doesn't appear--you get a solid box instead. -One user on a Linux-based GNU system reported that this problem went -away with installation of a new X server. The failing server was -XFree86 3.1.1. XFree86 3.1.2 works. +One user on a Linux system reported that this problem went away with +installation of a new X server. The failing server was XFree86 3.1.1. +XFree86 3.1.2 works. * On SunOS 4.1.3, Emacs unpredictably crashes in _yp_dobind_soft. @@ -425,7 +432,7 @@ exist. The first line in the `/etc/hosts' file should look like this (replace HOSTNAME with your host name): - 127.0.0.1 HOSTNAME + 127.0.0.1 localhost HOSTNAME Also make sure that the `/etc/host.conf' files contains the following lines: @@ -734,12 +741,6 @@ This problem seems to arise only when the international language extensions to X11R5 are installed. -* Typing C-c C-c in Shell mode kills your X server. - -This happens with Linux kernel 1.0 thru 1.04, approximately. The workaround is -to define SIGNALS_VIA_CHARACTERS in config.h and recompile Emacs. -Newer Linux kernel versions don't have this problem. - * src/Makefile and lib-src/Makefile are truncated--most of the file missing. This can happen if configure uses GNU sed version 2.03. That version @@ -1720,11 +1721,114 @@ This problem will not happen if the m-...h file for your type of machine defines NO_UNION_TYPE. That is the recommended setting now. +* `Error: No ExtNode to pop!' on Linux systems with Lesstif. + +This error message has been observed with lesstif-0.75a. It does not +appear to cause any harm. + +* Sparc Linux -vs- libXmu. + +There have been reports of configure not detecting libXmu on +SparcLinux. The fix is to add -lXmu to the link flags. + +* Debian Linux and Berkeley db include files. + +Debian Linux puts the Berkeley db include files in /usr/include/db +instead of /usr/include. The fix is to use +--site-includes=/usr/include/db with configure. + +* Signaling: (error "Byte code stack underflow (byte compiler bug), pc 38") + +This error is given when XEmacs v20 is compiled without MULE support +but is attempting to load a .elc which requires MULE support. The fix +is to rebytecompile the offending file. + +* alloc.c will not compile without -P on HP-UX 9.05 + +Pekka Marjola <pema@iki.fi> writes: +Gcc (2.7.2, with cpplib IIRC) required something (-P worked :) to get +it to compile. Otherwise it failed on those DEFUN macros with comments +inside parameter lists (like buffer.c, line 296). + +* Excessive optimization with Gcc-2.7.2 and pgcc can break XEmacs + +It has been reported on some systems that compiling with -O6 can lead +to XEmacs failures. The workaround is to use a lower optimization +level. -O2 and -O4 have been tested extensively. + +* -O2 optimization on Irix 5.3 can cause compiler complaint. + +Nick J. Crabtree <nickc@scopic.com> writes: +Comes up OK on a tty (all I have available over this slow link). Ill +give it a hammering tomorrow. The -O2 optimisation complained about +sizes exceeding thresholds; I haven't bothered to use the -Olimit +option it recommends. + +* Excessive optimization on AIX 4.2 can lead to compiler failure. + +Valdis.Kletnieks@vt.edu writes: +At least at the b34 level, and the latest-and-greatest IBM xlc +(3.1.4.4), there are problems with -O3. I haven't investigated +further. + +* Sed problems on Solaris 2.5 + +There have been reports of Sun sed truncating very lines in the +Makefile during configuration. The workaround is to use GNU sed. + +* CDE is not autodetected on HP. + +Richard Cognot <cognot@ensg.u-nancy.fr> writes: +I have to force /usr/dt/{lib,include} into the site include/lib +command line options. I could add these in hpux10.h, but then I would +think these should be pretty standard (to my knowledge, that's also +where Sun puts its CDE stuff), so that wouldn't fix the problem on +other architectures. AAMOF, when these path are given, CDE is +detected, and DragAndDrop works (more or less, see next issue). + +* Signalling: (wrong-type-argument ...) when loading mail-abbrevs + +The is seen when installing the Big Brother Data Base (bbdb) which +includes an outdated copy of mail-abbrevs.el. Remove the copy that +comes with bbdb and use the one that comes with XEmacs. + +* Linking with -rpath on IRIX. + +Darrell Kindred <dkindred@cmu.edu> writes: +There are a couple of problems [with use of -rpath with Irix ld], though: + + 1. The ld in IRIX 5.3 ignores all but the last -rpath + spec, so the patched configure spits out a warning + if --x-libraries or --site-runtime-libraries are + specified under irix 5.x, and it only adds -rpath + entries for the --site-runtime-libraries. This bug was + fixed sometime between 5.3 and 6.2. + + 2. IRIX gcc 2.7.2 doesn't accept -rpath directly, so + it would have to be prefixed by -Xlinker or "-Wl,". + This would be fine, except that configure compiles with + ${CC-cc} $CFLAGS $LDFLAGS ... + rather than quoting $LDFLAGS with prefix-args, like + src/Makefile does. So if you specify --x-libraries + or --site-runtime-libraries, you must use --use-gcc=no, + or configure will fail. + * On Irix 5.x and 6.x, the dumped XEmacs (xemacs) core dumps when executed on another machine, or after newer SGI IRIX patches have been installed. The xemacs binary must be executed with the same "libc.so" file which was used -when the xemacs binary was dumped. Some SGI IRIX patches updates this file. +when the xemacs binary was dumped. Some SGI IRIX patches update this file. Make sure that all machines using the xemacs binary are using the same set of IRIX patches. If xemacs core dumps after a patch upgrade then you will have to redump it from temacs. + +* xemacs: can't resolve symbol '__malloc_hook' + +This is a Linux problem where you've compiled the XEmacs binary on a libc +5.4 with version higher than 5.4.19 and attempted to run the binary against +an earlier version. The solution is to upgrade your old library. + +* VM appears to hang in large folders + +This is normal (trust us) when upgrading to VM-6.22 from earlier versions. +Let VM finish what it is doing and all will be well.
--- a/etc/NEWS Mon Aug 13 08:55:13 2007 +0200 +++ b/etc/NEWS Mon Aug 13 08:55:31 2007 +0200 @@ -1,4 +1,7 @@ -*- mode:outline; minor-mode:outl-mouse -*- +C-c TAB This shows subheadings (if any) of current heading. +C-c C-s Show _all_ the text and headings under current heading + * Introduction ============== @@ -12,28 +15,32 @@ Using Outline Mode..........briefly explains how to use outline mode + XEmacs Release Notes........detailed changes to this release + + Future Plans for XEmacs.....what's next + The History of XEmacs.......some historical notes - What's Different?...........new or changed capabilities - - XEmacs Release Notes........details of the changes between releases - -New users should look at the next section on "Using Outline Mode". You will -be more efficient when you can navigate quickly through this file. Users + A Long List of Packages.....all the stuff in XEmacs + + What Changed................between versions and also FSF GNU Emacs + +New users should look at the next section on "Using Outline Mode". +You will be more efficient when you can navigate quickly through this +file. Users who want to know which capabilities have been introduced +in this release should look at the "XEmacs Release Notes." Users interested in some of the details of how XEmacs differs from GNU Emacs -should read the section "What's Different?". Users who would to know which -capabilities have been introduced in each release should look at the -appropriate subsection of the "XEmacs Release Notes." - - N.B. The term "FSF GNU Emacs" refers to any release of Emacs Version 19 - from the Free Software Foundation's GNU Project. (We do not say just - "GNU Emacs" because Richard M. Stallman ["RMS"] thinks that this term - is too generic; although we sometimes say e.g. "GNU Emacs 19.30" to refer - to a specific version of FSF GNU Emacs. We do not say merely "Emacs", as - RMS prefers, because that is clearly an even more generic term.) The term - "XEmacs" refers to this program or to its predecessors "Era" and - "Lucid Emacs". The predecessor of all these program is called "Emacs 18". - When no particular version is implied, "Emacs" will be used. +should read the section "What Changed?". + + N.B. The term "FSF GNU Emacs" refers to any release of Emacs + Version 19 from the Free Software Foundation's GNU Project. (We do + not say just "GNU Emacs" because Richard M. Stallman ["RMS"] + thinks that this term is too generic; although we sometimes say + e.g. "GNU Emacs 19.30" to refer to a specific version of FSF GNU + Emacs. The term "XEmacs" refers to this program or to its + predecessors "Era", "Epoch", and "Lucid Emacs". The predecessor + of all these program is called "Emacs 18". When no particular + version is implied, "Emacs" will be used. * Using Outline Mode @@ -48,41 +55,326 @@ keystrokes. There are menus for outline mode on the menubar as well as in popup menus activated by pressing mouse button 3. -Experiment with the menu commands. Menu items under "Headings" allow -you to navigate from heading to heading. Menu items under "Show" make -visible portions of the outline while menu items under "Hide" do the -opposite. - -A special minor mode called "outl-mouse" has been automatically enabled. In -this minor mode, glyphs appear which, when clicked on, will alternately hide -or show sections of the outline. - +Try the following to help you read this file. + +C-c C-q This hides everything but the very top level headings + You can then move to an interesting section +C-c TAB This shows subheadings (if any) of current heading. +C-c C-s Show _all_ the text and headings under current heading +C-c C-d Hide _all_ the text and headings under current heading + +It's then easy to navigate through the file alternating between +showing, C-C C-s, and hiding, C-c C-d, the text. Also, use the "Show" +and "Hide" menus displayed to get access to the same commands. + You may at any time press `C-h m' to get a listing of the outline mode key -bindings. They are reproduced here: - -Commands: -C-c C-n outline-next-visible-heading move by visible headings -C-c C-p outline-previous-visible-heading -C-c C-f outline-forward-same-level similar but skip subheadings -C-c C-b outline-backward-same-level -C-c C-u outline-up-heading move from subheading to heading - -C-c C-t make all text invisible (not headings). -M-x show-all make everything in buffer visible. - -The remaining commands are used when point is on a heading line. -They apply to some of the body or subheadings of that heading. -C-c C-d hide-subtree make body and subheadings invisible. -C-c C-s show-subtree make body and subheadings visible. -C-c tab show-children make direct subheadings visible. - No effect on body, or subheadings 2 or more levels down. - With arg N, affects subheadings N levels down. -C-c C-c make immediately following body invisible. -C-c C-e make it visible. -C-c C-l make body under heading and under its subheadings invisible. - The subheadings remain visible. -C-c C-k make all subheadings at all levels visible.x1 - +bindings. + +* XEmacs Release Notes +====================== + +** Major Differences Between 19.14 and 19.15 +============================================ + +Many bugs have been fixed. An effort has been made to eradicate all +XEmacs crashes, although we are not quite done yet. The overall +quality of XEmacs should be higher than any previous release. XEmacs +now compiles with nary a warning with some compilers. + +User visible changes: + +-- EFS replaces ange-ftp for remote file manipulation capability. + +-- TM (Tools for Mime) now comes with XEmacs. This provides MIME + (Multi-purpose Internet Multi-media Extensions?) support for Mail + and News. The primary author is Morioka Tomohiko. + +-- There is a new way to customize faces and (some) variables. + + Try it with `M-x customize RET', or from the Options->Customize menu. + Documented in <URL:info:custom>. + +-- The AUC TeX environment for editing and running TeX is now bundled. + (Per Abrahamsen.) + Enable with (require 'tex-site) in your .emacs file. + Documented in <URL:info:auctex>. + +-- New user option `init-face-from-resources'. + If you don't set faces with X resources, you can speed up the + initialization of new faces by setting this to nil. + +-- `column.el' removed, use `column-number-mode' instead. + +-- Command line processing should work much better now - no more order + dependencies. + +-- html mode now defaults to using HTML-3.2 + +-- VM now has a native MIME mode + +-- The traditional time.el package now has optional modeline graphics + +-- The XEmacs Logo has been changed courtesy of Jens Lautenbacher + +-- Default background changed to gray80 + +-- The XEmacs build procedure has been changed to make it easier than + ever to include new packages to be dumped with the binary + +-- cc-mode is no longer auto-loaded. (require 'cc-mode) is now needed + before you customize cc-mode in your .emacs. + +-- blink-cursor-mode is somewhat more useable now that the cursor + stops blinking during keyboard activity. + +-- Dired is now part of efs and went from version 6.X to 7.9. + Keybindings have been synced with FSF Emacs, there are more menus and + items in menus are sometimes grouped differently. Any personnal + customization to dired will probably have to be checked. + + If you are a 19.14 user and use its dired a lot, expect to get mad at + 'c', 'r' and '^' keybindings." + + +** New Packages +------------ + +Noteworthy new packages: + redo + igrep + uniquify + auctex + + +-- Many new packages have been added: +*** auctex (Per Abrahamsen) +*** customize (Per Abrahamsen)) +*** m4-mode 1.8 (Andrew Csillag) +*** crisp.el - crisp/brief emulation (Gary D. Foster) + Minor mode emulation for Borland's Brief/Crisp editor +*** Johan Vroman's iso-acc.el has been ported to XEmacs by Alexandre Oliva +*** psgml-1.01 (Lennart Staflin, James Clark) +*** python-mode.el 2.90 (Barry Warsaw) +*** vrml-mode.el (Ben Wing) +*** enriched.el, face-menu.el (Boris Goldowsky, Michael Sperber) +*** sh-script.el (Daniel Pfeiffer) +*** decipher.el (Christopher J. Madsen) +*** mic-paren.el (Mikael Sjödin) +*** xrdb-mode.el 1.21 (Barry Warsaw) +*** redo.el 1.01 (Kyle Jones) +*** edmacro.el (ported by Hrvoje Niksic) +*** verilog-mode.el (Michael McNamara) +*** webjump.el-1.4 (Neil W. Van Dyke) +*** overlay.el (Joseph Nuspl support for Emacs overlay API) +*** browse-cltl2.el 1.1 (Holger Schauer) +*** mine.el 1.17 (Jacques Duthen) +*** igrep.el 2.56 (Kevin Rodger) +*** speedbar.el (Eric Ludlam) +*** frame-icon.el (Michael Lamoureux) +*** winmgr-mode.el (David Konerding, Stefan Strobel & Barry Warsaw) +*** whitespace-mode.el (Heiko Muenkel) +*** detached-minibuf.el (Alvin Shelton) + +** Updated Packages +------------ + +Most packages have been updated to the latest available versions. +(thanks go to countless maintainers): + +*** ediff 2.64 (Michael Kifer) +*** Gnus Gnus 5.4.36 (Lars Magne Ingebrigtsen) + +**** nntp.el has been totally rewritten in an asynchronous fashion. + +**** Article prefetching functionality has been moved up into +Gnus. + +**** Scoring can now be performed with logical operators like +`and', `or', `not', and parent redirection. + +**** Article washing status can be displayed in the +article mode line. + +**** gnus.el has been split into many smaller files. + +**** Suppression of duplicate articles based on Message-ID. + +(setq gnus-suppress-duplicates t) + +**** New variables for specifying what score and adapt files +are to be considered home score and adapt files. See +`gnus-home-score-file' and `gnus-home-adapt-files'. + +**** Groups can inherit group parameters from parent topics. + +**** Article editing has been revamped and is now usable. + +**** Signatures can be recognized in more intelligent fashions. +See `gnus-signature-separator' and `gnus-signature-limit'. + +**** Summary pick mode has been made to look more nn-like. +Line numbers are displayed and the `.' command can be +used to pick articles. + +**** Commands for moving the .newsrc.eld from one server to +another have been added. + + `M-x gnus-change-server' + +**** A way to specify that "uninteresting" fields be suppressed when +generating lines in buffers. + +**** Several commands in the group buffer can be undone with +`M-C-_'. + +**** Scoring can be done on words using the new score type `w'. + +**** Adaptive scoring can be done on a Subject word-by-word basis: + + (setq gnus-use-adaptive-scoring '(word)) + +**** Scores can be decayed. + + (setq gnus-decay-scores t) + +**** Scoring can be performed using a regexp on the Date header. The +Date is normalized to compact ISO 8601 format first. + +**** A new command has been added to remove all data on articles from +the native server. + + `M-x gnus-group-clear-data-on-native-groups' + +**** A new command for reading collections of documents +(nndoc with nnvirtual on top) has been added -- `M-C-d'. + +**** Process mark sets can be pushed and popped. + +**** A new mail-to-news backend makes it possible to post +even when the NNTP server doesn't allow posting. + +**** A new backend for reading searches from Web search engines +(DejaNews, Alta Vista, InReference) has been added. + + Use the `G w' command in the group buffer to create such + a group. + +**** Groups inside topics can now be sorted using the standard +sorting functions, and each topic can be sorted independently. + + See the commands under the `T S' submap. + +**** Subsets of the groups can be sorted independently. + + See the commands under the `G P' submap. + +**** Cached articles can be pulled into the groups. + + Use the `Y c' command. + +**** Score files are now applied in a more reliable order. + +**** Reports on where mail messages end up can be generated. + + `M-x nnmail-split-history' + +**** More hooks and functions have been added to remove junk +from incoming mail before saving the mail. + + See `nnmail-prepare-incoming-header-hook'. + +**** The nnml mail backend now understands compressed article files. +*** w3 3.0.71 (Bill Perry) + - Major upgrade to Emacs/W3, including + - Much fuller stylesheet support + - Tables support + - Frames support + - better asynchronous downloads + - now uses the widget library for consistent look of form elements + - Much much much faster +*** ilisp 5.8 (Chris McConnell, Ivan Vasquez, Marco Antoniotti, Rick + Campbell) +*** VM 6.22 (Kyle Jones) +*** etags 11.78 (Francesco Potorti`) +*** ksh-mode.el 2.9 +*** vhdl-mode.el 2.73 (Rod Whitby) +*** id-select.el 1.4.5 (Bob Weiner) +*** EDT/TPU emulation modes should work now for the first time. +*** viper 2.93 (Michael Kifer) is now the `official' vi emulator for XEmacs. +*** big-menubar should work much better now. +*** mode-motion+.el 3.16 +*** backup-dir 2.0 (Greg Klanderman) +*** ps-print.el-3.05 (Jacques Duthen Prestataire) +*** lazy-lock-1.16 (Simon Marshall) +*** fast-lock.el 3.10.2 (Simon Marshall) +*** reporter 3.3 (Barry Warsaw) +*** hm--html-menus 5.4 (Heiko Muenkel) +*** cc-mode 4.387 (Barry Warsaw) +*** elp 2.37 (Barry Warsaw) +*** itimer.el-1.05 (Kyle Jones) +*** floating-toolbar.el-1.02 (Kyle Jones) +*** balloon-help.el-1.05 (Kyle Jones) +*** hyperbole-4.023 (Bob Weiner) +*** cperl-mode-1.31+ +*** OO-Browser 2.10 (Bob Weiner) + +** Changes at Lisp level +------------ + +-- New `widget' library for inserting UI components in buffers. + Documented in <URL:info:widget>. + +-- New `custom' library for declaring user options and faces. + Documented in <URL:info:custom>. + +-- New function `make-empty-face'. + Like `make-face', but doesn't query the resource database. + +-- New function x-keysym-on-keyboard-p helps determine keyboard + characteristics for key rebinding: + + x-keysym-on-keyboard-p: (KEYSYM &optional DEVICE) + -- a built-in function. + Return true if KEYSYM names a key on the keyboard of DEVICE. + More precisely, return true if pressing a physical key + on the keyboard of DEVICE without any modifier keys generates KEYSYM. + Valid keysyms are listed in the files /usr/include/X11/keysymdef.h and in + /usr/lib/X11/XKeysymDB, or whatever the equivalents are on your system. + +-- Usage of keysyms of the form kp_0 is deprecated and one should use + the Emacs compatible kp-0 instead. + + +-- preceding-char and following-char have been obsoleted. Use the + much safer and correct functions char-after and char-before instead. + +-- Many symbols present for compatibility with GNU Emacs no longer + generate bytecompiler warning messages + +-- Installed info files are now compressed (support courtesy of Joseph J Nuspl) + +-- (load-average) works on Solaris, even if you're not root. Thanks to + Hrvoje Niksic. + +-- OffiX drag-and-drop support added + +-- lots of syncing with 19.34 elisp files, most by Steven Baur + +-- M-: (eval-expression) is now enabled by default since it is much + more difficult to type. + +-- new variables: + signal-error-on-buffer-boundary + + +* Future Plans for XEmacs +========================== + +This is the end of the line for XEmacs v19. No new development is planned +on this source tree. XEmacs 20.1 will contain the functionality in 19.15, +and development will continue with XEmacs 20.2. The major new `feature' +planned in 20.2 will be the introduction of separable packages and the +capability to download and use an XEmacs lite distribution. * The History of XEmacs ======================= @@ -99,7 +391,2238 @@ both contributed significantly to the development of XEmacs. -* What's Different? +* A Long List of Packages +======================= + +This section gives a detailed list of packages included with XEmacs. +It's long! Of particular interest are: games, gnus, modes, packages, +and utils. + +** auctex - Super TeX +*** auctex/auc-old.el +This file contains an alternative keymapping, compatible with +older versions of AUC TeX. You are strongly suggested to try the +new keyboard layout, as we would like this file to go away +eventually. +*** auctex/bib-cite.el +Commentary: + +This package is used in various TeX modes to display or edit references +associated with \cite commands, or matching \ref and \label commands. +*** auctex/font-latex.el +Commentary: +*** auctex/style/german.el +Commentary: + +`german.sty' use `"' to give next character an umlaut. +*** auctex/style/harvard.el +Commentary: + +Harvard citation style is from Peter Williams available on the CTAN +servers +*** auctex/style/plfonts.el +Commentary: + +`plfonts.sty' use `"' to make next character Polish. +`plfonts.sty' <C> L. Holenderski, IIUW, lhol@mimuw.edu.pl +*** auctex/style/plhb.el +Commentary: + +`plhb.sty' use `"' to make next character Polish. +`plhb.sty' <C> J. S. Bie\'n, IIUW, jsbien@mimuw.edu.pl + + +** bytecomp - Byte compile Emacs Lisp files +*** bytecomp/byte-optimize.el +Commentary: + +======================================================================== +"No matter how hard you try, you can't make a racehorse out of a pig. +You can, however, make a faster pig." + +Or, to put it another way, the emacs byte compiler is a VW Bug. This code +makes it be a VW Bug with fuel injection and a turbocharger... You're +still not going to make it go faster than 70 mph, but it might be easier +to get it there. + +*** bytecomp/bytecomp-runtime.el +Commentary: + +interface to selectively inlining functions. +This only happens when source-code optimization is turned on. +*** bytecomp/bytecomp.el +Commentary: + +The Emacs Lisp byte compiler. This crunches lisp source into a sort +of p-code which takes up less space and can be interpreted faster. +The user entry points are byte-compile-file and byte-recompile-directory. +*** bytecomp/disass.el +Commentary: + +The single entry point, `disassemble', disassembles a code object generated +by the Emacs Lisp byte-compiler. This doesn't invert the compilation +operation, not by a long shot, but it's useful for debugging. + +** calendar - Calendars, diaries and appointments +*** calendar/calendar.el +Commentary: + +This collection of functions implements a calendar window. It +generates a calendar for the current month, together with the previous +and coming months, or for any other three-month period. The calendar +can be scrolled forward and backward in the window to show months in +the past or future; the cursor can move forward and backward by days, +weeks, or months, making it possible, for instance, to jump to the +date a specified number of days, weeks, or months from the date under +the cursor. The user can display a list of holidays and other notable +days for the period shown; the notable days can be marked on the +calendar, if desired. The user can also specify that dates having +corresponding diary entries (in a file that the user specifies) be +marked; the diary entries for any date can be viewed in a separate +window. The diary and the notable days can be viewed independently of +the calendar. Dates can be translated from the (usual) Gregorian +calendar to the day of the year/days remaining in year, to the ISO +commercial calendar, to the Julian (old style) calendar, to the Hebrew +calendar, to the Islamic calendar, to the French Revolutionary calendar, +to the Mayan calendar, and to the astronomical (Julian) day number. +When floating point is available, times of sunrise/sunset can be displayed, +as can the phases of the moon. Appointment notification for diary entries +is available. +*** calendar/cal-dst.el +Commentary: + +This collection of functions implements the features of calendar.el and +holiday.el that deal with daylight savings time. +*** calendar/cal-french.el +Commentary: + +This collection of functions implements the features of calendar.el and +diary.el that deal with the French Revolutionary calendar. +*** calendar/cal-mayan.el +Commentary: + +This collection of functions implements the features of calendar.el and +diary.el that deal with the Mayan calendar. It was written jointly by +*** calendar/cal-x.el +Commentary: + +This collection of functions implements dedicated frames in x-windows for +calendar.el. +*** calendar/cal-xemacs.el +Commentary: + +This collection of functions implements menu bar and popup menu support for +calendar.el. +*** calendar/diary-ins.el +Commentary: + +This collection of functions implements the diary insertion features as +described in calendar.el. +*** calendar/solar.el +Commentary: + +This collection of functions implements the features of calendar.el, +diary.el, and holiday.el that deal with times of day, sunrise/sunset, and +eqinoxes/solstices. + +** cl - Common Lisp compatibility with Emacs Lisp +*** cl/cl-compat.el +Commentary: + +These are extensions to Emacs Lisp that provide a degree of +Common Lisp compatibility, beyond what is already built-in +in Emacs Lisp. + +** comint - For running shells, telnet, rsh, gdb, dbx under Emacs +*** comint/comint-xemacs.el +Commentary: + +Declare customizable faces for comint outside the main code so it can +be dumped with XEmacs. +*** comint/comint.el +Commentary: + +This file defines a general command-interpreter-in-a-buffer package +(comint mode). The idea is that you can build specific process-in-a-buffer +modes on top of comint mode -- e.g., lisp, shell, scheme, T, soar, .... +This way, all these specific packages share a common base functionality, +and a common set of bindings, which makes them easier to use (and +saves code, implementation time, etc., etc.). + +Several packages are already defined using comint mode: +- shell.el defines a shell-in-a-buffer mode. +- cmulisp.el defines a simple lisp-in-a-buffer mode. + +- The file cmuscheme.el defines a scheme-in-a-buffer mode. +- The file tea.el tunes scheme and inferior-scheme modes for T. +- The file soar.el tunes lisp and inferior-lisp modes for Soar. +- cmutex.el defines tex and latex modes that invoke tex, latex, bibtex, + previewers, and printers from within emacs. +- background.el allows csh-like job control inside emacs. +*** comint/gdb.el +Commentary: + +A facility is provided for the simultaneous display of the source code +in one window, while using gdb to step through a function in the +other. A small arrow in the source window, indicates the current +line. +*** comint/gud.el +Commentary: +*** comint/history.el +Commentary: + +suggested generic history stuff -- tale + +This is intended to provided easy access to a list of elements +being kept as a history ring. +*** comint/inf-lisp.el +Commentary: + +This file defines a a lisp-in-a-buffer package (inferior-lisp +mode) built on top of comint mode. This version is more +featureful, robust, and uniform than the Emacs 18 version. The +key bindings are also more compatible with the bindings of Hemlock +and Zwei (the Lisp Machine emacs). +*** comint/kermit.el +Commentary: + +I'm not sure, but I think somebody asked about running kermit under shell +mode a while ago. Anyway, here is some code that I find useful. The result +is that I can log onto machines with primitive operating systems (VMS and +ATT system V :-), and still have the features of shell-mode available for +command history, etc. It's also handy to be able to run a file transfer in +an emacs window. The transfer is in the "background", but you can also +monitor or stop it easily. +*** comint/rlogin.el +Commentary: + +Support for remote logins using `rlogin'. +This program is layered on top of shell.el; the code here only accounts +for the variations needed to handle a remote process, e.g. directory +tracking and the sending of some special characters. +*** comint/shell.el +Commentary: + +This file defines a a shell-in-a-buffer package (shell mode) built +on top of comint mode. This is actually cmushell with things +renamed to replace its counterpart in Emacs 18. cmushell is more +featureful, robust, and uniform than the Emacs 18 version. +*** comint/telnet.el +Commentary: + +This mode is intended to be used for telnet or rsh to a remode host; +`telnet' and `rsh' are the two entry points. Multiple telnet or rsh +sessions are supported. + +** custom - Allow's user to customize Emacs +*** custom/custom.el +Commentary: + +This file only contain the code needed to declare and initialize +user options. The code to customize options is autoloaded from +`cus-edit.el'. + +The code implementing face declarations is in `cus-face.el' + +** edebug - Emacs Lisp debugger +*** edebug/cl-read.el +Commentary: + +Please send bugs and comments to the author. + +This package replaces the standard Emacs Lisp reader (implemented +as a set of built-in Lisp function in C) by a flexible and +customizable Common Lisp like one (implemented entirely in Emacs +Lisp). During reading of Emacs Lisp source files, it is about 40% +slower than the built-in reader, but there is no difference in +loading byte compiled files - they dont contain any syntactic sugar +and are loaded with the built in subroutine `load'. + +** ediff - Compare and merge files with graphical difference display +*** ediff/ediff.el +Commentary: + +Never read that diff output again! +Apply patch interactively! +Merge with ease! + +This package provides a convenient way of simultaneous browsing through +the differences between a pair (or a triple) of files or buffers. The +files being compared, file-A, file-B, and file-C (if applicable) are +shown in separate windows (side by side, one above the another, or in +separate frames), and the differences are highlighted as you step +through them. You can also copy difference regions from one buffer to +another (and recover old differences if you change your mind). + +Ediff also supports merging operations on files and buffers, including +merging using ancestor versions. Both comparison and merging operations can +be performed on directories, i.e., by pairwise comparison of files in those +directories. + +** efs - Remote file access (replaces ange-ftp) +See online manual. + +** electric - The "electric" commands; these implement temporary +windows for help, list-buffers, etc. + +*** electric/ehelp.el +Commentary: + +This package provides a pre-packaged `Electric Help Mode' for +browsing on-line help screens. There is one entry point, +`with-electric-help'; all you have to give it is a no-argument +function that generates the actual text of the help into the current +buffer. + +** emulators - Various emulations: mocklisp, teco, TPU/EDT, WordStar +*** emulators/mlconvert.el +Commentary: + +This package converts Mocklisp code written under a Gosling or UniPress +Emacs for use with GNU Emacs. The translated code will require runtime +support from the mlsupport.el equivalent. +*** emulators/mlsupport.el +Commentary: + +This package provides equivalents of certain primitives from Gosling +Emacs (including the commercial UniPress versions). These have an +ml- prefix to distinguish them from native GNU Emacs functions with +similar names. The package mlconvert.el translates Mocklisp code +to use these names. +*** emulators/teco.el +Commentary: + +This code has been tested some, but no doubt contains a zillion bugs. +You have been warned. + +Written by Dale R. Worley based on a C implementation by Matt Fichtenbaum. +Please send comments, bug fixes, enhancements, etc. to drw@math.mit.edu. +*** emulators/tpu-edt.el +Commentary: + +%% TPU-edt -- Emacs emulating TPU emulating EDT + +%% Introduction + + TPU-edt emulates the popular DEC VMS editor EDT (actually, it emulates + DEC TPU's EDT emulation, hence the name TPU-edt). +*** emulators/tpu-extras.el +Commentary: + + Use the functions defined here to customize TPU-edt to your tastes by + setting scroll margins and/or turning on free cursor mode. Here's an + example for your .emacs file. +*** emulators/ws-mode.el +Commentary: + +This emulates WordStar, with a major mode. + +** energize - Interface to now-defunct Lucid's C/C++ integrated +environment XEmacs (nee Lucid Emacs) saw birth explicitly to serve +Energize. + +** eos - SPARCworks + +** eterm - Full terminal emulation under Emacs +*** eterm/term.el +Commentary: + +This file defines a general command-interpreter-in-a-buffer package +(term mode). The idea is that you can build specific process-in-a-buffer +modes on top of term mode -- e.g., lisp, shell, scheme, T, soar, .... +This way, all these specific packages share a common base functionality, +and a common set of bindings, which makes them easier to use (and +saves code, implementation time, etc., etc.). +*** eterm/tgud.el +Commentary: + +The ancestral gdb.el was by W. Schelter <wfs@rascal.ics.utexas.edu> +It was later rewritten by rms. Some ideas were due to Masanobu. +Grand Unification (sdb/dbx support) by Eric S. Raymond <esr@thyrsus.com> +The overloading code was then rewritten by Barry Warsaw <bwarsaw@cen.com>, +who also hacked the mode to use comint.el. Shane Hartman <shane@spr.com> +added support for xdb (HPUX debugger). Rick Sladkey <jrs@world.std.com> +wrote the GDB command completion code. Dave Love <d.love@dl.ac.uk> +added the IRIX kluge and re-implemented the Mips-ish variant. +Then hacked by Per Bothner <bothner@cygnus.com> to use term.el. +*** eterm/tshell.el +Commentary: + +This file defines a a shell-in-a-buffer package (shell mode) built +on top of term mode. This is actually cmushell with things +renamed to replace its counterpart in Emacs 18. cmushell is more +featureful, robust, and uniform than the Emacs 18 version. + +** games - blackbox, mines, decipher, doctor, ... +*** games/blackbox.el +Commentary: + +The object of the game is to find four hidden balls by shooting rays +into the black box. There are four possibilities: 1) the ray will +pass thru the box undisturbed, 2) it will hit a ball and be absorbed, +3) it will be deflected and exit the box, or 4) be deflected immediately, +not even being allowed entry into the box. +*** games/conx.el +Commentary: + +conx.el: Yet Another Dissociator. + +Select a buffer with a lot of text in it. Say M-x conx-buffer +or M-x conx-region. Repeat on as many other bodies of text as +you like. + +M-x conx will use the word-frequency tree the above generated +to produce random sentences in a popped-up buffer. It will pause +at the end of each paragraph for two seconds; type ^G to stop it. +*** games/cookie1.el +Commentary: + +Support for random cookie fetches from phrase files, used for such +critical applications as emulating Zippy the Pinhead and confounding +the NSA Trunk Trawler. +*** games/decipher.el +Commentary: + +This package is designed to help you crack simple substitution +ciphers where one letter stands for another. It works for ciphers +with or without word divisions. (You must set the variable +decipher-ignore-spaces for ciphers without word divisions.) +*** games/dissociate.el +Commentary: + +The single entry point, `dissociated-press', applies a travesty +generator to the current buffer. The results can be quite amusing. +*** games/doctor.el +Commentary: + +The single entry point `doctor', simulates a Rogerian analyst using +phrase-production techniques similar to the classic ELIZA demonstration +of pseudo-AI. +*** games/flame.el +Commentary: + +"Flame" program. This has a chequered past. +*** games/gomoku.el +Gomoku is a game played between two players on a rectangular board. Each +player, in turn, marks a free square of its choice. The winner is the first +one to mark five contiguous squares in any direction (horizontally, +vertically or diagonally). + +*** games/hanoi.el +Commentary: + +Solves the Towers of Hanoi puzzle while-U-wait. + +The puzzle: Start with N rings, decreasing in sizes from bottom to +top, stacked around a post. There are two other posts. Your mission, +should you choose to accept it, is to shift the pile, stacked in its +original order, to another post. +*** games/life.el +Commentary: + +A demonstrator for John Horton Conway's "Life" cellular automaton +in Emacs Lisp. Picks a random one of a set of interesting Life +patterns and evolves it according to the familiar rules. +*** games/mine.el +Commentary: + +The object of this classical game is to locate the hidden mines. +To do this, you hit the squares on the game board that do not +contain mines, and you mark the squares that do contain mines. +*** games/mpuz.el +Commentary: + +When this package is loaded, `M-x mpuz' generates a random multiplication +puzzle. This is a multiplication example in which each digit has been +consistently replaced with some letter. Your job is to reconstruct +the original digits. Type `?' while the mode is active for detailed help. +*** games/spook.el +Commentary: + + Just before sending mail, do M-x spook. + A number of phrases will be inserted into your buffer, to help + give your message that extra bit of attractiveness for automated + keyword scanners. +*** games/studly.el +Commentary: + +Functions to studlycapsify a region, word, or buffer. Possibly the +esoteric significance of studlycapsification escapes you; that is, +you suffer from autostudlycapsifibogotification. Too bad. +*** games/yow.el +Commentary: + +Important pinheadery for GNU Emacs. + +See cookie1.el for implementation. Note --- the `n' argument of yow +from the 18.xx implementation is no longer; we only support *random* +random access now. + +** gnus - The ultimate News and Mail reader +See online manual +*** gnus/gnus-audio.el +Commentary: +This file provides access to sound effects in Gnus. +Prerelease: This file is partially stripped to support earcons.el +You can safely ignore most of it until Red Gnus. **Evil Laugh** +*** gnus/gnus-gl.el +Commentary: +*** gnus/gnus-undo.el +Commentary: + +This package allows arbitrary undoing in Gnus buffers. As all the +Gnus buffers aren't very text-oriented (what is in the buffers is +just some random representation of the actual data), normal Emacs +undoing doesn't work at all for Gnus. +*** gnus/mailheader.el +Commentary: + +This package provides an abstraction to RFC822-style messages, used in +mail news, and some other systems. The simple syntactic rules for such +headers, such as quoting and line folding, are routinely reimplemented +in many individual packages. This package removes the need for this +redundancy by representing message headers as association lists, +offering functions to extract the set of headers from a message, to +parse individual headers, to merge sets of headers, and to format a set +of headers. +*** gnus/message.el +Commentary: + +This mode provides mail-sending facilities from within Emacs. It +consists mainly of large chunks of code from the sendmail.el, +gnus-msg.el and rnewspost.el files. +*** gnus/nnheader.el +Commentary: + +These macros may look very much like the ones in GNUS 4.1. They +are, in a way, but you should note that the indices they use have +been changed from the internal GNUS format to the NOV format. The +makes it possible to read headers from XOVER much faster. + +** hm--html-menus - Menus and popups for writing/viewing html documents + +** hyperbole - Personal database + +** ilisp - A comint-based package for interacting with inferior +lisp processes. + + +** iso - Implement various ISO character standards +*** iso/iso-acc.el +Commentary: + +Function `iso-accents-mode' activates a minor mode in which +typewriter "dead keys" are emulated. The purpose of this emulation +is to provide a simple means for inserting accented characters +according to the ISO-8859-1 character set. +*** iso/iso-ascii.el +Commentary: + +This code sets up to display ISO 8859/1 characters on plain +ASCII terminals. The display strings for the characters are +more-or-less based on TeX. +*** iso/iso-cvt.el +Commentary: + +This lisp code serves two purposes, both of which involve +the translation of various conventions for representing European +character sets to ISO 8859-1. + +** mailcrypt - Encrypting/decrypting of mail messages + +** mel - MIME encoding library (see also TM) + +** mh-e - Emacs interface to MH mail reader +*** mh-e/mh-e.el +Commentary: + +mh-e is an Emacs interface to the MH mail system. + +** modes - How to edit files: Ada, asm, awk, bib, cperl, eiffel, ... +*** modes/arc-mode.el +Commentary: + +NAMING: "arc" is short for "archive" and does not refer specifically +to files whose name end in ".arc" + +ARCHIVE TYPES: Currently only the archives below are handled, but the +structure for handling just about anything is in place. + + Arc Lzh Zip Zoo + -------------------------------- +View listing Intern Intern Intern Intern +Extract member Y Y Y Y +Save changed member Y Y Y Y +Add new member N N N N +Delete member Y Y Y Y +Rename member Y Y N N +Chmod - Y Y - +Chown - Y - - +Chgrp - Y - - +*** modes/asm-mode.el +Commentary: + +This minor mode is based on text mode. It defines a private abbrev table +that can be used to save abbrevs for assembler mnemonics. +*** modes/auto-show.el +Commentary: + +This file provides functions that +automatically scroll the window horizontally when the point moves +off the left or right side of the window. +*** modes/awk-mode.el +Commentary: + +Sets up C-mode with support for awk-style #-comments and a lightly +hacked syntax table. +*** modes/bib-mode.el +Commentary: + + GNU Emacs code to help maintain databases compatible with (troff) + refer and lookbib. The file bib-file should be set to your + bibliography file. Keys are automagically inserted as you type, + and appropriate keys are presented for various kinds of entries. +*** modes/bibtex.el +*** modes/cc-compat.el +Commentary: + +Boring old c-mode.el (BOCM) is confusion and brain melt. cc-mode.el +is clarity of thought and purity of chi. If you are still unwilling +to accept enlightenment, this might help, or it may prolong your +agony. +*** modes/cc-guess.el +Commentary: + +This file contains routines that help guess the cc-mode style in a +particular region of C, C++, or Objective-C code. It is provided +for example and experimentation only. It is not supported in +anyway. Some folks have asked for a style guesser and the best way +to show my thoughts on the subject is with this sample code. Feel +free to improve upon it in anyway you'd like. Please send me the +results. Note that style guessing is lossy! +*** modes/cc-lobotomy.el +Commentary: + +Every effort has been made to improve the performance of +cc-mode. However, due to the nature of the C, C++, and Objective-C +language definitions, a trade-off is often required between +accuracy of construct recognition and speed. I believe it is always +best to be correct, and that the mode is currently fast enough for +most normal usage. Others disagree. I have no intention of +including these hacks in the main distribution. When cc-mode +version 5 comes out, it will include a rewritten indentation engine +so that performance will be greatly improved automatically. This +was not included in this release of version 4 so that Emacs 18 +could still be supported. Note that this implies that cc-mode +version 5 will *not* work on Emacs 18! +*** modes/cc-mode.el +Commentary: + +This package provides modes in GNU Emacs for editing C, C++, +Objective-C, and Java code. It is intended to be a replacement for +c-mode.el (a.k.a. BOCM -- Boring Old C-Mode), c++-mode.el, +cplus-md.el, and cplus-md1.el, all of which are in some way +ancestors of this file. A number of important improvements have +been made, briefly: complete K&R C, ANSI C, `ARM' C++, Objective-C, +and Java support with consistent indentation across all modes, more +intuitive indentation controlling variables, compatibility across +all known Emacsen, nice new features, and tons of bug fixes. This +package is called "CC Mode" to distinguish it from its ancestors, +but there is no cc-mode command. Usage and programming details are +contained in an accompanying texinfo manual. +*** modes/cl-indent.el +Commentary: + +This package supplies a single entry point, common-lisp-indent-function, +which performs indentation in the preferred style for Common Lisp code. +*** modes/cperl-mode.el Can't find any Commentary section +*** modes/eiffel3.el Can't find any Commentary section +*** modes/enriched.el Can't find any Commentary section +*** modes/executable.el +Commentary: + +executable.el is used by certain major modes to insert a suitable +#! line at the beginning of the file, if the file does not already +have one. + +*** modes/f90.el +Commentary: + +Smart mode for editing F90 programs in FREE FORMAT. +Knows about continuation lines, named structured statements, and other +new features in F90 including HPF (High Performance Fortran) structures. +The basic feature is to provide an accurate indentation of F90 programs. +In addition, there are many more features like automatic matching of all +end statements, an auto-fill function to break long lines, a join-lines +function which joins continued lines etc etc. + To facilitate typing, a fairly complete list of abbreviations is provided. + For example, `i is short-hand for integer (if abbrev-mode is on). + +*** modes/follow.el +Commentary: + +`Follow mode' is a minor mode for Emacs 19 and XEmacs which +combines windows into one tall virtual window. + +The feeling of a "virtual window" has been accomplished by the use +of two major techniques: + + * The windows always displays adjacent sections of the buffer. + This means that whenever one window is moved, all the + others will follow. (Hence the name Follow Mode.) + + * Should the point (cursor) end up outside a window, another + window displaying that point is selected, if possible. This + makes it possible to walk between windows using normal cursor + movement commands. +*** modes/fortran.el +Commentary: + +Fortran mode has been upgraded and is now maintained by Stephen A. Wood +(saw@cebaf.gov). It now will use either fixed format continuation line +markers (character in 6th column), or tab format continuation line style +(digit after a TAB character.) A auto-fill mode has been added to +automatically wrap fortran lines that get too long. + +We acknowledge many contributions and valuable suggestions by +Lawrence R. Dodd, Ralf Fassel, Ralph Finch, Stephen Gildea, +Dr. Anil Gokhale, Ulrich Mueller, Mark Neale, Eric Prestemon, +Gary Sabot and Richard Stallman. +*** modes/hideif.el +Commentary: + +Hide-ifdef suppresses the display of code that the preprocessor wouldn't +pass through. The support of constant expressions in #if lines is +limited to identifiers, parens, and the operators: &&, ||, !, and +"defined". Please extend this. +*** modes/hideshow.el +Commentary: + +This file provides `hs-minor-mode'. When active, six commands: + hs-{hide,show}-{all,block}, hs-show-region and hs-minor-mode +are available. They implement block hiding and showing. Blocks are +defined in mode-specific way. In c-mode or c++-mode, they are simply +curly braces, while in lisp-ish modes they are parens. Multi-line +comments (c-mode) can also be hidden. The command M-x hs-minor-mode +toggles the minor mode or sets it (similar to outline minor mode). +See documentation for each command for more info. +*** modes/icon.el +Commentary: + +A major mode for editing the Icon programming language. +*** modes/ksh-mode.el + + +Description: + sh, ksh, and bash script editing commands for emacs. + + This major mode assists shell script writers with indentation + control and control structure construct matching in much the same + fashion as other programming language modes. Invoke describe-mode + for more information. +*** modes/lisp-mnt.el +Commentary: + +This minor mode adds some services to Emacs-Lisp editing mode. + +First, it knows about the header conventions for library packages. +One entry point supports generating synopses from a library directory. +Another can be used to check for missing headers in library files. +*** modes/lisp-mode.el +Commentary: + +The base major mode for editing Lisp code (used also for Emacs Lisp). +This mode is documented in the Emacs manual +*** modes/m4-mode.el +Commentary: + +A smart editing mode for m4 macro definitions. It seems to have most of the +syntax right (sexp motion commands work, but function motion commands don't). +It also sets the font-lock syntax stuff for colorization +*** modes/mail-abbrevs.el Can't find any Commentary section +*** modes/make-mode.el +Commentary: + +A major mode for editing makefiles. The mode knows about Makefile +syntax and defines M-n and M-p to move to next and previous productions. +*** modes/modula2.el +Commentary: + +A major mode for editing Modula-2 code. It provides convenient abbrevs +for Modula-2 keywords, knows about the standard layout rules, and supports +a native compile command. +*** modes/nroff-mode.el +Commentary: + +This package is a major mode for editing nroff source code. It knows +about various nroff constructs, ms, mm, and me macros, and will fill +and indent paragraphs properly in their presence. It also includes +a command to count text lines (excluding nroff constructs), a command +to center a line, and movement commands that know how to skip macros. +*** modes/old-c-mode.el +Commentary: + +A smart editing mode for C code. It knows a lot about C syntax and tries +to position the cursor according to C layout conventions. You can +change the details of the layout style with option variables. Load it +and do M-x describe-mode for details. +*** modes/outl-mouse.el Can't find any Commentary section +*** modes/outline.el +Commentary: + +This package is a major mode for editing outline-format documents. +An outline can be `abstracted' to show headers at any given level, +with all stuff below hidden. See the Emacs manual for details. +*** modes/pascal.el + +Emacs should enter Pascal mode when you find a Pascal source file. +When you have entered Pascal mode, you may get more info by pressing +C-h m. You may also get online help describing various functions by: +C-h f <Name of function you want described> +*** modes/perl-mode.el +*** modes/picture.el +Commentary: + +This code provides the picture-mode commands documented in the Emacs +manual. The screen is treated as a semi-infinite quarter-plane with +support for rectangle operations and `etch-a-sketch' character +insertion in any of eight directions. +*** modes/postscript.el Can't find any Commentary section +modes/prolog.el +Commentary: + +This package provides a major mode for editing Prolog. It knows +about Prolog syntax and comments, and can send regions to an inferior +Prolog interpreter process. +*** modes/python-mode.el +Commentary: + +This is a major mode for editing Python programs. It was developed +by Tim Peters after an original idea by Michael A. Guravage. Tim +subsequently left the net; in 1995, Barry Warsaw inherited the +mode and is the current maintainer. +*** modes/rexx-mode.el Can't find any Commentary section +*** modes/rsz-minibuf.el +Commentary: + +This package allows the entire contents (or as much as possible) of the +minibuffer to be visible at once when typing. As the end of a line is +reached, the minibuffer will resize itself. When the user is done +typing, the minibuffer will return to its original size. +*** modes/scheme.el +Commentary: + +Adapted from Lisp mode by Bill Rozas, jinx@prep. +Initially a query replace of Lisp mode, except for the indentation +of special forms. Probably the code should be merged at some point +so that there is sharing between both libraries. +*** modes/scribe.el Can't find any Commentary section +*** modes/sendmail.el +Commentary: + +This mode provides mail-sending facilities from within Emacs. It is +documented in the Emacs user's manual. +*** modes/sh-script.el +Commentary: + +Major mode for editing shell scripts. Bourne, C and rc shells as well +as various derivatives are supported and easily derived from. Structured +statements can be inserted with one command or abbrev. Completion is +available for filenames, variables known from the script, the shell and +the environment as well as commands. +*** modes/simula.el +Commentary: + +A major mode for editing the Simula language. It knows about Simula +syntax and standard indentation commands. It also provides convenient +abbrevs for Simula keywords. +*** modes/tcl.el +Commentary: + +Major mode for editing Tcl +*** modes/texinfo.el Can't find any Commentary section +*** modes/text-mode.el +Commentary: + +This package provides the fundamental text mode documented in the +Emacs user's manual. +*** modes/two-column.el Can't find any Commentary section +*** modes/verilog-mode.el +Commentary: + +A major mode for editing Verilog HDL source code. When you have +entered Verilog mode, you may get more info by pressing C-h m. You +may also get online help describing various functions by: C-h f +<Name of function you want described> +*** modes/view-less.el +Commentary: + +This mode is for browsing files without changing them. Keybindings +similar to those used by the less(1) program are used. +*** modes/view.el +Commentary: + +This package provides the `view' minor mode documented in the Emacs +user's manual. + +XEmacs: We don't autoload this because we use `view-less' instead. +*** modes/vrml-mode.el +Commentary: + +Mostly bastardized from tcl.el. +*** modes/whitespace-mode.el +Commentary: + + This is a minor mode, which highlights whitespaces (blanks and + tabs) with different faces, so that it is easier to + distinguish between them. + Toggle the mode with: M-x whitespace-mode + or with: M-x whitespace-incremental-mode + The second one should be used in big files. +*** modes/winmgr-mode.el +Commentary: + +This package is a major mode for editing window configuration files and +also defines font-lock keywords for such files. +*** modes/xpm-mode.el Can't find any Commentary section +modes/xrdb-mode.el Can't find any Commentary section + +** mu - Message Utilities library (part of the Tools for MIME). + +** ns - NeXTstep + +** oobr - Browser for Object Oriented languages +*** oobr/br-c++-ft.el Can't find any Commentary section + +** packages - Lot's of stuff: array, baloon help, version control, ... +*** packages/add-log.el +Commentary: + +This facility is documented in the Emacs Manual. +*** packages/apropos.el +Commentary: + +The ideas for this package were derived from the C code in +src/keymap.c and elsewhere. The functions in this file should +always be byte-compiled for speed. Someone should rewrite this in +C (as part of src/keymap.c) for speed. +*** packages/array.el +Commentary: + +Commands for editing a buffer interpreted as a rectangular array +or matrix of whitespace-separated strings. You specify the array +dimensions and some other parameters at startup time. +*** packages/auto-save.el Can't find any Commentary section +packages/autoinsert.el +Commentary: + + The following defines an association list for text to be + automatically inserted when a new file is created, and a function + which automatically inserts these files; the idea is to insert + default text much as the mode is automatically set using + auto-mode-alist. +*** packages/avoid.el +Commentary: + +For those who are annoyed by the mouse pointer obscuring text, +this mode moves the mouse pointer - either just a little out of +the way, or all the way to the corner of the frame. +To use, load or evaluate this file and type M-x mouse-avoidance-mode . +To set up permanently, put this file on your .emacs: +*** packages/backup-dir.el Can't find any Commentary section +*** packages/balloon-help.el Can't find any Commentary section +*** packages/big-menubar.el Can't find any Commentary section +*** packages/blink-cursor.el +*** packages/blink-paren.el Can't find any Commentary section +*** packages/bookmark.el Can't find any Commentary section +*** packages/buff-menu.el +Commentary: + +Edit, delete, or change attributes of all currently active Emacs +buffers from a list summarizing their state. A good way to browse +any special or scratch buffers you have loaded, since you can't find +them by filename. The single entry point is `Buffer-menu-mode', +normally bound to C-x C-b. +*** packages/chistory.el +Commentary: + +This really has nothing to do with list-command-history per se, but +its a nice alternative to C-x ESC ESC (repeat-complex-command) and +functions as a lister if given no pattern. It's not important +enough to warrant a file of its own. +*** packages/cmuscheme.el +Commentary: + + This is a customisation of comint-mode (see comint.el) +*** packages/crypt.el +Commentary: + +NOTE: Apparently not being maintained by the author, who now +uses jka-compr.el. --ben (1/26/96) +Included patch (1/26/96) + +Code for handling all sorts of compressed and encrypted files.| +*** packages/cu-edit-faces.el Can't find any Commentary section +*** packages/dabbrev.el +Commentary: + +The purpose with this package is to let you write just a few +characters of words you've written earlier to be able to expand +them. +*** packages/desktop.el +Commentary: + +Save the Desktop, i.e., + - some global variables + - the list of buffers with associated files. For each buffer also + - the major mode + - the default directory + - the point + - the mark & mark-active + - buffer-read-only + - some local variables +*** packages/fast-lock.el +Commentary: + +Lazy Lock mode is a Font Lock support mode. +It makes visiting a file in Font Lock mode faster by restoring its face text +properties from automatically saved associated Font Lock cache files. +*** packages/font-lock.el +Font-lock-mode is a minor mode that causes your comments to be +displayed in one face, strings in another, reserved words in another, +documentation strings in another, and so on. +*** packages/func-menu.el Can't find any Commentary section +*** packages/generic-sc.el Can't find any Commentary section +*** packages/gnuserv.el Can't find any Commentary section +*** packages/gopher.el +Commentary: +OPERATING INSTRUCTIONS + +To use, `M-x gopher'. To specify a different root server, use +`C-u M-x gopher'. If you want to use bookmarks, set the variable +gopher-support-bookmarks appropriately. +*** packages/hexl.el +Commentary: + +This package implements a major mode for editing binary files. It uses +a program called hexl, supplied with the GNU Emacs distribution, that +can filter a binary into an editable format or from the format back into +binary. For full instructions, invoke `hexl-mode' on an empty buffer and +do `M-x describe-mode'. +*** packages/hyper-apropos.el +Commentary: + + Rather than run apropos and print all the documentation at once, + I find it easier to view a "table of contents" first, then + get the details for symbols as you need them. +*** packages/icomplete.el +Commentary: + +Loading this package implements a more fine-grained minibuffer +completion feedback scheme. Prospective completions are concisely +indicated within the minibuffer itself, with each successive +keystroke. +*** packages/igrep.el Can't find any Commentary section +*** packages/info.el Can't find any Commentary section +*** packages/informat.el Can't find any Commentary section +*** packages/ispell.el +Commentary: +*** packages/jka-compr.el +Commentary: + +This package implements low-level support for reading, writing, +and loading compressed files. It hooks into the low-level file +I/O functions (including write-region and insert-file-contents) so +that they automatically compress or uncompress a file if the file +appears to need it (based on the extension of the file name). +Packages like Rmail, VM, GNUS, and Info should be able to work +with compressed files without modification. +*** packages/lazy-lock.el +Commentary: + +Purpose: + +To make visiting buffers in `font-lock-mode' faster by making fontification +be demand-driven and stealthy. +Fontification only occurs when, and where, necessary. +*** packages/ledit.el +Commentary: + +This is a major mode for editing Liszt. See etc/LEDIT for details. +*** packages/lispm-fonts.el Can't find any Commentary section +*** packages/lpr.el +Commentary: + +Commands to send the region or a buffer your printer. Entry points +are `lpr-buffer', `print-buffer', lpr-region', or `print-region'; option +variables include `lpr-switches' and `lpr-command'. +*** packages/makeinfo.el +Commentary: + +The Texinfo mode `makeinfo' related commands are: +*** packages/makesum.el +Commentary: + +Displays a nice human-readable summary of all keybindings in a +two-column format. +*** packages/man.el Can't find any Commentary section +*** packages/metamail.el +Commentary: + +Note: Metamail does not have all options which is compatible with +the environment variables. For that reason, matamail.el have to +hack the environment variables. In addition, there is no way to +display all header fields without extra informative body messages +which are suppressed by "-q" option. + +The idea of using metamail to process MIME messages is from +gnus-mime.el by Spike <Spike@world.std.com>. +*** packages/mic-paren.el Can't find any Commentary section +*** packages/mime-compose.el Can't find any Commentary section +*** packages/mode-motion+.el Can't find any Commentary section +*** packages/netunam.el +Commentary: + +Use the Remote File Access (RFA) facility of HP-UX from Emacs. +*** packages/page-ext.el +Commentary: + +You may use these commands to handle an address list or other +small data base. +*** packages/paren.el +Commentary: + +Purpose of this package: + + This package highlights matching parens (or whole sexps) for easier + editing of source code, particularly lisp source code. +*** packages/pending-del.el Can't find any Commentary section +*** packages/ps-print.el +Commentary: + +This package provides printing of Emacs buffers on PostScript +printers; the buffer's bold and italic text attributes are +preserved in the printer output. Ps-print is intended for use with +Emacs 19 or Lucid Emacs, together with a fontifying package such as +font-lock or hilit. +*** packages/rcompile.el +Commentary: + +This package is for running a remote compilation and using emacs to parse +the error messages. It works by rsh'ing the compilation to a remote host +and parsing the output. If the file visited at the time remote-compile was +called was loaded remotely (ange-ftp), the host and user name are obtained +by the calling ange-ftp-ftp-name on the current directory. In this case the +next-error command will also ange-ftp the files over. This is achieved +automatically because the compilation-parse-errors function uses +default-directory to build it's file names. If however the file visited was +loaded locally, remote-compile prompts for a host and user and assumes the +files mounted locally (otherwise, how was the visited file loaded). +*** packages/recent-files.el Can't find any Commentary section +*** packages/refbib.el +Commentary: + +Use: from a buffer containing the refer-style bibliography, + M-x r2b-convert-buffer +Program will prompt for an output buffer name, and will log +warnings during the conversion process in the buffer *Log*. +*** packages/remote.el Can't find any Commentary section +*** packages/reportmail.el Can't find any Commentary section +*** packages/resume.el +Commentary: + +The purpose of this library is to handle command line arguments +when you resume an existing Emacs job. + +You can't get the benefit of this library by using the `emacs' command, +since that always starts a new Emacs job. Instead you must use a +command called `edit' which knows how to resume an existing Emacs job +if you have one, or start a new Emacs job if you don't have one. + +To define the `edit' command, run the script etc/emacs.csh (if you use CSH), +or etc/emacs.bash if you use BASH. You would normally do this in your +login script. +*** packages/saveconf.el Can't find any Commentary section +*** packages/saveplace.el +Commentary: + +Automatically save place in files, so that visiting them later +(even during a different Emacs session) automatically moves point +to the saved position, when the file is first found. Uses the +value of buffer-local variable save-place to determine whether to +save position or not. +*** packages/sccs.el Can't find any Commentary section +*** packages/scroll-in-place.el Can't find any Commentary section +*** packages/server.el +Commentary: + +This Lisp code is run in Emacs when it is to operate as +a server for other processes. + +*** packages/shell-font.el Can't find any Commentary section +*** packages/spell.el +Commentary: + +This mode provides an Emacs interface to the UNIX spell(1) program. +Entry points are `spell-buffer', `spell-word', `spell-region' and +`spell-string'. These facilities are documented in the Emacs user's +manual. +*** packages/supercite.el Can't find any Commentary section +*** packages/tar-mode.el Can't find any Commentary section +*** packages/terminal.el Can't find any Commentary section +*** packages/tex-latin1.el Can't find any Commentary section +*** packages/texinfmt.el Can't find any Commentary section +*** packages/texnfo-tex.el Can't find any Commentary section +*** packages/texnfo-upd.el +Commentary: +*** packages/time-stamp.el +Commentary: + +If you put a time stamp template anywhere in the first 8 lines of a file, +it can be updated every time you save the file. See the top of +time-stamp.el for a sample. The template looks like one of the following: + Time-stamp: <> + Time-stamp: " " +The time stamp is written between the brackets or quotes, resulting in + Time-stamp: <95/01/18 10:20:51 gildea> +*** packages/time.el +Commentary: + +Facilities to display current time/date and a new-mail indicator +in the Emacs mode line. The single entry point is `display-time'. +*** packages/uncompress.el +Commentary: + +This package can be used to arrange for automatic uncompress of +files packed with the UNIX compress(1) utility when they are visited. +All that's necessary is to load it. This can conveniently be done from +your .emacs file. +*** packages/underline.el +Commentary: + +This package deals with the primitive form of underlining +consisting of prefixing each character with "_\^h". The entry +point `underline-region' performs such underlining on a region. +The entry point `ununderline-region' removes it. +*** packages/upd-copyr.el Can't find any Commentary section +*** packages/vc.el +Commentary: + +This mode is fully documented in the Emacs user's manual. + +Supported version-control systems presently include SCCS, RCS, and CVS. +The RCS lock-stealing code doesn't work right unless you use RCS 5.6.2 +or newer. Currently (January 1994) that is only a beta test release. +Even initial checkins will fail if your RCS version is so old that ci +doesn't understand -t-; this has been known to happen to people running +NExTSTEP 3.0. +*** packages/webjump.el +Change Log: +*** packages/webster-ucb.el Can't find any Commentary section +*** packages/webster.el Can't find any Commentary section +*** packages/xscheme.el Can't find any Commentary section + + +** pcl-cvs - Front end to CVS (see also vc -- version control) +*** pcl-cvs/cookie.el +Commentary: + + Introduction + ============ + +Cookie is a package that implements a connection between an +dll (a doubly linked list) and the contents of a buffer. +Possible uses are dired (have all files in a list, and show them), +buffer-list, kom-prioritize (in the LysKOM elisp client) and +others. pcl-cvs.el uses cookie.el. +*** pcl-cvs/dll-debug.el +Commentary: + +This is a plug-in replacement for dll.el. It is dreadfully +slow, but it facilitates debugging. Don't trust the comments in +this file too much. +(provide 'dll) + +*** pcl-cvs/dll.el +Commentary: + +A doubly linked list consists of one cons cell which holds the tag +'DL-LIST in the car cell and a pointer to a dummy node in the cdr +cell. The doubly linked list is implemented as a circular list +with the dummy node first and last. The dummy node is recognized +by comparing it to the node which the cdr of the cons cell points +to. + +*** pcl-cvs/elib-node.el +Commentary: + +A node is implemented as an array with three elements, using +(elt node 0) as the left pointer +(elt node 1) as the right pointer +(elt node 2) as the data +*** pcl-cvs/pcl-cvs-startup.el Can't find any Commentary section +*** pcl-cvs/pcl-cvs-xemacs.el Can't find any Commentary section +*** pcl-cvs/pcl-cvs.el Can't find any Commentary section +*** pcl-cvs/string.el +Commentary: + + +This file is part of the elisp library Elib. +It implements simple generic string functions for use in other +elisp code: replace regexps in strings, split strings on regexps. + +** prim - Lots of XEmacs primitives (see Emacs-Lisp manual). +*** prim/about.el Can't find any Commentary section +*** prim/advocacy.el Can't find any Commentary section +*** prim/auto-autoloads.el Can't find any Commentary section +*** prim/backquote.el Can't find any Commentary section +*** prim/buffer.el Can't find any Commentary section +*** prim/case-table.el Can't find any Commentary section +*** prim/cleantree.el +Commentary: + +This code is derived from Gnus based on a suggestion by + David Moore <dmoore@ucsd.edu> +*** prim/cmdloop.el Can't find any Commentary section +*** prim/cmdloop1.el Can't find any Commentary section +*** prim/console.el Can't find any Commentary section +*** prim/custom-load.el Can't find any Commentary section +*** prim/debug.el +Commentary: + +This is a major mode documented in the Emacs manual. +*** prim/device.el Can't find any Commentary section +*** prim/dialog.el Can't find any Commentary section +*** prim/disp-table.el Can't find any Commentary section +*** prim/env.el +Commentary: + +UNIX processes inherit a list of name-to-string associations from their +parents called their `environment'; these are commonly used to control +program options. This package permits you to set environment variables +to be passed to any sub-process run under XEmacs. +*** prim/events.el Can't find any Commentary section +*** prim/extents.el Can't find any Commentary section +*** prim/faces.el Can't find any Commentary section +*** prim/files.el +Commentary: + +Defines most of XEmacs's file- and directory-handling functions, +including basic file visiting, backup generation, link handling, +ITS-id version control, load- and write-hook handling, and the like. +*** prim/fill.el +Commentary: + +All the commands for filling text. These are documented in the XEmacs +Reference Manual. +*** prim/float-sup.el Can't find any Commentary section +*** prim/format.el +Commentary: + +This file defines a unified mechanism for saving & loading files stored +in different formats. `format-alist' contains information that directs +Emacs to call an encoding or decoding function when reading or writing +files that match certain conditions. +*** prim/frame.el Can't find any Commentary section +*** prim/glyphs.el Can't find any Commentary section +*** prim/gui.el Can't find any Commentary section +*** prim/help.el +Commentary: + +This code implements XEmacs's on-line help system, the one invoked by +`M-x help-for-help'. +*** prim/inc-vers.el Can't find any Commentary section +*** prim/indent.el +Commentary: + +Commands for making and changing indentation in text. These are +described in the XEmacs Reference Manual. +*** prim/isearch-mode.el Can't find any Commentary section +*** prim/itimer-autosave.el +Commentary: + +itimer-driven auto-saves +*** prim/itimer.el Can't find any Commentary section +*** prim/keydefs.el Can't find any Commentary section +*** prim/keymap.el Can't find any Commentary section +*** prim/lisp.el +Commentary: + +Lisp editing commands to go with Lisp major mode. +*** prim/loaddefs.el +Commentary: + +You should never need to write autoloads by hand and put them here. + +It is no longer necessary. Instead use autoload.el to maintain them +for you. Just insert ";;;###autoload" before defuns or defmacros you +want to be autoloaded, or other forms you want copied into loaddefs.el +(defvars, key definitions, etc.). +*** prim/loadup-el.el Can't find any Commentary section +*** prim/loadup.el +Commentary: + +This is loaded into a bare Emacs to make a dumpable one. +*** prim/macros.el +Commentary: + +Extension commands for keyboard macros. These permit you to assign +a name to the last-defined keyboard macro, expand and insert the +lisp corresponding to a macro, query the user from within a macro, +or apply a macro to each line in the reason. + +This file is largely superseded by edmacro.el as of XEmacs 20.1. -sb +*** prim/menubar.el Can't find any Commentary section +*** prim/minibuf.el +Commentary: + +Written by Richard Mlynarik 2-Oct-92 +*** prim/misc.el Can't find any Commentary section +*** prim/mode-motion.el Can't find any Commentary section +*** prim/modeline.el Can't find any Commentary section +*** prim/mouse.el Can't find any Commentary section +*** prim/novice.el +Commentary: + +This mode provides a hook which is, by default, attached to various +putatively dangerous commands in a (probably futile) attempt to +prevent lusers from shooting themselves in the feet. +*** prim/objects.el Can't find any Commentary section +*** prim/obsolete.el Can't find any Commentary section +*** prim/options.el +Commentary: + +This code provides functions to list and edit the values of all global +option variables known to loaded Emacs Lisp code. There are two entry +points, `list-options' and `edit' options'. The latter enters a major +mode specifically for editing option values. Do `M-x describe-mode' in +that context for more details. +*** prim/overlay.el Can't find any Commentary section +*** prim/page.el +Commentary: + +This code provides the page-oriented movement and selection commands +documented in the XEmacs Reference Manual. +*** prim/paragraphs.el +Commentary: + +This package provides the paragraph-oriented commands documented in the +XEmacs Reference Manual. +*** prim/process.el Can't find any Commentary section +*** prim/profile.el Can't find any Commentary section +*** prim/rect.el +Commentary: + +This package provides the operations on rectangles that are ocumented +in the XEmacs Reference Manual. +*** prim/register.el +Commentary: + +This package of functions emulates and somewhat extends the venerable +TECO's `register' feature, which permits you to save various useful +pieces of buffer state to named variables. The entry points are +documented in the XEmacs Reference Manual. +*** prim/replace.el +Commentary: + +This package supplies the string and regular-expression replace functions +documented in the XEmacs Reference Manual. + +All the gettext calls are for XEmacs I18N3 message catalog support. +*** prim/reposition.el +Commentary: + +Reposition-window makes an entire function definition or comment visible, +or, if it is already visible, places it at the top of the window; +additional invocations toggle the visibility of comments preceding the +code. For the gory details, see the documentation for reposition-window; +rather than reading that, you may just want to play with it. + +This tries pretty hard to do the recentering correctly; the precise +action depends on what the buffer looks like. If you find a situation +where it doesn't behave well, let me know. This function is modeled +after one of the same name in ZMACS, but the code is all-new and the +behavior in some situations differs. +*** prim/scrollbar.el Can't find any Commentary section +*** prim/simple.el +Commentary: + +A grab-bag of basic XEmacs commands not specifically related to some +major mode or to file-handling. +*** prim/sort.el +Commentary: + +This package provides the sorting facilities documented in the XEmacs +Reference Manual. +*** prim/sound.el Can't find any Commentary section +*** prim/specifier.el Can't find any Commentary section +*** prim/startup.el Can't find any Commentary section +*** prim/subr.el +Commentary: + +There's not a whole lot in common now with the FSF version, +be wary when applying differences. I've left in a number of lines +of commentary just to give diff(1) something to synch itself with to +provide useful context diffs. -sb +*** prim/symbols.el +Commentary: + +The idea behind magic variables is that you can specify arbitrary +behavior to happen when setting or retrieving a variable's value. The +purpose of this is to make it possible to cleanly provide support for +obsolete variables (e.g. unread-command-event, which is obsolete for +unread-command-events) and variable compatibility +(e.g. suggest-key-bindings, the FSF equivalent of +teach-extended-commands-p and teach-extended-commands-timeout). +*** prim/syntax.el Can't find any Commentary section +*** prim/tabify.el +Commentary: + +Commands to optimize spaces to tabs or expand tabs to spaces in a region +(`tabify' and `untabify'). The variable tab-width does the obvious. +*** prim/toolbar.el Can't find any Commentary section +*** prim/undo-stack.el Can't find any Commentary section +*** prim/update-elc.el Can't find any Commentary section +*** prim/userlock.el +Commentary: + +This file is autoloaded to handle certain conditions +detected by the file-locking code within XEmacs. +The two entry points are `ask-user-about-lock' and +`ask-user-about-supersession-threat'. +*** prim/window.el Can't find any Commentary section + +** psgml - SGML/HTML editing mode +*** psgml/iso-sgml.el Can't find any Commentary section +*** psgml/psgml-api.el +Commentary: + +Provides some extra functions for the API to PSGML. + +*** psgml/psgml-charent.el +Commentary: + + Functions to convert character entities into displayable characters + and displayable characters back into character entities. + +*** psgml/psgml-debug.el Can't find any Commentary section +*** psgml/psgml-dtd.el +Commentary: + +Part of major mode for editing the SGML document-markup language. + +*** psgml/psgml-edit.el +Commentary: + +Part of major mode for editing the SGML document-markup language. + +*** psgml/psgml-fs.el +Commentary: + +The function `style-format' formats the SGML-file in the current +buffer according to the style defined in the file `psgml-style.fs' +(or the file given by the variable `fs-style'). + +To try it load this file and open the test file example.sgml. Then +run the emacs command `M-x style-format'. + +The style file should contain a single Lisp list. The elements of +this list, are them self lists, describe the style for an element type. +The sublists begin with the generic identifier for the element types and +the rest of the list are characteristic/value pairs. + +E.g. ("p" block t left 4 top 2) + +Defines the style for p-elements to be blocks with left margin 4 and +at least to blank lines before the block. + +*** psgml/psgml-html.el +Commentary: + +Parts were taken from html-helper-mode and from code by Alastair Burt. + +Feb 18 1997, Heiko Muenkel: Added the hook variable html-mode-hook. +; With that you can now use the hm--html-minor-mode together +; with this mode. For that you've to add the following line +; to your ~/.emacs: +; (add-hook 'html-mode-hook 'hm--html-minor-mode) +*** psgml/psgml-info.el +Commentary: + +This file is an addon to the PSGML package. + +This file contains some commands to print out information about the +current DTD. +*** psgml/psgml-other.el +Commentary: + +Part of psgml.el. Code not compatible with XEmacs. + +*** psgml/psgml-parse.el +Commentary: + +Part of major mode for editing the SGML document-markup language. + +*** psgml/psgml-xemacs.el +Commentary: + +Part of psgml.el + +Menus for use with XEmacs + +*** psgml/psgml.el +Commentary: + +Major mode for editing the SGML document-markup language. +*** psgml/tempo.el +Commentary: + +This file provides a simple way to define powerful templates, or +macros, if you wish. It is mainly intended for, but not limited to, +other programmers to be used for creating shortcuts for editing +certain kind of documents. It was originally written to be used by +a HTML editing mode written by Nelson Minar <nelson@santafe.edu>, +and his html-helper-mode.el is probably the best example of how to +use this program. + +** rmail - Reading Mail (see also VM and GNUS) +*** rmail/rmail-kill.el +Commentary: +*** rmail/rmail-xemacs.el +Commentary: + +Right button pops up a menu of commands in Rmail and Rmail summary buffers. +Middle button selects indicated mail message in Rmail summary buffer +*** rmail/rmail.el Can't find any Commentary section +*** rmail/rmailedit.el Can't find any Commentary section +*** rmail/rmailkwd.el Can't find any Commentary section +*** rmail/rmailmsc.el Can't find any Commentary section +*** rmail/rmailout.el Can't find any Commentary section +*** rmail/rmailsort.el Can't find any Commentary section +*** rmail/rmailsum.el +Commentary: + + Provided all commands from rmail-mode in rmail-summary-mode and made key + bindings in both modes wholly compatible. +*** rmail/undigest.el +Commentary: + +See Internet RFC 934 +*** rmail/unrmail.el Can't find any Commentary section + +** sunpro - Additional code for interfacing with SunPro products. +*** sunpro/sunpro-init.el Can't find any Commentary section +*** sunpro/sunpro-keys.el Can't find any Commentary section +*** sunpro/sunpro-load.el Can't find any Commentary section +*** sunpro/sunpro-menubar.el +Commentary: + Creates the default SunPro menubars. +*** sunpro/sunpro-sparcworks.el +Commentary: + +Called from the SPARCworks Manager with the command: + + xemacs -q -l sunpro-sparcworks $SUNPRO_SWM_TT_ARGS $SUNPRO_SWM_GUI_ARGS + +** term - Terminal specific initialization: vt100, wyse, ... +*** term/AT386.el +Commentary: + +Uses the Emacs 19 terminal initialization features --- won't work with 18. +*** term/apollo.el Can't find any Commentary section +*** term/bg-mouse.el Can't find any Commentary section +*** term/bobcat.el Can't find any Commentary section +*** term/internal.el Can't find any Commentary section +*** term/keyswap.el +Commentary: + +This package is meant to be called by other terminal packages. +*** term/linux.el Can't find any Commentary section +*** term/lk201.el Can't find any Commentary section +*** term/news.el +Commentary: + +Uses the Emacs 19 terminal initialization features --- won't work with 18. +*** term/pc-win.el Can't find any Commentary section +*** term/scoansi.el Can't find any Commentary section +*** term/sun-mouse.el +Commentary: +*** term/sun.el +Commentary: + +The function key sequences for the console have been converted for +use with function-key-map, but the *tool stuff hasn't been touched. +*** term/sup-mouse.el Can't find any Commentary section +*** term/tty-init.el +Commentary: +*** term/tvi970.el +Commentary: + +Uses the Emacs 19 terminal initialization features --- won't work with 18. +*** term/vt-control.el +Commentary: + + The functions contained in this file send various VT control codes + to the terminal where emacs is running. The following functions are + available. +*** term/vt100-led.el Can't find any Commentary section +*** term/vt100.el +Commentary: + +Uses the Emacs 19 terminal initialization features --- won't work with 18. + +Handles all VT100 clones, including the Apollo terminal. Also handles +the VT200 --- its PF- and arrow- keys are different, but all those +are really set up by the terminal initialization code, which mines them +out of termcap. This package is here to define the keypad comma, dash +and period (which aren't in termcap's repertoire) and the function for +changing from 80 to 132 columns & vv. +*** term/vt102.el Can't find any Commentary section +*** term/vt125.el Can't find any Commentary section +*** term/vt200.el Can't find any Commentary section +*** term/vt201.el Can't find any Commentary section +*** term/vt220.el Can't find any Commentary section +*** term/vt240.el Can't find any Commentary section +*** term/vt300.el Can't find any Commentary section +*** term/vt320.el Can't find any Commentary section +*** term/vt400.el Can't find any Commentary section +*** term/vt420.el Can't find any Commentary section +*** term/win32-win.el +Commentary: + +win32-win.el: this file is loaded from ../lisp/startup.el when it recognizes +that win32 windows are to be used. Command line switches are parsed and those +pertaining to win32 are processed and removed from the command line. The +win32 display is opened and hooks are set for popping up the initial window. + +startup.el will then examine startup files, and eventually call the hooks +which create the first window (s). +*** term/wyse50.el +Commentary: + +The Wyse50 is ergonomically wonderful, but its escape-sequence design sucks +rocks. The left-arrow key emits a backspace (!) and the down-arrow a line +feed (!!). Thus, you have to unbind some commonly-used Emacs keys to +enable the arrows. +*** term/xterm.el Can't find any Commentary section + +** tl - Tiny Library (Part of the Tools for MIME). +*** tl/bitmap.el Can't find any Commentary section +*** tl/cless.el Can't find any Commentary section +*** tl/emu-e19.el Can't find any Commentary section +*** tl/emu-orig.el Can't find any Commentary section +*** tl/emu-xemacs.el Can't find any Commentary section +*** tl/emu.el Can't find any Commentary section +*** tl/file-detect.el Can't find any Commentary section +*** tl/filename.el Can't find any Commentary section +*** tl/mu-cite.el +Commentary: +*** tl/mu-comment.el +Commentary: + + type `C-c C-q' at the beginning of S-expression you want to + comment out. +*** tl/mu-replace.el +Commentary: +*** tl/range.el Can't find any Commentary section +*** tl/richtext.el Can't find any Commentary section +*** tl/std11-parse.el Can't find any Commentary section +*** tl/std11.el Can't find any Commentary section +*** tl/texi-util.el Can't find any Commentary section +*** tl/tinyrich.el Can't find any Commentary section +*** tl/tl-822.el Can't find any Commentary section +*** tl/tl-atype.el Can't find any Commentary section +*** tl/tl-list.el Can't find any Commentary section +*** tl/tl-misc.el Can't find any Commentary section +*** tl/tl-num.el Can't find any Commentary section +*** tl/tl-seq.el Can't find any Commentary section +*** tl/tl-str.el Can't find any Commentary section +*** tl/tu-comment.el +Commentary: +*** tl/tu-replace.el +Commentary: + +** tm - Tools for MIME -- integrates in VM, RMAIL, GNUS +*** tm/gnus-art-mime.el Can't find any Commentary section +*** tm/gnus-charset.el Can't find any Commentary section +*** tm/gnus-mime-old.el Can't find any Commentary section +*** tm/gnus-mime.el Can't find any Commentary section +*** tm/gnus-msg-mime.el Can't find any Commentary section +*** tm/gnus-sum-mime.el Can't find any Commentary section +*** tm/message-mime.el Can't find any Commentary section +*** tm/mime-setup.el Can't find any Commentary section +*** tm/sc-setup.el Can't find any Commentary section +*** tm/signature.el Can't find any Commentary section +*** tm/tm-bbdb.el Can't find any Commentary section +*** tm/tm-def.el Can't find any Commentary section +*** tm/tm-edit-mc.el Can't find any Commentary section +*** tm/tm-edit.el +Commentary: + +This is an Emacs minor mode for editing Internet multimedia +messages formatted in MIME (RFC 2045, 2046, 2047, 2048 and 2049). +All messages in this mode are composed in the tagged MIME format, +that are described in the following examples. The messages +composed in the tagged MIME format are automatically translated +into a MIME compliant message when exiting the mode. +*** tm/tm-ew-d.el Can't find any Commentary section +*** tm/tm-ew-e.el Can't find any Commentary section +*** tm/tm-file.el Can't find any Commentary section +*** tm/tm-ftp.el Can't find any Commentary section +*** tm/tm-gd3.el Can't find any Commentary section +*** tm/tm-gnus.el Can't find any Commentary section +*** tm/tm-gnus4.el Can't find any Commentary section +*** tm/tm-gnus5.el Can't find any Commentary section +*** tm/tm-html.el Can't find any Commentary section +*** tm/tm-image.el +Commentary: + If you use this program with MULE, please install + etl8x16-bitmap.bdf font included in tl package. +*** tm/tm-latex.el Can't find any Commentary section +*** tm/tm-mail.el Can't find any Commentary section +*** tm/tm-mh-e.el Can't find any Commentary section +*** tm/tm-orig.el Can't find any Commentary section +*** tm/tm-parse.el Can't find any Commentary section +*** tm/tm-partial.el Can't find any Commentary section +*** tm/tm-pgp.el +Commentary: + + This module is based on 2 drafts about PGP MIME integration: +*** tm/tm-play.el Can't find any Commentary section +*** tm/tm-rmail.el Can't find any Commentary section +*** tm/tm-setup.el Can't find any Commentary section +*** tm/tm-sgnus.el Can't find any Commentary section +*** tm/tm-tar.el Can't find any Commentary section +*** tm/tm-text.el Can't find any Commentary section +*** tm/tm-view.el Can't find any Commentary section +*** tm/tm-vm.el +Commentary: + + Plese insert `(require 'tm-vm)' in your ~/.vm file. +*** tm/tmh-comp.el Can't find any Commentary section + +** tooltalk - Support for Tooltalk protocol +*** tooltalk/tooltalk-init.el Can't find any Commentary section +*** tooltalk/tooltalk-load.el Can't find any Commentary section +*** tooltalk/tooltalk-macros.el Can't find any Commentary section +*** tooltalk/tooltalk-util.el Can't find any Commentary section + +** utils - Lots of stuff +*** utils/abbrevlist.el Can't find any Commentary section +*** utils/advice.el +Commentary: + +This package implements a full-fledged Lisp-style advice mechanism +for Emacs Lisp. Advice is a clean and efficient way to modify the +behavior of Emacs Lisp functions without having to keep personal +modified copies of such functions around. A great number of such +modifications can be achieved by treating the original function as a +black box and specifying a different execution environment for it +with a piece of advice. Think of a piece of advice as a kind of fancy +hook that you can attach to any function/macro/subr. +*** utils/annotations.el Can't find any Commentary section +*** utils/assoc.el +Commentary: + +Association list utilities providing insertion, deletion, sorting +fetching off key-value pairs in association lists. +*** utils/atomic-extents.el Can't find any Commentary section +*** utils/autoload.el +Commentary: + +This code helps GNU Emacs maintainers keep the loaddefs.el file up to +date. It interprets magic cookies of the form ";;;###autoload" in +lisp source files in various useful ways. To learn more, read the +source; if you're going to use this, you'd better be able to. +*** utils/bench.el +Commentary: + +Adapted from Shane Holder's bench.el by steve@altair.xemacs.org. + +To run +Extract the shar file in /tmp, or modify bench-lisp-file to +point to the gnus.el file. +At the shell prompt emacs -q --no-site-file <= don't load users .emacs or site- +file +M-x byte-compile-file "/tmp/bench.el" +M-x load-file "/tmp/bench.elc" +In the scratch buffer (bench 1) + + +All bench marks must be named bench-mark-<something> +Results are put in bench-mark-<something-times which is a list of + times for the runs. +If the bench mark is not simple then there needs to be a + corresponding bench-handler-<something> +*** utils/blessmail.el +Commentary: + +This is loaded into a bare Emacs to create the blessmail script, +which (on systems that need it) is used during installation +to give appropriate permissions to movemail. + +It has to be done from lisp in order to be sure of getting the +correct value of rmail-spool-directory. +*** utils/browse-cltl2.el Can't find any Commentary section +*** utils/browse-url.el +Commentary: + +This package provides functions which read a URL (Uniform Resource +Locator) from the minibuffer, defaulting to the URL around point, +and ask a World-Wide Web browser to load it. It can also load the +URL associated with the current buffer. Different browsers use +different methods of remote control so there is one function for +each supported browser. If the chosen browser is not running, it +is started. Currently there is support for: + +*** utils/crontab.el Can't find any Commentary section +*** utils/delbackspace.el Can't find any Commentary section +*** utils/derived.el +Commentary: + +GNU Emacs is already, in a sense, object oriented -- each object +(buffer) belongs to a class (major mode), and that class defines +the relationship between messages (input events) and methods +(commands) by means of a keymap. + +In the mean time, this package offers most of the advantages of +full inheritance with the existing major modes. The macro +`define-derived-mode' allows the user to make a variant of an existing +major mode, with its own keymap. The new mode will inherit the key +bindings of its parent, and will, in fact, run its parent first +every time it is called. For example, the commands +*** utils/detached-minibuf.el +Commentary: + +WARNING. DANGER. This file reportedly crashes 19.14, use it only with a +recent XEmacs. + +Version: 1.1 +*** utils/docref.el +Commentary: + +This package allows you to use a simple form of cross references in +your Emacs Lisp documentation strings. Cross-references look like +\\(type@[label@]data), where type defines a method for retrieving +reference informatin, data is used by a method routine as an argument, +and label "represents" the reference in text. If label is absent, data +is used instead. +*** utils/easymenu.el Can't find any Commentary section +*** utils/edmacro.el +Commentary: + +Usage: + +The `C-x C-k' (`edit-kbd-macro') command edits a keyboard macro +in a special buffer. It prompts you to type a key sequence, +which should be one of: +*** utils/eldoc.el +Commentary: + +This program was inspired by the behavior of the "mouse documentation +window" on many Lisp Machine systems; as you type a function's symbol +name as part of a sexp, it will print the argument list for that +function. Behavior is not identical; for example, you need not actually +type the function name, you need only move point around in a sexp that +calls it. Also, if point is over a documented variable, it will print +the one-line documentation for that variable instead, to remind you of +that variable's meaning. +*** utils/elp.el +Commentary: + +If you want to profile a bunch of functions, set elp-function-list +to the list of symbols, then do a M-x elp-instrument-list. This +hacks those functions so that profiling information is recorded +whenever they are called. To print out the current results, use +M-x elp-results. If you want output to go to standard-output +instead of a separate buffer, setq elp-use-standard-output to +non-nil. With elp-reset-after-results set to non-nil, profiling +information will be reset whenever the results are displayed. You +can also reset all profiling info at any time with M-x +elp-reset-all. +*** utils/facemenu.el +Commentary: + +This file defines a menu of faces (bold, italic, etc) which allows you to +set the face used for a region of the buffer. Some faces also have +keybindings, which are shown in the menu. Faces with names beginning with +"fg:" or "bg:", as in "fg:red", are treated specially. +Such faces are assumed to consist only of a foreground (if "fg:") or +background (if "bg:") color. They are thus put into the color submenus +rather than the general Face submenu. These faces can also be +automatically created by selecting the "Other..." menu items in the +"Foreground" and "Background" submenus. +*** utils/find-gc.el +Commentary: + +Produce in unsafe-list the set of all functions that may invoke GC. +This expects the Emacs sources to live in emacs-source-directory. +It creates a temporary working directory /tmp/esrc. +*** utils/finder.el +Commentary: + +This mode uses the Keywords library header to provide code-finding +services by keyword. +*** utils/floating-toolbar.el +Commentary: + +The command `floating-toolbar' pops up a small frame +containing a toolbar. The command should be bound to a +button-press event. If the mouse press happens over an +extent that has a non-nil 'floating-toolbar property, the +value of that property is the toolbar instantiator that will +be displayed. Otherwise the toolbar displayed is taken from +the variable `floating-toolbar'. This variable can be made +buffer local to produce buffer local floating toolbars. +*** utils/flow-ctrl.el +Commentary: + +Terminals that use XON/XOFF flow control can cause problems with +GNU Emacs users. This file contains Emacs Lisp code that makes it +easy for a user to deal with this problem, when using such a +terminal. + +*** utils/foldout.el +Commentary: + +This file provides folding editor extensions for outline-mode and +outline-minor-mode buffers. What's a "folding editor"? Read on... + +Imagine you're in an outline-mode buffer and you've hidden all the text and +subheadings under your level-1 headings. You now want to look at the stuff +hidden under one of these headings. Normally you'd do C-c C-e (show-entry) +to expose the body or C-c C-i to expose the child (level-2) headings. + +With foldout, you do C-c C-z (foldout-zoom-subtree). This exposes the body +and child subheadings and narrows the buffer so that only the level-1 +heading, the body and the level-2 headings are visible. If you now want to +look under one of the level-2 headings, position the cursor on it and do C-c +C-z again. This exposes the level-2 body and its level-3 child subheadings +and narrows the buffer again. You can keep on zooming in on successive +subheadings as much as you like. A string in the modeline tells you how +deep you've gone. +*** utils/forms-d2.el Can't find any Commentary section +*** utils/forms-pass.el Can't find any Commentary section +*** utils/forms.el +Commentary: + +Visit a file using a form. + +Forms mode means visiting a data file which is supposed to consist +of records each containing a number of fields. The records are +separated by a newline, the fields are separated by a user-defined +field separator (default: TAB). +When shown, a record is transferred to an Emacs buffer and +presented using a user-defined form. One record is shown at a +time. +*** utils/frame-icon.el +Commentary: +*** utils/hide-copyleft.el Can't find any Commentary section +*** utils/highlight-headers.el Can't find any Commentary section +*** utils/id-select.el Can't find any Commentary section +*** utils/lib-complete.el Can't find any Commentary section +*** utils/live-icon.el Can't find any Commentary section +*** utils/loadhist.el +Commentary: + +These functions exploit the load-history system variable. +*** utils/mail-extr.el +Commentary: + + mail-extract-address-components: (address) + + Given an RFC-822 ADDRESS, extract full name and canonical address. + Returns a list of the form (FULL-NAME CANONICAL-ADDRESS). + If no name can be extracted, FULL-NAME will be nil. + ADDRESS may be a string or a buffer. If it is a buffer, the visible + (narrowed) portion of the buffer will be interpreted as the address. + (This feature exists so that the clever caller might be able to avoid + consing a string.) + If ADDRESS contains more than one RFC-822 address, only the first is + returned. + +*** utils/mail-utils.el +Commentary: + +Utility functions for mail and netnews handling. These handle fine +points of header parsing. +*** utils/mailpost.el +Commentary: + +Yet another mail interface. this for the rmail system to provide + the missing sendmail interface on systems without /usr/lib/sendmail, + but with /usr/uci/post. +*** utils/map-ynp.el +Commentary: + +map-y-or-n-p is a general-purpose question-asking function. +It asks a series of y/n questions (a la y-or-n-p), and decides to +applies an action to each element of a list based on the answer. +The nice thing is that you also get some other possible answers +to use, reminiscent of query-replace: ! to answer y to all remaining +questions; ESC or q to answer n to all remaining questions; . to answer +y once and then n for the remainder; and you can get help with C-h. +*** utils/meese.el +Commentary: +This file is grossly misnamed. It should be called reno.el. +*** utils/passwd.el Can't find any Commentary section +*** utils/pp.el Can't find any Commentary section +*** utils/pretty-print.el Can't find any Commentary section +*** utils/redo.el +Commentary: + +Emacs' normal undo system allows you to undo an arbitrary +number of buffer changes. These undos are recorded as ordinary +buffer changes themselves. So when you break the chain of +undos by issuing some other command, you can then undo all +the undos. The chain of recorded buffer modifications +therefore grows without bound, truncated only at garbage +collection time. + +*** utils/regi.el Can't find any Commentary section +*** utils/reporter.el +Commentary: +Lisp Package Authors +==================== +Reporter was written primarily for Emacs Lisp package authors so +that their users can easily report bugs. When invoked, +reporter-submit-bug-report will set up an outgoing mail buffer with +the appropriate bug report address, including a lisp expression the +maintainer of the package can eval to completely reproduce the +environment in which the bug was observed (e.g. by using +eval-last-sexp). This package proved especially useful during my +development of cc-mode, which is highly dependent on its +configuration variables. +*** utils/rfc822.el Can't find any Commentary section +*** utils/ring.el +Commentary: + +This code defines a ring data structure. A ring is a + (hd-index length . vector) +list. You can insert to, remove from, and rotate a ring. When the ring +fills up, insertions cause the oldest elts to be quietly dropped. +*** utils/shadowfile.el Can't find any Commentary section +*** utils/skeleton.el +Commentary: + +A very concise language extension for writing structured statement +skeleton insertion commands for programming language modes. This +originated in shell-script mode and was applied to ada-mode's +commands which shrunk to one third. And these commands are now +user configurable. +*** utils/smtpmail.el +Commentary: + +Send Mail to smtp host from smtpmail temp buffer. +*** utils/soundex.el +Commentary: + +The Soundex algorithm maps English words into representations of +how they sound. Words with vaguely similar sound map to the same string. +*** utils/speedbar.el +Commentary: + + The speedbar provides a frame in which files, and locations in +files are displayed. These items can be clicked on with mouse-2 +in order to make the last active frame display that file location. +*** utils/symbol-syntax.el Can't find any Commentary section +*** utils/sysdep.el Can't find any Commentary section +*** utils/text-props.el +Commentary: + +This is a nearly complete implementation of the FSF19 text properties API. +Please let me know if you notice any differences in behavior between +this implementation and the FSF implementation. +*** utils/thing.el Can't find any Commentary section +*** utils/timezone.el Can't find any Commentary section +*** utils/tq.el +Commentary: + +manages receiving a stream asynchronously, +parsing it into transactions, and then calling +handler functions + +Our basic structure is the queue/process/buffer triple. Each entry +of the queue is a regexp/closure/function triple. We buffer +bytes from the process until we see the regexp at the head of the +queue. Then we call the function with the closure and the +collected bytes. +*** utils/trace.el +Commentary: + +A simple trace package that utilizes advice.el. It generates trace +information in a Lisp-style fashion and inserts it into a trace output +buffer. Tracing can be done in the background (or silently) so that +generation of trace output won't interfere with what you are currently +doing. +*** utils/tree-menu.el Can't find any Commentary section +*** utils/uniquify.el +Commentary: + +Emacs's standard method for making buffer names unique adds <2>, <3>, +etc. to the end of (all but one of) the buffers. This file replaces +that behavior, for buffers visiting files and dired buffers, with a +uniquification that adds parts of the file name until the buffer names +are unique. For instance, buffers visiting /u/mernst/tmp/Makefile and +/usr/projects/zaphod/Makefile would be named Makefile|tmp and +Makefile|zaphod, respectively (instead of Makefile and Makefile<2>). +Other buffer name styles are also available. +*** utils/xbm-button.el Can't find any Commentary section +*** utils/xpm-button.el Can't find any Commentary section + +** viper - VI emulator +*** viper/viper-ex.el Can't find any Commentary section +*** viper/viper-init.el Can't find any Commentary section +*** viper/viper-keym.el Can't find any Commentary section +*** viper/viper-macs.el Can't find any Commentary section +*** viper/viper-mous.el Can't find any Commentary section +*** viper/viper-util.el Can't find any Commentary section +*** viper/viper.el Can't find any Commentary section + +** vm - Mail reader +See the online documentation. + +** vms - Stuff for Emacs under VMS +vms/vms-patch.el Can't find any Commentary section +*** vms/vmsproc.el Can't find any Commentary section +*** vms/vmsx.el Can't find any Commentary section + +** w3 - World Wide Web browser under Emacs +See the online documentation. + +** x11 - X11 specific stuff: compose keys, menubars, toolbar, ... +*** x11/x-compose.el Can't find any Commentary section +*** x11/x-faces.el Can't find any Commentary section +*** x11/x-font-menu.el +Commentary: + +Creates three menus, "Font", "Size", and "Weight", and puts them on the +"Options" menu. The contents of these menus are the superset of those +properties available on any fonts, but only the intersection of the three +sets is selectable at one time. +*** x11/x-init.el +Commentary: +*** x11/x-iso8859-1.el Can't find any Commentary section +*** x11/x-menubar.el +Commentary: +*** x11/x-misc.el Can't find any Commentary section +*** x11/x-mouse.el Can't find any Commentary section +*** x11/x-scrollbar.el Can't find any Commentary section +*** x11/x-select.el Can't find any Commentary section +*** x11/x-toolbar.el Can't find any Commentary section +*** x11/x-win-sun.el +Commentary: + +This file is loaded by x-win.el at run-time when we are sure that XEmacs +is running on the display of a Sun. + +The Sun X server (both the MIT and OpenWindows varieties) have extremely +stupid names for their keypad and function keys. For example, the key +labeled 3 / PgDn, with R15 written on the front, is actually called F35. +*** x11/x-win-xfree86.el Can't find any Commentary section + + +* What Changed =================== @@ -158,7 +2681,7 @@ don't have Motif. (Even for those who do, the look-alike may be preferable as it is faster.) -If you're running on a machine with audio hardware, you can specify sound +If you're running on a machine with audio hardware, you can specify sound files for XEmacs to play instead of the default X beep. See the documentation of the function load-sound-file and the variable sound-alist. @@ -181,95 +2704,95 @@ NOTE: All timestamps are measured as milliseconds since Emacs started. - key_press_event - event_channel A token representing which keyboard generated it. - For this kind of event, this is a frame object. - (This is for eventual support of multiple displays.) - timestamp When it happened - key What keysym this is; an integer or a symbol. - If this is an integer, it will be in the printing - ASCII range: >32 and <127. - modifiers Bucky-bits on that key: control, meta, etc. - For most keys, Shift is not a bit; that is implicit - in the keyboard layout. + key_press_event + event_channel A token representing which keyboard generated it. + For this kind of event, this is a frame object. + (This is for eventual support of multiple displays.) + timestamp When it happened + key What keysym this is; an integer or a symbol. + If this is an integer, it will be in the printing + ASCII range: >32 and <127. + modifiers Bucky-bits on that key: control, meta, etc. + For most keys, Shift is not a bit; that is implicit + in the keyboard layout. button_press_event button_release_event - event_channel A token representing which mouse generated it. - For this kind of event, this is a frame object. - timestamp When it happened - button What button went down or up. - modifiers Bucky-bits on that button: shift, control, meta, etc. - x, y Where it was at the button-state-change (in pixels). + event_channel A token representing which mouse generated it. + For this kind of event, this is a frame object. + timestamp When it happened + button What button went down or up. + modifiers Bucky-bits on that button: shift, control, meta, etc. + x, y Where it was at the button-state-change (in pixels). pointer_motion_event - event_channel A token representing which mouse generated it. - For this kind of event, this is a frame object. - timestamp When it happened - x, y Where it was after it moved (in pixels). - modifiers Bucky-bits down when the motion was detected. - (Possibly not all window systems will provide this?) + event_channel A token representing which mouse generated it. + For this kind of event, this is a frame object. + timestamp When it happened + x, y Where it was after it moved (in pixels). + modifiers Bucky-bits down when the motion was detected. + (Possibly not all window systems will provide this?) process_event - timestamp When it happened - process the emacs "process" object in question + timestamp When it happened + process the emacs "process" object in question timeout_event - timestamp Now (really, when the timeout was signaled) - interval_id The ID returned when the associated call to - add_timeout_cb() was made - ------ the rest of the fields are filled in by Emacs ----- - id_number The Emacs timeout ID for this timeout (more - than one timeout event can have the same value - here, since Emacs timeouts, as opposed to - add_timeout_cb() timeouts, can resignal - themselves) - function An elisp function to call when this timeout is - processed. - object The object passed to that function. + timestamp Now (really, when the timeout was signaled) + interval_id The ID returned when the associated call to + add_timeout_cb() was made + ------ the rest of the fields are filled in by Emacs ----- + id_number The Emacs timeout ID for this timeout (more + than one timeout event can have the same value + here, since Emacs timeouts, as opposed to + add_timeout_cb() timeouts, can resignal + themselves) + function An elisp function to call when this timeout is + processed. + object The object passed to that function. eval_event - timestamp When it happened - function An elisp function to call with this event object. - object Anything. - This kind of event is used internally; sometimes the - window system interface would like to inform emacs of - some user action (such as focusing on another frame) - but needs that to happen synchronously with the other - user input, like keypresses. This is useful when - events are reported through callbacks rather - than in the standard event stream. + timestamp When it happened + function An elisp function to call with this event object. + object Anything. + This kind of event is used internally; sometimes the + window system interface would like to inform emacs of + some user action (such as focusing on another frame) + but needs that to happen synchronously with the other + user input, like keypresses. This is useful when + events are reported through callbacks rather + than in the standard event stream. misc_user_event - timestamp When it happened - function An elisp function to call with this event object. - object Anything. - This is similar to an eval_event, except that it is - generated by user actions: selections in the - menubar or scrollbar actions. It is a "command" - event, like key and mouse presses (and unlike mouse - motion, process output, and enter and leave window - hooks). In many ways, eval_events are not the same - as keypresses or misc_user_events. + timestamp When it happened + function An elisp function to call with this event object. + object Anything. + This is similar to an eval_event, except that it is + generated by user actions: selections in the + menubar or scrollbar actions. It is a "command" + event, like key and mouse presses (and unlike mouse + motion, process output, and enter and leave window + hooks). In many ways, eval_events are not the same + as keypresses or misc_user_events. magic_event - No user-serviceable parts within. This is for things - like KeymapNotify and ExposeRegion events and so on - that emacs itself doesn't care about, but which it - must do something with for proper interaction with - the window system. - - Magic_events are handled somewhat asynchronously, just - like subprocess filters. However, occasionally a - magic_event needs to be handled synchronously; in that - case, the asynchronous handling of the magic_event will - push an eval_event back onto the queue, which will be - handled synchronously later. This is one of the - reasons why eval_events exist; I'm not entirely happy - with this aspect of this event model. - - -The function `next-event' blocks and returns one of the above-described + No user-serviceable parts within. This is for things + like KeymapNotify and ExposeRegion events and so on + that emacs itself doesn't care about, but which it + must do something with for proper interaction with + the window system. + + Magic_events are handled somewhat asynchronously, just + like subprocess filters. However, occasionally a + magic_event needs to be handled synchronously; in that + case, the asynchronous handling of the magic_event will + push an eval_event back onto the queue, which will be + handled synchronously later. This is one of the + reasons why eval_events exist; I'm not entirely happy + with this aspect of this event model. + + +The function `next-event' blocks and returns one of the above-described event objects. The function `dispatch-event' takes an event and processes it in the appropriate way. @@ -301,7 +2824,7 @@ The variable `unread-command-char' no longer exists, and has been replaced by `unread-command-events'. With the new event model, it is incorrect for code to do (setq unread-command-char (read-char)), because all user-input -can't be represented as ASCII characters. *** This is an incompatible +can't be represented as ASCII characters. *** This is an incompatible change. Code which sets `unread-command-char' must be updated to use the combination of `next-command-event' and `unread-command-events' instead. @@ -320,12 +2843,12 @@ Instead of keymaps being alists or obarrays, they are a new primary data type. The only user access to the contents of a keymap is through the existing keymap-manipulation functions, and a new function, map-keymap. -This means that existing code that manipulates keymaps may need to +This means that existing code that manipulates keymaps may need to be changed. One of our goals with the new input and keymap code was to make more character combinations available for binding, besides just ASCII and -function keys. We want to be able bind different commands to Control-a +function keys. We want to be able bind different commands to Control-a and Control-Shift-a; we also want it to be possible for the keys Control-h and Backspace (and Control-M and Return, and Control-I and Tab, etc) to be distinct. @@ -335,10 +2858,10 @@ be lucky enough to have a system administrator who has done this for you already; but if it were possible to bind backspace and C-h to different things, then (under a window manager at least) both backspace and delete -would delete a character, and ^H would be help. There's no need to deal +would delete a character, and ^H would be help. There's no need to deal with xmodmap, kbd-translate-table, etc. -Here are some more examples: suppose you want to bind one function to Tab, +Here are some more examples: suppose you want to bind one function to Tab, and another to Control-Tab. This can't be done if Tab and Control-I are the same thing. What about control keys that have no ASCII equivalent, like Control-< ? One might want that to be bound to set-mark-at-point-min. We @@ -347,8 +2870,8 @@ indistinguishable. The user represents keys as a string of ASCII characters (when possible and -convenient), or as a vector of event objects, or as a vector of "key -description lists", that looks like (control a), or (control meta delete) +convenient), or as a vector of event objects, or as a vector of "key +description lists", that looks like (control a), or (control meta delete) or (shift f1). The order of the modifier-names is not significant, so (meta control x) and (control meta x) are the same. @@ -356,7 +2879,7 @@ into a keymap. When Emacs wants to return a key sequence (this-command-keys, recent-keys, keyboard-macros, and read-key-sequence, for example) it returns a vector of event objects. Keyboard macros can also be represented as ASCII -strings or as vectors of key description lists. +strings or as vectors of key description lists. This is an incompatible change: code which calls `this-command-keys', `recent-keys', `read-key-sequence', or manipulates keyboard-macros probably @@ -464,29 +2987,29 @@ The second element is the callback function; if it is a symbol, it is invoked with `call-interactively.' If it is a list, it is invoked with -`eval'. +`eval'. If the second element is a symbol, then the menu also displays the key that is bound to that command (if any). The third element of the menu items determines whether the item is selectable. It may be t, nil, or a form to evaluate. Also, a hook is run just before a -menu is exposed, which can be used to change the value of these slots. +menu is exposed, which can be used to change the value of these slots. For example, there is a hook that makes the "undo" menu item be selectable -only in the cases when `advertised-undo' would not signal an error. +only in the cases when `advertised-undo' would not signal an error. Menus may have other menus nested within them; they will cascade. There are utility functions for adding items to menus, deleting items, disabling them, etc. -The function `popup-menu' takes a menu description and pops it up. - -The function `popup-dialog-box' takes a dialog-box description and pops +The function `popup-menu' takes a menu description and pops it up. + +The function `popup-dialog-box' takes a dialog-box description and pops it up. Dialog box descriptions look a lot like menu descriptions. -The menubar, menu, and dialog-box code is implemented as a library, -with an interface which hides the toolkit that implements it. +The menubar, menu, and dialog-box code is implemented as a library, +with an interface which hides the toolkit that implements it. *** Isearch Changes @@ -497,8 +3020,8 @@ - the old isearch-*-char variables are no longer supported. In the old system, one could make ^A mean "repeat the search" by doing something - like (setq search-repeat-char ?C-a). In the new system, this is - accomplished with + like (setq search-repeat-char ?C-a). In the new system, this is + accomplished with (define-key isearch-mode-map "\C-a" 'isearch-repeat-forward) @@ -537,7 +3060,7 @@ The default values for load-path, exec-path, lock-directory, and Info-directory-list are not (necessarily) built into Emacs, but are -computed at startup time. +computed at startup time. First, Emacs looks at the directory in which its executable file resides: @@ -586,8 +3109,8 @@ /usr/local/xemacs/info/ This configuration might be used for a multi-architecture installation; assume -that $LOCAL refers to a directory which contains only files specific to a -particular architecture (i.e., executables) and $SHARED refers to those files +that $LOCAL refers to a directory which contains only files specific to a +particular architecture (i.e., executables) and $SHARED refers to those files which are not machine specific (i.e., lisp code and documentation.) $LOCAL/bin/xemacs@ -> $LOCAL/xemacs-19.14/xemacs* @@ -1112,7 +3635,7 @@ standard Xt command-line arguments. XEmacs understands the X11 "Selection" mechanism; it's possible to define -and customize selection converter functions and new selection types from +and customize selection converter functions and new selection types from Emacs Lisp, without having to recompile XEmacs. XEmacs provides support for ToolTalk on systems that have it. @@ -1148,7 +3671,7 @@ visiting two names of the same file. See the variables find-file-use-truenames and find-file-compare-truenames. -If you're running on a machine with audio hardware, you can specify sound +If you're running on a machine with audio hardware, you can specify sound files for XEmacs to play instead of the default X beep. See the documentation of the function load-sound-file and the variable sound-alist. @@ -1180,138 +3703,6 @@ The online Emacs Manual and Emacs-Lisp Manual are now both relatively up-to-date. -* XEmacs Release Notes -====================== - -** Future Plans for XEmacs -========================== - -This is the end of the line for XEmacs v19. No new development is planned -on this source tree. XEmacs 20.1 will contain the functionality in 19.15, -and development will continue with XEmacs 20.2. The major new `feature' -planned in 20.2 will be the introduction of separable packages and the -capability to download and use an XEmacs lite distribution. - -** Major Differences Between 19.14 and 19.15 -============================================ - -Many bugs have been fixed. An effort has been made to eradicate all -XEmacs crashes, although we are not quite done yet. The overall -quality of XEmacs should be higher than any previous release. XEmacs -now compiles with nary a warning with some compilers. - --- EFS replaces ange-ftp for remote file manipulation capability. - --- TM (Tools for Mime) now comes with XEmacs. This provides MIME - (Multi-purpose Internet Multi-media Extensions?) support for Mail - and News. The primary author is Morioka Tomohiko. - --- AUCTeX is now included with XEmacs. The primary author is Per - Abrahamsen. - --- Command line processing should work much better now - no more order - dependencies. - --- Customization of user options is now handled by the custom package - written by Per Abrahamsen. - --- html mode now defaults to using HTML-3.2 - --- VM now has a native MIME mode - --- The traditional time.el package now has optional modeline graphics - --- The XEmacs Logo has been changed courtesy of Jens Lautenbacher - --- The XEmacs build procedure has been changed to make it easier than - ever to include new packages to be dumped with the binary - --- Many many package upgraded (thanks go to countless maintainers): - - -- ediff 2.64 (Michael Kifer) - -- Gnus 5.4.36 (Lars Magne Ingebrigtsen) - -- w3 3.0.71 (Bill Perry) - -- ilisp 5.8 (Chris McConnell, Ivan Vasquez, Marco Antoniotti, Rick - Campbell) - -- VM 6.22 (Kyle Jones) - -- etags 11.78 (Francesco Potorti`) - -- ksh-mode.el 2.9 - -- vhdl-mode.el 2.73 (Rod Whitby) - -- id-select.el 1.4.5 (Bob Weiner) - -- EDT/TPU emulation modes should work now for the first time. - -- viper 2.93 (Michael Kifer) is now the `official' vi emulator for XEmacs. - -- big-menubar should work much better now. - -- mode-motion+.el 3.16 - -- backup-dir 2.0 (Greg Klanderman) - -- ps-print.el-3.05 (Jacques Duthen Prestataire) - -- lazy-lock-1.16 (Simon Marshall) - -- fast-lock.el 3.10.2 (Simon Marshall) - -- reporter 3.3 (Barry Warsaw) - -- hm--html-menus 5.4 (Heiko Muenkel) - -- cc-mode 4.387 (Barry Warsaw) - -- elp 2.37 (Barry Warsaw) - -- itimer.el-1.05 (Kyle Jones) - -- floating-toolbar.el-1.02 (Kyle Jones) - -- balloon-help.el-1.05 (Kyle Jones) - -- hyperbole-4.023 (Bob Weiner) - -- cperl-mode-1.31+ - -- OO-Browser 2.10 (Bob Weiner) - --- Many new packages have been added: - -- m4-mode 1.8 (Andrew Csillag) - -- crisp.el - crisp/brief emulation (Gary D. Foster) - -- Johan Vroman's iso-acc.el has been ported to XEmacs by Alexandre Oliva - -- psgml-1.01 (Lennart Staflin, James Clark) - -- python-mode.el 2.90 (Barry Warsaw) - -- vrml-mode.el (Ben Wing) - -- enriched.el, face-menu.el (Boris Goldowsky, Michael Sperber) - -- sh-script.el (Daniel Pfeiffer) - -- decipher.el (Christopher J. Madsen) - -- mic-paren.el (Mikael Sjödin) - -- xrdb-mode.el 1.21 (Barry Warsaw) - -- redo.el 1.01 (Kyle Jones) - -- edmacro.el (ported by Hrvoje Niksic) - -- verilog-mode.el (Michael McNamara) - -- webjump.el-1.4 (Neil W. Van Dyke) - -- overlay.el (Joseph Nuspl support for Emacs overlay API) - -- browse-cltl2.el 1.1 (Holger Schauer) - -- mine.el 1.17 (Jacques Duthen) - -- igrep.el 2.56 (Kevin Rodger) - -- speedbar.el (Eric Ludlam) - -- frame-icon.el (Michael Lamoureux) - -- winmgr-mode.el (David Konerding, Stefan Strobel & Barry Warsaw) - -- whitespace-mode.el (Heiko Muenkel) - -- detached-minibuf.el (Alvin Shelton) - --- New function x-keysym-on-keyboard-p helps determine keyboard - characteristics for key rebinding: - - x-keysym-on-keyboard-p: (KEYSYM &optional DEVICE) - -- a built-in function. - Return true if KEYSYM names a key on the keyboard of DEVICE. - More precisely, return true if pressing a physical key - on the keyboard of DEVICE without any modifier keys generates KEYSYM. - Valid keysyms are listed in the files /usr/include/X11/keysymdef.h and in - /usr/lib/X11/XKeysymDB, or whatever the equivalents are on your system. - --- preceding-char and following-char have been obsoleted. Use the - much safer and correct functions char-after and char-before instead. - --- Many symbols present for compatibility with GNU Emacs no longer - generate bytecompiler warning messages - --- Installed info files are now compressed (support courtesy of Joseph J Nuspl) - --- (load-average) works on Solaris, even if you're not root. Thanks to - Hrvoje Niksic. - --- OffiX drag-and-drop support added - --- lots of syncing with 19.34 elisp files, most by Steven Baur - --- M-: (eval-expression) is now enabled by default since it is much - more difficult to type. - ** Major Differences Between 19.13 and 19.14 ============================================ @@ -1700,7 +4091,7 @@ arc-mode: simple editing of archives -auto-show-mode: automatically scrolls horizontally to keep point on-screen +auto-show-mode: automatically scrolls horizontally to keep point on-screen completion: dynamic word completion mode @@ -1713,9 +4104,9 @@ live-icon: makes frame icons represent the current frame contents mailcrypt 3.2: mail encryption with PGP; included but v2.4 is still - the default - -two-column: for editing two-column text + the default + +two-column: for editing two-column text ** Major Differences Between 19.11 and 19.12 @@ -2094,11 +4485,11 @@ `device-type', and `x-color-display-p' and friends are obsoleted by `device-class'. -** NOTE **: The obsolete variable `window-system' is going +*** NOTE **: The obsolete variable `window-system' is going to be deleted soon, probably in 19.14. Please correct all your code to use `device-type'. -** INCOMPATIBLE CHANGE **: The function `x-display-visual-class' +*** INCOMPATIBLE CHANGE **: The function `x-display-visual-class' returns different values from previous versions of XEmacs. @@ -2126,12 +4517,12 @@ In addition, the SIGIO support has been fixed for many systems on which it didn't always work properly before (e.g. HPUX and Solaris). - + *** Events ---------- -** INCOMPATIBLE CHANGE **: Many event functions have been changed to +*** INCOMPATIBLE CHANGE **: Many event functions have been changed to accept and return windows instead of frames. New function: `event-live-p', specifying whether `deallocate-event' @@ -2264,7 +4655,7 @@ *** Fonts, Colors ----------------- -** INCOMPATIBLE CHANGE **: The old "font" and "pixel" objects are gone. +*** INCOMPATIBLE CHANGE **: The old "font" and "pixel" objects are gone. In place are new objects "font specifier", "font instance", "color specifier", and "color instance". Functions `font-name', `pixel-name' (an obsolete alias for `color-name'), etc. are now convenience @@ -2309,7 +4700,7 @@ which faces can be controlled is now based on the general and powerful specifier mechanism; see above. -** INCOMPATIBLE CHANGE **: The glyph and pixmap API has been completely +*** INCOMPATIBLE CHANGE **: The glyph and pixmap API has been completely overhauled. A new Lisp object "glyph" is provided and should be used where the old "pixmap" object would have been used. The pixmap object exists no longer. There are also new Lisp objects "image specifier" @@ -2341,7 +4732,7 @@ `right-margin-width', allowing much more flexible control through the specifier mechanism. -** INCOMPATIBLE CHANGE **: The variable `use-left-overflow', +*** INCOMPATIBLE CHANGE **: The variable `use-left-overflow', for controlling annotations in the left margin, is now a specifier variable instead of a buffer-local variable. (There is also a new variable `use-right-overflow', that is complementary.) @@ -2382,7 +4773,7 @@ now correctly show the keyboard equivalent for commands that are available through a minor-mode keymap, extent-local keymap, etc. -** INCOMPATIBLE CHANGE **: The modifier key "Symbol" has +*** INCOMPATIBLE CHANGE **: The modifier key "Symbol" has been renamed to "Alt", for compatibility with the rest of the world. Keep in mind that on many keyboards, the key labelled "Alt" actually generates the "Meta" modifier. (On Sun keyboards, however, the key @@ -2402,7 +4793,7 @@ Some code from GNU Emacs has been ported over, generalizing some of the X-specific mouse stuff. -** INCOMPATIBLE CHANGE **: The function `set-mouse-position' accepts +*** INCOMPATIBLE CHANGE **: The function `set-mouse-position' accepts a window instead of a frame. New function `mouse-position' that obsoletes and is more powerful than @@ -2444,7 +4835,7 @@ Windows 95 is still not out yet. -** INCOMPATIBLE CHANGE **: The functions `locate-window-from-coordinates' +*** INCOMPATIBLE CHANGE **: The functions `locate-window-from-coordinates' and `window-edges' have been eliminated. It no longer makes sense to work with windows in terms of character positions, because windows can (and often do) have many differently-sized fonts in them, because the @@ -2488,51 +4879,10 @@ -*** Packages ------------- - -Most packages have been updated to the latest available versions. - - -Some of the new Emacs Lisp packages --- - -Hyperbole: the everyday information manager. Provides a Rolodex, - allows links to be embedded in text, etc. - -OOBR: a sophisticated class browser for object-oriented languages. - -viper: a better VI emulator that allows Emacs and VI features - to coexist happily. - -hm--html-menus: a sophisticated package for editing HTML code, - from Heiko Muenkel. - -ksh-mode.el: for editing shell scripts. - -lazy-lock.el: a lazy, on-the-fly fontifier. - -paren.el: an improved matching paren highlighter - - - -Major changes to existing packages -- - -VM: has a toolbar, many other nice features. - -w3: has a toolbar, many other nice features. - -ediff: provides three-way merging, has a better user interface. - -info: has a toolbar. - -highlight-headers.el: now highlights URL's and makes them active so - that when clicked either Netscape 1.1 is called - or Emacs W3 is run. - ** Major Differences Between 19.10 and 19.11 ============================================ - + The name has changed from "Lucid Emacs" to "XEmacs". Along with this is a new canonical ftp site: cs.uiuc.edu:/pub/xemacs. @@ -2633,7 +4983,7 @@ C-x - shrink-window-if-larger-than-buffer C-x + balance-windows -The variable allow-deletion-of-last-visible-screen has been removed, since +The variable allow-deletion-of-last-visible-screen has been removed, since it was widely hated. You can now always delete the last visible screen if there are other iconified screens in existence. @@ -2658,7 +5008,7 @@ There is now an implementation of dialog boxes based on the Athena widgets, as well as the existing Motif implementation. -This release works with Motif 1.2 as well as 1.1. If you link with Motif, +This release works with Motif 1.2 as well as 1.1. If you link with Motif, you do not also need to link with Athena. If you compile lwlib with both USE_MOTIF and USE_LUCID defined (which is the @@ -2666,7 +5016,7 @@ string-drawing library, instead of the Xlib one. The reason for this is that one can take advantage of the XmString facilities for including non-Latin1 characters in resource specifications. However, this is a user-visible change -in that, in this configuration, the menubar will use the "*fontList" resource +in that, in this configuration, the menubar will use the "*fontList" resource in preference to the "*font" resource, if it is set. It's possible to make extents which are copied/pasted by kill and undo. @@ -2690,7 +5040,7 @@ There is a menu of window management commands on the right mouse button over the modelines. -Popup menus now have titles at the top; this is controlled by the new +Popup menus now have titles at the top; this is controlled by the new variable `popup-menu-titles'. The `Find' key on Sun keyboards will search for the next (or previous) @@ -2705,7 +5055,7 @@ Felix Lee's GNUS speedups have been installed, including his new version of nntp.el which makes GNUS efficiently utilize the NNTP XOVER command if -available (which is much faster.) +available (which is much faster.) GNUS should also be much friendlier to new users: it starts up much faster, and doesn't (necessarily) subscribe you to every single newsgroup. @@ -2734,7 +5084,7 @@ The user's manual now documents Lucid Emacs 19.9. The relocating buffer allocator is turned on by default; this means that when -buffers are killed, their storage will be returned to the operating system, +buffers are killed, their storage will be returned to the operating system, and the size of the emacs process will shrink. CAVEAT: code which contains calls to certain `face' accessor functions will @@ -2757,28 +5107,28 @@ - If you define I18N3 at compile-time, then all messages printed by lemacs will be filtered through the gettext() library routine, to enable the use of locale-specific translation catalogues. The current implementation of - this is quite dependent on Solaris 2, and has a very large impact on + this is quite dependent on Solaris 2, and has a very large impact on existing code, therefore we are going to be making major changes soon. (You'll notice calls to `gettext' and `GETTEXT' scattered around much of the lisp and C code; ignore it, this will be going away.) - If you define I18N4 at compile-time, then lemacs will internally use a wide representation of characters, enabling the use of large character - sets such as Kanji. This code is very OS dependent: it requires X11R5, + sets such as Kanji. This code is very OS dependent: it requires X11R5, and several OS-supplied library routines for reading and writing wide characters (getwc(), putwc(), and a few others.) Performance is also a problem. This code is also scheduled for a major overhaul, with the - intent of improving performance and portability. + intent of improving performance and portability. Our eventual goal is to merge with MULE, or at least provide the same base - level of functionality. If you would like to help out with this, let us + level of functionality. If you would like to help out with this, let us know. - - Other work-in-progress includes Motif drag-and-drop support, ToolTalk - support, and support for embedding an Emacs widget inside another + - Other work-in-progress includes Motif drag-and-drop support, ToolTalk + support, and support for embedding an Emacs widget inside another application (where it can function as that other application's text-entry area). This code has not been extensively tested, and may (or may not) - have portability problems, but it's there for the adventurous. Comments, + have portability problems, but it's there for the adventurous. Comments, suggestions, bug reports, and especially fixes are welcome. But have no expectations that this experimental code will work at all. @@ -2897,16 +5247,16 @@ Prototypes have been added for all functions. Emacs compiles in the strict ANSI modes of lcc and gcc, so portability should be vastly improved. -Many many many many core leaks have been plugged, especially in screen +Many many many many core leaks have been plugged, especially in screen creation and deletion. The float support reworked to be more portable and ANSI conformant. This -resulted in these new configuration parameters: HAVE_INVERSE_HYPERBOLIC, -HAVE_CBRT, HAVE_RINT, FLOAT_CHECK_ERRNO, FLOAT_CATCH_SIGILL, +resulted in these new configuration parameters: HAVE_INVERSE_HYPERBOLIC, +HAVE_CBRT, HAVE_RINT, FLOAT_CHECK_ERRNO, FLOAT_CATCH_SIGILL, FLOAT_CHECK_DOMAIN. Let us know if you had to change the defaults on your architecture. -The SunOS unexec has been rewritten, and now works with either static or +The SunOS unexec has been rewritten, and now works with either static or dynamic libraries, depending on whether -Bstatic or -Bdynamic were specified at link-time. @@ -2918,17 +5268,17 @@ If compiled with Motif support, one can pop up dialog boxes from emacs lisp. We encourage someone to contribute Athena an version of this code; it -shouldn't be much work. +shouldn't be much work. If dialog boxes are available, then y-or-n-p and yes-or-no-p use dialog boxes -instead of the minibuffer if invoked as a result of a command that was +instead of the minibuffer if invoked as a result of a command that was executed from a menu instead of from the keyboard. Multiple screen support works better; check out doc of get-screen-for-buffer. The default binding of backspace is the same as delete. (C-h is still help.) -A middle click while the minibuffer is active does completion if you click on +A middle click while the minibuffer is active does completion if you click on a highlighted completion, otherwise it executes the global binding of button2. New versions of Barry Warsaw's c++-mode and syntax.c. Font-lock-mode works @@ -2954,7 +5304,7 @@ are printable. (There will be a less crufty way to do this eventually.) Menubars can now be buffer local; the function set-screen-menubar no longer -exists. Look at GNUS and VM for examples of how to do this, or read +exists. Look at GNUS and VM for examples of how to do this, or read menubar.el. When emacs is reading from the minibuffer with completions, any completions @@ -2962,7 +5312,7 @@ clicking middle on a completion is the same as typing it at the minibuffer. Some implications of this: The *Completions* buffer is always mousable. If you're using the completion feature of find-tag, your source code will be -mousable when you type M-. Dired buffers will be mousable as soon as you +mousable when you type M-. Dired buffers will be mousable as soon as you type ^X^F. And so on. The old isearch code has been replaced with a descendant of Dan LaLiberte's @@ -2985,7 +5335,7 @@ accidentally inflicting experimental software on your users. I've tried to incorporate all of the portability patches that were sent to -me; I tried to solve some of the problems in different ways than the +me; I tried to solve some of the problems in different ways than the patches did, so let me know if I missed something. Some systems will need to define NEED_STRDUP, NEED_REALPATH, HAVE_DREM, or @@ -3003,7 +5353,8 @@ that region with the typed character. font-lock.el: A code-highlighting package, driven off of syntax tables, so - that it understands block comments, strings, etc. The + that it understands block comments, strings, etc. The insertion hook is used to fontify text as you type it in. shell-font.el: Displays your shell-buffer prompt in boldface. +
--- a/lisp/hm--html-menus/ANNOUNCEMENT Mon Aug 13 08:55:13 2007 +0200 +++ b/lisp/hm--html-menus/ANNOUNCEMENT Mon Aug 13 08:55:31 2007 +0200 @@ -1,9 +1,9 @@ Hello, -I've written a new version (5.4) of my html package for the XEmacs +I've written a new version (5.5) of my html package for the XEmacs and the GNU Emacs 19. The name of the package is: - hm--html-menus-5.4.tar.gz + hm--html-menus-5.5.tar.gz With this package it is very easy to write html pages for the World Wide Web (WWW). Eg: In most cases the user gets help to construct a specific @@ -25,7 +25,7 @@ - a lot of bug fixes Read the NEWS file to see news in detail... -You should find hm--html-menus-5.4.tar.gz on the following ftp server: +You should find hm--html-menus-5.5.tar.gz on the following ftp server: sunsite.unc.edu in /pub/Linux/apps/editors/emacs/ ftp.tnt.uni-hannover.de in /pub/editors/xemacs/contrib @@ -39,20 +39,16 @@ can be used together with another html major mode, like the psgml-html mode in the XEmacs 19.14. -NOTE: This version is not tested with the Emacs 19. One of the next -releases in the near future will be a bug fix only release for the -Emacs 19. So please report any bugs to muenkel@tnt.uni-hannover.de. - The package provides functions to insert the following stuff in html-pages: 1. Anchors: relative links, general link; html link, info link, gopher link, file link; - ftp link, news link, mail link, wais (direct) link, + ftp link, news link, mailbox link, mailto link, wais (direct) link, wais (gateway) link; proggate link, local proggate link, link target; 2. Frame elements: - full html frame with doctype, html, head, body, title, + full html frame with doctype, doctype, html, head, body, title, header and signature elements or only the single elements; meta, isindex, link and base element; html 'created'- and 'changed'- comments; @@ -60,20 +56,20 @@ 3. Structure elements: menu or list item, menu, unordered list, ordered list, directory list; description list, description title, description entry; - new paragraph, new line, horizontal rule, document division, table, table title, table header, table row, table entry; + new paragraph, new line, horizontal rule, document division; 4. for formatting paragraphs: - without links, with links, blockquote, listing, abstract; - basefont, font, center; + preformated, blockquote; + basefont, font, center, style; + html comment; 5. formatting: bold, italic, underline, typewriter, strikethru, super and subscript, emphasized, strong, small, big, definition, keyboard, variable, code, sample, citation, - html comment; 6. include: top aligned image, middle aligned image, bottom aligned image; general image element, map, area and all together; - applet, parameter; + applet, parameter, script; 7. forms: form; text, password, isindex, integer, float, date, url, scribble fields; @@ -133,5 +129,3 @@ Heiko - -
--- a/lisp/hm--html-menus/NEWS Mon Aug 13 08:55:13 2007 +0200 +++ b/lisp/hm--html-menus/NEWS Mon Aug 13 08:55:31 2007 +0200 @@ -1,3 +1,37 @@ +25.03.97 + Fixed a bug in `hm--html-search-place-for-element-in-head'. + Fixed bugs in `hm--html-add-base' and `hm--html-add-isindex'. + Renamed all calls to `hm--html-add-mail-link*' to + `hm--html-add-mail-box-link*' - this fixed bugs in the menus and + keybindings. + Fixed `hm--html-frame-template-file'. + Fixed some keybinding bugs. + -- BUILDED the version 5.5 of the package -- +24.03.97 + Added the function `mouse-event-p' for the Emacs 19 to adapt.el. + The internal-drag-and-drop package uses know the function + `file-remote-p' instead of `ange-ftp-ftp-path'. If this + function is not available in an emacs, the function will be + defined and will use the function `ange-ftp-ftp-path'. + Fixed bugs in `idd-mouse-drag-and-drop-click' for the Emacs 19. +23.03.97 + Fixed some bugs, so that the package is now again loadable + in the Emacs 19 (19.34). + Changed popup-menu-up-p to popup-up-p, menu-event-p to + misc-user-event-p. + Fixed some other XEmacs compilation bugs. + Fixed bugs in `hm--html-add-isindex' and `hm--html-add-base'. + Moved the commands `hm--html-add-server-side-include-file', + `hm--html-add-server-side-include-command' and + `hm--html-add-server-side-include-command-with-isindex-parameter' + to hm--html-not-standard.el. + Fixed a bug in `hm--html-add-document-division-to-region'. + Deleted some obsolete stuff in `hm--html-add-link'. + Fixed bugs in `hm--html-add-basefont', `hm--html-add-mail-box-link', + `hm--html-add-mail-box-link-to-region', `idd-list-1-subset-of-list-2', + `idd-same-elements-p', `idd-start-mouse-drag-and-drop', + `idd-mouse-drag-and-drop-click', `idd-if-minor-mode-p', + `idd-if-modifiers-p' and `tmpl-read-template-filename'. 22.03.97 Fixed some documentation bugs in tmpl-minor-mode.el. Changed the key bindings in the tmpl-minor-mode. They are now
--- a/lisp/hm--html-menus/README Mon Aug 13 08:55:13 2007 +0200 +++ b/lisp/hm--html-menus/README Mon Aug 13 08:55:31 2007 +0200 @@ -1,4 +1,4 @@ -This README file describes the emacs lisp package hm--html-menus-5.4. +This README file describes the emacs lisp package hm--html-menus-5.5. The package provides functions and various popup and pulldown menus for a html mode called hm--html-mode, a mode for writing html pages. @@ -27,12 +27,6 @@ and on PC's with linux. But it should work also on other (possibly only UNIX ?) platforms. -NOTE: The current release isn't tested with the Emacs 19 (5.0 is but -5.1 to 5.4 are not). One of the next releases in the near future :-) will be a -bug fix only release for the Emacs 19. So please report any bugs to -muenkel@tnt.uni-hannover.de to shorten the time until the Emacs 19 -related bugs are fixed. - Read the file README-EMACS-19, if you want to use this package with GNU Emacs 19.
--- a/lisp/hm--html-menus/adapt.el Mon Aug 13 08:55:13 2007 +0200 +++ b/lisp/hm--html-menus/adapt.el Mon Aug 13 08:55:31 2007 +0200 @@ -1,6 +1,6 @@ -;;; $Id: adapt.el,v 1.2 1997/02/16 01:29:07 steve Exp $ +;;; $Id: adapt.el,v 1.3 1997/03/26 22:42:37 steve Exp $ ;;; -;;; Copyright (C) 1993, 1994, 1995 Heiko Muenkel +;;; Copyright (C) 1993 - 1997 Heiko Muenkel ;;; email: muenkel@tnt.uni-hannover.de ;;; ;;; This program is free software; you can redistribute it and/or modify @@ -20,7 +20,7 @@ ;;; ;;; Description: ;;; -;;; General functions to port Lucid Emacs to GNU Emacs 19. +;;; General functions to port XEmacs functions to GNU Emacs 19. ;;; ;;; Installation: ;;; @@ -47,7 +47,7 @@ (not (adapt-xemacsp)) (string= (substring emacs-version 0 2) "19"))) -;;; Functions, which doesn't exist in both emacses +;;; Functions, which don't exist in both emacs versions (defun adapt-region-active-p () "Returns t, if a region is active." @@ -55,7 +55,19 @@ (mark) mark-active)) +(if (not (fboundp 'file-remote-p)) + (defun file-remote-p (file) + "Test wether file resides on the local system. +The special value 'unknown is returned if no remote file acess package +has been loaded." + (if (not (featurep 'ange-ftp)) + (require 'ange-ftp)) + (if (not (fboundp 'ange-ftp-ftp-p)) + nil ; better than nothing, if no ange-ftp-ftp-p exists + (ange-ftp-ftp-path file)))) + +;;; Functions, which don't exist in the Emacs 19 (if (adapt-emacs19p) (progn (load-library "lucid") @@ -238,6 +250,20 @@ (and (button-event-p obj) (not (button-press-event-p obj))))) + (if (not (fboundp 'button-click-event-p)) + (defun button-click-event-p (obj) + "True if OBJ is a click event obkect." + ;; only for the Emacs 19 + ;; doesn't exist and can't (?) exist in the XEmacs + (and (button-event-p obj) + (member 'click (event-modifiers obj))))) + + (if (not (fboundp 'mouse-event-p)) + (defun mouse-event-p (obj) + "True if OBJ is a button-press, button-release, or mouse-motion event object." + (or (button-event-p obj) + (member 'drag (event-modifiers obj))))) + (if (not (fboundp 'event-window)) (defun event-window (event) "Return the window of the given mouse event. @@ -316,6 +342,9 @@ (if (not (fboundp 'redraw-modeline)) (defalias 'redraw-modeline 'force-mode-line-update)) + (if (not (fboundp 'mouse-track)) + (defalias 'mouse-track 'mouse-drag-region)) + ))
--- a/lisp/hm--html-menus/hm--html-configuration.el Mon Aug 13 08:55:13 2007 +0200 +++ b/lisp/hm--html-menus/hm--html-configuration.el Mon Aug 13 08:55:31 2007 +0200 @@ -1,6 +1,6 @@ ;;; hm--html-configuration.el - Configurationfile for the html-mode ;;; -;;; $Id: hm--html-configuration.el,v 1.5 1997/03/24 01:26:52 steve Exp $ +;;; $Id: hm--html-configuration.el,v 1.6 1997/03/26 22:42:37 steve Exp $ ;;; ;;; Copyright (C) 1993 - 1997 Heiko Muenkel ;;; email: muenkel@tnt.uni-hannover.de @@ -338,7 +338,7 @@ (defvar hm--html-frame-template-file (concat data-directory "../lisp/hm--html-menus/" - "frame.tmpl") + "frame.html.tmpl") "File, which is used as template for a html frame.") (defvar hm--html-automatic-expand-templates t
--- a/lisp/hm--html-menus/hm--html-keys.el Mon Aug 13 08:55:13 2007 +0200 +++ b/lisp/hm--html-menus/hm--html-keys.el Mon Aug 13 08:55:31 2007 +0200 @@ -1,4 +1,4 @@ -;;; $Id: hm--html-keys.el,v 1.4 1997/03/02 03:43:16 steve Exp $ +;;; $Id: hm--html-keys.el,v 1.5 1997/03/26 22:42:37 steve Exp $ ;;; ;;; Copyright (C) 1995, 1996, 1997 Heiko Muenkel ;;; email: muenkel@tnt.uni-hannover.de @@ -56,7 +56,7 @@ (define-key hm--html-noregion-anchor-map "f" 'hm--html-add-file-link) (define-key hm--html-noregion-anchor-map "\C-f" 'hm--html-add-ftp-link) (define-key hm--html-noregion-anchor-map "n" 'hm--html-add-news-link) - (define-key hm--html-noregion-anchor-map "m" 'hm--html-add-mail-link) + (define-key hm--html-noregion-anchor-map "m" 'hm--html-add-mail-box-link) (define-key hm--html-noregion-anchor-map [(control m)] 'hm--html-add-mailto-link) (define-key hm--html-noregion-anchor-map "w" 'hm--html-add-direct-wais-link) @@ -84,7 +84,7 @@ (define-key hm--html-region-anchor-map "\C-f" 'hm--html-add-ftp-link-to-region) (define-key hm--html-region-anchor-map "n" 'hm--html-add-news-link-to-region) - (define-key hm--html-region-anchor-map "m" 'hm--html-add-mail-link-to-region) + (define-key hm--html-region-anchor-map "m" 'hm--html-add-mail-box-link-to-region) (define-key hm--html-region-anchor-map [(control m)] 'hm--html-add-mailto-link-to-region) (define-key hm--html-region-anchor-map @@ -229,13 +229,13 @@ (define-key hm--html-noregion-formating-paragraph-map "b" 'hm--html-add-blockquote) (define-key hm--html-noregion-formating-paragraph-map - "C-b" 'hm--html-add-basefont) + "\C-b" 'hm--html-add-basefont) (define-key hm--html-noregion-formating-paragraph-map "f" 'hm--html-add-font) (define-key hm--html-noregion-formating-paragraph-map "c" 'hm--html-add-center) (define-key hm--html-noregion-formating-paragraph-map - "C-c" 'hm--html-add-comment-to-region) + "\C-c" 'hm--html-add-comment) ; (define-key hm--html-noregion-formating-paragraph-map ; "l" 'hm--html-add-listing) ; (define-key hm--html-noregion-formating-paragraph-map @@ -255,13 +255,13 @@ (define-key hm--html-region-formating-paragraph-map "b" 'hm--html-add-blockquote-to-region) (define-key hm--html-region-formating-paragraph-map - "C-b" 'hm--html-add-basefont-to-region) + "\C-b" 'hm--html-add-basefont-to-region) (define-key hm--html-region-formating-paragraph-map "f" 'hm--html-add-font-to-region) (define-key hm--html-region-formating-paragraph-map "c" 'hm--html-add-center-to-region) (define-key hm--html-region-formating-paragraph-map - "C-c" 'hm--html-add-comment-to-region) + "\C-c" 'hm--html-add-comment-to-region) ; (define-key hm--html-region-formating-paragraph-map ; "l" 'hm--html-add-listing-to-region) ; (define-key hm--html-region-formating-paragraph-map
--- a/lisp/hm--html-menus/hm--html-menu.el Mon Aug 13 08:55:13 2007 +0200 +++ b/lisp/hm--html-menus/hm--html-menu.el Mon Aug 13 08:55:31 2007 +0200 @@ -1,6 +1,6 @@ ;;; hm--html-menu --- A menu for the hm--html-mode. ;;; -;;; $Id: hm--html-menu.el,v 1.5 1997/03/24 01:26:52 steve Exp $ +;;; $Id: hm--html-menu.el,v 1.6 1997/03/26 22:42:38 steve Exp $ ;;; ;;; Copyright (C) 1993 - 1997 Heiko Muenkel ;;; email: muenkel@tnt.uni-hannover.de @@ -64,7 +64,7 @@ "----" ["Ftp link..." hm--html-add-ftp-link t] ["News link..." hm--html-add-news-link t] - ["Mailbox link..." hm--html-add-mail-link t] + ["Mailbox link..." hm--html-add-mail-box-link t] ["Mailto link..." hm--html-add-mailto-link t] ["Wais link (direct)..." hm--html-add-direct-wais-link t] ["Wais link (gateway)..." hm--html-add-wais-link t] @@ -312,7 +312,7 @@ "----" ["Ftp link..." hm--html-add-ftp-link-to-region t] ["News link..." hm--html-add-news-link-to-region t] - ["Mailbox link..." hm--html-add-mail-link-to-region t] + ["Mailbox link..." hm--html-add-mail-box-link-to-region t] ["Mailto link..." hm--html-add-mailto-link-to-region t] ["WAIS link (direct)..." hm--html-add-direct-wais-link-to-region t] ["WAIS link (gateway)..." hm--html-add-wais-link-to-region t] @@ -534,7 +534,9 @@ (if (and current-menubar (not (assoc menu-name current-menubar))) (progn (set-buffer-menubar (copy-sequence current-menubar)) - (add-submenu nil (cons menu-name (cdr hm--html-pulldown-menu)) "HTML")))) + (add-submenu nil + (cons menu-name (cdr hm--html-pulldown-menu)) + "HTML")))) (defun hm--install-html-menu (menu-name) (if (eq major-mode 'hm--html-mode) @@ -688,9 +690,9 @@ (car menudesc) ; "==") ; (cdr menudesc))) ; - (while (popup-menu-up-p) + (while (popup-up-p) (setq event (next-command-event event)) - (cond ((menu-event-p event) + (cond ((misc-user-event-p event) (cond ((eq (event-object event) 'abort) (signal 'quit nil))
--- a/lisp/hm--html-menus/hm--html-mode.el Mon Aug 13 08:55:13 2007 +0200 +++ b/lisp/hm--html-menus/hm--html-mode.el Mon Aug 13 08:55:31 2007 +0200 @@ -2,7 +2,7 @@ ;;; ;;; Keywords: hypermedia languages help docs wp ;;; -;;; $Id: hm--html-mode.el,v 1.5 1997/03/24 01:26:53 steve Exp $ +;;; $Id: hm--html-mode.el,v 1.6 1997/03/26 22:42:39 steve Exp $ ;;; ;;; Copyright (C) 1996, 1997 Heiko Muenkel ;;; email: muenkel@tnt.uni-hannover.de @@ -68,6 +68,7 @@ (require 'font-lock) +(require 'cl) (require 'adapt) (require 'hm--date) (require 'hm--html) @@ -78,12 +79,18 @@ (hm--html-load-config-files) (require 'hm--html-indentation) -(require 'hm--html-keys) (defvar hm--html-minor-mode nil "Non-nil, if the `hm--html-minor-mode' is active.") (require 'hm--html-menu) + +(require 'hm--html-keys) + +;(defvar hm--html-minor-mode nil +; "Non-nil, if the `hm--html-minor-mode' is active.") +; +;(require 'hm--html-menu) (require 'hm--html-drag-and-drop) @@ -92,7 +99,7 @@ (defconst hm--html-menus-package-name "hm--html-menus") -(defconst hm--html-menus-package-version "5.4") +(defconst hm--html-menus-package-version "5.5") ;;; Generate the help buffer faces
--- a/lisp/hm--html-menus/hm--html-not-standard.el Mon Aug 13 08:55:13 2007 +0200 +++ b/lisp/hm--html-menus/hm--html-not-standard.el Mon Aug 13 08:55:31 2007 +0200 @@ -45,19 +45,53 @@ "Include Command: " hm--html-server-side-include-command-with-parameter-alist) (read-string "Parameterlist sepearted by '?': "))) - (let ((start (point))) + (if (string= command "") + (error "ERROR: No command specified !") + (if (string= parameter "") + (error "ERROR: No parameter specified !") + (if (= ?| (string-to-char command)) + (if (= ?? (string-to-char parameter)) + (insert "<INC SRVURL \"" command parameter "\">") + (insert "<INC SRVURL \"" command "?" parameter "\">")) + (if (= ?? (string-to-char parameter)) + (insert "<INC SRVURL \"|" command parameter "\">") + (insert "<INC SRVURL \"|" command "?" parameter "\">")))))) + + +(defun hm--html-add-server-side-include-command-with-isindex-parameter + (command) + "This function adds a server side include command directive in the buffer. +The include command uses the \"isindex\"- parameter for the specified command." + (interactive (list + (completing-read "Include Command: " + hm--html-server-side-include-command-alist))) + (hm--html-add-server-side-include-command command t)) + + +(defun hm--html-add-server-side-include-command (command &optional srvurl) + "This function adds a server side include command directive in the buffer. +The directive is only supported by the NCSA http daemon. +If SRVURL is t, then the attribute srvurl instead of srv is used for the +include command. With srvurl, the include command uses the \"isindex\"- +parameter for the specified command." + (interactive (list + (completing-read "Include Command: " + hm--html-server-side-include-command-alist))) + (let ((attribute (if srvurl "SRVURL" "SRV"))) (if (string= command "") (error "ERROR: No command specified !") - (if (string= parameter "") - (error "ERROR: No parameter specified !") - (if (= ?| (string-to-char command)) - (if (= ?? (string-to-char parameter)) - (insert "<INC SRVURL \"" command parameter "\">") - (insert "<INC SRVURL \"" command "?" parameter "\">")) - (if (= ?? (string-to-char parameter)) - (insert "<INC SRVURL \"|" command parameter "\">") - (insert "<INC SRVURL \"|" command "?" parameter "\">"))) - (html-maybe-deemphasize-region (1+ start) (1- (point))))))) + (if (= ?| (string-to-char command)) + (insert "<INC " attribute" \"" command "\">") + (insert "<INC " attribute " \"|" command "\">"))))) + + +(defun hm--html-add-server-side-include-file (file) + "This function adds a server side include file directive in the buffer. +The directive is only supported by the NCSA http daemon." + (interactive "FInclude File: ") + (if (string= file "") + (error "ERROR: No filename specified !") + (insert "<INC SRV \"" file "\">"))) (defun hm--html-add-plaintext ()
--- a/lisp/hm--html-menus/hm--html.el Mon Aug 13 08:55:13 2007 +0200 +++ b/lisp/hm--html-menus/hm--html.el Mon Aug 13 08:55:31 2007 +0200 @@ -1,4 +1,4 @@ -;;; $Id: hm--html.el,v 1.5 1997/03/24 01:26:53 steve Exp $ +;;; $Id: hm--html.el,v 1.6 1997/03/26 22:42:39 steve Exp $ ;;; ;;; Copyright (C) 1993 - 1997 Heiko Muenkel ;;; email: muenkel@tnt.uni-hannover.de @@ -153,7 +153,7 @@ "Adds the HTML tag for a basefont." (interactive (list (hm--html-read-font-size t))) (hm--html-add-tags 'hm--html-insert-start-tag - (concate "<BASEFONT SIZE=" size ">"))) + (concat "<BASEFONT SIZE=" size ">"))) (defun hm--html-add-line-break () "Adds the HTML tag for a line break." @@ -207,13 +207,14 @@ (point) (goto-char (point-min)) (if (re-search-forward - (concat "\\(<title\\)\\|\\(<head\\)\\|\\(<html\\)\\|" - "\\(<isindex\\)\\|\\(<base\\)\\|\\(<link\\)\\|" - "\\(<meta") + (concat ;"\\(<title\\)\\|\\(<head\\)\\|\\(<html\\)\\|" + "\\(<title\\)\\|" + "\\(<isindex\\)\\|\\(<base\\)\\|\\(<link\\)\\|" + "\\(<meta\\)") end-point t) (beginning-of-line) - point)))) + end-point)))) (defun hm--html-add-isindex (prompt) "Inserts the isindex tag. PROMPT is the value of the prompt attribute." @@ -226,17 +227,18 @@ (setq head-end-point (when (re-search-forward "\\(</head\\)\\|\\(<body\\)\\|\\(</html\\)") (beginning-of-line) - (point)))) - (cond ((re-search-forward "<isindex[^>]*>" head-end-point t) - (delete-region (match-beginning 0) (match-end 0))) - (t (goto-char point) - (hm--html-search-place-for-element-in-head head-end-point))) - (hm--html-add-tags 'hm--html-insert-start-tag - (concat "<ISINDEX " - (if (and prompt - (not (string= prompt ""))) - (concat " PROMPT=\"" prompt "\">") - ">"))))) + (point))) + (goto-char (point-min)) + (cond ((re-search-forward "<isindex[^>]*>" head-end-point t) + (delete-region (match-beginning 0) (match-end 0))) + (t (goto-char point) + (hm--html-search-place-for-element-in-head head-end-point))) + (hm--html-add-tags 'hm--html-insert-start-tag-with-newline + (concat "<ISINDEX " + (if (and prompt + (not (string= prompt ""))) + (concat " PROMPT=\"" prompt "\">") + ">")))))) (defun hm--html-add-base (href) "Inserts the base tag. HREF is the value of the href attribute." @@ -253,17 +255,18 @@ (setq head-end-point (when (re-search-forward "\\(</head\\)\\|\\(<body\\)\\|\\(</html\\)") (beginning-of-line) - (point)))) - (cond ((re-search-forward "<base[^>]*>" head-end-point t) - (delete-region (match-beginning 0) (match-end 0))) - (t (goto-char point) - (hm--html-search-place-for-element-in-head head-end-point))) - (hm--html-add-tags 'hm--html-insert-start-tag - (concat "<BASE " - (if (and href - (not (string= href ""))) - (concat " HREF=\"" href "\">") - ">"))))) + (point))) + (goto-char (point-min)) + (cond ((re-search-forward "<base[^>]*>" head-end-point t) + (delete-region (match-beginning 0) (match-end 0))) + (t (goto-char point) + (hm--html-search-place-for-element-in-head head-end-point))) + (hm--html-add-tags 'hm--html-insert-start-tag-with-newline + (concat "<BASE " + (if (and href + (not (string= href ""))) + (concat " HREF=\"" href "\">") + ">")))))) (defun hm--html-add-meta (name content &optional name-instead-of-http-equiv) "Inserts the meta tag." @@ -280,7 +283,7 @@ (point))) (goto-char point) (hm--html-search-place-for-element-in-head head-end-point) - (hm--html-add-tags 'hm--html-insert-start-tag + (hm--html-add-tags 'hm--html-insert-start-tag-with-newline (concat "<META " (if name-instead-of-http-equiv "NAME=\"" @@ -442,6 +445,10 @@ "\nCOORDS=\"" coords "\"" ">"))) + +(when (adapt-emacs19p) + (defvar :ask ':ask)) + (defvar hm--html-use-image-as-map ':ask "Internal variable of `hm--html-add-image'. nil => insert the image element without an usemap attribute. @@ -549,43 +556,6 @@ "\">"))) -(defun hm--html-add-server-side-include-file (file) - "This function adds a server side include file directive in the buffer. -The directive is only supported by the NCSA http daemon." - (interactive "FInclude File: ") - (let ((start (point))) - (if (string= file "") - (error "ERROR: No filename specified !") - (insert "<INC SRV \"" file "\">")))) - - -(defun hm--html-add-server-side-include-command-with-isindex-parameter - (command) - "This function adds a server side include command directive in the buffer. -The include command uses the \"isindex\"- parameter for the specified command." - (interactive (list - (completing-read "Include Command: " - hm--html-server-side-include-command-alist))) - (hm--html-add-server-side-include-command command t)) - - -(defun hm--html-add-server-side-include-command (command &optional srvurl) - "This function adds a server side include command directive in the buffer. -The directive is only supported by the NCSA http daemon. -If SRVURL is t, then the attribute srvurl instead of srv is used for the -include command. With srvurl, the include command uses the \"isindex\"- -parameter for the specified command." - (interactive (list - (completing-read "Include Command: " - hm--html-server-side-include-command-alist))) - (let ((start (point)) - (attribute (if srvurl "SRVURL" "SRV"))) - (if (string= command "") - (error "ERROR: No command specified !") - (if (= ?| (string-to-char command)) - (insert "<INC " attribute" \"" command "\">") - (insert "<INC " attribute " \"|" command "\">"))))) - ;;; Functions, which adds tags of the form <starttag> ... </endtag> @@ -865,7 +835,7 @@ "</DIV>")) -(defun hm--html-add-document-division-to-region () +(defun hm--html-add-document-division-to-region (alignment) "Adds the HTML tags for document division to the region." (interactive (list (hm--html-read-alignment "Alignment of the division: "))) (hm--html-add-tags-to-region 'hm--html-insert-start-tag-with-newline @@ -1071,7 +1041,7 @@ "</FONT>")) -(defun hm--html-add-font-to-region () +(defun hm--html-add-font-to-region (size color) "Adds the HTML tags for Font to the region." (interactive (list (hm--html-read-font-size) (hm--html-read-font-color))) @@ -1975,58 +1945,58 @@ value and an example string. The ANCHOR-PARAMETER-LIST has as an additional element an anchor seperator string. All these elements are used to read and construct the link." - (let ((point nil)) - (save-window-excursion - (let ((html-buffer (current-buffer)) - (html-help-buffer (hm--html-generate-add-link-help-buffer - scheme-parameter-list - host-name:port-parameter-list - servername:port-parameter-list - path+file-parameter-list - anchor-parameter-list)) - (scheme (hm--html-completing-read scheme-parameter-list)) - (hostname:port (hm--html-completing-read - host-name:port-parameter-list)) - (servername:port (hm--html-completing-read - servername:port-parameter-list)) - (path+file (hm--html-read-filename path+file-parameter-list)) - (anchor (hm--html-completing-read anchor-parameter-list)) -; (hrefname (setq html-link-counter (1+ html-link-counter))) - (anchor-seperator - (hm--html-get-anchor-seperator-from-parameter-list - anchor-parameter-list))) - (if (not (string= scheme "")) - (if (string= hostname:port "") - (setq scheme (concat scheme ":")) - (setq scheme (concat scheme "://")))) - (if (and (not (string= hostname:port "")) - (not (string= servername:port "")) - (not (string= (substring servername:port 0 1) "/"))) - (setq servername:port (concat "/" servername:port))) - (if (and (not (string= path+file "")) - (not (string= "/" (substring path+file 0 1)))) - (setq path+file (concat "/" path+file))) - (if (not (string= anchor "")) - (setq anchor (concat anchor-seperator anchor))) - (kill-buffer html-help-buffer) - (pop-to-buffer html-buffer) - (eval (list function-add-tags - ''hm--html-insert-start-tag - (concat "<A" +; (let ((point nil)) + (save-window-excursion + (let ((html-buffer (current-buffer)) + (html-help-buffer (hm--html-generate-add-link-help-buffer + scheme-parameter-list + host-name:port-parameter-list + servername:port-parameter-list + path+file-parameter-list + anchor-parameter-list)) + (scheme (hm--html-completing-read scheme-parameter-list)) + (hostname:port (hm--html-completing-read + host-name:port-parameter-list)) + (servername:port (hm--html-completing-read + servername:port-parameter-list)) + (path+file (hm--html-read-filename path+file-parameter-list)) + (anchor (hm--html-completing-read anchor-parameter-list)) +; (hrefname (setq html-link-counter (1+ html-link-counter))) + (anchor-seperator + (hm--html-get-anchor-seperator-from-parameter-list + anchor-parameter-list))) + (if (not (string= scheme "")) + (if (string= hostname:port "") + (setq scheme (concat scheme ":")) + (setq scheme (concat scheme "://")))) + (if (and (not (string= hostname:port "")) + (not (string= servername:port "")) + (not (string= (substring servername:port 0 1) "/"))) + (setq servername:port (concat "/" servername:port))) + (if (and (not (string= path+file "")) + (not (string= "/" (substring path+file 0 1)))) + (setq path+file (concat "/" path+file))) + (if (not (string= anchor "")) + (setq anchor (concat anchor-seperator anchor))) + (kill-buffer html-help-buffer) + (pop-to-buffer html-buffer) + (eval (list function-add-tags + ''hm--html-insert-start-tag + (concat "<A" ; "<A Name=" ; hrefname - " HREF=\"" - scheme - hostname:port - servername:port - path+file - anchor - "\">") - ''hm--html-insert-end-tag - "</A>"))) - (setq point (point)))) - (goto-char (point))) - + " HREF=\"" + scheme + hostname:port + servername:port + path+file + anchor + "\">") + ''hm--html-insert-end-tag + "</A>"))) +; (setq point (point)))) +; (goto-char (point))) + )) (defun hm--html-add-info-link-1 (function-add-tags) "Internal function. Adds the HTML tags for a link on a GNU Info file." @@ -2623,13 +2593,13 @@ (defun hm--html-add-mail-box-link () "Adds the HTML tags for a link to a mail box." (interactive) - (hm--html-add-mail-link-1 'hm--html-add-tags)) + (hm--html-add-mail-box-link-1 'hm--html-add-tags)) (defun hm--html-add-mail-box-link-to-region () "Adds the HTML tags for a link to a mail box to the region." (interactive) - (hm--html-add-mail-link-1 'hm--html-add-tags-to-region)) + (hm--html-add-mail-box-link-1 'hm--html-add-tags-to-region)) (defun hm--html-add-mailto-link-1 (function-add-tags) @@ -2801,25 +2771,25 @@ (if (not (search-forward "</title>" end-of-head t)) (if (not noerror) (error "ERROR: Please insert a title in the document !")) - (let ((end-of-title-position (point))) - (if (search-forward "<!-- Created by: " end-of-head t) - (if (yes-or-no-p - "Replace the old comment \"<!-- Created by: \" ") - (progn - (goto-char (match-beginning 0)) - (kill-line) - (hm--html-add-comment) - (insert "Created by: " - (or hm--html-username (user-full-name)) - ", " - (hm--date)))) - (newline) - (hm--html-add-comment) - (insert "Created by: " - (or hm--html-username (user-full-name)) - ", " - (hm--date) - ))))))) +; (let ((end-of-title-position (point))) + (if (search-forward "<!-- Created by: " end-of-head t) + (if (yes-or-no-p + "Replace the old comment \"<!-- Created by: \" ") + (progn + (goto-char (match-beginning 0)) + (kill-line) + (hm--html-add-comment) + (insert "Created by: " + (or hm--html-username (user-full-name)) + ", " + (hm--date)))) + (newline) + (hm--html-add-comment) + (insert "Created by: " + (or hm--html-username (user-full-name)) + ", " + (hm--date) + )))))) (defun hm--html-insert-changed-comment-1 (newline username)
--- a/lisp/hm--html-menus/internal-drag-and-drop.el Mon Aug 13 08:55:13 2007 +0200 +++ b/lisp/hm--html-menus/internal-drag-and-drop.el Mon Aug 13 08:55:31 2007 +0200 @@ -1,4 +1,4 @@ -;;; $Id: internal-drag-and-drop.el,v 1.3 1997/03/24 01:26:53 steve Exp $ +;;; $Id: internal-drag-and-drop.el,v 1.4 1997/03/26 22:42:40 steve Exp $ ;;; ;;; Copyright (C) 1996, 1997 Heiko Muenkel ;;; email: muenkel@tnt.uni-hannover.de @@ -291,9 +291,9 @@ actions '(0 . nil))) -(autoload 'ange-ftp-ftp-path "ange-ftp" - "Parse PATH according to ange-ftp-path-format (which see). -Returns a list (HOST USER PATH), or nil if PATH does not match the format.") +;(autoload 'ange-ftp-ftp-path "ange-ftp" +; "Parse PATH according to ange-ftp-path-format (which see). +;Returns a list (HOST USER PATH), or nil if PATH does not match the format.") (defun idd-set-point (source-or-destination) "Sets the point and buffer to SOURCE-OR-DESTINATION." @@ -366,7 +366,7 @@ (defun idd-if-minor-mode-p (source-or-destination minor-mode-variable) "Checks, if the variable MINOR-MODE-VARIABLE is t in SOURCE-OR-DESTINATION. MINOR-MODE-VARIABLE is the name of the variable!." - (idd-variable-non-nil-p source-or-destination minor-mode-variable)) + (idd-if-variable-non-nil-p source-or-destination minor-mode-variable)) (defun idd-get-dired-filename-from-line (source-or-destination) "Returns the filename form the line in a dired buffer. @@ -412,7 +412,8 @@ is returned. Otherwise nil is returned." (let ((filename (idd-get-local-filename source-or-destination))) (if (and filename - (not (ange-ftp-ftp-path filename))) +; (not (ange-ftp-ftp-path filename))) + (not (file-remote-p filename))) (if value 1 nil) (if value nil 1)))) @@ -427,14 +428,14 @@ (defun idd-list-1-subset-of-list-2 (list-1 list-2) "Returns t, if LIST-1 is a subset of LIST-2." (cond ((not list-1)) - ((member (car list-1 list-2)) + ((member (car list-1) list-2) (idd-list-1-subset-of-list-2 (cdr list-1) list-2)) (t nil))) -(defun idd-same-modifiers (list-1 list-2) +(defun idd-same-elements-p (list-1 list-2) "Returns t, if both list have the same modifiers." - (and (length list-1 list-2) - (idd-list-1-subset-of-list-2 list-1-list-2))) + (and (= (length list-1) (length list-2)) + (idd-list-1-subset-of-list-2 list-1 list-2))) (defun idd-if-modifiers-p (source-or-destination modifiers) "Checks, if the MODIFIERS hold during selecting the SOURCE-OR-DESTINATION. @@ -447,7 +448,7 @@ (cond ((not modifiers) (if event-modifiers nil 1)) ((listp modifiers) - (if (idd-same-elements modifiers event-modifiers) + (if (idd-same-elements-p modifiers event-modifiers) 1 nil)) (t (if event-modifiers 1 nil))))) @@ -566,7 +567,7 @@ This command could be used to start a drag and drop command without a button event. Therefore this should not be bind direct to a mouse button." (interactive) - (let ((destination-event) + (let ((source-event) (drag-and-drop-message "Drag&Drop: Click on the source!")) (message drag-and-drop-message) (setq source-event @@ -670,7 +671,6 @@ (dispatch-event (next-command-event))) (setq destination-event (next-command-event nil drag-and-drop-message)) -(setq heiko source-event) (message "") (cond ((button-press-event-p destination-event) (mouse-track destination-event) @@ -688,6 +688,20 @@ (idd-call-action (idd-get-action source destination idd-actions) source destination))) + ((and (adapt-emacs19p) + (button-click-event-p destination-event)) + (setq destination (idd-get-source-or-destination-alist + destination-event)) + (idd-set-point destination) + (if idd-help-instead-of-action + (idd-display-help-about-action (idd-get-action source + destination + idd-actions) + source + destination) + (idd-call-action (idd-get-action source destination idd-actions) + source + destination))) (t (message "Wrong event! Exit drag and drop.") nil)))) (defun idd-help-start-action (event)
--- a/lisp/hm--html-menus/tmpl-minor-mode.el Mon Aug 13 08:55:13 2007 +0200 +++ b/lisp/hm--html-menus/tmpl-minor-mode.el Mon Aug 13 08:55:31 2007 +0200 @@ -1,6 +1,6 @@ ;;; tmpl-minor-mode.el --- Template Minor Mode ;;; -;;; $Id: tmpl-minor-mode.el,v 1.4 1997/03/24 01:26:54 steve Exp $ +;;; $Id: tmpl-minor-mode.el,v 1.5 1997/03/26 22:42:40 steve Exp $ ;;; ;;; Copyright (C) 1993 - 1997 Heiko Muenkel ;;; email: muenkel@tnt.uni-hannover.de @@ -483,7 +483,6 @@ (table nil) (file nil) (answer nil) - (start nil) (anser-not-ok t) (internal-history (mapcar '(lambda (path) (file-name-nondirectory path))
--- a/lisp/prim/custom-load.el Mon Aug 13 08:55:13 2007 +0200 +++ b/lisp/prim/custom-load.el Mon Aug 13 08:55:31 2007 +0200 @@ -31,7 +31,7 @@ (put 'display-time 'custom-loads '("time")) (put 'hypermedia 'custom-loads '("wid-edit" "w3-cus")) (put 'w3-advanced 'custom-loads '("w3-cus")) -(put 'w3-menus 'custom-loads '("w3-cus")) +(put 'w3-menus 'custom-loads '("w3-cus" "w3-menu")) (put 'gnus-summary-mail 'custom-loads '("gnus-sum")) (put 'gnus-score-default 'custom-loads '("gnus-score" "gnus-sum")) (put 'nnmail-expire 'custom-loads '("nnmail"))
--- a/lisp/w3/ChangeLog Mon Aug 13 08:55:13 2007 +0200 +++ b/lisp/w3/ChangeLog Mon Aug 13 08:55:31 2007 +0200 @@ -1,3 +1,21 @@ +Wed Mar 26 06:23:51 1997 William M. Perry <wmperry@aventail.com> + +* Emacs-W3 3.0.75 released + +* url.el (url-clean-text): Better matchine of bogus process exited + messages. + +* font.el (font-rgb-color-p): No longer match "^#xxyyzz" as an rgb-color, + this screwed up bigtime in font-color-rgb-components. + (font-set-face-foreground): Do the test here instead. + (font-set-face-background): and here. + +* w3-widget.el (widget-image-value-create): For client side imagemaps, + make sure case-fold-search or :ignore-case is specified. + +* url-gw.el (url-gateway-nslookup-program): Default to using 'nslookup' as + url-gateway-nslookup-program + Tue Mar 25 16:06:28 1997 William M. Perry <wmperry@aventail.com> * Emacs-W3 3.0.74 released @@ -20,6 +38,8 @@ * w3-toolbar.el (w3-toolbar-make-buttons): Don't warn about toolbar directory on Emacsen that can't do toolbars! +Tue Mar 25 15:31:56 1997 William M. Perry <wmperry@aventail.com> + * Emacs-W3 3.0.73 released * w3-display.el (w3-get-face-info): Allow passing in a second argument
--- a/lisp/w3/custom-check Mon Aug 13 08:55:13 2007 +0200 +++ b/lisp/w3/custom-check Mon Aug 13 08:55:31 2007 +0200 @@ -4,8 +4,12 @@ HOME=`(cd ; pwd)` fi -WITH=` ${EMACS} -batch -l ${HOME}/.emacs -eval '(princ (file-truename (locate-library "custom")))'` -WITHOUT=`${EMACS} -batch -q -no-site-file -l docomp.el -eval '(princ (file-truename (locate-library "custom")))'` +if [ -f "${HOME}/.emacs" ]; then + DOTEMACS="-l ${HOME}/.emacs" +fi + +WITH=` ${EMACS} -batch ${DOTEMACS} -eval '(princ (file-truename (locate-library "custom")))'` +WITHOUT=`${EMACS} -batch -q -no-site-file -eval '(princ (file-truename (locate-library "custom")))'` if [ "${WITH}" = "${WITHOUT}" ]; then exit 0
--- a/lisp/w3/font.el Mon Aug 13 08:55:13 2007 +0200 +++ b/lisp/w3/font.el Mon Aug 13 08:55:31 2007 +0200 @@ -1,7 +1,7 @@ ;;; font.el --- New font model ;; Author: wmperry -;; Created: 1997/03/19 18:28:10 -;; Version: 1.38 +;; Created: 1997/03/26 20:08:55 +;; Version: 1.40 ;; Keywords: faces ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -976,8 +976,7 @@ (defsubst font-rgb-color-p (obj) (or (and (vectorp obj) (= (length obj) 4) - (eq (aref obj 0) 'rgb)) - (string-match "^#[0-9a-fA-F]+$" obj))) + (eq (aref obj 0) 'rgb)))) (defsubst font-rgb-color-red (obj) (aref obj 1)) (defsubst font-rgb-color-green (obj) (aref obj 2)) @@ -1090,7 +1089,8 @@ (interactive) (condition-case nil (cond - ((font-rgb-color-p color) + ((or (font-rgb-color-p color) + (string-match "^#[0-9a-fA-F]+$" color)) (apply 'set-face-background face (font-normalize-color color) args)) (t @@ -1101,7 +1101,8 @@ (interactive) (condition-case nil (cond - ((font-rgb-color-p color) + ((or (font-rgb-color-p color) + (string-match "^#[0-9a-fA-F]+$" color)) (apply 'set-face-foreground face (font-normalize-color color) args)) (t (apply 'set-face-foreground face color args)))
--- a/lisp/w3/url-gw.el Mon Aug 13 08:55:13 2007 +0200 +++ b/lisp/w3/url-gw.el Mon Aug 13 08:55:31 2007 +0200 @@ -1,7 +1,7 @@ ;;; url-gw.el --- Gateway munging for URL loading ;; Author: wmperry -;; Created: 1997/03/24 15:13:19 -;; Version: 1.6 +;; Created: 1997/03/26 14:32:29 +;; Version: 1.7 ;; Keywords: comm, data, processes ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -68,7 +68,7 @@ but your machine can. This usually happens if you are running a statically linked Emacs under SunOS 4.x") -(defvar url-gateway-nslookup-program nil +(defvar url-gateway-nslookup-program "nslookup" "*If non-NIL then a string naming nslookup program." ) ;; Stolen from ange-ftp
--- a/lisp/w3/url-vars.el Mon Aug 13 08:55:13 2007 +0200 +++ b/lisp/w3/url-vars.el Mon Aug 13 08:55:31 2007 +0200 @@ -1,7 +1,7 @@ ;;; url-vars.el --- Variables for Uniform Resource Locator tool ;; Author: wmperry -;; Created: 1997/03/26 00:08:38 -;; Version: 1.42 +;; Created: 1997/03/26 20:12:27 +;; Version: 1.43 ;; Keywords: comm, data, processes, hypermedia ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -26,7 +26,7 @@ ;;; Boston, MA 02111-1307, USA. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(defconst url-version (let ((x "p3.0.74")) +(defconst url-version (let ((x "p3.0.75")) (if (string-match "State: \\([^ \t\n]+\\)" x) (substring x (match-beginning 1) (match-end 1)) x))
--- a/lisp/w3/url.el Mon Aug 13 08:55:13 2007 +0200 +++ b/lisp/w3/url.el Mon Aug 13 08:55:31 2007 +0200 @@ -1,13 +1,13 @@ ;;; url.el --- Uniform Resource Locator retrieval tool ;; Author: wmperry -;; Created: 1997/03/25 00:00:34 -;; Version: 1.68 +;; Created: 1997/03/26 20:11:33 +;; Version: 1.69 ;; Keywords: comm, data, processes, hypermedia ;;; LCD Archive Entry: ;;; url|William M. Perry|wmperry@cs.indiana.edu| ;;; Functions for retrieving/manipulating URLs| -;;; 1997/03/25 00:00:34|1.68|Location Undetermined +;;; 1997/03/26 20:11:33|1.69|Location Undetermined ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -1281,9 +1281,9 @@ and decoding any MIME content-transfer-encoding used." (set-buffer url-working-buffer) (goto-char (point-min)) - (url-replace-regexp "Connection closed by.*" "") + (url-replace-regexp "Connection closed by.*\n*\\'" "") (goto-char (point-min)) - (url-replace-regexp "Process WWW.*" "")) + (url-replace-regexp "Process .* exited abnormally.*\n*\\'" "")) (defun url-remove-compressed-extensions (filename) (while (assoc (url-file-extension filename) url-uncompressor-alist)
--- a/lisp/w3/w3-display.el Mon Aug 13 08:55:13 2007 +0200 +++ b/lisp/w3/w3-display.el Mon Aug 13 08:55:31 2007 +0200 @@ -1,7 +1,7 @@ ;;; w3-display.el --- display engine v99999 ;; Author: wmperry -;; Created: 1997/03/26 00:03:00 -;; Version: 1.156 +;; Created: 1997/03/26 15:24:53 +;; Version: 1.157 ;; Keywords: faces, help, hypermedia ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -78,7 +78,8 @@ (defmacro w3-get-face-info (info &optional other) (let ((var (intern (format "w3-face-%s" info)))) (` (push (w3-get-style-info (quote (, info)) node - (or (w3-get-attribute (quote (, other))) + (or (cdr-safe (assq (quote (, other)) + (nth 1 node))) (car (, var)))) (, var)))))
--- a/lisp/w3/w3-vars.el Mon Aug 13 08:55:13 2007 +0200 +++ b/lisp/w3/w3-vars.el Mon Aug 13 08:55:31 2007 +0200 @@ -1,7 +1,7 @@ ;;; w3-vars.el,v --- All variable definitions for emacs-w3 ;; Author: wmperry -;; Created: 1997/03/26 00:08:38 -;; Version: 1.115 +;; Created: 1997/03/26 20:12:26 +;; Version: 1.116 ;; Keywords: comm, help, hypermedia ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -33,7 +33,7 @@ (require 'w3-cus) ; Grab everything that is customized (defconst w3-version-number - (let ((x "p3.0.74")) + (let ((x "p3.0.75")) (if (string-match "State:[ \t\n]+.\\([^ \t\n]+\\)" x) (setq x (substring x (match-beginning 1) (match-end 1))) (setq x (substring x 1))) @@ -41,7 +41,7 @@ (function (lambda (x) (if (= x ?-) "." (char-to-string x)))) x "")) "Version # of w3-mode.") -(defconst w3-version-date (let ((x "1997/03/26 00:08:38")) +(defconst w3-version-date (let ((x "1997/03/26 20:12:26")) (if (string-match "Date: \\([^ \t\n]+\\)" x) (substring x (match-beginning 1) (match-end 1)) x))
--- a/lisp/w3/w3-widget.el Mon Aug 13 08:55:13 2007 +0200 +++ b/lisp/w3/w3-widget.el Mon Aug 13 08:55:31 2007 +0200 @@ -1,7 +1,7 @@ ;;; w3-widget.el --- An image widget ;; Author: wmperry -;; Created: 1997/03/25 23:35:03 -;; Version: 1.25 +;; Created: 1997/03/26 15:31:17 +;; Version: 1.27 ;; Keywords: faces, images ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -147,7 +147,8 @@ (cdr-safe (assoc usemap w3-imagemaps))))) (defun widget-image-callback (widget widget-ignore &optional event) - (and (widget-get widget 'href) (w3-fetch (widget-get widget 'href) (widget-get widget 'target)))) + (if (widget-get widget 'href) + (w3-fetch (widget-get widget 'href) (widget-get widget 'target)))) (defmacro widget-image-create-subwidget (&rest args) (` (widget-create (,@ args) @@ -188,8 +189,6 @@ (cond (client-map (let* ((default nil) - (href nil) - (tag nil) (options (mapcar (function (lambda (x) @@ -204,6 +203,7 @@ (setq real-widget (apply 'widget-create 'menu-choice :tag (or (widget-get widget :tag) "Imagemap") + :ignore-case t :notify (widget-get widget :notify) :action (widget-get widget :action) :value default @@ -248,6 +248,7 @@ (widget-put widget :children nil) (set-extent-property extent 'keymap widget-image-keymap) (set-extent-property extent 'begin-glyph glyph) + (set-extent-property extent 'detachable t) (set-extent-property extent 'help-echo (cond ((and href (or client-map server-map)) @@ -298,12 +299,10 @@ (usemap (widget-image-usemap widget)) (href (widget-get widget 'href)) (alt (widget-get widget 'alt)) - (value (widget-value widget)) - (i nil)) + (value (widget-value widget))) (cond (usemap - (setq i (length usemap) - usemap (widget-image-usemap-default usemap)) + (setq usemap (widget-image-usemap-default usemap)) ;; Perhaps we should do something here with showing the # of entries ;; in the imagemap as well as the default href? Could get too long. (format "Client side imagemap: %s" value)) @@ -335,7 +334,6 @@ (href (widget-get widget 'href)) (img-src (or (widget-get widget 'src) (and widget-changed (widget-get widget-changed 'src)))) - (value (widget-value widget)) (target (widget-get widget 'target)) ) (cond @@ -352,7 +350,8 @@ (cons (or (aref entry 3) (aref entry 2)) (aref entry 2)))) usemap)) - (choice nil)) + (choice nil) + (case-fold-search t)) (setq choice (completing-read "Imagemap: " choices nil t) choice (cdr-safe (assoc choice choices))) (and (stringp choice) (w3-fetch choice target))))
--- a/man/hm--html-mode.texi Mon Aug 13 08:55:13 2007 +0200 +++ b/man/hm--html-mode.texi Mon Aug 13 08:55:31 2007 +0200 @@ -4,7 +4,7 @@ @settitle HM HTML Mode @setchapternewpage odd @comment %**end of header (This is for running Texinfo on a region.) -@comment $Id: hm--html-mode.texi,v 1.1 1997/03/23 00:28:12 steve Exp $ +@comment $Id: hm--html-mode.texi,v 1.2 1997/03/27 01:22:34 steve Exp $ @ifinfo This file documents the Elisp package @code{hm--html-menus}. @@ -45,7 +45,7 @@ @sp 4 @center by Heiko Münkel @sp 4 -@center Version 5.4, March 1997 +@center Version 5.6, March 1997 @page @vskip 0pt plus 1filll Copyright @copyright{} 1997 Heiko Münkel @@ -131,65 +131,61 @@ @findex hm--html-mode @findex hm--html-minor-mode -This document describes the Elisp package @emph{hm---html-menus 5.4}. +This document describes the Elisp package @emph{hm---html-menus 5.6}. The version of the document is:@* -$Id: hm--html-mode.texi,v 1.1 1997/03/23 00:28:12 steve Exp $ +$Id: hm--html-mode.texi,v 1.2 1997/03/27 01:22:34 steve Exp $ The package provides commands and various popup and pulldown menus for -a HTML mode called @dfn{hm---html-mode}, a mode for writing HTML pages -for the World Wide Web (WWW). It provides also a minor mode +an HTML mode called @dfn{hm---html-mode}, a mode for writing HTML pages +for the World Wide Web (WWW). It also provides a minor mode (@dfn{hm---html-minor-mode}), which can be used together with another -HTML major mode, like the psgml-html modes in the XEmacs 19.14. +HTML major mode, like the psgml-html modes in XEmacs 19.14. You can easily view the HTML documents by calling the browsers w3 (a -nice elisp package from William M. Perry), Netscape or Mosaic direct +nice elisp package from William M. Perry), Netscape, or Mosaic directly from the pulldown menu of the mode. An integrated (emacs internal) drag and drop interface makes it very easy to insert links or images, by just clicking on them. -If it makes sense, then the commands are working also on selected +When appropriate, identical commands work on selected regions. You'll see the same menu items and can use the same -keystrokes, regardless if the region is activated or not, but if it's -activated, then the commands are working on the region. Therefore, you +keystrokes, whether a region is active or not, but if it's +active, then the commands are operating on the region. Therefore, you don't need to learn different menus or keys for similar functions! -One major design issue of the package was to make it easier to write a +One major design goal of the package was to make it easier to write a HTML page, even if you don't know much about HTML. For that I've tried -to put more knowledge about HTML, URL's and so on in it as an SGML based +to put more knowledge about HTML, URL's and so on in it than an SGML based mode could find out from a DTD file. In most cases the user gets help to -construct a specific link by examples or by a completion list with +construct a specific link by examples, or by a completion list with possible input strings. And you can choose between an expert popup menu and an novice popup menu interactively. The novice menu contains only the basic HTML elements, so that you're not bothered by the quantity of different HTML elements. And if you want to use more HTML elements, then -you could easily switch to the expert menus. +you can easily switch to the expert menus. You can configure the html mode with a special configuration file for -your site and with another file specific for a user. Look at the +your site and with another file specific to a user. Look at the customization chapter for this, @xref{Customization, Customization}. @node Distribution, Installation, Overview, Top @comment node-name, next, previous, up -@chapter Distribution +@chapter Distribution The name of the distribution file is @file{hm--html-menus-<version>.tar.gz}, where @var{<version>} is the -version number. The package is part of the XEmacs. You should find the -latest version of the package always on the following ftp server: - +version number. The package is part of the XEmacs. You should always +find the latest version of the package on the following ftp server: @display @emph{ftp.tnt.uni-hannover.de} in @file{/pub/editors/xemacs/contrib} @end display - You should also find the package in the USA on the ftp server (which is mirrored on many other servers in the world): - @display @emph{sunsite.unc.edu} in @file{/pub/Linux/apps/editors/emacs} @end display - @menu * Contents:: Contents of the distribution @end menu @@ -198,14 +194,13 @@ @comment node-name, next, previous, up @section Contents @cindex contents - The package consists of the following files: @table @file @item README Please, read this first. @itemx README-EMACS-19 -Some special hints only for the GNU Emacs 19 users. +Some special hints only for GNU Emacs 19 users. @itemx ANNOUNCEMENT Text of the announcement of this package. @itemx LSM @@ -214,10 +209,10 @@ The NEWS and Change log file. @itemx adapt.el Provides (emulates XEmacs) functions for the use of this package with -the GNU Emacs 19. +GNU Emacs 19. @itemx hm--html.el Provides functions to write html pages. It defines all commands which -inserts html elements and entities. +insert html elements and entities. @itemx hm--html-indentation.el Provides the lisp code for the indentation. @itemx hm--html-keys.el @@ -234,15 +229,15 @@ Configuration file for the html mode. All the user variables are defined in this file. @itemx hm--html-drag-and-drop.el -Defines the HTML- specific functions for the drag and drop interface. +Defines the HTML-specific functions for the drag and drop interface. @itemx hm--date.el Defines the function hm--date, which returns the date in the format "day-month-year" like "30-Jun-1993". @itemx html-view.el -Ron Tapia's html-view.el to view html-pages in the Mosaic. It is -patched for the use with the xemacs. +Ron Tapia's html-view.el to view html pages in Mosaic. It is +patched for use with XEmacs. @itemx internal-drag-and-drop.el -Provides the general (html mode independent functions) of the drag and +Provides the general (html-mode independent) functions of the drag and drop interface. @itemx templates.doc Describes the syntax of the templates provided in the file @@ -262,7 +257,7 @@ @itemx doc/hm--html-mode.texinfo Package documentation in the Texinfo format. @itemx doc/umlaute.texinfo -Texinfo include file for german vowel mutation (deutsche Umlaute). +Texinfo include file for German vowel mutation (deutsche Umlaute). @end table @node Installation, Customization, Distribution, Top @@ -272,8 +267,8 @@ @enumerate -@item Put all the *.el files in one of your xemacs (or emacs) lisp load -directories (i.e. site-lisp/hm--html-menus). +@item Put all the *.el files in one of your XEmacs (or emacs) lisp load +directories (e.g. site-lisp/hm--html-menus). @item Put the following in your .emacs (or default.el or site-init.el): @lisp @@ -305,7 +300,7 @@ t) @end lisp -The above lines assume that you have not installed already another +The above lines assume that you have not already installed another html mode. If this isn't true, then you should use the following: @lisp (setq auto-mode-alist (cons '("\\.html$" . hm--html-mode) @@ -318,7 +313,7 @@ (setq auto-mode-alist (cons '("\\.html$" . hm--html-mode) auto-mode-alist))) @end lisp -If you want to use the hm---html-minor-mode together +If you want to use the hm--html-minor-mode together with the psgml-html modes, then you should add the following line (works only in XEmacs version >= 19.15 and != 20.0): @lisp @@ -332,7 +327,7 @@ @cindex customization @cindex configuration -You should be able to use the package after it's installation without +You should be able to use the package after its installation without any further customization. But it contains a lot of user variables to adapt the package better to your special needs. How to do this is described in this chapter. @@ -348,10 +343,10 @@ @cindex customization files @cindex configuration files -This package uses 3 different files to customize the mode, but you must +This package uses 3 different files to customize the mode, but you need not use all of them. Only one of them, the file @file{hm--html-configuration.el} is delivered together with the package. -The reason for three different files is to provide the possibility to +The reason for three different files is to provide the opportunity to have different customization for the package, the site and the user. There's also a pulldown menu item to reload all customization files. The files are described in the following sections. @@ -369,20 +364,20 @@ @cindex hm--configuration.el @vindex HTML_CONFIG_FILE -All variables, which can be used to customize the mode, are defined in +All variables which can be used to customize the mode are defined in the package configuration file @file{hm--configuration.el}. You should -take a look at this file, if you don't find how to customize a feature +take a look at this file if you don't find how to customize a feature in this documentation (the documentation of a program is never as -complete as it's program code :-). +complete as its program code :-). This file is searched in one of your lisp load directories. You can change this by setting the environment variable @code{HTML_CONFIG_FILE} to another file. But I don't recommend this. @emph{Note}: This file is loaded before the other customization files, -so that it's definitions could be overwritten. All variables are set by -@code{defvar}, so that it's values could also be overwritten with -@code{setq} in any standard emacs customization files (i.e. in +so that its definitions could be overwritten. All variables are set by +@code{defvar}, so that its values could also be overwritten with +@code{setq} in any standard emacs customization files (e.g. in @file{.emacs}). @@ -394,25 +389,25 @@ @vindex HTML_SITE_CONFIG_FILE @vindex hm--html-site-config-file -In general all users at a site are writing there html pages for the same -WWW server. Therefore it is very likely, that most of the customizations -are site specific and only a few are user specific. But however, you -don't have to use a site specific customization, if you don't like it. +In general all users at a site are writing their html pages for the same +WWW server. Therefore it is very likely that most of the customizations +are site specific, and only a few are user specific. However, you +don't have to use a site specific customization if you don't want one. -If you'd like to make a site specific customization of the -@code{hm--html-mode}, then it's possible to put it in a special file -called @file{hm--site-configuration-file.el}. If you do this, you've to -set either the lisp variable @code{hm--html-site-config-file} or the -environment variable @code{HTML_SITE_CONFIG_FILE} to the file and it's -path. If you write the filename without it's extension (.el), the emacs -tries to load at first a compiled version of the file. +If you'd like to make a site specific customization of +@code{hm--html-mode}, it's possible to put it in a special file called +@file{hm--site-configuration-file.el}. If you do this, you have to set +either the lisp variable @code{hm--html-site-config-file} or the +environment variable @code{HTML_SITE_CONFIG_FILE} to the file and its +path. If you write the filename without its extension (.el), emacs +tries first to load a compiled version of the file. -The environment variables overwrites the lisp variable. +The environment variables overwrite the lisp variables. You can also put the site specific customization in any standard emacs -customization files like @file{default.el}. But an advantage, if you -use @file{hm--site-configuration-file.el} is, that it is very likely, -that you can use this file also together with future versions of the +customization file like, @file{default.el}. But an advantage to +using @file{hm--site-configuration-file.el} is that it is very likely +you will be able to use this file with future versions of the package. I'll try to make it as backward compatible as possible. @emph{Note}: This file is loaded after the package customization file @@ -431,11 +426,11 @@ home directory of the user. This can be overwritten by setting either the environment variable @code{HTML_USER_CONFIG_FILE} or the lisp variable @code{hm--html-user-config-file} to the name of the file and -it's path. If you write the filename without it's extension (.el), the -emacs tries to load at first a compiled version of the file. +its path. If you write the filename without its extension (.el), emacs +tries first to load a compiled version of the file. You can also put the user specific customization in your -@file{.emacs}. It's up to you, to decide which way is the better one. +@file{.emacs}. It's up to you to decide which way is better. @emph{Note}: This file is loaded after the package and the site specific one. Therefore it overwrites all other customization files. @@ -479,11 +474,11 @@ @itemize @bullet @item @code{hm--html-username}: Your real name. This is used as the name of -the signature links. You have only to specify it, if your name in the -file @file{/etc/passwd} isn't the one, you'd like to see in the html -files. Otherwise this could be set to nil. +the signature links. You need only specify it if your name in the +file @file{/etc/passwd} isn't the one you'd like to see in the html +files. Otherwise this may be set to @code{nil}. @item -@code{hm--html-signature-file}: The link, used in your signature. In +@code{hm--html-signature-file}: The link used in your signature. In general this should be a link to your home page. @end itemize @@ -498,8 +493,8 @@ @itemize @bullet @item @code{hm--html-expert}: If you're a html novice and don't want to be -bothered with lot's of possible html elements, then you should use the -novice popup menus. For that you've to set this variable to @code{nil}, +bothered with lots of possible html elements, then you should use the +novice popup menus. For that, set this variable to @code{nil}, which is the default. But if you are more familiar with html and would like to use more html elements, then you should use the expert menus and set this variable to @code{t}. @@ -515,7 +510,7 @@ @itemize @bullet @item @code{hm--html-html-doctype-version}: The HTML version. This is used in -the doctype element. Change this, if you use non HTML 3.2 elements. This +the doctype element. Change this if you use non HTML 3.2 elements. This package (@xref{Overview, version}.) defines by default only HTML 3.2 elements. @end itemize @@ -525,33 +520,33 @@ @subsection Defaults Used For Generating Links @cindex links -One of the main features of the @code{hm--html-mode} are the easy ways -to insert special links to html pages, ftp servers, news servers and so -on. I think, that most people will have their own (this may be site -specific, @xref{Where To Put Site Specific Customization, Where To Put +One of the main features of @code{hm--html-mode} is its easy ways to +insert special links to html pages, ftp servers, news servers and so +on. I think that most people will have their own (this may be site +specific. @xref{Where To Put Site Specific Customization, Where To Put Site Specific Customization}.) favourite servers, directories and so -on. Therefore it should be useful to customize the default values and the -alists with useful alternatives, which are used from the mode in the -inserting functions for the links. +on. You may customize the default values and the alists with useful +alternatives, which are used from the mode in the inserting functions +for the links. @menu * Your Favourite HTTP Server:: -* Links to WWW Server:: +* Links to WWW Servers:: * Links To Files:: -* Links To FTP Server:: +* Links To FTP Servers:: * Links To Emacs Info Files:: -* Links To Gopher Server:: +* Links To Gopher Servers:: * Links To WAIS Gateways:: * Links To The Mail Gateway:: -* Links For Sending Mails:: -* Links To The Program Gateway :: +* Links For Sending Mail:: +* Links To The Program Gateway:: * Links To The Local Program Gateway:: * URL For Forms And Image Tags:: * Marking Of Examples:: @end menu -@node Your Favourite HTTP Server, Links to WWW Server, Defaults Used For Generating Links, Defaults Used For Generating Links +@node Your Favourite HTTP Server, Links to WWW Servers, Defaults Used For Generating Links, Defaults Used For Generating Links @comment node-name, next, previous, up @subsubsection Your Favourite HTTP Server @cindex favourite HTTP server @@ -565,7 +560,7 @@ @end itemize -@node Links to WWW Server, Links To Files, Your Favourite HTTP Server, Defaults Used For Generating Links +@node Links to WWW Servers, Links To Files, Your Favourite HTTP Server, Defaults Used For Generating Links @comment node-name, next, previous, up @subsubsection Links to WWW Server @cindex WWW server links @@ -585,11 +580,11 @@ @code{hm--html-html-path-alist}: Alist with directories for the HTML server. Each alist element must consist of a number and a directory string. The number is used to select the directory during the query -about the directory for a http link. +about the directory for an http link. @end itemize -@node Links To Files, Links To FTP Server, Links to WWW Server, Defaults Used For Generating Links +@node Links To Files, Links To FTP Servers, Links to WWW Servers, Defaults Used For Generating Links @comment node-name, next, previous, up @subsubsection Links To Files @cindex file gateway links @@ -598,15 +593,15 @@ @itemize @bullet @item @code{hm--html-file-path-alist}: Alist with directories for the file -gateway.Each alist element must consist of a number and a directory +gateway. Each alist element must consist of a number and a directory string. The number is used to select the directory during the query about the directory for a file link. @end itemize -@node Links To FTP Server, Links To Emacs Info Files, Links To Files, Defaults Used For Generating Links +@node Links To FTP Servers, Links To Emacs Info Files, Links To Files, Defaults Used For Generating Links @comment node-name, next, previous, up -@subsubsection Links To FTP Server +@subsubsection Links To FTP Servers @cindex FTP links @vindex hm--html-ftp-hostname:port-default @vindex hm--html-ftp-hostname:port-alist @@ -615,22 +610,22 @@ @itemize @bullet @item @code{hm--html-ftp-hostname:port-default}: Default hostname with port -for links to ftp server. This is the default FTP server. In general -you've not to specify a port for this. +for links to an ftp server. This is for the default FTP server. In general +you don't need to specify a port for this. @item @code{hm--html-ftp-hostname:port-alist}: Alist with hostnames and ports for links to ftp servers. It contains useful alternatives. In general -you've not to specify ports for the ftp servers. +you don't need to specify ports for the ftp servers. @item @code{hm--html-ftp-path-alist}: Alist with directories for the ftp server links. It contains useful alternatives with /pub, /pub/gnu and so on. Each alist element must consist of a number and a directory string. The number is used to select the directory during the query -about the directory for a ftp link. +about the directory for an ftp link. @end itemize -@node Links To Emacs Info Files, Links To Gopher Server, Links To FTP Server, Defaults Used For Generating Links +@node Links To Emacs Info Files, Links To Gopher Servers, Links To FTP Servers, Defaults Used For Generating Links @comment node-name, next, previous, up @subsubsection Links To Emacs Info Files @cindex emacs info links @@ -644,16 +639,16 @@ for the Info gateway. @item @code{hm--html-info-hostname:port-alist}: Alist with hostnames and ports -for the Info gateway. It contains useful alternatives. +for Info gateways. It contains useful alternatives. @item @code{hm--html-info-path-alist}: Alist with directories for the Info gateway. This may be a list with all of your emacs info directories. @end itemize -@node Links To Gopher Server, Links To WAIS Gateways, Links To Emacs Info Files, Defaults Used For Generating Links +@node Links To Gopher Servers, Links To WAIS Gateways, Links To Emacs Info Files, Defaults Used For Generating Links @comment node-name, next, previous, up -@subsubsection Links To Gopher Server +@subsubsection Links To Gopher Servers @cindex Gopher gateway links @vindex hm--html-gopher-hostname:port-default @vindex hm--html-gopher-hostname:port-alist @@ -661,37 +656,37 @@ @vindex hm--html-gopher-doctype-alist @vindex hm--html-gopher-anchor-alist -There are a lot of useful gopher information server in the Internet. +There are a lot of useful gopher information servers on the Internet. You can access them with a gopher browser or with a WWW browser. In the -second case you've to use the gopher gateway. +latter case you have to use the gopher gateway. @itemize @bullet @item @code{hm--html-gopher-hostname:port-default}: Default hostname with port -for links to gopher server. +for links to the default gopher server. @item @code{hm--html-gopher-hostname:port-alist}: Alist with hostnames and -ports for links to gopher server. It contains useful alternatives. +ports for links to gopher servers. It contains useful alternatives. @item -@code{hm--html-gopher-doctype-default}: For gopher links you've to +@code{hm--html-gopher-doctype-default}: For gopher links you have to specify the doctype. In most cases this should be the string \"/1\". -Therefore this is the default doctype, but you might change it to -another doctype. +Therefore this is the default doctype, but you can change it to +another. @item @code{hm--html-gopher-doctype-alist}: Alist with doctype strings for links -to gopher server. The strings \"/1\", \"/11\" and \"/00\" are the only -doctype strings that I know. Please let me know, if there are other +to a gopher server. The strings \"/1\", \"/11\" and \"/00\" are the only +doctype strings that I know. Please let me know if there are other strings. @item @code{hm--html-gopher-anchor-alist}: Alist with directories for links to -gopher server. It contains useful alternatives on the main gopher +a gopher server. It contains useful alternatives for the main gopher servers. Each alist element must consist of a number and a directory string. The number is used to select the directory during the query about the directory for a local program gateway link. @end itemize -@node Links To WAIS Gateways, Links To The Mail Gateway, Links To Gopher Server, Defaults Used For Generating Links +@node Links To WAIS Gateways, Links To The Mail Gateway, Links To Gopher Servers, Defaults Used For Generating Links @comment node-name, next, previous, up @subsubsection Links To WAIS Gateways @cindex WAIS gateway links @@ -701,13 +696,13 @@ @vindex hm--html-wais-servername:port-default @vindex hm--html-wais-path-alist -You can either make a link direct to a WAIS server (it may be, that not -all WWW browsers support this), or a http link to a server (relay host) +You can either make a link direct to a WAIS server (it may be that not +all WWW browsers support this) or an http link to a server (relay host) which queries the WAIS server. The variables @code{hm--html-wais-hostname:port-default} and -@code{hm--html-wais-hostname} refers to these relay hosts and the +@code{hm--html-wais-hostname} refer to these relay hosts and the variables @code{hm--html-wais-servername:port-default} and -@code{hm--html-wais-servername:port-alist} are refers to the WAIS servers. +@code{hm--html-wais-servername:port-alist} refer to the WAIS servers. @itemize @bullet @item @@ -728,7 +723,7 @@ @end itemize -@node Links To The Mail Gateway, Links For Sending Mails, Links To WAIS Gateways, Defaults Used For Generating Links +@node Links To The Mail Gateway, Links For Sending Mail, Links To WAIS Gateways, Defaults Used For Generating Links @comment node-name, next, previous, up @subsubsection Links To The Mail Gateway @cindex Mail gateway links @@ -737,8 +732,8 @@ @vindex hm--html-mail-hostname:port-alist @vindex hm--html-mail-path-alist -The following variables are for customizing the insert of links to mail -folder. You need a special server for this, which sends the emails back +The following variables are for customizing the insertion of links to a mail +folder. You need a special server for this, which sends the email back to the browser. @itemize @bullet @@ -750,16 +745,16 @@ for the mail gateway. It contains useful alternatives. @item @code{hm--html-mail-path-alist}: Alist with directories for the mail -gateway. In these directories you'll find probably mail folder. Each +gateway. In these directories you'll probably find mail folders. Each alist element must consist of a number and a directory string. The number is used to select the directory during the query about the directory for a mail folder link. @end itemize -@node Links For Sending Mails, Links To The Program Gateway , Links To The Mail Gateway, Defaults Used For Generating Links +@node Links For Sending Mail, Links To The Program Gateway, Links To The Mail Gateway, Defaults Used For Generating Links @comment node-name, next, previous, up -@subsubsection Links For Sending Mails +@subsubsection Links For Sending Mail @cindex mailto links @vindex hm--html-mailto-alist @@ -771,7 +766,7 @@ @end itemize -@node Links To The Program Gateway , Links To The Local Program Gateway, Links For Sending Mails, Defaults Used For Generating Links +@node Links To The Program Gateway, Links To The Local Program Gateway, Links For Sending Mail, Defaults Used For Generating Links @comment node-name, next, previous, up @subsubsection Links To The Program Gateway @cindex program gateway links @@ -781,9 +776,9 @@ The program gateway is a special TNT site specific gateway for starting programs out of a html page. The programs are started by a special -server, which looks in an allowed file, to determine if it is allowed to -start the program. This is necessary, because the programs are running -under the user id of the server. We've only allowed to start simple +server, which looks in an allowed file to determine if it is allowed to +start the program. This is necessary because the programs are running +under the user id of the server. We're only allowed to start simple display programs like man, ls and so on. @itemize @bullet @@ -799,7 +794,7 @@ @end itemize -@node Links To The Local Program Gateway, URL For Forms And Image Tags, Links To The Program Gateway , Defaults Used For Generating Links +@node Links To The Local Program Gateway, URL For Forms And Image Tags, Links To The Program Gateway, Defaults Used For Generating Links @comment node-name, next, previous, up @subsubsection Links To The Local Program Gateway @cindex local program gateway links @@ -866,7 +861,7 @@ @vindex hm--html-frame-template-file @vindex hm--html-automatic-expand-templates -For inserting html template files you can customize, where you've your +For inserting html template files you can customize where you keep your templates. @itemize @bullet @@ -874,14 +869,14 @@ @code{hm--html-template-dir}: A directory with template files. It is now also possible to use it as a list of directories. Look at the variable @code{tmpl-template-dir-list} for further descriptions. If this -variable is set to a non existing directory, than it is set to a -directory, where the package in the XEmacs is. This is done during +variable is set to a non-existent directory, then it defaults to the +directory where the package is in XEmacs. This is done during loading the file @file{hm--html-configuration.el} (@xref{Where Are All The Customization Variables Defined, Where Are All The Customization -Variables Defined}.). This may only be useful, in the XEmacs >= 19.12. +Variables Defined}.). This may only be useful in XEmacs >= 19.12. @item -@code{hm--html-frame-template-file}: File, which is used as template for -a html frame. Such a file is in the package +@code{hm--html-frame-template-file}: File which is used as template for +a html frame. An example is in the package @emph{hm--html-menus}. @xref{Contents, Contents}. @item @code{hm--html-automatic-expand-templates}: Automatic expansion of @@ -902,15 +897,15 @@ @itemize @bullet @item -@code{hm--html-delete-wrong-path-prefix}: If non nil, it specifies path-prefixes, which should be deleted in paths. +@code{hm--html-delete-wrong-path-prefix}: If non-nil, it specifies path-prefixes which should be deleted in paths. The Sun automounter adds a temporary prefix to the automounted directories - (At our site the prefix is /tmp_mnt). But you can't select such a path, -if the automounter has currently not mounted the directory and so you -can't follow a html-link, which consists of such a path. To overcome + (at our site the prefix is /tmp_mnt). But you can't select such a path +if the automounter has currently not mounted the directory, and so you +can't follow an html link which consists of such a path. To overcome this behaviour, you can set this variable to the prefix -(eg "/tmp_mnt"). After that, the prefix should be stripped from the +(e.g. "/tmp_mnt"). After that, the prefix should be stripped from the paths during the creation of the links. ATTENTION: This variable is -used as regular expression ! It can be set to a string or to a list of +used as a regular expression! It can be set to a string or to a list of strings. @end itemize @@ -925,8 +920,8 @@ @vindex hm--html-automatic-changed-comment @vindex hm--html-automatic-created-comment -The @code{hm--html-mode} automatic inserts some useful informations in -html pages. This behaviour could be changed by the following variables. +The @code{hm--html-mode} automatically inserts some useful information in +html pages. This behaviour can be changed by the following variables. @itemize @bullet @item @@ -953,8 +948,8 @@ @item @code{hm--html-bind-latin-1-char-entities}: Set this to nil, if you don't want to use the ISO Latin 1 character entities. This is only -useful, if `hm--html-use-old-keymap' is set to nil. It is only used -during loading the html package the first time. +useful if `hm--html-use-old-keymap' is set to nil. It is only used +when loading the html package the first time. @end itemize @@ -968,7 +963,7 @@ @itemize @bullet @item @code{hm--html-idd-create-relative-links}: If t, then the -@code{hm--html-idd-*} functions are creating relative links. Otherwise +@code{hm--html-idd-*} functions create relative links. Otherwise absolute links are used. The idd functions are used for drag and drop. @item @code{hm--html-idd-actions}: The action list for the destination mode @@ -1009,10 +1004,10 @@ @itemize @bullet @item @code{hm--html-minor-mode-prefix-key}: The prefix key for the key tables -in the @code{hm--html-minor-mode}. +in @code{hm--html-minor-mode}. @item @code{hm--html-mode-prefix-key}: The prefix key for the hm--html keys in -the @code{hm--html-mode}. +@code{hm--html-mode}. @end itemize @@ -1023,7 +1018,7 @@ @vindex hm--html-minor-mode-pulldown-menu-name @vindex hm--html-mode-pulldown-menu-name -It may be, that You'd like to change the names to get the same menu +Perhaps you'd like to change the names to get the same menu names in the major and in the minor modes of the @code{hm--html-menus} package. @@ -1048,11 +1043,11 @@ @itemize @bullet @item -@code{hm--html-mode-hook}: This hook will be called each time, when the +@code{hm--html-mode-hook}: This hook will be called each time @code{hm--html-mode} is invoked. @item @code{hm--html-load-hook}: Hook variable to execute functions after -loading the package +loading the package. @end itemize @@ -1063,10 +1058,10 @@ @vindex html-view-mosaic-command @vindex html-sigusr1-signal-value -The following two variables are only used, if you preview the html +The following two variables are only used, if you preview html documents with @code{Mosaic}. There are also some other variables in -@file{hmtl-view.el}, @xref{Contents, Contents}. Look at that file, if -you've trouble with the functions to preview the html document with the +@file{hmtl-view.el}. @xref{Contents, Contents}. Look at that file if +you have trouble with the functions to preview the html document with @code{Mosaic}. @itemize @bullet @@ -1077,7 +1072,7 @@ @code{html-sigusr1-signal-value}: Value for the SIGUSR1 signal on your system. See, usually, @file{/usr/include/sys/signal.h}. @example - SunOS 4.1.x : (setq html-sigusr1-signal-value 30) + SunOS 4.1.x : (setq html-sigusr1-signal-value 30) SunOS 5.x : (setq html-sigusr1-signal-value 16) Linux : (setq html-sigusr1-signal-value 10)) @end example @@ -1112,9 +1107,9 @@ @itemize @bullet @item -@code{hm--html-disable-indentation}: Set this to t, if you want to -disable the indentation in the @code{hm--html-mode}. And may be send me -(@emph{muenkel@@tnt.uni-hannover.de}) a note, why you've done this. +@code{hm--html-disable-indentation}: Set this to t if you want to +disable indentation in @code{hm--html-mode}. And maybe send me +(@emph{muenkel@@tnt.uni-hannover.de}) a note why you did this. @item @code{hm--html-inter-tag-indent}: The indentation after a start tag. @item @@ -1123,11 +1118,11 @@ @code{hm--html-intra-tag-indent}: The indentation after the start of a tag. @item -@code{hm--html-tag-name-alist}: An alist with tag names known by the -@code{hm--html-mode}. It is used to determine, if a tag is a one element +@code{hm--html-tag-name-alist}: An alist with tag names known by +@code{hm--html-mode}. It is used to determine if a tag is a one element tag or not. In the future it should also be used to get possible parameters of the tag. Use lower case characters in this list!!!! If -you've problems with the indentation of +you have problems with the indentation of @code{:hm--html-one-or-two-element-tag} elements, then you should set them to either @code{:hm--html-one-element-tag} or @code{:hm--html-two-element-tag}, depending on how you use these @@ -1143,9 +1138,9 @@ @cindex non standard html @vindex hm--html-tag-name-alist -If you'd like to add new HTML elements to this package, you should take -at first a look at the file @file{hm--html-not-standard.el}, which -contains already some non standard elements. If you find your tags +If you'd like to add new HTML elements to this package, you should first take +a look at the file @file{hm--html-not-standard.el}, which +already contains some non-standard elements. If you find your tags there, you should uncomment the line @code{(require 'hm--html-not-standard)} in the file @file{hm--html-mode.el}. There are also menu entries for these elements in the file @@ -1157,29 +1152,29 @@ @enumerate @item -Search a tag, which is similar to the one you want to add. Similar -means, that it is inserted in the way you want to insert the new +Locate a tag which is similar to the one you want to add. "Similar" +means that it is inserted in the way you want to insert the new tags. Now let's assume, that you chose @samp{<strong></strong>}. @item Look at the file @file{hm--html.el} and search the function(s) which -inserts the "similar tags". If the HTML element consists of only one +inserts the similar tag(s). If the HTML element consists of only one tag, then there should be only one function for inserting the tag. If the element consists of a start and an end tag, there are at least two functions. Only in some special cases, if it is possible to insert -elements with different attribute values, there are more than two +elements with different attribute values, are there more than two functions. In the case of @samp{<strong></strong>}, there are the two functions @code{hm--html-add-strong} and -@code{hm--html-add-strong-to-region}. The first one is used, if no -region is active and the second if a region is active. The naming scheme -of these functions are always @var{hm--html-add-<tagname>} and +@code{hm--html-add-strong-to-region}. The first one is used if no +region is active, and the second if a region is active. The naming scheme +of these functions is always @var{hm--html-add-<tagname>} and @var{hm--html-add-<tagname>-to-region}. @var{<tagname>} is not in all -cases the tagname. Sometimes a more human readable name is used (eg: +cases the tagname. Sometimes a more human readable name is used (e.g. bold instead of b). @item To get the right indentation for the new tags you should add an entry -for it to the variable @code{hm--html-tag-name-alist}, which is defined -in @file{hm--html-configuration.el}. Lets assume, that the new tagname -is @samp{foo}, then the entry in @code{hm--html-tag-name-alist} should +for them to the variable @code{hm--html-tag-name-alist}, which is defined +in @file{hm--html-configuration.el}. Let's assume that the new tagname +is @samp{foo}. The entry in @code{hm--html-tag-name-alist} should be @lisp ("foo" (:hm--html-one-element-tag t)) @@ -1194,8 +1189,8 @@ @lisp ("foo" (:hm--html-one-or-two-element-tag t)) @end lisp -if the new element consists of two tags, but it is allowed to use the -start tag without it's end tag (@samp{p} is such an element). +if the new element consists of two tags, but it is permissible to use the +start tag without its end tag (@samp{p} is such an element). @end enumerate Now you are ready and able to insert the new tags with @@ -1207,11 +1202,11 @@ M-x hm--html-add-foo-to-region @end example -But if you want to add the new commands also to the popup menu, -then you've to take a look at @file{hm--html-menu.el}, where all the +If you want to add the new commands also to the popup menu, +then you have to take a look at @file{hm--html-menu.el}, where all the menus are defined. Look at @code{hm--html-menu-noregion-expert} and -@code{hm--html-menu-region-expert}. The first one is used, if no region is -active and the second, if a region is active (both are only used, +@code{hm--html-menu-region-expert}. The first one is used if no region is +active, and the second if a region is active (both are only available if the "expert menus" are used; this is an option in the pulldown menu). You should now add an entry like @lisp @@ -1226,12 +1221,12 @@ whole variable to a new value or by using the function @code{add-menu-button}. I recommend the last method. -If you'd like to have also a key sequence for inserting the new tag, -then you've to take a look at @file{hm--html-keys.el}. There are +If you'd like to have a key sequence for inserting the new tag as well, +take a look at @file{hm--html-keys.el}. There are different key tables defined for region and no region cases and for different sorts of elements, like anchors, frame elements (doesn't mean the Netscape element frame) and so on. These "groups" are the same as -the sub menu groups. +the submenu groups. @node Use With psgml-html, Internal Drag And Drop, Add New Elements, Top @@ -1242,11 +1237,11 @@ The package provides a minor mode called @code{hm--html-minor-mode}, which could be used to join the features of this package with another -HTML package. Currently this is only tested with the psgml html mode in -the XEmacs. Please let me know, if it works or not with other packages -or in the Emacs 19. +HTML package. Currently this is only tested with the psgml-html mode in +XEmacs. Please let me know if it works or not with other packages +or in Emacs 19. -If you'd like to use the minor mode in the psgml html mode, you've to +If you'd like to use the minor mode in psgml-html mode, put the following line in your @file{.emacs}: @lisp @@ -1254,10 +1249,10 @@ @end lisp Note: This should work only in XEmacs versions greater than 19.14 and not -in 20.0. It doesn't work in other versions, because the hook variable -@code{html-mode-hook} exists not in that versions. Therefore in that -versions you've to called the minor mode either by hand or change the -lisp file of the psgml html mode. +in 20.0. It doesn't work in other versions because the hook variable +@code{html-mode-hook} doesn't exist in those versions. Therefore in those +versions you must either call the minor mode by hand or change the +lisp file of the psgml-html mode. @node Internal Drag And Drop, Template Minor Mode, Use With psgml-html, Top @@ -1269,13 +1264,13 @@ @vindex hm--html-idd-actions -The file @file{internal-drag-and-drop.el}, which is shipped with the +The file @file{internal-drag-and-drop.el}, which is shipped with @file{hm--html-menus}, provides a general package for internal drag and -drop in the emacs. General means, that it can be used also without the +drop in emacs. "General" means that it can be used apart from @code{hm--html-mode} in any other mode. You can start such an action by clicking with the mouse in the source -buffer and then in the destination buffer. The action could depend on +buffer and then in the destination buffer. The action may depend on the points where you've clicked with the mouse, on the state of the region, the point, the mark and any other properties of the source and the destination buffers. The actions are defined by the variable @@ -1293,12 +1288,12 @@ @cindex customization @cindex configuration -The internal drag and drop functions could be used in all -modes. Therefore it's general customization isn't done in -@file{hm--html-configuration.el}. It's variables are defined in the file +The internal drag and drop functions may be used in all +modes. Therefore their general customization isn't done in +@file{hm--html-configuration.el}. Its variables are defined in the file @file{internal-drag-and-drop.el} instead. You can set them in your -@file{.emacs} or in one of the other emacs init files (eg: -@file{default.el}). The following subsections describes the main +@file{.emacs} or in one of the other emacs init files (e.g. +@file{default.el}). The following subsections describe the main customization variables. @@ -1314,9 +1309,9 @@ @cindex drag and drop actions @vindex idd-actions -The drag and drop actions are commands, which are called after an -internal drag and drop. They depends from the source and the destination -of the drag and drop. Drag and drop actions must be defined by the +The drag and drop actions are commands which are called after an +internal drag and drop. They depend on the source and the destination +of the drag and drop. Drag and drop actions are defined by the variable: @itemize @bullet @@ -1356,9 +1351,9 @@ @end table @end lisp -The @var{<specification-type>} - functions must have two arguments, the +The @var{<specification-type>} - functions must have two arguments. The first one is the source or destination and the second is the -@var{<value>}. It must return @code{nil}, if the test wasn't successful +@var{<value>}. It must return @code{nil}, if the test wasn't successful, and a number (in general 1), which specifies the weight of the test function. The weights of all single tests are added to a summary weight and assigned to the action. The action with the highest weight is called @@ -1378,17 +1373,17 @@ matches. @code{idd-actions} is a buffer local variable, which should be at least mode depended. So if the @var{<destination-specification-1>} is set to @code{nil} it says, that the destination buffer must only have a -specific mode. But however, it's also possible to define a general +specific mode. However, it's also possible to define a general @code{idd-actions} list, where the destination mode is specified by @code{idd-if-major-mode-p}. -@var{<action>} is a function, which has two arguments, the first +@var{<action>} is a function which has two arguments. The first specifies the source and the second the destination. Look at the function definition of @code{idd-action-copy-region} and @code{idd-action-copy-replace-region}. They are examples for such actions. -The following is an example for the @code{hm--html-mode}: +The following is an example for @code{hm--html-mode}: @lisp (defvar idd-actions @@ -1421,7 +1416,7 @@ @findex idd-mouse-drag-and-drop @findex idd-help-mouse-drag-and-drop -There are the following three variables, which determines the mouse +The following three variables determine the mouse bindings and the mouse behaviour for the internal drag and drop package: @itemize @bullet @@ -1432,14 +1427,14 @@ package @file{internal-drag-and-drop} to these keys in the @b{global keymap}. The drag and drop action @b{must be bound global}, because the drag and drop action must be started by a click in the source -buffer. Therefore no action will be performed, if the mouse keys are not +buffer. Therefore no action will be performed if the mouse keys are not bound to @code{idd-mouse-drag-and-drop} in the destination buffer. Set it to @code{nil}, if you don't want to bind this function during loading. If the command is already bound in the global keymap during loading, -then this key sequence will not be bind. +then this key sequence will not be bound. By default the mouse binding is @key{meta} @key{control} @key{button1}. @@ -1447,29 +1442,29 @@ @code{idd-global-help-mouse-keys}: The mouse keys for the command @code{idd-help-mouse-drag-and-drop}. The command @code{idd-help-mouse-drag-and-drop} is bound during the loading of the -package @file{internal-drag-and-drop} to this keys in the @b{global +package @file{internal-drag-and-drop} to these keys in the @b{global keymap}. -Set it to @code{nil}, if you don't want to bind this function during +Set it to @code{nil} if you don't want to bind this function during loading. If the command is already bound in the global keymap during loading, -then this key sequence will not be bind. +then this key sequence will not be bound. By default the mouse binding is @key{meta} @key{control} @key{button3}. @item @code{idd-drag-and-drop-mouse-binding-type}: The type of the drag and -drop mouse binding. The value maybe @code{click} or -@code{press-button-during-move}. A value of @code{click} means, that -you've to click over the source, leave the button and click it again -over the destination. A value of @code{press-button-during-move} means, -that you've to press the button down over the source and hold it until +drop mouse binding. The value may be @code{click} or +@code{press-button-during-move}. A value of @code{click} means that +you have to click over the source, release the button and click it again +over the destination. A value of @code{press-button-during-move} means +that you have to press the button down over the source and hold it until the mouse pointer is over the destination. The @emph{disadvantage} of the @code{press-button-during-move} type -compared with the @code{click} type is, that you can't select a destination -region and therefore a drag and drop action depending on a selected +compared with the @code{click} type is that you can't select a destination +region, and therefore a drag and drop action depending on a selected region can't be started with that type of mouse binding. @end itemize @@ -1478,9 +1473,9 @@ @section The Drag And Drop Commands @cindex drag and drop commands -There are 2 groups of commands. The first one contains commands, which -performs the drag and drop action and the second displayed a help -message about a possible drag and drop action. +There are 2 groups of commands. The first contains commands which +perform the drag and drop action and the second displays help +messages about a possible drag and drop action. @menu @@ -1500,7 +1495,7 @@ @findex idd-help-start-action @vindex idd-drag-and-drop-mouse-binding-type -There are the following five different commands, which performs internal +The following five commands perform internal drag and drop actions: @itemize @bullet @@ -1510,17 +1505,17 @@ @code{idd-mouse-drag-and-drop-press-button-during-move} depending on the value of @code{idd-drag-and-drop-mouse-binding-type}. However you've set this, you start a drag and drop action with this command by pressing -down it's mouse button over the source. This command is bind by default +down its mouse button over the source. This command is bound by default to a global mouse key sequence. @xref{The Mouse Bindings}. @item @code{idd-start-mouse-drag-and-drop}: Starts a drag and drop command. This command could be used to start a drag and drop command without a -button event. Therefore this should not be bind direct to a mouse +button event. Therefore this should not be bound directly to a mouse button. This command can be used to start a drag and drop action with a -click on a menu item or tool bar icon. After that you've to press down a +click on a menu item or tool bar icon. After that you have to press a mouse button over the source. The rest depends on the value of -@code{idd-drag-and-drop-mouse-binding-type}, like with the command +@code{idd-drag-and-drop-mouse-binding-type}, as with the command @code{idd-mouse-drag-and-drop}. @item @@ -1533,9 +1528,9 @@ @item @code{idd-mouse-drag-and-drop-press-button-during-move}: Performs a drag and drop action in a more traditional way than -@code{idd-mouse-drag-and-drop-click}. At first you must press the button -down over the source and then move with the pressed button to the -destination, where you must leave the button up. This must be bind to a +@code{idd-mouse-drag-and-drop-click}. First you press the button +over the source and then move with the depressed button to the +destination, where you release the button. This must be bound to a mouse button. The @code{SOURCE-EVENT} must be a @code{button-press-event}. @@ -1545,19 +1540,19 @@ You should bind the command @code{idd-mouse-drag-and-drop} instead of this one, because it's then possible to switch between both drag and -drop behaviour by changing only one variable. +drop behaviours by changing only one variable. @item @code{idd-mouse-drag-and-drop-click}: Performs a drag and drop action in a more useful way than -@code{idd-mouse-drag-and-drop-press-button-during-move}. At first you -must click on the source and after that on the destination. This must -be bind to a mouse button. The @code{SOURCE-EVENT} must be a +@code{idd-mouse-drag-and-drop-press-button-during-move}. First you +click on the source and then on the destination. This must +be bound to a mouse button. The @code{SOURCE-EVENT} must be a @code{button-press-event}. You should bind the command @code{idd-mouse-drag-and-drop} instead of this one, because it's then possible to switch between both drag and -drop behaviour by changing only one variable. +drop behaviours by changing only one variable. @end itemize @@ -1570,24 +1565,24 @@ @findex idd-start-help-mouse-drag-and-drop It's possible to display a buffer with a help message describing the -action before actually performing it. To perform the action, you've then -to click on a special extent in the help buffer. To get the help buffer, -you've to do the same things, as you've to do to perform the action -direct. Only the mouse key differs. There are two commands for this: +action being considered before actually performing it. To perform the +action, you then click on a special extent in the help buffer. To get +the help buffer, you do the same things as you do to perform the action +itself. Only the mouse key differs. There are two commands for this: @itemize @bullet @item @code{idd-help-mouse-drag-and-drop}: Displays help about the drag and -drop action. It works similar as @code{idd-mouse-drag-and-drop} +drop action. It works similarly to @code{idd-mouse-drag-and-drop} (@pxref{Performing The Drag And Drop Action}). -By default this command is global bound to @key{meta} @key{control} -@key{button3}. This could be changed with the variable +By default this command is globally bound to @key{meta} @key{control} +@key{button3}. This may be changed with the variable @code{idd-global-help-mouse-keys} (@pxref{The Mouse Bindings}). @item @code{idd-start-help-mouse-drag-and-drop}: Starts displaying help about -the drag and drop action. It works similar as +the drag and drop action. It works similarly to @code{idd-start-mouse-drag-and-drop} (@pxref{Performing The Drag And Drop Action}) and can be used to start the help by clicking on a menu item or a tool bar icon. @@ -1603,7 +1598,7 @@ of the package @emph{hm---html-menus}. It provides functions to use templates for the @code{hm--html-mode} and also for other modes. It needs nothing from the rest of the package and therefore it can be used -independently of the @code{hm--html-mode}. +independently of @code{hm--html-mode}. @menu @@ -1621,10 +1616,10 @@ @findex tmpl-expand-templates-in-buffer @findex tmpl-expand-templates-in-region -Templates are special pieces of text, which can be expanded by the -emacs. Expansion means, that the template is replaced by something else, -which is determined by evaluating lisp forms or emacs commands. The -expansion can be done automaticly after the insert of templates +Templates are special pieces of text, which can be expanded by +emacs. Expansion means that the template is replaced by something else, +determined by evaluating lisp forms or emacs commands. The +expansion can be done automatically after the insertion of templates with the command @code{tmpl-insert-template-file} in a buffer or by hand with the commands @code{tmpl-expand-templates-in-buffer} or @code{tmpl-expand-templates-in-region}. @@ -1653,7 +1648,7 @@ C-SPC}. You can also use any other character or string of characters by changing the variable @code{tmpl-sign}. -At the moment, there are 3 different mayor types of templates: +At the moment, there are 3 major types of templates: @enumerate @item @@ -1665,7 +1660,7 @@ ^@@LISP^@@ (insert-file "~/.emacs") ^@@END LISP^@@ @end lisp -It inserts the contents of the file @file{~/.emacs} in the current +inserts the contents of the file @file{~/.emacs} in the current buffer during the expansion. @item @@ -1677,7 +1672,7 @@ ^@@COMMAND^@@ insert-file ^@@END COMMAND^@@ @end lisp -It runs the interactive command @code{insert-file} during the expansion. +runs the interactive command @code{insert-file} during the expansion. @item @emph{Template comments} Nothing will be evaluated during the expansion @@ -1691,7 +1686,7 @@ syntax as a lisp or C++ comment. @end enumerate -The default is, that a template will be deleted after its expansion, but +By default, a template will be deleted after its expansion, but without the linefeed. Look at the following examples: Before the expansion: @@ -1709,13 +1704,13 @@ Line after the template -Templates can start in every column and only the template will be deleted +Templates can start in any column, and only the template will be deleted after its expansion. -There is also the possibility to put an attribute list in a template. The -attributes of the list are controlling the deletion of the template. It -may be, that this will be extended in the future with other attributes. +It is also possible to put an attribute list in a template. The +attributes of the list control the deletion of the template. It +may be that this will be extended in the future with other attributes. The attribute list must be specified as an alist (assoc list) in the start tag of a template and after its type. Each element of the alist consists of the name of the attribute following its value. @@ -1724,9 +1719,9 @@ @enumerate @item @emph{don't delete attribute} (@code{DONT_DELETE}): If the value -is t, then the template will not be deleted after its expansion or else -if the value is nil then the template will be deleted. The default is -nil. For example: +is t, then the template will not be deleted after its expansion. If the +value is nil then the template will be deleted. The default is nil. For +example: Before the expansion: @@ -1746,10 +1741,9 @@ It was assumed, that the file @file{~/.cshrc} was empty ! -@item -@emph{delete line attribute} (@code{DELETE-LINE}): If the value is t, -then the linefeed before or after the template will be deleted or else -if the value is nil then no linefeed will be deleted. The default is +@item @emph{delete line attribute} (@code{DELETE-LINE}): If the value is +t, then the linefeed before or after the template will be deleted. If +the value is nil then no linefeed will be deleted. The default is nil. For example: Before the expansion: @@ -1770,7 +1764,7 @@ It was assumed, that the file @file{~/.cshrc} was empty ! @end enumerate -The attributes can be combined. For example: +These attributes can be combined. For example: @example ^@@COMMAND ((DELETE-LINE t) (DONT-DELETE nil))^@@ @@ -1778,10 +1772,10 @@ ^@@END COMMAND^@@ @end example -The last examples shows also, that whitespaces (blanks, tabs, linefeeds) -are allowed at the most positions in a template. +The last examples show also that whitespace (blanks, tabs, linefeeds) +is allowed at most positions in a template. -Look at the file @file{tmpl-minor-mode.el}, for a description of the +Look at the file @file{tmpl-minor-mode.el} for a description of the commands to expand templates. @@ -1796,11 +1790,11 @@ @vindex tmpl-sign @vindex tmpl-minor-mode-map -Templates could be used for all editing modes and not only for the -@code{hm--html-mode}. Therefore it's general customization isn't done in -@file{hm--html-configuration.el}. It's variables are defined in the file +Templates may be used for all editing modes, not only for +@code{hm--html-mode}. Therefore their general customization isn't done in +@file{hm--html-configuration.el}. Template variables are defined in the file @file{tmpl-minor-mode.el} instead. You can set them in your -@file{.emacs} or in one of the other emacs init files (eg: +@file{.emacs} or in one of the other emacs init files (e.g. @file{default.el}). The following are the main variables for customization. @@ -1815,27 +1809,27 @@ @code{tmpl-insert-template-file-from-fixed-dirs} and at @code{tmpl-insert-template-file}. The command @code{tmpl-insert-template-file} uses only the car of the list (if it is -a list).") +a list.) @item -@code{tmpl-filter-regexp}: It determines an regular expression used for -filtering out non template files in template directories. It is used in +@code{tmpl-filter-regexp}: This defines a regular expression used for +filtering out non-template files in template directories. It is used in the command @code{tmpl-insert-template-file-from-fixed-dirs} to allow -only the selecting of files, which are matching the regexp. If it is +only the selection of files which match the regexp. If it is nil, then the Filter @code{".*\\.tmpl$"} is used. Set it to @code{\".*\"} if you want to disable the filter function or use the command @code{tmpl-insert-template-file}. @item @code{tmpl-automatic-expand}: If you insert a template file with @code{tmpl-insert-template-file-from-fixed-dirs} or with -@code{tmpl-insert-template-file}, this variable is used. In this case -the templates in the buffer will be automaticly expanded, if the -variable is set to t, which is the default. +@code{tmpl-insert-template-file}, this variable is used. The templates +in the buffer will be automatically expanded if the variable is set to +t, which is the default. @item -@code{tmpl-sign}: It determines the sign which marks the beginning and +@code{tmpl-sign}: Thisdetermines the sign which marks the beginning and the end of template expressions. By default it is set to the null -character (displayed in the emacs as ^@@). You can also set this to a -string. Be careful, if you change it, so that the templates will not be -mixed up with other non template text! Note: The expansion function +character (displayed in emacs as ^@@). You can also set this to a +string. Be careful if you change it, so that the templates will not be +mixed up with other non-template text! Note: The expansion function looks at the whole template, so that it is very unlikely that the function will make a mistake. @item @@ -1873,22 +1867,23 @@ @item @code{tmpl-insert-template-file}: This command can be used to insert a template file in the current buffer. It will expand the templates in the -buffer, if @code{tmpl-automatic-expand} is set to @code{t}. You can set +buffer if @code{tmpl-automatic-expand} is set to @code{t}. You can set a default directory for this command by setting the variable -@code{tmpl-template-dir-list}, @xref{Template Customization}. +@code{tmpl-template-dir-list}. @xref{Template Customization}. @item -@code{tmpl-insert-template-file-from-fixed-dirs}: The difference to the -simpler command @code{tmpl-insert-template-file} is, that this command -will build a list for filename completion from a list of predefined -directories (look at @code{tmpl-template-dir-list}). The filename -completion list will also be filtered with the regular expression -defined by @code{tmpl-filer-regexp}. @xref{Template Customization}. You -can set the directory list and/or the filter different in each mode, -where you use templates, so that you will get only template files in the -completion list, which could be used for the current mode. +@code{tmpl-insert-template-file-from-fixed-dirs}: The difference from +the simpler command @code{tmpl-insert-template-file} is that this +command will build a list for filename completion from a list of +predefined directories (look at @code{tmpl-template-dir-list}). The +filename completion list will also be filtered with the regular +expression defined by @code{tmpl-filer-regexp}. @xref{Template +Customization}. You can set the directory list and/or the filter +differently in each mode where you use templates, so that you will get +in the completion list only template files which could be used for the +current mode. If you want to insert a template file with this command, which is not in -one of the directories from @code{tmpl-template-dir-list}, then you've +one of the directories from @code{tmpl-template-dir-list}, then you have to enter the string @emph{"Change the directory"} instead of a template file. This string is also in the completion list. @end itemize @@ -1908,23 +1903,23 @@ @findex tmpl-expand-templates-in-region @findex tmpl-expand-templates-in-buffer -You can expand templates by hand or automaticly after their -insert. @xref{Insert Of Template Files}, for automatic -expansion. The expansion by hand can be done with one of the +You can expand templates by hand or automatically after their +insertion. @xref{Insert Of Template Files}, for automatic +expansion. Expansion by hand can be done with one of the following two functions: @itemize @bullet @item @code{tmpl-expand-templates-in-region}: Expands the templates in the -region. The region is determined by it's optional arguments @code{BEGIN} +region. The region is established by the optional arguments @code{BEGIN} and @code{END}. If the arguments are @code{nil}, or if the function is called -interactive, then the current region will be used. +interactively, then the current region will be used. @item @code{tmpl-expand-templates-in-buffer}: Expands all templates in the current buffer. @end itemize -Both commands are bind to keys in the @code{tmpl-minor-mode}. @xref{The +Both commands are bound to keys in the @code{tmpl-minor-mode}. @xref{The Template Minor Mode}. @@ -1939,24 +1934,24 @@ It is possible to escape template signs in a buffer or in a region. Templates with escaped template signs are not expanded, but they are un-escaped by the expansion functions. Therefore it is possible to -prevent single templates from the expansion by escaping them. Note: -You can't escape template twice. The commands, which can be used for +exclude single templates from the expansion by escaping them. Note: +You can't escape a template twice. The commands which can be used for this are: @itemize @bullet @item -@code{tmpl-escape-tmpl-sign-in-region}: Escapes all @code{tmpl-sign}'s +@code{tmpl-escape-tmpl-sign-in-region}: Escapes all @code{tmpl-sign}s (@pxref{Template Customization}) with a @code{tmpl-sign} in a -region. The region is determined by it's optional arguments @code{BEGIN} +region. The region is established by the optional arguments @code{BEGIN} and @code{END}. If the arguments are @code{nil}, or if the function is -called interactive, then the current region will be used. +called interactively, then the current region will be used. @item @code{tmpl-escape-tmpl-sign-in-buffer}: Same as @code{tmpl-escape-tmpl-sign-in-region}, but escapes all templates in the whole buffer. @end itemize -Both commands are bind to keys in the @code{tmpl-minor-mode}. @xref{The +Both commands are bound to keys in @code{tmpl-minor-mode}. @xref{The Template Minor Mode}. @@ -1971,13 +1966,13 @@ The template minor mode can be toggled with the command @code{tmpl-minor-mode}. The purpose of this mode is only to provide key bindings for some of the commands of the package -@file{tmpl-minor-mode}. So if you don't want to use the key bindings, you +@file{tmpl-minor-mode}. If you don't want to use the key bindings, you don't need this minor mode. Look at the key table @code{tmpl-minor-mode-map} (@pxref{Template Customization}) for the definition of the keys. -It may be, that I'll provide also a pulldown or popup menu for the minor +It may be that I'll also provide a pulldown or popup menu for the minor mode in a future release. @@ -1988,7 +1983,7 @@ @findex hm--html-submit-bug-report There's no software out there without bugs. This package contains -software, therefore it has bus. I (Heiko Münkel +software, therefore it has bugs. I (Heiko Münkel <muenkel@@tnt.uni-hannover.de>) have inserted most of the bugs in this package by myself, but I've forgotten where. So please help me out of this disaster and send bug reports, if you've found one of these little @@ -2002,15 +1997,15 @@ There's also an entry in the pulldown menu for this. -In some cases a backtrace would also be fine. +In some cases a backtrace would also be appropriate. -If you can't send the report with this function, than you should at -least insert the package version and your @code{Emacs}/@code{XEmacs} +If you can't send the report with this function, at +least include the package version and your @code{Emacs}/@code{XEmacs} version. -In the best of all worlds you include also a patch to fix the bug. +In the best of all worlds you would also include a patch to fix the bug. -@emph{Note}: It's not true, that I've inserted the bugs as a marketing trick, +@emph{Note}: It's not true that I've inserted the bugs as a marketing trick, so that you must buy the next version to get some of them fixed. This is false, because this software is free.
--- a/man/w3.texi Mon Aug 13 08:55:13 2007 +0200 +++ b/man/w3.texi Mon Aug 13 08:55:31 2007 +0200 @@ -3418,24 +3418,12 @@ @cindex Exportability @cindex Export Restrictions In order to use SSL in Emacs/W3, an implementation of SSL is necessary. -These are the implementations that I am aware of: - -@table @code -@item SSLRef 2.0 -Available from Netscape Communications @footnote{http://www.netscape.com/newsref/std/sslref.html}. This requires the -RSARef library, which is not exportable. The RSARef library is -available from ftp://ftp.rsa.com/rsaref/ -@item SSLeay 0.4 -An implementation by Eric Young (eay@@mincom.oz.au) that is free for -commerial or noncommercial use, and was developed completely outside the -US by a non-US citizen. More information can be found at -ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL/ -@end table - -Currently, an external in order to use SSL from within Emacs/W3. This -program should be able to take command line parameters for the hostname -and port number to connect to, and read/write to standard input/output -(similar to telnet, but without the annoying status messages). +Emacs/W3 is configued to work out of the box with SSLeay 0.6.6 or later. +For best results, you should apply a patch that makes the SSLeay client +much quieter about what it reports. + +You can download SSLeay from +@url{ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL/} The following variables control how the external program is invoked.
--- a/man/xemacs-faq.texi Mon Aug 13 08:55:13 2007 +0200 +++ b/man/xemacs-faq.texi Mon Aug 13 08:55:31 2007 +0200 @@ -1,6 +1,6 @@ \input texinfo.tex @c -*-texinfo-*- @c %**start of header -@setfilename ../info/xemacs-faq.info +@setfilename xemacs-faq.info @settitle Frequently asked questions about XEmacs @setchapternewpage off @c %**end of header @@ -64,9 +64,13 @@ but then had to give it up again. Some of the other contributors to this FAQ are listed later in this document. -This version was converted to hypertext format, and edited by Steven -L. Baur <steve@@altair.xemacs.org>. It was converted back to texinfo by -Hrvoje Niksic <hniksic@@srce.hr>. +The previous version was converted to hypertext format, and edited by +Steven L. Baur <steve@@altair.xemacs.org>. It was converted back to +texinfo by Hrvoje Niksic <hniksic@@srce.hr>. + +This version was edited and updated by Andreas Kaempf +<andreas@@sccon.com>. + @menu Introduction: @@ -341,7 +345,7 @@ Brand new questions are tagged. All submissions are welcome. E-mail submissions to -<steve@@altair.xemacs.org>. +<andreas@@sccon.com>. Please make sure that @samp{XEmacs FAQ} appears on the Subject: line. If you think you have a better way of answering a question, or think a @@ -439,23 +443,13 @@ version of the FAQ (listed in alphabetical order): @itemize @bullet -@item Per Abrahamsen <abraham@@dina.kvl.dk> - -@item Vladimir Alexiev <vladimir@@cs.ualberta.ca> - -@item Martin Buchholz <Martin.Buchholz@@sun.com> - -@item Brian Denheyer <briand@@iccom.com> - -@item Markus Gutschke <gutschk@@ESCHER.UNI-MUENSTER.DE> - -@item David Kastrup <dak@@fsnif.neuroinformatik.ruhr-uni-bochum.de> - -@item Natalie Kershaw <nataliek@@rd.scitec.com.au> - -@item John Turner <turner@@lanl.gov> - -@item David Vanderschel <DvdS@@eden.com> +@item Steven L Baur <steve@@miranova.com> + +@item Darrell Kindred <dkindred@@cmu.edu> + +@item David Moore <dmoore@@ucsd.edu> + +@item Justin Sheehy <dworkin@@ccs.neu.edu> @end itemize @node Q1.2.3, Q1.3.1, Q1.2.2, Introduction @@ -640,7 +634,7 @@ There is a cyrillic mode in the file @file{mysetup.zip} in <URL:ftp://ftp.math.ohio-state.edu/pub/users/ilya/emacs/>. This is a modification to Valery Alexeev's <ava@@math.jhu.ed> @file{russian.el} -which can be obtained from +which can be obtained from <URL:ftp://tut.cis.ohio-state.edu/pub/gnu/emacs/elisp-archive/packages/russian.el.Z>. @end quotation @@ -826,6 +820,7 @@ * Q2.1.19:: XEmacs does not follow the local timezone. * Q2.1.20:: @samp{Symbol's function definition is void: hkey-help-show.} * Q2.1.21:: Every so often the XEmacs frame freezes. +* Q2.1.22:: XEmacs seems to take a really long time to do some things. @end menu @node Q2.0.1, Q2.0.2, Installation, Installation @@ -1129,6 +1124,24 @@ a symbolic link. @end quotation +Steve L. Baur <steve@@miranova.com> writes: + +@quotation +If you build against a recent libc-5.4 (late enough to have caused +problems earlier in the beta cycle) and then run with an earlier version +of libc, you get a + +@example +$ xemacs +xemacs: can't resolve symbol '__malloc_hook' +zsh: 7942 segmentation fault (core dumped) xemacs +@end example + +(Example binary compiled against libc-5.4.23 and run with libc-5.4.16). + +The solution is to upgrade to at least libc-5.4.23. Sigh. Drat. +@end quotation + @node Q2.0.9, Q2.0.10, Q2.0.8, Installation @section Where do I find external libraries? @@ -1933,12 +1946,47 @@ where you load hyperbole and the problem should go away. -@node Q2.1.21, , Q2.1.20, Installation +@node Q2.1.21, Q2.1.22, Q2.1.20, Installation @section Every so often the XEmacs frame freezes This problem has been fixed in 19.15, and was due to a not easily reproducible race condition. +@node Q2.1.22, , Q2.1.21, Installation +@section XEmacs seems to take a really long time to do some things + +David Moore <dmoore@@ucsd.edu> writes: + +@quotation +Two things you can do: + +1) C level: + +When you see it going mad like this, you might want to use gdb from an +'xterm' to attach to the running process and get a stack trace. To do +this just run: + +@example +gdb /path/to/xemacs/xemacs #### +@end example + +Where #### is the process id of your xemacs, instead of specifying the +core. When gdb attaches, the xemacs will stop [1] and you can type +`where' in gdb to get a stack trace as usual. To get things moving +again, you can just type `quit' in gdb. It'll tell you the program is +running and ask if you want to quit anyways. Say 'y' and it'll quit and +have your emacs continue from where it was at. + +2) Lisp level: + +Turn on debug-on-quit early on. When you think things are going slow +hit C-g and it may pop you in the debugger so you can see what routine +is running. Press `c' to get going again. + +debug-on-quit doesn't work if something's turned on inhibit-quit or in +some other strange cases. +@end quotation + @node Customization, Subsystems, Installation, Top @chapter Customization and Options
--- a/src/fileio.c Mon Aug 13 08:55:13 2007 +0200 +++ b/src/fileio.c Mon Aug 13 08:55:31 2007 +0200 @@ -938,11 +938,11 @@ Putting this call here avoids all that crud. The EQ test avoids infinite recursion. */ - if (! NILP (defalt) && !EQ (defalt, name) + if (! NILP(defalt) && !EQ (defalt, name) /* This saves time in a common case. */ && ! (XSTRING_LENGTH (defalt) >= 3 - && IS_DIRECTORY_SEP (XSTRING_BYTE (defalt, 0)) - && IS_DEVICE_SEP (XSTRING_BYTE (defalt, 1)))) + && (IS_DIRECTORY_SEP (XSTRING_BYTE (defalt, 0)) + || IS_DEVICE_SEP (XSTRING_BYTE (defalt, 1))))) { struct gcpro gcpro1;
--- a/src/s/sco5.h Mon Aug 13 08:55:13 2007 +0200 +++ b/src/s/sco5.h Mon Aug 13 08:55:31 2007 +0200 @@ -52,7 +52,7 @@ #ifndef __GNUC__ #define LINKER cc -Xc #else -#define LINKER gcc -Xc +#define LINKER gcc #endif #undef LIBX11_SYSTEM @@ -85,8 +85,8 @@ #define C_OPTIMIZE_SWITCH -O3 -Xc #define C_DEBUG_SWITCH -g -Xc #else -#define C_OPTIMIZE_SWITCH -O99 -m486 -fomit-frame-pointer -Xc -#define C_DEBUG_SWITCH -g -Xc +#define C_OPTIMIZE_SWITCH -O99 -m486 -fomit-frame-pointer +#define C_DEBUG_SWITCH -g #endif /* configure can't get this right linking fails unless -lsocket is used. */ @@ -100,7 +100,11 @@ #undef BROKEN_TIOCGWINSZ #define NEED_PTEM_H +#ifndef __GNUC__ #define START_FILES pre-crt0.o /usr/ccs/lib/crt1.o /usr/ccs/lib/values-Xc.o +#else +#define START_FILES pre-crt0.o /usr/ccs/lib/crt1.o +#endif #define LIB_STANDARD -lc /* Send signals to subprocesses by "typing" signal chars at them. */
--- a/src/sysdep.c Mon Aug 13 08:55:13 2007 +0200 +++ b/src/sysdep.c Mon Aug 13 08:55:31 2007 +0200 @@ -582,6 +582,7 @@ Lisp_Object dir; unsigned char *str = 0; int len; + struct gcpro gcpro1; saved_handlers[0].code = SIGINT; saved_handlers[1].code = SIGQUIT; @@ -601,8 +602,11 @@ dir = Fsymbol_value (Qdefault_directory); if (!STRINGP (dir)) goto xyzzy; - - dir = expand_and_dir_to_file (Funhandled_file_name_directory (dir), Qnil); + + GCPRO1 (dir); + dir = Funhandled_file_name_directory (dir); + dir = expand_and_dir_to_file (dir, Qnil); + UNGCPRO; str = (unsigned char *) alloca (XSTRING_LENGTH (dir) + 2); len = XSTRING_LENGTH (dir); memcpy (str, XSTRING_DATA (dir), len);