Commit d836b39b authored by Karoly Lorentey's avatar Karoly Lorentey
Browse files

Merged from miles@gnu.org--gnu-2005 (patch 447-448)

Patches applied:

 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-447
   Update from CVS

 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-448
   Update from CVS

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-360
parents 4ea81208 c3bf675d
......@@ -14,6 +14,8 @@ has to be set to nil: when t, it can leak memory and cause other problems.
** Check for widow and orphan lines in manuals;
make sure all the pages really look ok in the manual as formatted.
** Update facemenu-unlisted-faces, adding whatever other
face name prefixes should be in it for good results.
* NEW FEATURES
......@@ -43,6 +45,36 @@ invalid pointer from string_free_list.
* BUGS
** Bug in ebrowse
Date: Fri, 27 May 2005 17:35:48 +0200
From: Markus Gritsch <gritsch@iue.tuwien.ac.at>
the C++ header file which led to the problematic BROWSE file reads
namespace test {
class Base
{
};
class B : public Base
{
};
}
class A : public test::Base
{
};
The *Tree* is then displayed as
*Globals*
test
test::Base
test::B
The class A seems to be missing.
** Ange-ftp should ignore irrelevant IPv6 errors:
Message-Id: <4121-Tue23Mar2004165249+0100-piet@cs.uu.nl>
......
......@@ -4097,6 +4097,7 @@ return window edges in units of pixels, rather than columns and lines.
+++
*** The new macro `with-selected-window' temporarily switches the
selected window without impacting the order of `buffer-list'.
It saves and restores the current buffer, too.
 
