Commit 2a1e884e authored by Richard M. Stallman's avatar Richard M. Stallman

*** empty log message ***

parent 641c04b9
......@@ -79,6 +79,7 @@ By default, Emacs now knows how to translate latin-N chars between their
charset and some other latin-N charset or unicode. You can force a
more complete unification by calling (unify-8859-on-decoding-mode 1).
---
** The scrollbar under Motif has a smoother drag-scrolling.
On the other hand, the size of the thumb does not represent the actual
amount of text shown any more (only a crude approximation of it).
......@@ -101,6 +102,7 @@ in them.
** PO translation files are decoded according to their MIME headers
when Emacs visits them.
---
** The game `mpuz' is enhanced.
`mpuz' now allows the 2nd factor not to have two identical digits. By
......@@ -135,6 +137,7 @@ window so as to center point. If its value is an integer, it says how
many columns to scroll. If the value is a floating-point number, it
gives the fraction of the window's width to scroll the window.
+++
** The user option `tex-start-options-string' has been replaced
by two new user options: `tex-start-options', which should hold
command-line options to feed to TeX, and `tex-start-commands' which should hold
......@@ -144,6 +147,7 @@ TeX commands to use at startup.
** The variable `automatic-hscrolling' was renamed to `auto-hscroll-mode'.
The old name is still available as an alias.
+++
** New display feature: focus follows mouse. If you set the variable
mouse-autoselect-window to non-nil value, moving the mouse to a different
Emacs window will select that window (minibuffer window can be selected
......@@ -162,12 +166,14 @@ search multiple buffers. There is also a new command
buffers to search by their filename. Internally, Occur mode has been
rewritten, and now uses font-lock, among other changes.
+++
** Emacs normally highlights mouse sensitive text whenever the mouse
is over the text. By setting the new variable `mouse-highlight', you
can optionally enable mouse highlighting only after you move the
mouse, so that highlighting disappears when you press a key. You can
also disable mouse highlighting.
+++
** font-lock: in modes like C and Lisp where the fontification assumes that
an open-paren in column 0 is always outside of any string or comment,
font-lock now highlights any such open-paren-in-column-zero in bold-red
......@@ -197,8 +203,9 @@ and column number in the mode-line.
** Speedbar has moved from the "Tools" top level menu to "Show/Hide".
** Emacs can now indicate in the mode-line the presence of new e-mails in
directory in addition to file. See the documentation of the user option
+++
** Emacs can now indicate in the mode-line the presence of new e-mails
in a directory or in a file. See the documentation of the user option
`display-time-mail-directory'.
+++
......@@ -562,13 +569,16 @@ from the file name or buffer contents.
This option can be disabled, to avoid the normal behaviour of isearch
which puts calls to `isearch-resume' in the command history.
---
** When the *scratch* buffer is recreated, its mode is set from
initial-major-mode, which normally is lisp-interaction-mode,
instead of using default-major-mode.
---
** Byte compiler warning and error messages have been brought more
in line with the output of other GNU tools.
---
** Lisp-mode now uses font-lock-doc-face for the docstrings.
** perl-mode has a new variable `perl-indent-continued-arguments'.
......@@ -592,23 +602,28 @@ completing file names. Elements of `completion-ignored-extensions'
which do not end in a slash are never considered when a completion
candidate is a directory.
+++
** New user option `inhibit-startup-buffer-menu'.
When loading many files, for instance with `emacs *', Emacs normally
displays a buffer menu. This option turns the buffer menu off.
---
** Rmail now displays 5-digit message ids in its summary buffer.
** When using M-x revert-buffer in a compilation buffer to rerun a
compilation, it is now made sure that the compilation buffer is reused
in case it has been renamed.
---
** On MS Windows, the "system caret" now follows the cursor.
This enables Emacs to work better with programs that need to track
the cursor, for example screen magnifiers and text to speech programs.
---
** Tooltips now work on MS Windows.
See the Emacs 21.1 NEWS entry for tooltips for details.
---
** Some images are now supported on Windows.
PBM and XBM images are supported, other formats which require external
libraries may be supported in future.
......@@ -632,16 +647,6 @@ Meta and Alt:
---
** A French translation of the Emacs Tutorial is available.
---
** Indentation of simple and extended loop forms has been added to the
cl-indent package. The new user options
`lisp-loop-keyword-indentation', `lisp-loop-forms-indentation', and
`lisp-simple-loop-indentation' can be used to customize the
indentation of keywords and forms in loop forms.
** Indentation of backquoted forms has been made customizable in the
cl-indent package. See the new user option `lisp-backquote-indentation'.
** When emacs is configured to use `xaw3d' scroll-bars, emacs will
tell the scroll-bar library which colors to use for the bevels, to
prevent the library from using dithering.
......@@ -704,6 +709,18 @@ Emacs build procedure and installed together with the Emacs User
Manual. A menu item was added to the menu bar that makes it easy
accessible (Help->More Manuals->Emacs Lisp Reference).
---
** Indentation of simple and extended loop forms has been added to the
cl-indent package. The new user options
`lisp-loop-keyword-indentation', `lisp-loop-forms-indentation', and
`lisp-simple-loop-indentation' can be used to customize the
indentation of keywords and forms in loop forms.
---
** Indentation of backquoted forms has been made customizable in the
cl-indent package. See the new user option `lisp-backquote-indentation'.
---
*** The Introduction to Programming in Emacs Lisp manual is now part of
the distribution.
......@@ -725,36 +742,19 @@ method may be displayed by customizing the variable
change the `fill-column', `window-margins' and `tab-stop-list'
settings.
*** The reveal.el package provides the minor modes `reveal-mode' and
`global-reveal-mode' which will make text visible on the fly as you
*** The minor mode Reveal mode makes text visible on the fly as you
move your cursor into hidden region of the buffer.
It should work with any package that uses overlays to hide parts
of a buffer, such as outline-minor-mode, hs-minor-mode, hide-ifdef-mode, ...
*** master-mode.el implements a minor mode for scrolling a slave
buffer without leaving your current buffer, the master buffer.
It can be used by sql.el, for example: the SQL buffer is the master
and its SQLi buffer is the slave. This allows you to scroll the SQLi
buffer containing the output from the SQL buffer containing the
commands.
This is how to use sql.el and master.el together: the variable
sql-buffer contains the slave buffer. It is a local variable in the
SQL buffer.
(add-hook 'sql-mode-hook
(function (lambda ()
(master-mode t)
(master-set-slave sql-buffer))))
(add-hook 'sql-set-sqli-hook
(function (lambda ()
(master-set-slave sql-buffer))))
There is also Global Reveal mode which affects all buffers.
---
*** The new package ibuffer provides a powerful, completely
customizable replacement for buff-menu.el.
** Support for `magic cooky' standout modes has been removed.
---
** Support for `magic cookie' standout modes has been removed.
Emacs will still work on terminals that require magic cookies in order
to use standout mode, however they will not be able to display
mode-lines in inverse-video.
......@@ -975,6 +975,26 @@ argument. If it is non-nil, then `commandp' checks
for a function that could be called with `call-interactively',
and does not return t for keyboard macros.
** master-mode.el implements a minor mode for scrolling a slave
buffer without leaving your current buffer, the master buffer.
It can be used by sql.el, for example: the SQL buffer is the master
and its SQLi buffer is the slave. This allows you to scroll the SQLi
buffer containing the output from the SQL buffer containing the
commands.
This is how to use sql.el and master.el together: the variable
sql-buffer contains the slave buffer. It is a local variable in the
SQL buffer.
(add-hook 'sql-mode-hook
(function (lambda ()
(master-mode t)
(master-set-slave sql-buffer))))
(add-hook 'sql-set-sqli-hook
(function (lambda ()
(master-set-slave sql-buffer))))
** File local variables.
A file local variables list cannot specify a string with text
......
;;; facemenu.el --- create a face menu for interactively adding fonts to text
;; Copyright (c) 1994, 1995, 1996, 2001, 2002 Free Software Foundation, Inc.
;; Author: Boris Goldowsky <boris@gnu.org>
;; Keywords: faces
;; This file is part of GNU Emacs.
;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the
;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
;; Boston, MA 02111-1307, USA.
;;; Commentary:
;;; Describe-Text Mode.
;;; Code:
(defun describe-text-done ()
"Delete the current window or bury the current buffer."
(interactive)
(if (> (count-windows) 1)
(delete-window)
(bury-buffer)))
(defvar describe-text-mode-map
(let ((map (make-sparse-keymap)))
(set-keymap-parent map widget-keymap)
map)
"Keymap for `describe-text-mode'.")
(defcustom describe-text-mode-hook nil
"List of hook functions ran by `describe-text-mode'."
:type 'hook)
(defun describe-text-mode ()
"Major mode for buffers created by `describe-text-at'.
\\{describe-text-mode-map}
Entry to this mode calls the value of `describe-text-mode-hook'
if that value is non-nil."
(kill-all-local-variables)
(setq major-mode 'describe-text-mode
mode-name "Describe-Text")
(use-local-map describe-text-mode-map)
(widget-setup)
(run-hooks 'describe-text-mode-hook))
;;; Describe-Text Utilities.
(defun describe-text-widget (widget)
"Insert text to describe WIDGET in the current buffer."
(widget-create 'link
:notify `(lambda (&rest ignore)
(widget-browse ',widget))
(format "%S" (if (symbolp widget)
widget
(car widget))))
(widget-insert " ")
(widget-create 'info-link :tag "widget" "(widget)Top"))
(defun describe-text-sexp (sexp)
"Insert a short description of SEXP in the current buffer."
(let ((pp (condition-case signal
(pp-to-string sexp)
(error (prin1-to-string signal)))))
(when (string-match "\n\\'" pp)
(setq pp (substring pp 0 (1- (length pp)))))
(if (cond ((string-match "\n" pp)
nil)
((> (length pp) (- (window-width) (current-column)))
nil)
(t t))
(widget-insert pp)
(widget-create 'push-button
:tag "show"
:action (lambda (widget &optional event)
(with-output-to-temp-buffer
"*Pp Eval Output*"
(princ (widget-get widget :value))))
pp))))
(defun describe-text-properties (properties)
"Insert a description of PROPERTIES in the current buffer.
PROPERTIES should be a list of overlay or text properties.
The `category' property is made into a widget button that call
`describe-text-category' when pushed."
(while properties
(widget-insert (format " %-20s " (car properties)))
(let ((key (nth 0 properties))
(value (nth 1 properties)))
(cond ((eq key 'category)
(widget-create 'link
:notify `(lambda (&rest ignore)
(describe-text-category ',value))
(format "%S" value)))
((widgetp value)
(describe-text-widget value))
(t
(describe-text-sexp value))))
(widget-insert "\n")
(setq properties (cdr (cdr properties)))))
;;; Describe-Text Commands.
(defun describe-text-category (category)
"Describe a text property category."
(interactive "S")
(when (get-buffer "*Text Category*")
(kill-buffer "*Text Category*"))
(save-excursion
(with-output-to-temp-buffer "*Text Category*"
(set-buffer "*Text Category*")
(widget-insert "Category " (format "%S" category) ":\n\n")
(describe-text-properties (symbol-plist category))
(describe-text-mode)
(goto-char (point-min)))))
;;;###autoload
(defun describe-text-at (pos)
"Describe widgets, buttons, overlays and text properties at POS."
(interactive "d")
(when (eq (current-buffer) (get-buffer "*Text Description*"))
(error "Can't do self inspection"))
(let* ((properties (text-properties-at pos))
(overlays (overlays-at pos))
overlay
(wid-field (get-char-property pos 'field))
(wid-button (get-char-property pos 'button))
(wid-doc (get-char-property pos 'widget-doc))
;; If button.el is not loaded, we have no buttons in the text.
(button (and (fboundp 'button-at) (button-at pos)))
(button-type (and button (button-type button)))
(button-label (and button (button-label button)))
(widget (or wid-field wid-button wid-doc)))
(if (not (or properties overlays))
(message "This is plain text.")
(when (get-buffer "*Text Description*")
(kill-buffer "*Text Description*"))
(save-excursion
(with-output-to-temp-buffer "*Text Description*"
(set-buffer "*Text Description*")
(widget-insert "Text content at position " (format "%d" pos) ":\n\n")
;; Widgets
(when (widgetp widget)
(widget-insert (cond (wid-field "This is an editable text area")
(wid-button "This is an active area")
(wid-doc "This is documentation text")))
(widget-insert " of a ")
(describe-text-widget widget)
(widget-insert ".\n\n"))
;; Buttons
(when (and button (not (widgetp wid-button)))
(widget-insert "Here is a " (format "%S" button-type)
" button labeled `" button-label "'.\n\n"))
;; Overlays
(when overlays
(if (eq (length overlays) 1)
(widget-insert "There is an overlay here:\n")
(widget-insert "There are " (format "%d" (length overlays))
" overlays here:\n"))
(dolist (overlay overlays)
(widget-insert " From " (format "%d" (overlay-start overlay))
" to " (format "%d" (overlay-end overlay)) "\n")
(describe-text-properties (overlay-properties overlay)))
(widget-insert "\n"))
;; Text properties
(when properties
(widget-insert "There are text properties here:\n")
(describe-text-properties properties))
(describe-text-mode)
(goto-char (point-min)))))))
;;; descr-text.el ends here
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment