distribution, and also the latest versions are available individually via
anonymous FTP (prep.ai.mit.edu:pub/gnu/GNUinfo/):
- APPLE -- Why the FSF doesn't support GNU Emacs on Apple computers
DISTRIB -- GNU Emacs Availability Information,
including the popular "Free Software Foundation Order Form"
FTP -- How to get GNU Software by Internet FTP or by UUCP
Use "C-h v" (M-x describe-variable) to check the value of variables which
you are trying to set or use.
-28: How do I make Emacs display the current line (or column) number?
-
- To find out what line of the buffer you are on right now, do "M-x
- what-line". Use "M-x goto-line" to go to a specific line. To find the
- current column number, type "M-ESC (current-column)".
-
- If you use these commands often, you might want to bind them to a key.
- See question 104 for instructions on how to do that.
-
- Typing "C-x l" (or M-x count-lines-page) will also tell you what line you
- are on, provided the buffer isn't separated into "pages" with C-l
- characters. In that case, it will only tell you what line of the current
- "page" you are on.
+28: How do I make Emacs display the current column number?
- To have Emacs automatically display the current line number of the point
- in the mode line, do "M-x line-number-mode". You can also put the form
-
- (setq line-number-mode t)
-
- in your .emacs file to achieve this whenever you start Emacs. Note that
- Emacs will not display the line number if the buffer is larger than the
- value of the variable line-number-display-limit.
-
- None of the vi emulation modes provide the `set number' capability of vi
- (as far as we know).
+ Do M-x column-number-mode.
29: How do I turn on abbrevs by default just in mode XXX?
If you want auto-fill mode on in all major modes, do this:
- (setq-default auto-fill-hook 'do-auto-fill)
+ (setq-default auto-fill-function 'do-auto-fill)
31: How do I make Emacs use a certain major mode for certain files?
* Typing "C-x C-e" in any buffer evaluates the Lisp form immediately
before point and prints its value in the echo area.
- * Typing M-ESC or M-x eval-expression allows you to type a Lisp form in
+ * Typing M-: or M-x eval-expression allows you to type a Lisp form in
the minibuffer which will be evaluated.
* You can use M-x load-file to have Emacs evaluate all the Lisp forms in
88: Where can I get Emacs for my Apple computer?
- The FSF is a participant in a boycott of Apple because of Apple's "look
- and feel" copyright suits. See the file etc/APPLE for more details.
- Because of this boycott, the FSF doesn't include support in GNU software
- for Apple computers such as the Macintosh.
-
- Please don't help people port or develop software for Apple computers.
+ There used to be a boycott of Apple because of its "look and feel"
+ lawsuit. The lawsuit failed, and the boycott is over.
+ Currently the GNU project treats Apple like other computer companies.
+
+ Since the Mac operating system is very different from Unix and GNU,
+ support for it would be a big job. And this job would be tangential
+ to the GNU project's goals. Meanwhile, we don't have the resources
+ to do all we want to do on supporting Emacs for GNU-like systems.
+ So if we had to do work on support for the Macintosh, that would
+ directly harm the GNU project.
+
+ Of course, the same is true for MSDOS and Windows NT. We decided to
+ incorporate support for those systems because the code was very modular,
+ because volunteers not only wrote all the code but also investigate
+ all the bugs reported on those systems, and because we hoped that we
+ will be able to raise funds for GNU using these versions, and in this
+ way these ports will make up for the effort that they took. (We still
+ hope so, but it has not happened yet.)
89: Where do I get Emacs that runs on VMS under DECwindows?
* Emacs normally only reads the `.mailrc' file once per session, when you
start to compose your first mail message. If you edit .mailrc, you can
- type "M-ESC (build-mail-aliases) RET" to make Emacs reread .mailrc.
+ type "M-: (build-mail-aliases) RET" to make Emacs reread .mailrc.
(You have to include the parentheses where they are shown!)
* Emacs does not interpret vendor-specific additions to the format of the
The lowest level functions for command input are those that read a
single event.
-@defun read-event
+@defun read-event &optional prompt suppress-input-method
This function reads and returns the next event of command input, waiting
if necessary until an event is available. Events can come directly from
the user or from a keyboard macro.
-The function @code{read-event} does not display any message to indicate
-it is waiting for input; use @code{message} first, if you wish to
-display one. If you have not displayed a message, @code{read-event}
+If @var{prompt} is non-@code{nil}, it should be a string to display in
+the echo area as a prompt. Otherwise, @code{read-event} does not
+display any message to indicate it is waiting for input; instead, it
prompts by echoing: it displays descriptions of the events that led to
or were read by the current command. @xref{The Echo Area}.
+If @var{suppress-input-method} is non-@code{nil}, then the current input
+method is disabled for reading this event. If you want to read an event
+without input-method processing, always do it this way; don't try binding
+@code{input-method-function} (see below).
+
If @code{cursor-in-echo-area} is non-@code{nil}, then @code{read-event}
moves the cursor temporarily to the echo area, to the end of any message
displayed there. Otherwise @code{read-event} does not move the cursor.
@defvar input-method-function
If this is non-@code{nil}, its value specifies the current input method
function.
+
+@strong{Note:} Don't bind this variable with @code{let}. It is often
+buffer-local, and if you bind it around reading input (which is exactly
+when you @emph{would} bind it), switching buffers asynchronously while
+Emacs is waiting will cause the value to be restored in the wrong
+buffer.
@end defvar
The input method function should return a list of events which should
interested in.
@end defvar
+ The variable @code{selection-coding-system} specifies how to encode
+selections for the window system. @xref{Window System Selections}.
+
@node Lisp and Coding Systems
@subsection Coding Systems in Lisp
@subsection Terminal I/O Encoding
Emacs can decode keyboard input using a coding system, and encode
-terminal output. This kind of decoding and encoding does not set
-@code{last-coding-system-used}.
+terminal output. This is useful for terminals that transmit or display
+text using a particular encoding such as Latin-1. Emacs does not set
+@code{last-coding-system-used} for encoding or decoding for the
+terminal.
@defun keyboard-coding-system
@tindex keyboard-coding-system
the @var{args}.
@end defvar
-
+ The fundamental interface to input methods is through the
+variable @code{input-method-function}. @xref{Reading One Event}.