Article View: gnu.emacs.help
Article #189673GNU Emacs Frequently Asked Questions with Answers (differences)
From: Joe Wells
Date: Sat, 08 Dec 1990 06:49
Date: Sat, 08 Dec 1990 06:49
1022 lines
34480 bytes
34480 bytes
Here is the differences between this version of the FAQ list and the last
version. Question numbers were stripped from both versions before doing
the comparison because the questions were renumbered. (Actually, I don't
keep numbers in the master copy that I edit.)
--
Enjoy,
Joe Wells <jbw@bu.edu>
----------------------------------------------------------------------
GNU Emacs Frequently Asked Questions with Answers (differences)
Sat Dec 8 01:30:53 1990
*** FAQ-3 Sat Dec 8 01:33:10 1990
--- FAQ-4 Sat Dec 8 01:32:59 1990
***************
*** 3,7 ****
--- 3,10 ----
at the text of the answers, just type "C-x $".
+ To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a
+ C-r if that doesn't work, then type ESC to end the search.
+
Notation Used in the Answers (READ THIS SECTION FIRST!)
***************
*** 45,49 ****
code 9.
! See section *** of the manual for another explanation.
Q: What do you mean when you write things like this: type "ESC a"?
--- 48,53 ----
code 9.
! To read more about this online, type "C-h i m emacs RET m characters
! RET", and also "C-h i m emacs RET m keys RET".
Q: What do you mean when you write things like this: type "ESC a"?
***************
*** 77,82 ****
M-x is simply the default key sequence that invokes the command
"execute-extended-command". This command allows you to run any Emacs
! command if you can remember the command's name. An Emacs "command" is
! any "interactive" Emacs function.
NOTE: Your system administrator may have bound other key sequences to
--- 81,88 ----
M-x is simply the default key sequence that invokes the command
"execute-extended-command". This command allows you to run any Emacs
! command if you can remember the command's name. If you can't remember
! the command's name, you can type TAB and SPC for completion, and ? for a
! list of possibilities. An Emacs "command" is any "interactive" Emacs
! function.
NOTE: Your system administrator may have bound other key sequences to
***************
*** 187,192 ****
$15. A set of 6 manuals is $60.
! The full source for the manual also comes with Emacs, if you're daring
! enough to try to print out this 300 page manual yourself. (We're
talking about killing an entire tree here. This kind of printer usage
can make you very unpopular. Besides, if you order it from the FSF, the
--- 193,198 ----
$15. A set of 6 manuals is $60.
! The full TeX source for the manual also comes with Emacs, if you're
! daring enough to try to print out this 300 page manual yourself. (We're
talking about killing an entire tree here. This kind of printer usage
can make you very unpopular. Besides, if you order it from the FSF, the
***************
*** 210,220 ****
Probably. A listing of Emacs Lisp packages, called the Lisp Code
! Directory, is being maintained by Dylan Kaufman
! <morgan@chaos.cs.brandeis.edu>. You can search through this list to
! find if someone has written something that fits your needs.
- {Question: does the Lisp Code Directory contain any references to things
- that aren't in the Emacs Lisp Archive, but have been posted?}
-
This list is file "LCD-datafile.Z" in the Emacs Lisp Archive. (See
question 14.) The files "lispdir.el.Z" and "lispdir.doc.Z"
--- 216,223 ----
Probably. A listing of Emacs Lisp packages, called the Lisp Code
! Directory, is being maintained by Dave Brennan <brennan@dg-rtp.dg.com>.
! You can search through this list to find if someone has written
! something that fits your needs.
This list is file "LCD-datafile.Z" in the Emacs Lisp Archive. (See
question 14.) The files "lispdir.el.Z" and "lispdir.doc.Z"
***************
*** 240,247 ****
mode whenever you retrieve any files with names ending in ".elc".
! I think you're supposed to send any submissions for the archive to Dave
! Brennan <brennan@dg-rtp.dg.com>, but maybe you should send them to Dave
! Sill <de5@ornl.gov>, I'm not sure. {No doubt, whichever one of them
! isn't supposed to receive submissions will get mad at me.} Before
submitting anything, first read the file "guidelines.Z", which is
available in the archive.
--- 243,251 ----
mode whenever you retrieve any files with names ending in ".elc".
! Submissions for the archive should be sent to Dave Sill <de5@ornl.gov>.
! If you have ftp access, the submission can be deposited in the directory
! /pub/gnu/emacs/elisp-archive/incoming on tut.cis.ohio-state.edu.
! Whenever possible submissions should contain an LCD-datafile entry since
! this helps reduce administrative overhead for the maintainers. Before
submitting anything, first read the file "guidelines.Z", which is
available in the archive.
***************
*** 371,375 ****
files, see question 16.)
! Q: Where can I get the latest VM, Supercite, GNUS, Calc, or Patch?
1. VM:
--- 375,379 ----
files, see question 16.)
! Q: Where can I get the latest VM, Supercite, GNUS, Calc, Calendar, or Patch?
1. VM:
***************
*** 382,393 ****
bug-vm@uunet.uu.net
- Last released version: 4.41
Anonymous FTP:
site: tut.cis.ohio-state.edu
file: /pub/gnu/vm/vm-4.41.tar.Z
! Beta test version: 5.15
site: abcfd20.larc.nasa.gov
! directory: /pub
2. Supercite:
--- 386,398 ----
bug-vm@uunet.uu.net
Anonymous FTP:
+
+ Last released version: 4.41
site: tut.cis.ohio-state.edu
file: /pub/gnu/vm/vm-4.41.tar.Z
! Beta test version: 5.18
site: abcfd20.larc.nasa.gov
! directory: /pub/vm
2. Supercite:
***************
*** 399,403 ****
Mailing lists: supercite@warsaw.nlm.nih.gov
supercite-request@warsaw.nlm.nih.gov
- WARNING: these lists might just disappear in the next couple of days ...
Anonymous FTP:
--- 404,407 ----
***************
*** 405,408 ****
--- 409,414 ----
files:/pub/gnu/elisp/supercite-2.1.shar.0# (where # is replaced by 1 or 2)
+ NOTE: Superyank is an old version of Supercite.
+
3. GNUS:
***************
*** 419,430 ****
Author: Dave Gillespie <daveg@csvax.cs.caltech.edu>
! Latest version: 1.05
Anonymous FTP:
! site: csvax.cs.caltec.edu [131.215.131.131]
or any comp.sources.misc archive
! 5. Patch
Author: Larry Wall <lwall@jpl-devvax.jpl.nasa.gov>
--- 425,446 ----
Author: Dave Gillespie <daveg@csvax.cs.caltech.edu>
! Latest version: 1.06
Anonymous FTP:
! site: csvax.cs.caltech.edu [131.215.131.131]
or any comp.sources.misc archive
! 5. Calendar/Diary
+ Author: Ed Reingold <reingold@cs.uiuc.edu>
+
+ Latest version: 4
+
+ E-mail:
+ Subject: send-emacs-cal
+ body: your best internet e-mail address
+
+ 6. Patch
+
Author: Larry Wall <lwall@jpl-devvax.jpl.nasa.gov>
***************
*** 509,514 ****
EMACS originally was an acronym for Editor MACroS. The first Emacs was
a set of macros written by Richard Stallman for the editor TECO (Tape
! Editor and COrrector) on a PDP-10. (Amusing fact: many people have told
! me that TECO code looks a lot like line noise.)
Q: What is the latest version of GNU Emacs?
--- 525,531 ----
EMACS originally was an acronym for Editor MACroS. The first Emacs was
a set of macros written by Richard Stallman for the editor TECO (Tape
! Editor and COrrector {Text Editor and COrrector?}) on a PDP-10.
! (Amusing fact: many people have told me that TECO code looks a lot like
! line noise.)
Q: What is the latest version of GNU Emacs?
***************
*** 612,616 ****
archive-server%sun.soe@omnigate (BITNET), or
{smart-host}!sun.soe.clarkson.edu!archive-server (UUCP)
- subject: {??? probably ignored}
body: help
--- 629,632 ----
***************
*** 626,629 ****
--- 642,657 ----
site: durer.cme.nist.gov
+ Another Emacs for small machines is Jove (Jonathan's Own Version of
+ Emacs). The latest version is 4.9. It is available via:
+
+ Anonymous FTP:
+ sites: hipl.psych.nyu.edu, cs.toronto.edu, cayuga.cs.rochester.edu
+
+ Yet another Emacs is "mg", which used to stand for MicroGNUEmacs, but
+ now just stands for "mg". It is available via:
+
+ Anonymous FTP:
+ site: snow.white.toronto.edu
+
Q: Where can I get Emacs for my Atari ST?
***************
*** 634,639 ****
--- 662,678 ----
directory: /pub/atari/emacs
+ Q: Where can I get Emacs with NeWS support?
+ Chris Maio's NeWS support package for GNU Emacs is available via:
+ Anonymous FTP:
+ site: columbia.edu
+ file: /pub/ps-emacs.tar.Z
+
+ site: tut.cis.ohio-state.edu
+ file: /pub/gnu/emacs/ps-emacs.tar.Z
+
+
+
Binding Keys to Commands
***************
*** 658,662 ****
you want.
! See question 69 for a complete explanation of what Emacs
does every time it is started.
--- 697,701 ----
you want.
! See question 72 for a complete explanation of what Emacs
does every time it is started.
***************
*** 770,774 ****
(swap-keys ?\C-q ?\C-^)
! See question 40 for the implementation of swap-keys.
Q: How do I "swap" two keys?
--- 809,813 ----
(swap-keys ?\C-q ?\C-^)
! See question 41 for the implementation of swap-keys.
Q: How do I "swap" two keys?
***************
*** 855,859 ****
(swap-keys ?\C-h ?\C-?)
! See question 40 for the implementation of swap-keys.
Q: How do I type DEL on PC terminal emulators?
--- 894,898 ----
(swap-keys ?\C-h ?\C-?)
! See question 41 for the implementation of swap-keys.
Q: How do I type DEL on PC terminal emulators?
***************
*** 871,875 ****
If this is too hard, you may want to swap the delete key with some other
! key. See question 41.
--- 910,914 ----
If this is too hard, you may want to swap the delete key with some other
! key. See question 42.
***************
*** 988,991 ****
--- 1027,1036 ----
Q: How do I get Emacs running on VMS under DECwindows?
+ Hal R. Brand <BRAND@addvax.llnl.gov> is said to have a VMS save set with
+ a ready-to-run VMS version of Emacs for X Windows. It is available via:
+
+ Anonymous FTP:
+ site: addvax.llnl.gov
+
Johan Vromans <jv@mh.nl> writes:
***************
*** 1078,1086 ****
>
! Q: Why won't Emacs compile with OpenLook?
! (Is that the problem, that it won't compile?)
! Try this patch:
>*** dist-18.55.dist/src/x11term.c Wed Aug 2 21:56:42 1989
--- 1123,1133 ----
>
! Q: Why does Emacs crash from a bus error in XLookupString under OpenLook?
! The Sun OpenLook libraries use the XComposeStatus parameter on
! XLookupString for composing key sequences. I'm told this is actually
! supposed to be an optional parameter.
! (Patch by David J. MacKenzie <djm@eng.umd.edu>.)
>*** dist-18.55.dist/src/x11term.c Wed Aug 2 21:56:42 1989
***************
*** 1117,1120 ****
--- 1164,1570 ----
> be able to use XRebindKeysym so XLookupString
+ Q: Why doesn't "C-c C-c" interrupt subprocesses under HP/UX?
+
+ Paul Stravers <stravers@dutentb.tudelft.nl> writes:
+
+ In HP/UX we can (must) combine the two distinct calls
+ 1. ioctl (fildes, TIOCGPGRP, &gid);
+ 2. kill (-gid, signo);
+ into the single call
+ 1+2. ioctl (fildes, TIOCSIGSEND, signo);
+
+ This is apparently the case under at least HP/UX versions 6.5 and 7.0.
+
+ Here is a set of patches courtesy of Piet van Oostrum <piet@cs.ruu.nl>
+ that fixes these problems:
+
+ 1. Signals to child processes work now (like the C-c C-c mentioned above)
+
+ 2. When running under X11, C-g now correctly interrupts long-running commands
+
+ 3. When running under X11, the window is redislayed even if emacs is doing
+ some work (e.g. if your window becomes visible after being behind another
+ one.
+
+ 4. A nasty bug in alloca is solved. This bug is very infrequent unless you
+ apply the other patches.
+
+ {I don't know for sure whether all of these patches are applicable only
+ under HP/UX. Perhaps someone can tell me.}
+
+ >*** alloca.s.~1~ Fri Sep 15 16:35:39 1989
+ >--- alloca.s Tue May 1 17:18:08 1990
+ >***************
+ >*** 92,103 ****
+ > sub.l &MAXREG*4,%d1 # space for saving registers
+ > mov.l %d1,%sp # save new value of sp
+ > tst.b PROBE(%sp) # create pages (sigh)
+ > move.w &MAXREG-1,%d0
+ > copy_regs_loop: /* save caller's saved registers */
+ >! mov.l (%a1)+,(%sp)+
+ > dbra %d0,copy_regs_loop
+ >! mov.l %sp,%d0 # return value
+ >! mov.l %d1,%sp
+ > add.l &-4,%sp # adjust tos
+ > jmp (%a0) # rts
+ > #endif /* new hp assembler */
+ >--- 92,105 ----
+ > sub.l &MAXREG*4,%d1 # space for saving registers
+ > mov.l %d1,%sp # save new value of sp
+ > tst.b PROBE(%sp) # create pages (sigh)
+ >+ mov.l %a2,%d1 # save reg a2
+ >+ mov.l %sp,%a2
+ > move.w &MAXREG-1,%d0
+ > copy_regs_loop: /* save caller's saved registers */
+ >! mov.l (%a1)+,(%a2)+
+ > dbra %d0,copy_regs_loop
+ >! mov.l %a2,%d0 # return value
+ >! mov.l %d1,%a2 # restore a2
+ > add.l &-4,%sp # adjust tos
+ > jmp (%a0) # rts
+ > #endif /* new hp assembler */
+
+ >*** keyboard.c.~1~ Wed Apr 4 14:53:49 1990
+ >--- keyboard.c Thu Apr 26 14:46:27 1990
+ >***************
+ >*** 719,724 ****
+ >--- 719,773 ----
+ > errno = old_errno;
+ > }
+ >
+ >+ #ifdef HPUX
+ >+ /* tells if an alarm is outstanding for emptying the socket */
+ >+ int socket_alarm;
+ >+
+ >+ static void
+ >+ empty_socket_interrupt()
+ >+ {
+ >+ int nread;
+ >+ char buf[256 * BUFFER_SIZE_FACTOR];
+ >+ register int i;
+ >+ int old_errno = errno;
+ >+
+ >+ if (waiting_for_input) return;
+ >+
+ >+ fcntl (fileno (stdin), F_SETFL, O_NDELAY);
+ >+
+ >+ /* Read what is waiting. */
+ >+
+ >+ nread = (*read_socket_hook) (0, buf, sizeof buf);
+ >+
+ >+ #ifdef EBADSLT
+ >+ if (nread == -1 && (errno == EAGAIN || errno == EBADSLT))
+ >+ #else
+ >+ if (nread == -1 && errno == EAGAIN)
+ >+ #endif
+ >+ nread = 0;
+ >+
+ >+ fcntl (fileno (stdin), F_SETFL, 0);
+ >+
+ >+ /* Scan the chars for C-g and store them in kbd_buffer. */
+ >+ kbd_ptr = kbd_buffer;
+ >+ for (i = 0; i < nread; i++)
+ >+ {
+ >+ kbd_buffer_store_char (buf[i]);
+ >+ /* Don't look at input that follows a C-g too closely.
+ >+ This reduces lossage due to autorepeat on C-g. */
+ >+ if (buf[i] == Ctl ('G'))
+ >+ break;
+ >+ }
+ >+
+ >+ /* reestablish interrupt */
+ >+ signal (SIGALRM, empty_socket_interrupt);
+ >+ alarm (1);
+ >+
+ >+ errno = old_errno;
+ >+ }
+ >+
+ >+ #endif /* HPUX */
+ >+
+ > /* read a character from the keyboard; call the redisplay if needed */
+ > /* commandflag 0 means do not do auto-saving, but do do redisplay.
+ > -1 means do not do redisplay, but do do autosaving.
+ >***************
+ >*** 733,738 ****
+ >--- 782,794 ----
+ > Lisp_Object tem;
+ > extern request_echo ();
+ >
+ >+ #ifdef HPUX
+ >+ if (socket_alarm) {
+ >+ alarm (0);
+ >+ socket_alarm = 0;
+ >+ }
+ >+ #endif
+ >+
+ > if ((c = unread_command_char) >= 0)
+ > {
+ > unread_command_char = -1;
+ >***************
+ >*** 869,874 ****
+ >--- 925,938 ----
+ > }
+ > }
+ >
+ >+ #ifdef HPUX
+ >+ if (read_socket_hook) {
+ >+ socket_alarm = 1;
+ >+ signal (SIGALRM, empty_socket_interrupt);
+ >+ alarm (1);
+ >+ }
+ >+ #endif
+ >+
+ > return c;
+ > }
+ >
+ >***************
+ >*** 1094,1119 ****
+ >
+ > #else /* no FIONREAD */
+ > #ifdef USG
+ > if (kbd_count)
+ > abort ();
+ >
+ > fcntl (fileno (stdin), F_SETFL, O_NDELAY);
+ >! kbd_ptr = kbd_buffer;
+ > if (read_socket_hook)
+ >! {
+ >! kbd_count = (*read_socket_hook) (0, kbd_buffer, sizeof kbd_buffer);
+ >! }
+ > else
+ >! {
+ >! kbd_count = read (fileno (stdin), kbd_buffer, sizeof kbd_buffer);
+ >! }
+ > #ifdef EBADSLT
+ >! if (kbd_count == -1 && (errno == EAGAIN || errno == EBADSLT))
+ > #else
+ >! if (kbd_count == -1 && errno == EAGAIN)
+ > #endif
+ >! kbd_count = 0;
+ > fcntl (fileno (stdin), F_SETFL, 0);
+ > #else /* not USG */
+ > you lose
+ > #endif /* not USG */
+ >--- 1158,1209 ----
+ >
+ > #else /* no FIONREAD */
+ > #ifdef USG
+ >+ char buf[256 * BUFFER_SIZE_FACTOR];
+ >+ register int i;
+ >+ #ifdef HPUX
+ >+ int mask;
+ >+ #endif
+ >+
+ > if (kbd_count)
+ > abort ();
+ >
+ >+ #ifdef HPUX
+ >+ if (socket_alarm)
+ >+ mask = sigblock (sigmask (SIGALRM));
+ >+ #endif
+ >+
+ > fcntl (fileno (stdin), F_SETFL, O_NDELAY);
+ >!
+ >! /* Read what is waiting. */
+ > if (read_socket_hook)
+ >! nread = (*read_socket_hook) (0, buf, sizeof buf);
+ > else
+ >! nread = read (fileno(stdin), buf, sizeof buf);
+ > #ifdef EBADSLT
+ >! if (nread == -1 && (errno == EAGAIN || errno == EBADSLT))
+ > #else
+ >! if (nread == -1 && errno == EAGAIN)
+ > #endif
+ >! nread = 0;
+ >!
+ > fcntl (fileno (stdin), F_SETFL, 0);
+ >+
+ >+ /* Scan the chars for C-g and store them in kbd_buffer. */
+ >+ kbd_ptr = kbd_buffer;
+ >+ for (i = 0; i < nread; i++)
+ >+ {
+ >+ kbd_buffer_store_char (buf[i]);
+ >+ /* Don't look at input that follows a C-g too closely.
+ >+ This reduces lossage due to autorepeat on C-g. */
+ >+ if (buf[i] == Ctl ('G'))
+ >+ break;
+ >+ }
+ >+
+ >+ #ifdef HPUX
+ >+ if (socket_alarm)
+ >+ sigsetmask(mask);
+ >+ #endif
+ >+
+ > #else /* not USG */
+ > you lose
+ > #endif /* not USG */
+
+ >*** x11term.h~ Fri Sep 15 15:20:26 1989
+ >--- x11term.h Thu Apr 26 14:03:25 1990
+ >***************
+ >*** 11,17 ****
+ >--- 11,22 ----
+ > #define sigmask(no) (1L << ((no) - 1))
+ > #endif
+ >
+ >+ #ifdef HPUX
+ > #define BLOCK_INPUT_DECLARE() int BLOCK_INPUT_mask
+ >+ #define BLOCK_INPUT() BLOCK_INPUT_mask = sigblock (sigmask (SIGALRM))
+ >+ #define UNBLOCK_INPUT() sigsetmask (BLOCK_INPUT_mask)
+ >+ #else /* not HPUX */
+ >+ #define BLOCK_INPUT_DECLARE() int BLOCK_INPUT_mask
+ > #ifdef SIGIO
+ > #define BLOCK_INPUT() BLOCK_INPUT_mask = sigblock (sigmask (SIGIO))
+ > #define UNBLOCK_INPUT() sigsetmask (BLOCK_INPUT_mask)
+ >***************
+ >*** 19,23 ****
+ >--- 24,29 ----
+ > #define BLOCK_INPUT()
+ > #define UNBLOCK_INPUT()
+ > #endif /* SIGIO */
+ >+ #endif /* HPUX */
+ >
+ > #define CLASS "emacs" /* class id for GNU Emacs, used in .Xdefaults, etc. */
+
+ >*** process.c.orig Fri Sep 15 16:28:36 1989
+ >--- process.c Fri Apr 20 13:17:06 1990
+ >***************
+ >*** 1057,1062 ****
+ >--- 1057,1079 ----
+ > signal (SIGHUP, SIG_DFL);
+ > #endif
+ > #endif /* HAVE_PTYS */
+ >+
+ >+ /* Give child clean slate for signals */
+ >+ #ifdef SIGCHLD
+ >+ #ifdef BSD4_1
+ >+ sigrelse (SIGCHLD);
+ >+ #else /* not BSD4_1 */
+ >+ #ifdef HPUX
+ >+ sigsetmask (0);
+ >+ #endif /* HPUX */
+ >+ #if defined (BSD) || defined (UNIPLUS)
+ >+ sigsetmask (0);
+ >+ #else /* ordinary USG */
+ >+ signal (SIGCHLD, sigchld);
+ >+ #endif /* ordinary USG */
+ >+ #endif /* not BSD4_1 */
+ >+ #endif /* SIGCHLD */
+ >+
+ > child_setup_tty (xforkout);
+ > child_setup (xforkin, xforkout, xforkout, new_argv, env);
+ > }
+ >***************
+ >*** 1413,1427 ****
+ > if (read_kbd && kbd_count)
+ > nfds = 0;
+ > else
+ >! #ifdef IBMRTAIX
+ > nfds = select (MAXDESC, &Available, 0, 0, &timeout);
+ > #else
+ >- #ifdef HPUX
+ >- nfds = select (MAXDESC, &Available, 0, 0, &timeout);
+ >- #else
+ > nfds = select (MAXDESC, &Available, 0, &Exception, &timeout);
+ > #endif
+ >- #endif
+ > xerrno = errno;
+ >
+ > if (fix_screen_hook)
+ >--- 1430,1440 ----
+ > if (read_kbd && kbd_count)
+ > nfds = 0;
+ > else
+ >! #if defined (IBMRTAIX) || defined (HPUX)
+ > nfds = select (MAXDESC, &Available, 0, 0, &timeout);
+ > #else
+ > nfds = select (MAXDESC, &Available, 0, &Exception, &timeout);
+ > #endif
+ > xerrno = errno;
+ >
+ > if (fix_screen_hook)
+ >***************
+ >*** 1771,1776 ****
+ >--- 1784,1790 ----
+ > error ("Process %s is not active",
+ > XSTRING (p->name)->data);
+ >
+ >+ #ifndef HPUX /* Can't get gid of tty's controlling session */
+ > #ifdef TIOCGPGRP /* Not sure about this! (fnf) */
+ > /* If we are using pgrps, get a pgrp number and make it negative. */
+ > if (!NULL (current_group))
+ >***************
+ >*** 1785,1790 ****
+ >--- 1799,1805 ----
+ > the child itself heads the pgrp. */
+ > gid = - XFASTINT (p->pid);
+ > #endif /* not using pgrps */
+ >+ #endif /* not HPUX */
+ >
+ > switch (signo)
+ > {
+ >***************
+ >*** 1800,1805 ****
+ >--- 1815,1827 ----
+ > flush_pending_output (XFASTINT (p->infd));
+ > break;
+ > }
+ >+
+ >+ #ifdef HPUX
+ >+ if (!NULL (current_group))
+ >+ ioctl (XFASTINT (p->infd), TIOCSIGSEND, signo);
+ >+ else
+ >+ kill (XFASTINT (p->pid), signo);
+ >+ #else /* not HPUX */
+ > /* gid may be a pid, or minus a pgrp's number */
+ > #ifdef BSD
+ > /* On bsd, [man says] kill does not accept a negative number to kill a pgrp.
+ >***************
+ >*** 1808,1813 ****
+ >--- 1830,1836 ----
+ > #else /* Not BSD. */
+ > kill (gid, signo);
+ > #endif /* Not BSD. */
+ >+ #endif /* Not HPUX */
+ >
+ > /* Put notices in buffers now, since it is safe now.
+ > Because of this, we know that a process we have just killed
+ >%
+
+ This is a separate patch to process.c, distinct from the immediately
+ preceding one. Both should be applied.
+
+ >*** process.c.~1~ Fri Apr 20 13:17:06 1990
+ >--- process.c Wed Oct 24 16:38:15 1990
+ >***************
+ >*** 1085,1095 ****
+ > /* If the subfork execv fails, and it exits,
+ > this close hangs. I don't know why.
+ > So have an interrupt jar it loose. */
+ >! signal (SIGALRM, create_process_1);
+ >! alarm (1);
+ >! if (forkin >= 0)
+ >! close (forkin);
+ >! alarm (0);
+ > if (forkin != forkout && forkout >= 0)
+ > close (forkout);
+ >
+ >--- 1085,1100 ----
+ > /* If the subfork execv fails, and it exits,
+ > this close hangs. I don't know why.
+ > So have an interrupt jar it loose. */
+ >!
+ >! { int old_trap = signal (SIGALRM, create_process_1);
+ >! int old_alarm = alarm (1);
+ >! if (forkin >= 0)
+ >! close (forkin);
+ >! alarm (0);
+ >! signal (SIGALRM, old_trap);
+ >! /* don't bother with possible 1 sec loss */
+ >! if (old_alarm) alarm (old_alarm);
+ >! }
+ > if (forkin != forkout && forkout >= 0)
+ > close (forkout);
+
Q: What should I do if I have trouble building Emacs?
***************
*** 1153,1157 ****
#define GCTYPEBITS 5
! See question 52 for an explanation.
Q: Why does Emacs use 24 bit integers and pointers?
--- 1603,1607 ----
#define GCTYPEBITS 5
! See question 54 for an explanation.
Q: Why does Emacs use 24 bit integers and pointers?
***************
*** 1171,1175 ****
Emacs uses 8-bit tags because that's a little faster on byte-oriented
machines, but there are only really enough tags to require 6 bits. See
! question 51 to find how to recompile Emacs with 6-bit tags and
26-bit integers and pointers if space is at a premium for you.
--- 1621,1625 ----
Emacs uses 8-bit tags because that's a little faster on byte-oriented
machines, but there are only really enough tags to require 6 bits. See
! question 53 to find how to recompile Emacs with 6-bit tags and
26-bit integers and pointers if space is at a premium for you.
***************
*** 1183,1187 ****
current directory inside sh, and then start Emacs from inside sh, PWD
will have the wrong value but Emacs will use this value. See question
! 69.
Q: How do I edit a file with a "$" in its name?
--- 1633,1637 ----
current directory inside sh, and then start Emacs from inside sh, PWD
will have the wrong value but Emacs will use this value. See question
! 72.
Q: How do I edit a file with a "$" in its name?
***************
*** 1232,1236 ****
The "man page", ie. the file etc/emacs.1, hasn't been updated in a
while. The command line switches that it says work with X Windows are
! for X10. See question 69 for details on what switches are
available using X11. {Would someone like to rewrite the man page? RMS
asked me and I haven't had time yet.}
--- 1682,1686 ----
The "man page", ie. the file etc/emacs.1, hasn't been updated in a
while. The command line switches that it says work with X Windows are
! for X10. See question 72 for details on what switches are
available using X11. {Would someone like to rewrite the man page? RMS
asked me and I haven't had time yet.}
***************
*** 1297,1305 ****
> news-reply-yank-message-id (mail-fetch-field "message-id")))
! Q: Why does Emacs hang with message "Unknown XMenu"?
! I don't know, but this is a known problem. Could someone send me the
! solution? What operating systems does this happen on?
Q: Why isn't the load average displayed by display-time?
--- 1747,1760 ----
> news-reply-yank-message-id (mail-fetch-field "message-id")))
! Q: Why does Emacs hang with message "Unknown XMenu" with X11R4?
! Many different X errors can produce this message. Here is the solution
! to one problem:
+ X11 Release 4 now enforces some conditions in the X protocol that were
+ previously allowed to pass unnoticed. You need to put the X11R4 server
+ into X11R3 bug compatibility mode for Emacs's Xmenu code to work. You
+ can do this with the command "xset bc".
+
Q: Why isn't the load average displayed by display-time?
***************
*** 1324,1334 ****
(setq nntp-maximum-request 1)
Or you could fix the NNTP server in one of these ways:
! 1. Put "setbuf (stdin, NULL)" in the NNTP server in the right spot.
! 2. Test whether there is data in stdin's stdio buffer before calling
! "select" using something like "((fileptr)->_cnt > 0)".
! 3. Remove call to select by not defining "TIMEOUT" in "common/conf.h".
4. Rewrite the server to use an alarm instead of "select".
--- 1779,1791 ----
(setq nntp-maximum-request 1)
+ (setq nntp-buggy-select t)
Or you could fix the NNTP server in one of these ways:
! 1. Test whether there is data in stdin's stdio buffer before calling
! "select" using something like "((fileptr)->_cnt > 0)". Best choice.
! 2. Remove call to select by not defining "TIMEOUT" in "common/conf.h".
! 3. Put "setbuf (stdin, NULL)" in the NNTP server in the right spot.
! This would be very inefficient.
4. Rewrite the server to use an alarm instead of "select".
***************
*** 1351,1355 ****
--- 1808,1830 ----
+ Q: Why does ispell sometimes ignore the local dictionary?
+ You need to update the version of ispell to 2.0.02. A patch is
+ available via:
+
+ Anonymous FTP:
+ site: tut.cis.ohio-state.edu
+ file: /pub/gnu/ispell/patch2.Z
+
+ You also need to change a line in ispell.el from:
+
+ (defconst ispell-version "2.0.01") ;; Check against output of "ispell -v".
+
+ to:
+
+ (defconst ispell-version "2.0.02") ;; Check against output of "ispell -v".
+
+
+
Configuring Emacs for yourself:
***************
*** 1377,1381 ****
WARNING: this will not discover errors caused by trying to do something
that requires the terminal/window-system initialization code to have
! been loaded. See question 33.
Q: How do I turn on abbrevs by default just in mode XXX?
--- 1852,1856 ----
WARNING: this will not discover errors caused by trying to do something
that requires the terminal/window-system initialization code to have
! been loaded. See question 34.
Q: How do I turn on abbrevs by default just in mode XXX?
***************
*** 1563,1567 ****
Initially, this is the *scratch* buffer. Otherwise it is the
buffer visiting the file most recently specified on the command
! line.
Other command line switches may have been created by modifying the
--- 2038,2042 ----
Initially, this is the *scratch* buffer. Otherwise it is the
buffer visiting the file most recently specified on the command
! line. WARNING: the synonym "-i" doesn't work under X11.
Other command line switches may have been created by modifying the
***************
*** 1581,1585 ****
Q: What are the valid X resource settings (ie., stuff in .Xdefaults file)?
! See question 69.
WARNING: Don't pay any attention to the documentation in etc/XDOC or
--- 2056,2060 ----
Q: What are the valid X resource settings (ie., stuff in .Xdefaults file)?
! See question 72.
WARNING: Don't pay any attention to the documentation in etc/XDOC or
***************
*** 1607,1612 ****
--- 2082,2102 ----
}
+ Q: How do I make Emacs send 8-bit characters to my terminal?
+ Johan Widen <jw@sics.se> writes:
+ A patch for emacs-18.55 is available by ftp and mail-server from
+ sics.se.
+
+ Anonymous FTP:
+ site: sics.se [192.16.123.90]
+ file: archive/emacs-18.55-8bit-diff
+
+ E-mail:
+ To: mail-server@sics.se
+ body: send emacs-18.55-8bit-diff
+
+
+
Emacs Lisp programming:
***************
*** 1656,1665 ****
Q: How can I highlight a region?
! There are ways to get highlighting in GNU Emacs 18.55, but they're all
! hacks that aren't that effective. (They're slow and the highlighting
! disappears if you scroll or redraw the screen.)
! I think Epoch gives you good control over this. GNU Emacs 19 will have
! everything you need, but won't be out soon.
Q: How do I change Emacs's idea of the tab character's length?
--- 2146,2156 ----
Q: How can I highlight a region?
! There are ways to get highlighting in GNU Emacs 18.55, but they all
! require patching the C code of Emacs and rebuilding. They are also slow
! and the highlighting disappears if you scroll or redraw the screen. One
! patch is by Kenichi Handa <handa@etl.go.jp>.
! You can hightlight regions in a variety of ways in Epoch. GNU Emacs 19
! will have everything you need, but won't be out soon.
Q: How do I change Emacs's idea of the tab character's length?
***************
*** 1729,1732 ****
--- 2220,2227 ----
M-x overwrite-mode (minor mode).
+ WARNING: delete-backward-char (usually the delete key) doesn't work
+ properly in overwrite mode. It deletes the character to the left,
+ rather than replacing it with a space.
+
Q: How do I show which parenthesis matches the one I'm looking at?
***************
*** 1792,1796 ****
regularly, put this in your .emacs file:
! (autoload hide-ifdef-mode "hideif" nil t)
Q: Is there an equivalent to the "." (dot) command of vi?
--- 2287,2291 ----
regularly, put this in your .emacs file:
! (autoload 'hide-ifdef-mode "hideif" nil t)
Q: Is there an equivalent to the "." (dot) command of vi?
***************
*** 1844,1845 ****
--- 2339,2343 ----
online, type "C-h i m emacs RET m regexps RET".
+ WARNING: Unlike in Unix grep, sed, etc., a complement character set
+ ([^...]) can match a Newline, unless Newline is mentioned as one of the
+ characters not to match.
Technical Details
Message-ID:
<JBW.90Dec8014937@bucsf.bu.edu>Path:
arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!shelby!bu.edu!nntp-read!jbwShow Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103b8b,222edd5451735175,start X-Google-Attributes: gid103b8b,public X-Google-ArrivalTime: 1990-12-07 22:49:37 PST Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!shelby!bu.edu!nntp-read!jbw From: jbw@bucsf.bu.edu (Joe Wells) Newsgroups: gnu.emacs.help Subject: GNU Emacs Frequently Asked Questions with Answers (differences) Message-ID: <JBW.90Dec8014937@bucsf.bu.edu> Date: 8 Dec 90 06:49:37 GMT Sender: news@bu.edu.bu.edu Organization: Boston University Computer Science Department Lines: 1022 Posted: Sat Dec 8 07:49:37 1990