+++
*** `select-window' takes an optional second argument NORECORD.
......@@ -4106,7 +4107,8 @@ This is like `switch-to-buffer'.
+++
*** `save-selected-window' now saves and restores the selected window
of every frame. This way, it restores everything that can be changed
by calling `select-window'.
by calling `select-window'. It also saves and restores the current
buffer.
 
+++
*** `set-window-buffer' has an optional argument KEEP-MARGINS.
......
......@@ -961,6 +961,20 @@ xmodmap command to the xdm setup script for that display.
Use the shell command `xset bc' to make the old X Menu package work.
*** C-SPC fails to work on Fedora GNU/Linux.
Fedora Core 4 steals the C-SPC key by default for the `iiimx' program
which is the input method for some languages. It blocks Emacs users
from using the C-SPC key for `set-mark-command'.
One solutions is to remove the `<Ctrl>space' from the `Iiimx' file
which can be found in the `/usr/lib/X11/app-defaults' directory.
However, that requires root access.
Another is to specify `Emacs*useXIM: false' in your X resources.
Another is to build Emacs with the `--without-xim' configure option.
*** M-SPC seems to be ignored as input.
See if your X server is set up to use this as a command
......
2005-06-25 Luc Teirlinck <teirllm@auburn.edu>
* faces.el (facep): Doc fix.
2005-06-25 Richard M. Stallman <rms@gnu.org>
* facemenu.el (facemenu-enable-faces-p): New function.
(facemenu-background-menu, facemenu-foreground-menu)
(facemenu-face-menu): Add menu-enable property.
* jka-compr.el (jka-compr-insert-file-contents):
Special handling if cannot find the uncompression program.
* cus-face.el (custom-face-attributes): Add autoload.
* emacs-lisp/lisp-mode.el (lisp-mode-variables):
Bind comment-indent-function locally.
* window.el (save-selected-window): Use save-current-buffer.
* subr.el (with-selected-window): Use save-current-buffer.
* progmodes/gud.el (gud-filter): Simplify using with-selected-window
and with-current-buffer.
2005-06-24 Richard M. Stallman <rms@gnu.org>
* simple.el (line-move-1): Fix previous change.
2005-06-24 Juanma Barranquero <lekktu@gmail.com>
* replace.el (occur-1): Set `buffer-read-only' and the
buffer-modified flag before running `occur-hook' to protect
against unintentional buffer switches that can lead to data loss.
2005-06-24 Nick Roberts <nickrob@snap.net.nz>
 
* progmodes/gud.el (gud-tooltip-print-command): Indent properly.
(gud-gdb-marker-filter): Use font-lock-warning-face for any
initial error.
* progmodes/gdb-ui.el (gdb-send): Remove warning face from errors
after fresh input.
(gdb-var-create-handler): Put name of expression in quotes.
2005-06-23 Luc Teirlinck <teirllm@auburn.edu>
 
* emacs-lisp/ring.el (ring-elements): Make it return a list of the
......@@ -532,7 +567,7 @@
 
* progmodes/gdb-ui.el (menu): Re-order menu items.
(gdb-tooltip-print): Respect tooltip-use-echo-area.
* progmodes/gud.el (tooltip-use-echo-area): Remove alias.
Define in tooltip.el.
(gud-tooltip-process-output): Respect tooltip-use-echo-area.
......
......@@ -62,6 +62,7 @@
;;; Face attributes.
;;;###autoload
(defconst custom-face-attributes
'((:family
(string :tag "Font Family"
......
......@@ -202,6 +202,8 @@
(setq comment-column 40)
;; Don't get confused by `;' in doc strings when paragraph-filling.
(set (make-local-variable 'comment-use-global-state) t)
(make-local-variable 'comment-indent-function)
(setq comment-indent-function 'lisp-comment-indent)
(make-local-variable 'imenu-generic-expression)
(setq imenu-generic-expression lisp-imenu-generic-expression)
(make-local-variable 'multibyte-syntax-as-symbol)
......@@ -714,7 +716,7 @@ which see."
(setq debug-on-error new-value))
value)))))
;; Used for comment-indent-function in Lisp modes.
(defun lisp-comment-indent ()
(if (looking-at "\\s<\\s<\\s<")
(current-column)
......
......@@ -162,6 +162,7 @@ when they are created."
"Menu keymap for faces.")
;;;###autoload
(defalias 'facemenu-face-menu facemenu-face-menu)
(put 'facemenu-face-menu 'menu-enable '(facemenu-enable-faces-p))
;;;###autoload
(defvar facemenu-foreground-menu
......@@ -171,6 +172,7 @@ when they are created."
"Menu keymap for foreground colors.")
;;;###autoload
(defalias 'facemenu-foreground-menu facemenu-foreground-menu)
(put 'facemenu-foreground-menu 'menu-enable '(facemenu-enable-faces-p))
;;;###autoload
(defvar facemenu-background-menu
......@@ -180,6 +182,11 @@ when they are created."
"Menu keymap for background colors.")
;;;###autoload
(defalias 'facemenu-background-menu facemenu-background-menu)
(put 'facemenu-background-menu 'menu-enable '(facemenu-enable-faces-p))
;;; Condition for enabling menu items that set faces.
(defun facemenu-enable-faces-p ()
(not (and font-lock-mode font-lock-defaults)))
;;;###autoload
(defvar facemenu-special-menu
......
......@@ -204,7 +204,10 @@ If NAME is already a face, it is simply returned."
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun facep (face)
"Return non-nil if FACE is a face name."
"Return non-nil if FACE is a face name or internal face object.
Return nil otherwise. A face name can be a string or a symbol.
An internal face object is a vector of the kind used internally
to record face data."
(internal-lisp-face-p face))
......
2005-06-24 Juanma Barranquero <lekktu@gmail.com>
* gnus-art.el (gnus-article-mode): Set `nobreak-char-display', not
`show-nonbreak-escape'.
2005-06-23 Lute Kamstra <lute@gnu.org>
* gnus-art.el (gnus-article-mode): Use kill-all-local-variables.
......
......@@ -3755,7 +3755,7 @@ commands:
(make-local-variable 'gnus-article-charset)
(make-local-variable 'gnus-article-ignored-charsets)
;; Prevent recent Emacsen from displaying non-break space as "\ ".
(set (make-local-variable 'show-nonbreak-escape) nil)
(set (make-local-variable 'nobreak-char-display) nil)
(gnus-set-default-directory)
(buffer-disable-undo)
(setq buffer-read-only t)
......
......@@ -474,6 +474,9 @@ There should be no more than seven characters after the final `/'."
(delete-region (point) (point-max)))
(goto-char start))
(error
;; If the file we wanted to uncompress does not exist,
;; handle that according to VISIT as `insert-file-contents'
;; would, maybe signaling the same error it normally would.
(if (and (eq (car error-code) 'file-error)
(eq (nth 3 error-code) local-file))
(if visit
......@@ -481,6 +484,13 @@ There should be no more than seven characters after the final `/'."
(signal 'file-error
(cons "Opening input file"
(nthcdr 2 error-code))))
;; If the uncompression program can't be found,
;; signal that as a non-file error
;; so that find-file-noselect-1 won't handle it.
(if (and (eq (car error-code) 'file-error)
(equal (cadr error-code) "Searching for program"))
(error "Uncompression program `%s' not found"
(nth 3 error-code)))
(signal (car error-code) (cdr error-code))))))
(and
......
......@@ -2534,16 +2534,12 @@ It is saved for when this flag is not set.")
;; This must be outside of the save-excursion
;; in case the source file is our current buffer.
(if process-window
(save-selected-window
(select-window process-window)
(with-selected-window
(gud-display-frame))
;; We have to be in the proper buffer, (process-buffer proc),
;; but not in a save-excursion, because that would restore point.
(let ((old-buf (current-buffer)))
(set-buffer (process-buffer proc))
(unwind-protect
(gud-display-frame)
(set-buffer old-buf)))))
(with-current-buffer (process-buffer proc)
(gud-display-frame))))
;; If we deferred text that arrived during this processing,
;; handle it now.
......
......@@ -1001,9 +1001,9 @@ See also `multi-occur'."
(display-buffer occur-buf)
(setq next-error-last-buffer occur-buf))
(kill-buffer occur-buf)))
(run-hooks 'occur-hook))
(setq buffer-read-only t)
(set-buffer-modified-p nil))))
(setq buffer-read-only t)
(set-buffer-modified-p nil)
(run-hooks 'occur-hook)))))
(defun occur-engine-add-prefix (lines)
(mapcar
......
......@@ -3446,18 +3446,14 @@ Outline mode sets this."
(when (and (not done)
(not (integerp selective-display))
(not (line-move-invisible-p (point))))
;; We avoid vertical-motion when possible
;; because that has to fontify.
(forward-line 1)
;; If there are overlays in and around
;; the text we moved over, we need to be
;; sophisticated.
(unless (overlays-in (max (1- pos-before) (point-min))
(min (1+ (point)) (point-max)))
;; We avoid vertical-motion when possible
;; because that has to fontify.
(forward-line 1)
(setq line-done t)))
;; Otherwise move a more sophisticated way.
;; (What's the logic behind this code?)
(and (not done) (not line-done)
;; Otherwise move a more sophisticated way.
(zerop (vertical-motion 1))
(if (not noerror)
(signal 'end-of-buffer nil)
......@@ -3477,9 +3473,9 @@ Outline mode sets this."
(when (and (not done)
(not (integerp selective-display))
(not (line-move-invisible-p (1- (point)))))
(forward-line -1)
(unless (overlays-in (max (1- (point)) (point-min))
(min (1+ pos-before) (point-max)))
(forward-line -1)
(setq line-done t)))
(and (not done) (not line-done)
(zerop (vertical-motion -1))
......
......@@ -1717,8 +1717,12 @@ See also `with-temp-buffer'."
(defmacro with-selected-window (window &rest body)
"Execute the forms in BODY with WINDOW as the selected window.
The value returned is the value of the last form in BODY.
This does not alter the buffer list ordering.
This function saves and restores the selected window, as well as
This macro saves and restores the current buffer, since otherwise
its normal operation could potentially make a different
buffer current. It does not alter the buffer list ordering.
This macro saves and restores the selected window, as well as
the selected window in each frame. If the previously selected
window of some frame is no longer live at the end of BODY, that
frame's selected window is left alone. If the selected window is
......@@ -1734,15 +1738,16 @@ See also `with-temp-buffer'."
(save-selected-window-alist
(mapcar (lambda (frame) (list frame (frame-selected-window frame)))
(frame-list))))
(unwind-protect
(progn (select-window ,window 'norecord)
,@body)
(dolist (elt save-selected-window-alist)
(and (frame-live-p (car elt))
(window-live-p (cadr elt))
(set-frame-selected-window (car elt) (cadr elt))))
(if (window-live-p save-selected-window-window)
(select-window save-selected-window-window 'norecord)))))
(save-current-buffer
(unwind-protect
(progn (select-window ,window 'norecord)
,@body)
(dolist (elt save-selected-window-alist)
(and (frame-live-p (car elt))
(window-live-p (cadr elt))
(set-frame-selected-window (car elt) (cadr elt))))
(if (window-live-p save-selected-window-window)
(select-window save-selected-window-window 'norecord))))))
(defmacro with-selected-frame (frame &rest body)
"Execute the forms in BODY with FRAME as the selected frame.
......
......@@ -967,28 +967,28 @@ Recommended as a parent keymap for modes using widgets.")
(recenter))
)
(let ((up t) command)
;; Mouse click not on a widget button. Find the global
;; command to run, and check whether it is bound to an
;; up event.
(mouse-set-point event)
(if (memq (event-basic-type event) '(mouse-1 down-mouse-1))
(cond ((setq command ;down event
(lookup-key widget-global-map [down-mouse-1]))
(setq up nil))
((setq command ;up event
(lookup-key widget-global-map [mouse-1]))))
(let ((up t) command)
;; Mouse click not on a widget button. Find the global
;; command to run, and check whether it is bound to an
;; up event.
(mouse-set-point event)
(if (memq (event-basic-type event) '(mouse-1 down-mouse-1))
(cond ((setq command ;down event
(lookup-key widget-global-map [down-mouse-2]))
(lookup-key widget-global-map [down-mouse-1]))
(setq up nil))
((setq command ;up event
(lookup-key widget-global-map [mouse-2])))))
(when up
;; Don't execute up events twice.
(while (not (widget-button-release-event-p event))
(setq event (read-event))))
(when command
(call-interactively command)))))
(lookup-key widget-global-map [mouse-1]))))
(cond ((setq command ;down event
(lookup-key widget-global-map [down-mouse-2]))
(setq up nil))
((setq command ;up event
(lookup-key widget-global-map [mouse-2])))))
(when up
;; Don't execute up events twice.
(while (not (widget-button-release-event-p event))
(setq event (read-event))))
(when command
(call-interactively command)))))
(message "You clicked somewhere weird.")))
(defun widget-button-press (pos &optional event)
......
......@@ -40,11 +40,18 @@ unless you explicitly change the size, or Emacs has no other choice.")
(defmacro save-selected-window (&rest body)
"Execute BODY, then select the window that was selected before BODY.
Also restore the selected window of each frame as it was at the start
of this construct.
However, if a window has become dead, don't get an error,
just refrain from reselecting it.
Return the value of the last form in BODY."
The value returned is the value of the last form in BODY.
This macro saves and restores the current buffer, since otherwise
its normal operation could potentially make a different
buffer current. It does not alter the buffer list ordering.
This macro saves and restores the selected window, as well as
the selected window in each frame. If the previously selected
window of some frame is no longer live at the end of BODY, that
frame's selected window is left alone. If the selected window is
no longer live, then whatever window is selected at the end of
BODY remains selected."
`(let ((save-selected-window-window (selected-window))
;; It is necessary to save all of these, because calling
;; select-window changes frame-selected-window for whatever
......@@ -52,14 +59,15 @@ Return the value of the last form in BODY."
(save-selected-window-alist
(mapcar (lambda (frame) (list frame (frame-selected-window frame)))
(frame-list))))
(unwind-protect
(progn ,@body)
(dolist (elt save-selected-window-alist)
(and (frame-live-p (car elt))
(window-live-p (cadr elt))
(set-frame-selected-window (car elt) (cadr elt))))
(if (window-live-p save-selected-window-window)
(select-window save-selected-window-window)))))
(save-current-buffer
(unwind-protect
(progn ,@body)
(dolist (elt save-selected-window-alist)
(and (frame-live-p (car elt))
(window-live-p (cadr elt))
(set-frame-selected-window (car elt) (cadr elt))))
(if (window-live-p save-selected-window-window)
(select-window save-selected-window-window))))))
(defun window-body-height (&optional window)
"Return number of lines in window WINDOW for actual buffer text.
......
2005-06-25 Luc Teirlinck <teirllm@auburn.edu>
* display.texi (Faces): `facep' returns t for strings that are
face names.
2005-06-25 Richard M. Stallman <rms@gnu.org>
* objects.texi (Equality Predicates): Clarify meaning of equal.
* windows.texi (Selecting Windows): save-selected-window
and with-selected-window save and restore the current buffer.
2005-06-24 Richard M. Stallman <rms@gnu.org>
* numbers.texi (Float Basics): Explain how to test for NaN,
and printing the sign of NaNs.
2005-06-24 Eli Zaretskii <eliz@gnu.org>
* makefile.w32-in (MAKEINFO): Use --force.
2005-06-23 Richard M. Stallman <rms@gnu.org>
* display.texi (Face Functions): Correct Texinfo usage.
......
......@@ -1628,12 +1628,12 @@ particular parts of the text or the frame.
@cindex face id
Each face has its own @dfn{face number}, which distinguishes faces at
low levels within Emacs. However, for most purposes, you refer to
faces in Lisp programs by their names.
faces in Lisp programs by the symbol that names them.
@defun facep object
This function returns @code{t} if @var{object} is a face name symbol (or
if it is a vector of the kind used internally to record face data). It
returns @code{nil} otherwise.
This function returns @code{t} if @var{object} is a face name string
or symbol (or if it is a vector of the kind used internally to record
face data). It returns @code{nil} otherwise.
@end defun
Each face name is meaningful for all frames, and by default it has the
......@@ -1795,7 +1795,7 @@ end of a line.
The way to define a new face is with @code{defface}. This creates a
kind of customization item (@pxref{Customization}) which the user can
customize using the Customization buffer (@pxref{Easy Customization,,,
emacs, The GNU Emacs Manual}).
emacs, The GNU Emacs Manual}).
@defmac defface face spec doc [keyword value]...
This declares @var{face} as a customizable face that defaults
......
......@@ -29,7 +29,7 @@ infodir = $(srcdir)/../info
# TEX=platex
TEX=tex
INSTALL_INFO = install-info
MAKEINFO = makeinfo
MAKEINFO = makeinfo --force
# The environment variable and its value to add $(srcdir) to the path
# searched for TeX input files.
......
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