mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-01 11:14:55 +00:00
Merged in changes from CVS trunk.
Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-604 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-605 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-606 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-607 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-256
This commit is contained in:
commit
d914383aad
@ -1,3 +1,8 @@
|
||||
2004-10-08 Steven Tamm <steventamm@mac.com>
|
||||
|
||||
* configure.in (HAVE_MALLOC_MALLOC_H): Test for malloc/malloc.h
|
||||
* configure: Rebuild
|
||||
|
||||
2004-10-06 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* configure.in (HAVE_RANDOM_HEAPSTART): Change AC_MSG_ERROR to
|
||||
|
147
configure
vendored
147
configure
vendored
@ -12130,6 +12130,153 @@ fi
|
||||
|
||||
fi
|
||||
|
||||
if test "${ac_cv_header_malloc_malloc_h+set}" = set; then
|
||||
echo "$as_me:$LINENO: checking for malloc/malloc.h" >&5
|
||||
echo $ECHO_N "checking for malloc/malloc.h... $ECHO_C" >&6
|
||||
if test "${ac_cv_header_malloc_malloc_h+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
fi
|
||||
echo "$as_me:$LINENO: result: $ac_cv_header_malloc_malloc_h" >&5
|
||||
echo "${ECHO_T}$ac_cv_header_malloc_malloc_h" >&6
|
||||
else
|
||||
# Is the header compilable?
|
||||
echo "$as_me:$LINENO: checking malloc/malloc.h usability" >&5
|
||||
echo $ECHO_N "checking malloc/malloc.h usability... $ECHO_C" >&6
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
$ac_includes_default
|
||||
#include <malloc/malloc.h>
|
||||
_ACEOF
|
||||
rm -f conftest.$ac_objext
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||
(eval $ac_compile) 2>conftest.er1
|
||||
ac_status=$?
|
||||
grep -v '^ *+' conftest.er1 >conftest.err
|
||||
rm -f conftest.er1
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } &&
|
||||
{ ac_try='test -z "$ac_c_werror_flag"
|
||||
|| test ! -s conftest.err'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; } &&
|
||||
{ ac_try='test -s conftest.$ac_objext'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
ac_header_compiler=yes
|
||||
else
|
||||
echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
ac_header_compiler=no
|
||||
fi
|
||||
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
|
||||
echo "${ECHO_T}$ac_header_compiler" >&6
|
||||
|
||||
# Is the header present?
|
||||
echo "$as_me:$LINENO: checking malloc/malloc.h presence" >&5
|
||||
echo $ECHO_N "checking malloc/malloc.h presence... $ECHO_C" >&6
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
#include <malloc/malloc.h>
|
||||
_ACEOF
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
|
||||
(eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
|
||||
ac_status=$?
|
||||
grep -v '^ *+' conftest.er1 >conftest.err
|
||||
rm -f conftest.er1
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } >/dev/null; then
|
||||
if test -s conftest.err; then
|
||||
ac_cpp_err=$ac_c_preproc_warn_flag
|
||||
ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
|
||||
else
|
||||
ac_cpp_err=
|
||||
fi
|
||||
else
|
||||
ac_cpp_err=yes
|
||||
fi
|
||||
if test -z "$ac_cpp_err"; then
|
||||
ac_header_preproc=yes
|
||||
else
|
||||
echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
ac_header_preproc=no
|
||||
fi
|
||||
rm -f conftest.err conftest.$ac_ext
|
||||
echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
|
||||
echo "${ECHO_T}$ac_header_preproc" >&6
|
||||
|
||||
# So? What about this header?
|
||||
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
|
||||
yes:no: )
|
||||
{ echo "$as_me:$LINENO: WARNING: malloc/malloc.h: accepted by the compiler, rejected by the preprocessor!" >&5
|
||||
echo "$as_me: WARNING: malloc/malloc.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
|
||||
{ echo "$as_me:$LINENO: WARNING: malloc/malloc.h: proceeding with the compiler's result" >&5
|
||||
echo "$as_me: WARNING: malloc/malloc.h: proceeding with the compiler's result" >&2;}
|
||||
ac_header_preproc=yes
|
||||
;;
|
||||
no:yes:* )
|
||||
{ echo "$as_me:$LINENO: WARNING: malloc/malloc.h: present but cannot be compiled" >&5
|
||||
echo "$as_me: WARNING: malloc/malloc.h: present but cannot be compiled" >&2;}
|
||||
{ echo "$as_me:$LINENO: WARNING: malloc/malloc.h: check for missing prerequisite headers?" >&5
|
||||
echo "$as_me: WARNING: malloc/malloc.h: check for missing prerequisite headers?" >&2;}
|
||||
{ echo "$as_me:$LINENO: WARNING: malloc/malloc.h: see the Autoconf documentation" >&5
|
||||
echo "$as_me: WARNING: malloc/malloc.h: see the Autoconf documentation" >&2;}
|
||||
{ echo "$as_me:$LINENO: WARNING: malloc/malloc.h: section \"Present But Cannot Be Compiled\"" >&5
|
||||
echo "$as_me: WARNING: malloc/malloc.h: section \"Present But Cannot Be Compiled\"" >&2;}
|
||||
{ echo "$as_me:$LINENO: WARNING: malloc/malloc.h: proceeding with the preprocessor's result" >&5
|
||||
echo "$as_me: WARNING: malloc/malloc.h: proceeding with the preprocessor's result" >&2;}
|
||||
{ echo "$as_me:$LINENO: WARNING: malloc/malloc.h: in the future, the compiler will take precedence" >&5
|
||||
echo "$as_me: WARNING: malloc/malloc.h: in the future, the compiler will take precedence" >&2;}
|
||||
(
|
||||
cat <<\_ASBOX
|
||||
## ------------------------------------------ ##
|
||||
## Report this to the AC_PACKAGE_NAME lists. ##
|
||||
## ------------------------------------------ ##
|
||||
_ASBOX
|
||||
) |
|
||||
sed "s/^/$as_me: WARNING: /" >&2
|
||||
;;
|
||||
esac
|
||||
echo "$as_me:$LINENO: checking for malloc/malloc.h" >&5
|
||||
echo $ECHO_N "checking for malloc/malloc.h... $ECHO_C" >&6
|
||||
if test "${ac_cv_header_malloc_malloc_h+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
ac_cv_header_malloc_malloc_h=$ac_header_preproc
|
||||
fi
|
||||
echo "$as_me:$LINENO: result: $ac_cv_header_malloc_malloc_h" >&5
|
||||
echo "${ECHO_T}$ac_cv_header_malloc_malloc_h" >&6
|
||||
|
||||
fi
|
||||
if test $ac_cv_header_malloc_malloc_h = yes; then
|
||||
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define HAVE_MALLOC_MALLOC_H 1
|
||||
_ACEOF
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if test "${HAVE_CARBON}" = "yes"; then
|
||||
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
|
@ -2313,6 +2313,9 @@ if test "${with_carbon}" != "no"; then
|
||||
AC_CHECK_HEADER(Carbon/Carbon.h, HAVE_CARBON=yes)
|
||||
fi
|
||||
|
||||
dnl Check for malloc/malloc.h on darwin
|
||||
AC_CHECK_HEADER(malloc/malloc.h, AC_DEFINE(HAVE_MALLOC_MALLOC_H, 1, [Define to 1 if you have the <malloc/malloc.h> header file.]))
|
||||
|
||||
if test "${HAVE_CARBON}" = "yes"; then
|
||||
AC_DEFINE(HAVE_CARBON, 1, [Define to 1 if you are using the Carbon API on Mac OS X.])
|
||||
window_system=mac
|
||||
|
@ -1,3 +1,7 @@
|
||||
2004-10-08 Fr,Ai(Bd,Ai(Bric Bothamy <frederic.bothamy@free.fr> (tiny change)
|
||||
|
||||
* TUTORIAL.fr: Minor wording fix.
|
||||
|
||||
2004-10-04 Luc Teirlinck <teirllm@auburn.edu>
|
||||
|
||||
* enriched.doc: Update for new bindings of `set-left-margin' and
|
||||
|
18
etc/NEWS
18
etc/NEWS
@ -98,6 +98,11 @@ types any more. Add -DUSE_LISP_UNION_TYPE if you want union types.
|
||||
|
||||
* Changes in Emacs 21.4
|
||||
|
||||
+++
|
||||
** New functions `make-progress-reporter', `progress-reporter-update',
|
||||
`progress-reporter-force-update' and `progress-reporter-done' provide
|
||||
a simple and efficient way of printing progress messages to the user.
|
||||
|
||||
+++
|
||||
** In Enriched mode, `set-left-margin' and `set-right-margin' are now
|
||||
by default bound to `C-c [' and `C-c ]' instead of the former `C-c C-l'
|
||||
@ -1166,12 +1171,23 @@ to new-kill-line, these commands now report:
|
||||
- C-h w and C-h f new-kill-line reports:
|
||||
new-kill-line is on C-k
|
||||
|
||||
+++
|
||||
** Vertical scrolling is now possible within incremental search.
|
||||
To enable this feature, customize the new user option
|
||||
`isearch-allow-scroll'. User written commands which satisfy stringent
|
||||
constraints can be marked as "scrolling commands". See the Emacs manual
|
||||
for details.
|
||||
|
||||
+++
|
||||
** C-w in incremental search now grabs either a character or a word,
|
||||
making the decision in a heuristic way. This new job is done by the
|
||||
command `isearch-yank-word-or-char'. To restore the old behavior,
|
||||
bind C-w to `isearch-yank-word' in `isearch-mode-map'.
|
||||
|
||||
+++
|
||||
** C-y in incremental search now grabs the next line if point is already
|
||||
at the end of a line.
|
||||
|
||||
+++
|
||||
** C-M-w deletes and C-M-y grabs a character in isearch mode.
|
||||
Another method to grab a character is to enter the minibuffer by `M-e'
|
||||
@ -2517,10 +2533,12 @@ If either property is not set, the default `overlay-arrow-string' or
|
||||
line in current buffer, or if optional buffer position is given, line
|
||||
number of corresponding line in current buffer.
|
||||
|
||||
+++
|
||||
** The default value of `sentence-end' is now defined using the new
|
||||
variable `sentence-end-without-space' which contains such characters
|
||||
that end a sentence without following spaces.
|
||||
|
||||
+++
|
||||
** The function `sentence-end' should be used to obtain the value of
|
||||
the variable `sentence-end'. If the variable `sentence-end' is nil,
|
||||
then this function returns the regexp constructed from the variables
|
||||
|
@ -17,7 +17,7 @@ Tapez C-x C-c (deux caract
|
||||
Dans ce didacticiel, les caractères ">>" en marge gauche indiquent les
|
||||
directions à suivre pour essayer une commande. Ainsi :
|
||||
<<Lignes blanches insérées après cette ligne par help-with-tutorial>>
|
||||
[Centre de page deliberéement vide. Le texte continue ci-dessous.]
|
||||
[Centre de page delibérément vide. Le texte continue ci-dessous.]
|
||||
>> Tapez C-v (Voir l'écran suivant) pour passer à l'écran suivant
|
||||
(faites-le, pressez la touche CTRL tout en pressant la touche v).
|
||||
À partir de maintenant, vous devrez le faire à chaque fois que
|
||||
@ -36,7 +36,7 @@ touche META, EDIT ou ALT).
|
||||
>> Faites M-v, puis C-v plusieurs fois.
|
||||
|
||||
Si votre terminal en dispose, vous pouvez également utiliser les
|
||||
touches PgUp et PgDn pour monter ou descendre d'un écran, bien les
|
||||
touches PgUp et PgDn pour monter ou descendre d'un écran, bien que les
|
||||
combinaisons C-v et M-v soient plus efficaces.
|
||||
|
||||
* RÉSUMÉ
|
||||
@ -347,7 +347,7 @@ avant la position courante du curseur.
|
||||
Lorsqu'une ligne de texte devient trop longue pour tenir sur une seule
|
||||
ligne de l'écran, elle se « continue » sur une deuxième ligne
|
||||
d'écran. Une barre de fraction inverse (« \ ») ou, si vous utilisez un
|
||||
environnement grapgique, une petite flèche recourbée, sur la marge
|
||||
environnement graphique, une petite flèche recourbée, sur la marge
|
||||
droite indique une ligne qui se poursuit sur la ligne suivante.
|
||||
|
||||
>> Insérez du texte jusqu'à atteindre la marge droite et continuez
|
||||
@ -423,7 +423,7 @@ espaces, les effacent (vous ne pouvez donc pas r
|
||||
Notez qu'un simple C-k supprime le contenu de la ligne et qu'un second
|
||||
détruit la ligne elle-même, ce qui fait remonter toutes les lignes
|
||||
suivantes. C-k traite son paramètre numérique d'une façon spéciale :
|
||||
il détruit ce nombre de lignes ET leurs contenus. Ce n'est pas une
|
||||
il détruit ce nombre de lignes ET leur contenu. Ce n'est pas une
|
||||
simple répétition : C-u 2 C-k détruit deux lignes et leurs Newlines
|
||||
alors que taper deux fois C-k n'aurait pas le même effet.
|
||||
|
||||
@ -523,7 +523,7 @@ sauvegardez, Emacs garde le fichier original sous un nom modifi
|
||||
cas où vous décideriez ensuite d'annuler vos modifications.
|
||||
|
||||
Si vous examinez le bas de l'écran, vous verrez une ligne qui commence
|
||||
et finit par des tirets et débute par « --:-- TUTORIAL.fr » ou quelque
|
||||
et finit par des tirets et débute par « -1:-- TUTORIAL.fr » ou quelque
|
||||
chose comme ça. Cette partie de l'écran montre normalement le nom du
|
||||
fichier que vous êtes en train de visiter. Pour l'instant, vous
|
||||
visitez un fichier appelé « TUTORIAL.fr », qui est votre copie
|
||||
@ -584,7 +584,7 @@ l'
|
||||
encore. C'est ainsi que l'on crée un fichier avec Emacs : on trouve le
|
||||
fichier, qui démarre vide, puis on insère du texte. Lorsque l'on
|
||||
demande à « sauvegarder » le fichier, Emacs crée alors vraiment le
|
||||
fichier avec le texte que l'on a inséré. À partir de ce moment là,
|
||||
fichier avec le texte que l'on a inséré. À partir de ce moment-là,
|
||||
vous pouvez considérer que vous éditez un fichier déjà existant.
|
||||
|
||||
|
||||
@ -666,10 +666,10 @@ non.
|
||||
* EXTENSION DU JEU DE COMMANDES
|
||||
-------------------------------
|
||||
|
||||
Il y bien plus de commandes Emacs qu'il ne serait possible d'en créer
|
||||
avec tous les caractères de contrôle et les caractères Meta. Emacs
|
||||
contourne ce problème à l'aide de la commande X (eXtension). Celle-ci
|
||||
se présente sous deux déclinaisons :
|
||||
Il y a bien plus de commandes Emacs qu'il ne serait possible d'en
|
||||
créer avec tous les caractères de contrôle et Meta. Emacs contourne ce
|
||||
problème à l'aide de la commande X (eXtension). Celle-ci se présente
|
||||
sous deux déclinaisons :
|
||||
|
||||
C-x eXtension caractère, suivie d'un seul caractère.
|
||||
M-x eXtension d'une commande nommée, suivie d'un nom long.
|
||||
@ -742,7 +742,7 @@ param
|
||||
|
||||
Lorsque vous avez modifié un fichier, mais que vous ne l'avez pas
|
||||
encore sauvegardé, ces modifications pourraient être perdues si votre
|
||||
système se plantait. Pour vous protéger ce de problème, Emacs écrit
|
||||
système se plantait. Pour vous protéger de ce problème, Emacs écrit
|
||||
périodiquement un fichier de « sauvegarde automatique » pour chaque
|
||||
fichier en cours d'édition. Le nom de ce fichier commence et se
|
||||
termine par un # : si, par exemple, votre fichier s'appelle
|
||||
@ -772,14 +772,14 @@ zone d'
|
||||
La ligne placée immédiatement au dessus de la zone d'écho s'appelle la
|
||||
« ligne de mode ». Elle affiche quelque chose comme ça :
|
||||
|
||||
--:** TUTORIAL.fr (Fundamental)--L752--67%----------------
|
||||
-1:** TUTORIAL.fr (Fundamental)--L752--67%----------------
|
||||
|
||||
Cette ligne donne des informations sur l'état d'Emacs et sur le texte
|
||||
que vous êtes en train d'éditer.
|
||||
|
||||
Vous savez déjà ce que signifie le nom de fichier -- c'est celui que
|
||||
vous avez chargé. -NN%-- indique votre position actuelle dans le
|
||||
texte ; cela signifie que NN pourcent du texte se trouve au dessus du
|
||||
texte ; cela signifie que NN pour cent du texte se trouve au dessus du
|
||||
sommet de l'écran. Si le début du fichier est sur l'écran, il
|
||||
s'affichera --Top-- et non --00%--. Si le bas du texte est sur
|
||||
l'écran, il s'affichera --Bot--. Si tout le texte tient dans l'écran,
|
||||
@ -802,7 +802,7 @@ Emacs poss
|
||||
prévus pour éditer différents langages et/ou types de texte (mode
|
||||
Lisp, mode Text, etc). À tout instant, il n'y a qu'un seul mode majeur
|
||||
actif et son nom se trouve toujours dans la ligne de mode, à l'endroit
|
||||
ou « Fundamental » se trouve actuellement.
|
||||
où « Fundamental » se trouve actuellement.
|
||||
|
||||
Chaque mode majeur modifie le comportement de quelques commandes. Il
|
||||
existe, par exemple, des commandes pour créer des commentaires dans un
|
||||
@ -940,7 +940,7 @@ haut dans le texte, faites plut
|
||||
C-s s'applique également à C-r, sauf que la direction de la recherche
|
||||
est inversée.
|
||||
|
||||
* FENETRES MULTIPLES
|
||||
* FENÊTRES MULTIPLES
|
||||
--------------------
|
||||
|
||||
L'une des caractéristiques les plus agréables d'Emacs est que vous
|
||||
|
@ -1,3 +1,48 @@
|
||||
2004-10-09 Luc Teirlinck <teirllm@auburn.edu>
|
||||
|
||||
* textmodes/paragraphs.el (sentence-end-double-space)
|
||||
(sentence-end-without-period, sentence-end-without-space)
|
||||
(sentence-end): Doc fixes.
|
||||
|
||||
2004-10-08 Peter Seibel <peter@javamonkey.com> (tiny change)
|
||||
|
||||
* emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Change
|
||||
paragraph-start regexp so we don't fill code starting with #'(
|
||||
|
||||
2004-10-08 Sebastien Kirche <seki@seki.fr> (tiny change)
|
||||
|
||||
* mail/mail-extr.el (mail-extr-ignore-realname-equals-mailbox-name):
|
||||
New defcustom.
|
||||
(extract-address-components): Use it.
|
||||
|
||||
2004-10-08 Paul Pogonyshev <pogonyshev@gmx.net>
|
||||
|
||||
* subr.el (make-progress-reporter, progress-reporter-update)
|
||||
(progress-reporter-force-update, progress-reporter-do-update)
|
||||
(progress-reporter-done): New functions.
|
||||
|
||||
* tar-mode.el (tar-summarize-buffer): Use progress reporter.
|
||||
|
||||
* progmodes/etags.el (etags-tags-completion-table): Use progress
|
||||
reporter.
|
||||
(etags-tags-apropos): Likewise.
|
||||
|
||||
2004-10-08 Alan Mackenzie <acm@muc.de>
|
||||
|
||||
* isearch.el (isearch-yank-line): C-y yanks to next EOL, not end
|
||||
of current line.
|
||||
|
||||
2004-10-08 Masatake YAMATO <jet@gyve.org>
|
||||
|
||||
* server.el (server-process-filter): Wrap `process-send-region'
|
||||
by `condition-case' to guard the case when the pipe to PROC is
|
||||
closed.
|
||||
|
||||
2004-10-07 Mark A. Hershberger <mah@everybody.org>
|
||||
|
||||
* xml.el (xml-substitute-special): Limit handling of external
|
||||
entities.
|
||||
|
||||
2004-10-06 Nick Roberts <nickrob@snap.net.nz>
|
||||
|
||||
* progmodes/gdb-ui.el (gdb-ann3): (Re-)initialise gdb-input-queue.
|
||||
|
@ -1,6 +1,7 @@
|
||||
;;; lisp-mode.el --- Lisp mode, and its idiosyncratic commands
|
||||
|
||||
;; Copyright (C) 1985,86,1999,2000,01,03,2004 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 1985, 1986, 1999, 2000, 2001, 2003, 2004
|
||||
;; Free Software Foundation, Inc.
|
||||
|
||||
;; Maintainer: FSF
|
||||
;; Keywords: lisp, languages
|
||||
@ -1153,7 +1154,8 @@ paragraph of it that point is in, preserving the comment's indentation
|
||||
and initial semicolons."
|
||||
(interactive "P")
|
||||
(or (fill-comment-paragraph justify)
|
||||
;; Point is on a program line (a line no comment); we are interested
|
||||
;; Since fill-comment-paragraph returned nil, that means we're not in
|
||||
;; a comment: Point is on a program line; we are interested
|
||||
;; particularly in docstring lines.
|
||||
;;
|
||||
;; We bind `paragraph-start' and `paragraph-separate' temporarily. They
|
||||
@ -1182,7 +1184,7 @@ and initial semicolons."
|
||||
;; The `fill-column' is temporarily bound to
|
||||
;; `emacs-lisp-docstring-fill-column' if that value is an integer.
|
||||
(let ((paragraph-start (concat paragraph-start
|
||||
"\\|\\s-*\\([\(;:\"]\\|`\(\\)"))
|
||||
"\\|\\s-*\\([(;:\"]\\|`(\\|#'(\\)"))
|
||||
(paragraph-separate
|
||||
(concat paragraph-separate "\\|\\s-*\".*[,\\.]$"))
|
||||
(fill-column (if (integerp emacs-lisp-docstring-fill-column)
|
||||
@ -1227,5 +1229,5 @@ means don't indent that line."
|
||||
|
||||
(provide 'lisp-mode)
|
||||
|
||||
;;; arch-tag: 414c7f93-c245-4b77-8ed5-ed05ef7ff1bf
|
||||
;; arch-tag: 414c7f93-c245-4b77-8ed5-ed05ef7ff1bf
|
||||
;;; lisp-mode.el ends here
|
||||
|
@ -1254,8 +1254,8 @@ might return the position of the end of the line."
|
||||
(defun isearch-yank-line ()
|
||||
"Pull rest of line from buffer into search string."
|
||||
(interactive)
|
||||
(isearch-yank-internal 'line-end-position))
|
||||
|
||||
(isearch-yank-internal
|
||||
(lambda () (line-end-position (if (eolp) 2 1)))))
|
||||
|
||||
(defun isearch-search-and-update ()
|
||||
;; Do the search and update the display.
|
||||
|
@ -234,6 +234,13 @@ we will act as though we couldn't find a full name in the address."
|
||||
:version "21.4"
|
||||
:group 'mail-extr)
|
||||
|
||||
(defcustom mail-extr-ignore-realname-equals-mailbox-name t
|
||||
"*Whether to ignore a name that is equal to the mailbox name.
|
||||
If true, then when the address is like \"Single <single@address.com>\"
|
||||
we will act as though we couldn't find a full name in the address."
|
||||
:type 'boolean
|
||||
:group 'mail-extr)
|
||||
|
||||
;; Matches a leading title that is not part of the name (does not
|
||||
;; contribute to uniquely identifying the person).
|
||||
(defcustom mail-extr-full-name-prefixes
|
||||
@ -694,7 +701,7 @@ Unless NO-REPLACE is true, at each of the positions in LIST-SYMBOL
|
||||
"Given an RFC-822 address 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. Also see
|
||||
`mail-extr-ignore-single-names'.
|
||||
`mail-extr-ignore-single-names' and `mail-extr-ignore-realname-equals-mailbox-name'.
|
||||
|
||||
If the optional argument ALL is non-nil, then ADDRESS can contain zero
|
||||
or more recipients, separated by commas, and we return a list of
|
||||
@ -1404,8 +1411,9 @@ consing a string.)"
|
||||
(setq names-match-flag nil))
|
||||
(setq i (1+ i)))
|
||||
(delete-region (+ (point-min) buffer-length) (point-max))
|
||||
(if names-match-flag
|
||||
(narrow-to-region (point) (point)))))
|
||||
(and names-match-flag
|
||||
mail-extr-ignore-realname-equals-mailbox-name
|
||||
(narrow-to-region (point) (point)))))
|
||||
|
||||
;; Nuke name if it's just one word.
|
||||
(goto-char (point-min))
|
||||
|
@ -1229,10 +1229,10 @@ where they were found."
|
||||
|
||||
(defun etags-tags-completion-table ()
|
||||
(let ((table (make-vector 511 0))
|
||||
(point-max (/ (float (point-max)) 100.0))
|
||||
(msg-fmt (format
|
||||
"Making tags completion table for %s...%%d%%%%"
|
||||
buffer-file-name)))
|
||||
(progress-reporter
|
||||
(make-progress-reporter
|
||||
(format "Making tags completion table for %s..." buffer-file-name)
|
||||
(point-min) (point-max))))
|
||||
(save-excursion
|
||||
(goto-char (point-min))
|
||||
;; This monster regexp matches an etags tag line.
|
||||
@ -1253,7 +1253,7 @@ where they were found."
|
||||
(buffer-substring (match-beginning 5) (match-end 5))
|
||||
;; No explicit tag name. Best guess.
|
||||
(buffer-substring (match-beginning 3) (match-end 3)))
|
||||
(message msg-fmt (/ (point) point-max)))
|
||||
(progress-reporter-update progress-reporter (point)))
|
||||
table)))
|
||||
table))
|
||||
|
||||
@ -1433,11 +1433,12 @@ where they were found."
|
||||
(tags-with-face 'highlight (princ buffer-file-name))
|
||||
(princ "':\n\n"))
|
||||
(goto-char (point-min))
|
||||
(let ((point-max (/ (float (point-max)) 100.0)))
|
||||
(let ((progress-reporter (make-progress-reporter
|
||||
(format "Making tags apropos buffer for `%s'..."
|
||||
string)
|
||||
(point-min) (point-max))))
|
||||
(while (re-search-forward string nil t)
|
||||
(message "Making tags apropos buffer for `%s'...%d%%"
|
||||
string
|
||||
(/ (point) point-max))
|
||||
(progress-reporter-update progress-reporter (point))
|
||||
(beginning-of-line)
|
||||
|
||||
(let* ( ;; Get the local value in the tags table
|
||||
|
127
lisp/subr.el
127
lisp/subr.el
@ -2664,5 +2664,132 @@ The properties used on SYMBOL are `composefunc', `sendfunc',
|
||||
(put symbol 'abortfunc (or abortfunc 'kill-buffer))
|
||||
(put symbol 'hookvar (or hookvar 'mail-send-hook)))
|
||||
|
||||
;; Standardized progress reporting
|
||||
|
||||
;; Progress reporter has the following structure:
|
||||
;;
|
||||
;; (NEXT-UPDATE-VALUE . [NEXT-UPDATE-TIME
|
||||
;; MIN-VALUE
|
||||
;; MAX-VALUE
|
||||
;; MESSAGE
|
||||
;; MIN-CHANGE
|
||||
;; MIN-TIME])
|
||||
;;
|
||||
;; This weirdeness is for optimization reasons: we want
|
||||
;; `progress-reporter-update' to be as fast as possible, so
|
||||
;; `(car reporter)' is better than `(aref reporter 0)'.
|
||||
;;
|
||||
;; NEXT-UPDATE-TIME is a float. While `float-time' loses a couple
|
||||
;; digits of precision, it doesn't really matter here. On the other
|
||||
;; hand, it greatly simplifies the code.
|
||||
|
||||
(defun make-progress-reporter (message min-value max-value
|
||||
&optional current-value
|
||||
min-change min-time)
|
||||
"Return an object suitable for reporting operation progress with `progress-reporter-update'.
|
||||
|
||||
MESSAGE is shown in the echo area. When at least 1% of operation
|
||||
is complete, the exact percentage will be appended to the
|
||||
MESSAGE. When you call `progress-reporter-done', word \"done\"
|
||||
is printed after the MESSAGE. You can change MESSAGE of an
|
||||
existing progress reporter with `progress-reporter-force-update'.
|
||||
|
||||
MIN-VALUE and MAX-VALUE designate starting (0% complete) and
|
||||
final (100% complete) states of operation. The latter should be
|
||||
larger; if this is not the case, then simply negate all values.
|
||||
Optional CURRENT-VALUE specifies the progress by the moment you
|
||||
call this function. You should omit it or set it to nil in most
|
||||
cases since it defaults to MIN-VALUE.
|
||||
|
||||
Optional MIN-CHANGE determines the minimal change in percents to
|
||||
report (default is 1%.) Optional MIN-TIME specifies the minimal
|
||||
time before echo area updates (default is 0.2 seconds.) If
|
||||
`float-time' function is not present, then time is not tracked
|
||||
at all. If OS is not capable of measuring fractions of seconds,
|
||||
then this parameter is effectively rounded up."
|
||||
|
||||
(unless min-time
|
||||
(setq min-time 0.2))
|
||||
(let ((reporter
|
||||
(cons min-value ;; Force a call to `message' now
|
||||
(vector (if (and (fboundp 'float-time)
|
||||
(>= min-time 0.02))
|
||||
(float-time) nil)
|
||||
min-value
|
||||
max-value
|
||||
message
|
||||
(if min-change (max (min min-change 50) 1) 1)
|
||||
min-time))))
|
||||
(progress-reporter-update reporter (or current-value min-value))
|
||||
reporter))
|
||||
|
||||
(defsubst progress-reporter-update (reporter value)
|
||||
"Report progress of an operation in the echo area.
|
||||
However, if the change since last echo area update is too small
|
||||
or not enough time has passed, then do nothing (see
|
||||
`make-progress-reporter' for details).
|
||||
|
||||
First parameter, REPORTER, should be the result of a call to
|
||||
`make-progress-reporter'. Second, VALUE, determines the actual
|
||||
progress of operation; it must be between MIN-VALUE and MAX-VALUE
|
||||
as passed to `make-progress-reporter'.
|
||||
|
||||
This function is very inexpensive, you may not bother how often
|
||||
you call it."
|
||||
(when (>= value (car reporter))
|
||||
(progress-reporter-do-update reporter value)))
|
||||
|
||||
(defun progress-reporter-force-update (reporter value &optional new-message)
|
||||
"Report progress of an operation in the echo area unconditionally.
|
||||
|
||||
First two parameters are the same as for
|
||||
`progress-reporter-update'. Optional NEW-MESSAGE allows you to
|
||||
change the displayed message."
|
||||
(let ((parameters (cdr reporter)))
|
||||
(when new-message
|
||||
(aset parameters 3 new-message))
|
||||
(when (aref parameters 0)
|
||||
(aset parameters 0 (float-time)))
|
||||
(progress-reporter-do-update reporter value)))
|
||||
|
||||
(defun progress-reporter-do-update (reporter value)
|
||||
(let* ((parameters (cdr reporter))
|
||||
(min-value (aref parameters 1))
|
||||
(max-value (aref parameters 2))
|
||||
(one-percent (/ (- max-value min-value) 100.0))
|
||||
(percentage (truncate (/ (- value min-value) one-percent)))
|
||||
(update-time (aref parameters 0))
|
||||
(current-time (float-time))
|
||||
(enough-time-passed
|
||||
;; See if enough time has passed since the last update.
|
||||
(or (not update-time)
|
||||
(when (>= current-time update-time)
|
||||
;; Calculate time for the next update
|
||||
(aset parameters 0 (+ update-time (aref parameters 5)))))))
|
||||
;;
|
||||
;; Calculate NEXT-UPDATE-VALUE. If we are not going to print
|
||||
;; message this time because not enough time has passed, then use
|
||||
;; 1 instead of MIN-CHANGE. This makes delays between echo area
|
||||
;; updates closer to MIN-TIME.
|
||||
(setcar reporter
|
||||
(min (+ min-value (* (+ percentage
|
||||
(if enough-time-passed
|
||||
(aref parameters 4) ;; MIN-CHANGE
|
||||
1))
|
||||
one-percent))
|
||||
max-value))
|
||||
(when (integerp value)
|
||||
(setcar reporter (ceiling (car reporter))))
|
||||
;;
|
||||
;; Only print message if enough time has passed
|
||||
(when enough-time-passed
|
||||
(if (> percentage 0)
|
||||
(message "%s%d%%" (aref parameters 3) percentage)
|
||||
(message "%s" (aref parameters 3))))))
|
||||
|
||||
(defun progress-reporter-done (reporter)
|
||||
"Print reporter's message followed by word \"done\" in echo area."
|
||||
(message "%sdone" (aref (cdr reporter) 3)))
|
||||
|
||||
;; arch-tag: f7e0e6e5-70aa-4897-ae72-7a3511ec40bc
|
||||
;;; subr.el ends here
|
||||
|
@ -404,11 +404,11 @@ Place a dired-like listing on the front;
|
||||
then narrow to it, so that only that listing
|
||||
is visible (and the real data of the buffer is hidden)."
|
||||
(set-buffer-multibyte nil)
|
||||
(message "Parsing tar file...")
|
||||
(let* ((result '())
|
||||
(pos (point-min))
|
||||
(bs (max 1 (- (buffer-size) 1024))) ; always 2+ empty blocks at end.
|
||||
(bs100 (max 1 (/ bs 100)))
|
||||
(progress-reporter
|
||||
(make-progress-reporter "Parsing tar file..."
|
||||
(point-min) (max 1 (- (buffer-size) 1024))))
|
||||
tokens)
|
||||
(while (and (<= (+ pos 512) (point-max))
|
||||
(not (eq 'empty-tar-block
|
||||
@ -416,10 +416,7 @@ is visible (and the real data of the buffer is hidden)."
|
||||
(tar-header-block-tokenize
|
||||
(buffer-substring pos (+ pos 512)))))))
|
||||
(setq pos (+ pos 512))
|
||||
(message "Parsing tar file...%d%%"
|
||||
;(/ (* pos 100) bs) ; this gets round-off lossage
|
||||
(/ pos bs100) ; this doesn't
|
||||
)
|
||||
(progress-reporter-update progress-reporter pos)
|
||||
(if (eq (tar-header-link-type tokens) 20)
|
||||
;; Foo. There's an extra empty block after these.
|
||||
(setq pos (+ pos 512)))
|
||||
@ -446,7 +443,7 @@ is visible (and the real data of the buffer is hidden)."
|
||||
;; A tar file should end with a block or two of nulls,
|
||||
;; but let's not get a fatal error if it doesn't.
|
||||
(if (eq tokens 'empty-tar-block)
|
||||
(message "Parsing tar file...done")
|
||||
(progress-reporter-done progress-reporter)
|
||||
(message "Warning: premature EOF parsing tar file")))
|
||||
(save-excursion
|
||||
(goto-char (point-min))
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;; paragraphs.el --- paragraph and sentence parsing
|
||||
|
||||
;; Copyright (C) 1985, 86, 87, 91, 94, 95, 96, 1997, 1999, 2000, 2001
|
||||
;; Copyright (C) 1985, 86, 87, 91, 94, 95, 96, 1997, 1999, 2000, 2001, 2004
|
||||
;; Free Software Foundation, Inc.
|
||||
|
||||
;; Maintainer: FSF
|
||||
@ -122,8 +122,8 @@ This is relevant for filling. See also `sentence-end-without-period'
|
||||
and `colon-double-space'.
|
||||
|
||||
This value is used by the function `sentence-end' to construct the
|
||||
regexp describing the end of a sentence, in case when the value of
|
||||
the variable `sentence-end' is nil. See Info node `Sentences'."
|
||||
regexp describing the end of a sentence, when the value of the variable
|
||||
`sentence-end' is nil. See Info node `(elisp)Standard Regexps'."
|
||||
:type 'boolean
|
||||
:group 'fill)
|
||||
|
||||
@ -133,18 +133,18 @@ For example, a sentence in Thai text ends with double space but
|
||||
without a period.
|
||||
|
||||
This value is used by the function `sentence-end' to construct the
|
||||
regexp describing the end of a sentence, in case when the value of
|
||||
the variable `sentence-end' is nil. See Info node `Sentences'."
|
||||
regexp describing the end of a sentence, when the value of the variable
|
||||
`sentence-end' is nil. See Info node `(elisp)Standard Regexps'."
|
||||
:type 'boolean
|
||||
:group 'fill)
|
||||
|
||||
(defcustom sentence-end-without-space
|
||||
"$B!#!%!)!*$A!##.#?#!$(0!$!%!)!*$(G!$!%!)!*(B"
|
||||
"*String containing characters that end sentence without following spaces.
|
||||
"*String of characters that end sentence without following spaces.
|
||||
|
||||
This value is used by the function `sentence-end' to construct the
|
||||
regexp describing the end of a sentence, in case when the value of
|
||||
the variable `sentence-end' is nil. See Info node `Sentences'."
|
||||
regexp describing the end of a sentence, when the value of the variable
|
||||
`sentence-end' is nil. See Info node `(elisp)Standard Regexps'."
|
||||
:group 'paragraphs
|
||||
:type 'string)
|
||||
|
||||
@ -169,7 +169,7 @@ and `sentence-end-without-space'. The default value specifies
|
||||
that in order to be recognized as the end of a sentence, the
|
||||
ending period, question mark, or exclamation point must be
|
||||
followed by two spaces, unless it's inside some sort of quotes or
|
||||
parenthesis. See Info node `Sentences'."
|
||||
parenthesis. See Info node `(elisp)Standard Regexps'."
|
||||
(or sentence-end
|
||||
(concat (if sentence-end-without-period "\\w \\|")
|
||||
"\\([.?!][]\"'\xd0c9\x5397d)}]*"
|
||||
|
11
lisp/xml.el
11
lisp/xml.el
@ -727,14 +727,9 @@ This follows the rule [28] in the XML specifications."
|
||||
(match-string 1 this-part)))))))
|
||||
|
||||
(cond ((null children)
|
||||
(if (and (eq (length expansion) 1)
|
||||
(stringp (cadr expansion)))
|
||||
(setq children (concat prev-part expansion))
|
||||
(if (stringp (car expansion))
|
||||
(setq children
|
||||
(list (concat prev-part (car expansion))
|
||||
(append (cdr expansion))))
|
||||
(setq children (append expansion prev-part)))))
|
||||
;; FIXME: If we have an entity that expands into XML, this won't work.
|
||||
(setq children
|
||||
(concat prev-part expansion)))
|
||||
((stringp children)
|
||||
(if (stringp expansion)
|
||||
(setq children (concat children prev-part expansion))
|
||||
|
@ -4009,7 +4009,7 @@ the @dfn{else-part}, for the case when the true-or-false-test returns
|
||||
false. When this happens, the second argument or then-part of the
|
||||
overall @code{if} expression is @emph{not} evaluated, but the third or
|
||||
else-part @emph{is} evaluated. You might think of this as the cloudy
|
||||
day alternative for the decision `if it is warm and sunny, then go to
|
||||
day alternative for the decision ``if it is warm and sunny, then go to
|
||||
the beach, else read a book!''.
|
||||
|
||||
The word ``else'' is not written in the Lisp code; the else-part of an
|
||||
@ -18025,7 +18025,7 @@ beginning.
|
||||
|
||||
Sometimes when you you write text, you duplicate words---as with ``you
|
||||
you'' near the beginning of this sentence. I find that most
|
||||
frequently, I duplicate ``the'; hence, I call the function for
|
||||
frequently, I duplicate ``the''; hence, I call the function for
|
||||
detecting duplicated words, @code{the-the}.
|
||||
|
||||
@need 1250
|
||||
|
@ -1,3 +1,17 @@
|
||||
2004-10-09 Luc Teirlinck <teirllm@auburn.edu>
|
||||
|
||||
* text.texi (Filling): Add anchor for definition of
|
||||
`sentence-end-double-space'.
|
||||
|
||||
* searching.texi (Regexp Example): Update description of how
|
||||
Emacs currently recognizes the end of a sentence.
|
||||
(Standard Regexps): Update definition of the variable
|
||||
`sentence-end'. Add definition of the function `sentence-end'.
|
||||
|
||||
2004-10-08 Paul Pogonyshev <pogonyshev@gmx.net>
|
||||
|
||||
* display.texi (Progress): New node.
|
||||
|
||||
2004-10-05 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* display.texi (Fringe Bitmaps): Update fringe-bitmaps-at-pos.
|
||||
|
@ -16,6 +16,7 @@ that Emacs presents to the user.
|
||||
* Truncation:: Folding or wrapping long text lines.
|
||||
* The Echo Area:: Where messages are displayed.
|
||||
* Warnings:: Displaying warning messages for the user.
|
||||
* Progress:: Informing user about progress of a long operation.
|
||||
* Invisible Text:: Hiding part of the buffer text.
|
||||
* Selective Display:: Hiding part of the buffer text (the old way).
|
||||
* Overlay Arrow:: Display of an arrow to indicate position.
|
||||
@ -533,6 +534,104 @@ symbols. If it matches the first few elements in a warning type, then
|
||||
that warning is not logged.
|
||||
@end defopt
|
||||
|
||||
@node Progress
|
||||
@section Reporting Operation Progress
|
||||
@cindex progress reporting
|
||||
|
||||
When an operation can take a while to finish, you should inform the
|
||||
user about the progress it makes. This way the user can estimate
|
||||
remaining time and clearly see that Emacs is busy working, not hung.
|
||||
|
||||
Functions listed in this section provide simple and efficient way of
|
||||
reporting operation progress. Here is a working example that does
|
||||
nothing useful:
|
||||
|
||||
@example
|
||||
(let ((progress-reporter
|
||||
(make-progress-reporter "Collecting some mana for Emacs..."
|
||||
0 500)))
|
||||
(dotimes (k 500)
|
||||
(sit-for 0.01)
|
||||
(progress-reporter-update progress-reporter k))
|
||||
(progress-reporter-done progress-reporter))
|
||||
@end example
|
||||
|
||||
@defun make-progress-reporter message min-value max-value &optional current-value min-change min-time
|
||||
This function creates a progress reporter---the object you will use as
|
||||
an argument for all other functions listed here. The idea is to
|
||||
precompute as much data as possible to make progress reporting very
|
||||
fast.
|
||||
|
||||
The @var{message} will be displayed in the echo area, followed by
|
||||
progress percentage. @var{message} is treated as a simple string. If
|
||||
you need it to depend on a filename, for instance, use @code{format}
|
||||
before calling this function.
|
||||
|
||||
@var{min-value} and @var{max-value} arguments stand for starting and
|
||||
final states of your operation. For instance, if you scan a buffer,
|
||||
they should be the results of @code{point-min} and @code{point-max}
|
||||
correspondingly. It is required that @var{max-value} is greater than
|
||||
@var{min-value}. If you create progress reporter when some part of
|
||||
the operation has already been completed, then specify
|
||||
@var{current-value} argument. But normally you should omit it or set
|
||||
it to @code{nil}---it will default to @var{min-value} then.
|
||||
|
||||
Remaining arguments control the rate of echo area updates. Progress
|
||||
reporter will wait for at least @var{min-change} more percents of the
|
||||
operation to be completed before printing next message.
|
||||
@var{min-time} specifies the minimum time in seconds to pass between
|
||||
successive prints. It can be fractional. Depending on Emacs and
|
||||
system capabilities, progress reporter may or may not respect this
|
||||
last argument or do it with varying precision. Default value for
|
||||
@var{min-change} is 1 (one percent), for @var{min-time}---0.2
|
||||
(seconds.)
|
||||
|
||||
This function calls @code{progress-reporter-update}, so the first
|
||||
message is printed immediately.
|
||||
@end defun
|
||||
|
||||
@defun progress-reporter-update reporter value
|
||||
This function does the main work of reporting progress of your
|
||||
operation. It print the message of @var{reporter} followed by
|
||||
progress percentage determined by @var{value}. If percentage is zero,
|
||||
then it is not printed at all.
|
||||
|
||||
@var{reporter} must be the result of a call to
|
||||
@code{make-progress-reporter}. @var{value} specifies the current
|
||||
state of your operation and must be between @var{min-value} and
|
||||
@var{max-value} (inclusive) as passed to
|
||||
@code{make-progress-reporter}. For instance, if you scan a buffer,
|
||||
then @var{value} should be the result of a call to @code{point}.
|
||||
|
||||
This function respects @var{min-change} and @var{min-time} as passed
|
||||
to @code{make-progress-reporter} and so does not output new messages
|
||||
on every invocation. It is thus very fast and normally you should not
|
||||
try to reduce the number of calls to it: resulting overhead will most
|
||||
likely negate your effort.
|
||||
@end defun
|
||||
|
||||
@defun progress-reporter-force-update reporter value &optional new-message
|
||||
This function is similar to @code{progress-reporter-update} except
|
||||
that it prints a message in the echo area unconditionally.
|
||||
|
||||
The first two arguments have the same meaning as for
|
||||
@code{progress-reporter-update}. Optional @var{new-message} allows
|
||||
you to change the message of the @var{reporter}. Since this functions
|
||||
always updates the echo area, such a change will be immediately
|
||||
presented to the user.
|
||||
@end defun
|
||||
|
||||
@defun progress-reporter-done reporter
|
||||
This function should be called when the operation is finished. It
|
||||
prints the message of @var{reporter} followed by word ``done'' in the
|
||||
echo area.
|
||||
|
||||
You should always call this function and not hope for
|
||||
@code{progress-reporter-update} to print ``100%.'' Firstly, it may
|
||||
never print it, there are many good reasons for this not to happen.
|
||||
Secondly, ``done'' is more explicit.
|
||||
@end defun
|
||||
|
||||
@node Invisible Text
|
||||
@section Invisible Text
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
@c -*-texinfo-*-
|
||||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
|
||||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2004
|
||||
@c Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/searching
|
||||
@ -694,9 +694,9 @@ an @code{invalid-regexp} error is signaled.
|
||||
|
||||
Here is a complicated regexp which was formerly used by Emacs to
|
||||
recognize the end of a sentence together with any whitespace that
|
||||
follows. It was used as the variable @code{sentence-end}. (Its value
|
||||
nowadays contains alternatives for @samp{.}, @samp{?} and @samp{!} in
|
||||
other character sets.)
|
||||
follows. (Nowadays Emacs uses a similar but more complex default
|
||||
regexp constructed by the function @code{sentence-end}.
|
||||
@xref{Standard Regexps}.)
|
||||
|
||||
First, we show the regexp as a string in Lisp syntax to distinguish
|
||||
spaces from tab characters. The string constant begins and ends with a
|
||||
@ -730,9 +730,9 @@ deciphered as follows:
|
||||
The first part of the pattern is a character alternative that matches
|
||||
any one of three characters: period, question mark, and exclamation
|
||||
mark. The match must begin with one of these three characters. (This
|
||||
is the one point where the new value of @code{sentence-end} differs
|
||||
from the old. The new value also lists sentence ending
|
||||
non-@acronym{ASCII} characters.)
|
||||
is one point where the new default regexp used by Emacs differs from
|
||||
the old. The new value also allows some non-@acronym{ASCII}
|
||||
characters that end a sentence without any following whitespace.)
|
||||
|
||||
@item []\"')@}]*
|
||||
The second part of the pattern matches any closing braces and quotation
|
||||
@ -1698,23 +1698,25 @@ whitespace or starting with a form feed (after its left margin).
|
||||
@end defvar
|
||||
|
||||
@defvar sentence-end
|
||||
This is the regular expression describing the end of a sentence. (All
|
||||
paragraph boundaries also end sentences, regardless.) The (slightly
|
||||
simplified) default value is:
|
||||
If non-@code{nil}, the value should be a regular expression describing
|
||||
the end of a sentence, including the whitespace following the
|
||||
sentence. (All paragraph boundaries also end sentences, regardless.)
|
||||
|
||||
@example
|
||||
"[.?!][]\"')@}]*\\($\\| $\\|\t\\|@ @ \\)[ \t\n]*"
|
||||
@end example
|
||||
|
||||
This means a period, question mark or exclamation mark (the actual
|
||||
default value also lists their alternatives in other character sets),
|
||||
followed optionally by closing parenthetical characters, followed by
|
||||
tabs, spaces or new lines.
|
||||
|
||||
For a detailed explanation of this regular expression, see @ref{Regexp
|
||||
Example}.
|
||||
If the value is @code{nil}, the default, then the function
|
||||
@code{sentence-end} has to construct the regexp. That is why you
|
||||
should always call the function @code{sentence-end} to obtain the
|
||||
regexp to be used to recognize the end of a sentence.
|
||||
@end defvar
|
||||
|
||||
@defun sentence-end
|
||||
This function returns the value of the variable @code{sentence-end},
|
||||
if non-@code{nil}. Otherwise it returns a default value based on the
|
||||
values of the variables @code{sentence-end-double-space}
|
||||
(@pxref{Definition of sentence-end-double-space}),
|
||||
@code{sentence-end-without-period} and
|
||||
@code{sentence-end-without-space}.
|
||||
@end defun
|
||||
|
||||
@ignore
|
||||
arch-tag: c2573ca2-18aa-4839-93b8-924043ef831f
|
||||
@end ignore
|
||||
|
@ -1,6 +1,7 @@
|
||||
@c -*-texinfo-*-
|
||||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001
|
||||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999,
|
||||
@c 2000, 2001, 2004
|
||||
@c Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/text
|
||||
@ -1448,6 +1449,7 @@ the text around point.
|
||||
@end defun
|
||||
|
||||
@defopt sentence-end-double-space
|
||||
@anchor{Definition of sentence-end-double-space}
|
||||
If this variable is non-@code{nil}, a period followed by just one space
|
||||
does not count as the end of a sentence, and the filling functions
|
||||
avoid breaking the line at such a place.
|
||||
|
@ -1,3 +1,21 @@
|
||||
2004-10-09 Luc Teirlinck <teirllm@auburn.edu>
|
||||
|
||||
* files.texi (Misc File Ops): View mode is a minor mode.
|
||||
|
||||
2004-10-09 Juri Linkov <juri@jurta.org>
|
||||
|
||||
* gnus.texi (Fancy Mail Splitting): Remove backslash in the
|
||||
example of nnmail-split-fancy.
|
||||
|
||||
2004-10-08 Glenn Morris <gmorris@ast.cam.ac.uk>
|
||||
|
||||
* calendar.texi (iCalendar): Style changes.
|
||||
|
||||
2004-10-07 Luc Teirlinck <teirllm@auburn.edu>
|
||||
|
||||
* search.texi (Regexps): The regexp described in the example is no
|
||||
longer stored in the variable `sentence-end'.
|
||||
|
||||
2004-10-06 Karl Berry <karl@gnu.org>
|
||||
|
||||
* info.texi (@kbd{1}--@kbd{9}): no space around --, for
|
||||
@ -8,12 +26,14 @@
|
||||
* building.texi (Starting GUD): Note that multiple debugging
|
||||
sessions requires `gdb --fullname'.
|
||||
|
||||
2004-10-05 Ulf Jasper <ulf.jasper@web.de>
|
||||
|
||||
* calendar.texi (iCalendar): New section for a new package.
|
||||
|
||||
2004-10-05 Karl Berry <karl@gnu.org>
|
||||
|
||||
* info.texi: consistently use --- throughout, periods at end of
|
||||
menu descriptions, and a couple typos.
|
||||
From: Benno Schulenberg <benno@nietvergeten.nl>,
|
||||
in bug-texinfo mail.
|
||||
|
||||
2004-10-05 Luc Teirlinck <teirllm@auburn.edu>
|
||||
|
||||
|
@ -21981,7 +21981,7 @@ back on.
|
||||
The most basic default simplification is the evaluation of functions.
|
||||
For example, @cite{2 + 3} is evaluated to @cite{5}, and @cite{@t{sqrt}(9)}
|
||||
is evaluated to @cite{3}. Evaluation does not occur if the arguments
|
||||
to a function are somehow of the wrong type (@cite{@t{tan}([2,3,4])},
|
||||
to a function are somehow of the wrong type (@cite{@t{tan}([2,3,4])}),
|
||||
range (@cite{@t{tan}(90)}), or number (@cite{@t{tan}(3,5)}), or if the
|
||||
function name is not recognized (@cite{@t{f}(5)}), or if ``symbolic''
|
||||
mode (@pxref{Symbolic Mode}) prevents evaluation (@cite{@t{sqrt}(2)}).
|
||||
|
@ -1391,48 +1391,46 @@ appointment list with @kbd{M-x appt-delete}.
|
||||
The icalendar package aims at providing an implementation of the
|
||||
iCalendar standard, as defined in ``RFC 2445 -- Internet Calendaring and
|
||||
Scheduling Core Object Specification (iCalendar)''. It provides a means
|
||||
for importing [iv]Calendar data into Emacs diary files and vice versa.
|
||||
for importing iCalendar (and the earlier vCalendar format) data into
|
||||
Emacs diary files and vice versa.
|
||||
|
||||
Importing should work correctly for ``ordinary'', i.e. non-recurring,
|
||||
events. Recurring events may not be imported correctly, if they are
|
||||
imported at all. Exporting of diary files into iCalendar files should
|
||||
work correctly for most diary entries. Please note that
|
||||
@file{icalendar.el} is work in progress, so usage may evolve in future.
|
||||
|
||||
@subsection Usage
|
||||
Importing works for ``ordinary'' (i.e. non-recurring) events, but (at
|
||||
present) may not work correctly (if at all) for recurring events.
|
||||
Exporting of diary files into iCalendar files should work correctly for
|
||||
most diary entries. Please note that @file{icalendar.el} is work in
|
||||
progress, so usage may evolve in future.
|
||||
|
||||
To activate the package, use @code{(require 'icalendar)}.
|
||||
|
||||
@findex icalendar-extract-ical-from-buffer
|
||||
The command @code{icalendar-extract-ical-from-buffer} extracts
|
||||
iCalendar data from the current buffer and adds it to your (default)
|
||||
diary file. It can be used interactively, or for automatic extraction
|
||||
of iCalendar data; for example with the VM mail reader one could use:
|
||||
diary file. This function is also suitable for automatic extraction of
|
||||
iCalendar data; for example with the Rmail mail client one could use:
|
||||
|
||||
@example
|
||||
(add-hook 'vm-select-new-message-hook 'icalendar-extract-ical-from-buffer)
|
||||
(add-hook 'rmail-show-message-hook 'icalendar-extract-ical-from-buffer)
|
||||
@end example
|
||||
|
||||
@findex icalendar-import-file
|
||||
The function @code{icalendar-import-file} can be used
|
||||
non-interactively to import an iCalendar file. @strong{Caution:} the
|
||||
contents of the target diary file are @emph{deleted} by default! It is
|
||||
highly recommended to use a dedicated diary file for importing. For
|
||||
example:
|
||||
The command @code{icalendar-import-file} imports an iCalendar file.
|
||||
@strong{Caution:} the contents of the target diary file are
|
||||
@emph{deleted} by default! It is highly recommended to use a dedicated
|
||||
diary file for importing. For example:
|
||||
|
||||
@example
|
||||
(icalendar-import-file "/here/is/calendar.ics" "/there/goes/ical-diary")
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
The import file can be added to the diary using an @code{#include}
|
||||
directive. @xref{Fancy Diary Display,,, elisp, The Emacs Lisp Reference
|
||||
Manual}.
|
||||
You can use an @code{#include} directive to add the import file contents
|
||||
to the diary. @xref{Fancy Diary Display,,, elisp, The Emacs Lisp
|
||||
Reference Manual}.
|
||||
|
||||
@findex icalendar-convert-diary-to-ical
|
||||
Use @code{icalendar-convert-diary-to-ical} to interactively export an
|
||||
Emacs diary file to iCalendar format. @strong{Caution:} the contents of
|
||||
the target file are @emph{deleted} by default!
|
||||
The command @code{icalendar-convert-diary-to-ical} exports an Emacs
|
||||
diary file to iCalendar format. @strong{Caution:} the contents of the
|
||||
target file are @emph{deleted} by default!
|
||||
|
||||
|
||||
@node Daylight Savings
|
||||
|
@ -2858,7 +2858,7 @@ or @key{DEL} to scroll backward. Various other commands are provided
|
||||
for moving around in the file, but none for changing it; type @kbd{?}
|
||||
while viewing for a list of them. They are mostly the same as normal
|
||||
Emacs cursor motion commands. To exit from viewing, type @kbd{q}.
|
||||
The commands for viewing are defined by a special major mode called View
|
||||
The commands for viewing are defined by a special minor mode called View
|
||||
mode.
|
||||
|
||||
A related command, @kbd{M-x view-buffer}, views a buffer already present
|
||||
|
@ -14002,7 +14002,7 @@ Let's look at an example value of this variable first:
|
||||
;; @r{the bugs- list, but allow cross-posting when the}
|
||||
;; @r{message was really cross-posted.}
|
||||
(any "bugs-mypackage@@somewhere" "mypkg.bugs")
|
||||
(any "mypackage@@somewhere\" - "bugs-mypackage" "mypkg.list")
|
||||
(any "mypackage@@somewhere" - "bugs-mypackage" "mypkg.list")
|
||||
;; @r{People@dots{}}
|
||||
(any "larsi@@ifi\\.uio\\.no" "people.Lars_Magne_Ingebrigtsen"))
|
||||
;; @r{Unmatched mail goes to the catch all group.}
|
||||
|
@ -840,7 +840,7 @@ effect of bringing up the Windows menu, it alters the meaning of
|
||||
subsequent commands. Many users find this frustrating.
|
||||
|
||||
@vindex w32-pass-alt-to-system
|
||||
You can reenable Windows's default handling of tapping the @key{ALT} key
|
||||
You can re-enable Windows' default handling of tapping the @key{ALT} key
|
||||
by setting @code{w32-pass-alt-to-system} to a non-@code{nil} value.
|
||||
|
||||
@ignore
|
||||
|
@ -1,5 +1,5 @@
|
||||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 1985, 86, 87, 93, 94, 95, 97, 2000, 2001
|
||||
@c Copyright (C) 1985, 86, 87, 93, 94, 95, 97, 2000, 2001, 2004
|
||||
@c Free Software Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@node Search, Fixit, Display, Top
|
||||
@ -193,9 +193,11 @@ repeat the search will then search for a string including that
|
||||
character or word.
|
||||
|
||||
@kbd{C-y} is similar to @kbd{C-w} but copies all the rest of the
|
||||
current line into the search string. Both @kbd{C-y} and @kbd{C-w}
|
||||
convert the text they copy to lower case if the search is currently
|
||||
not case-sensitive; this is so the search remains case-insensitive.
|
||||
current line into the search string. If point is already at the end
|
||||
of a line, it grabs the entire next line. Both @kbd{C-y} and
|
||||
@kbd{C-w} convert the text they copy to lower case if the search is
|
||||
currently not case-sensitive; this is so the search remains
|
||||
case-insensitive.
|
||||
|
||||
@kbd{C-M-w} and @kbd{C-M-y} modify the search string by only one
|
||||
character at a time: @kbd{C-M-w} deletes the last character from the
|
||||
@ -777,13 +779,13 @@ matches any character that does @emph{not} belong to category
|
||||
The constructs that pertain to words and syntax are controlled by the
|
||||
setting of the syntax table (@pxref{Syntax}).
|
||||
|
||||
Here is a complicated regexp, stored in @code{sentence-end} and used
|
||||
by Emacs to recognize the end of a sentence together with any
|
||||
whitespace that follows. We show its Lisp syntax to distinguish the
|
||||
spaces from the tab characters. In Lisp syntax, the string constant
|
||||
begins and ends with a double-quote. @samp{\"} stands for a
|
||||
double-quote as part of the regexp, @samp{\\} for a backslash as part
|
||||
of the regexp, @samp{\t} for a tab, and @samp{\n} for a newline.
|
||||
Here is a complicated regexp. It is a simplified version of the
|
||||
regexp that Emacs uses, by default, to recognize the end of a sentence
|
||||
together with any whitespace that follows. We show its Lisp syntax to
|
||||
distinguish the spaces from the tab characters. In Lisp syntax, the
|
||||
string constant begins and ends with a double-quote. @samp{\"} stands
|
||||
for a double-quote as part of the regexp, @samp{\\} for a backslash as
|
||||
part of the regexp, @samp{\t} for a tab, and @samp{\n} for a newline.
|
||||
|
||||
@example
|
||||
"[.?!][]\"')]*\\($\\| $\\|\t\\| \\)[ \t\n]*"
|
||||
|
@ -1,3 +1,27 @@
|
||||
2004-10-08 Steven Tamm <steventamm@mac.com>
|
||||
|
||||
* config.in (HAVE_MALLOC_MALLOC_H): Regenerate
|
||||
* macterm.c (mac_check_for_quit_char): Remove warning for using
|
||||
NULL where 0 should be used
|
||||
* unexmacosx.c: Use malloc/malloc.h on Tiger instead of
|
||||
objc/malloc.h
|
||||
* mac.c: Include time.h for Tiger compatibility
|
||||
|
||||
2004-10-07 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* xdisp.c (redisplay_window): Fix flicker on vertical line between
|
||||
windows. Update vertical line after drawing window fringes, but
|
||||
only if actually drawing any bitmaps--or there is no fringe.
|
||||
|
||||
* xterm.c (x_update_window_end): Likewise.
|
||||
* macterm.c (x_update_window_end): Likewise.
|
||||
* w32term.c (x_update_window_end): Likewise.
|
||||
|
||||
* fringe.c (draw_window_fringes): Return value now indicates if
|
||||
any fringe bitmaps were redrawn (or there are no fringes).
|
||||
|
||||
* dispextern.h (draw_window_fringes): Update prototype.
|
||||
|
||||
2004-10-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
||||
|
||||
* macfns.c (mac_get_window_bounds): Add extern.
|
||||
@ -5,7 +29,7 @@
|
||||
|
||||
* macmenu.c (update_submenu_strings): Apply 2004-09-07 change for
|
||||
xmenu.c (YAILOM).
|
||||
|
||||
|
||||
* macterm.c [!MAC_OSX]: Include Windows.h.
|
||||
(front_emacs_window): Rename from mac_front_window. All uses
|
||||
changed. Return the frontmost non-tooltip emacs window.
|
||||
|
@ -352,6 +352,9 @@ Boston, MA 02111-1307, USA. */
|
||||
/* Define to 1 if you have the <maillock.h> header file. */
|
||||
#undef HAVE_MAILLOCK_H
|
||||
|
||||
/* Define to 1 if you have the <malloc/malloc.h> header file. */
|
||||
#undef HAVE_MALLOC_MALLOC_H
|
||||
|
||||
/* Define to 1 if you have the `mblen' function. */
|
||||
#undef HAVE_MBLEN
|
||||
|
||||
@ -754,9 +757,9 @@ Boston, MA 02111-1307, USA. */
|
||||
/* If using the C implementation of alloca, define if you know the
|
||||
direction of stack growth for your system; otherwise it will be
|
||||
automatically deduced at run-time.
|
||||
STACK_DIRECTION > 0 => grows toward higher addresses
|
||||
STACK_DIRECTION < 0 => grows toward lower addresses
|
||||
STACK_DIRECTION = 0 => direction of growth unknown */
|
||||
STACK_DIRECTION > 0 => grows toward higher addresses
|
||||
STACK_DIRECTION < 0 => grows toward lower addresses
|
||||
STACK_DIRECTION = 0 => direction of growth unknown */
|
||||
#undef STACK_DIRECTION
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
|
@ -2633,7 +2633,7 @@ extern int x_intersect_rectangles P_ ((XRectangle *, XRectangle *,
|
||||
int lookup_fringe_bitmap (Lisp_Object);
|
||||
void draw_fringe_bitmap P_ ((struct window *, struct glyph_row *, int));
|
||||
void draw_row_fringe_bitmaps P_ ((struct window *, struct glyph_row *));
|
||||
void draw_window_fringes P_ ((struct window *));
|
||||
int draw_window_fringes P_ ((struct window *, int));
|
||||
int update_window_fringes P_ ((struct window *, int));
|
||||
void compute_fringe_widths P_ ((struct frame *, int));
|
||||
|
||||
|
33
src/fringe.c
33
src/fringe.c
@ -723,19 +723,35 @@ draw_row_fringe_bitmaps (w, row)
|
||||
}
|
||||
|
||||
/* Draw the fringes of window W. Only fringes for rows marked for
|
||||
update in redraw_fringe_bitmaps_p are drawn. */
|
||||
update in redraw_fringe_bitmaps_p are drawn.
|
||||
|
||||
void
|
||||
draw_window_fringes (w)
|
||||
Return >0 if left or right fringe was redrawn in any way.
|
||||
|
||||
If NO_FRINGE is non-zero, also return >0 if either fringe has zero width.
|
||||
|
||||
A return value >0 indicates that the vertical line between windows
|
||||
needs update (as it may be drawn in the fringe).
|
||||
*/
|
||||
|
||||
int
|
||||
draw_window_fringes (w, no_fringe)
|
||||
struct window *w;
|
||||
int no_fringe;
|
||||
{
|
||||
struct glyph_row *row;
|
||||
int yb = window_text_bottom_y (w);
|
||||
int nrows = w->current_matrix->nrows;
|
||||
int y = 0, rn;
|
||||
int updated = 0;
|
||||
|
||||
if (w->pseudo_window_p)
|
||||
return;
|
||||
return 0;
|
||||
|
||||
/* Must draw line if no fringe */
|
||||
if (no_fringe
|
||||
&& (WINDOW_LEFT_FRINGE_WIDTH (w) == 0
|
||||
|| WINDOW_RIGHT_FRINGE_WIDTH (w) == 0))
|
||||
updated++;
|
||||
|
||||
for (y = 0, rn = 0, row = w->current_matrix->rows;
|
||||
y < yb && rn < nrows;
|
||||
@ -745,7 +761,10 @@ draw_window_fringes (w)
|
||||
continue;
|
||||
draw_row_fringe_bitmaps (w, row);
|
||||
row->redraw_fringe_bitmaps_p = 0;
|
||||
updated++;
|
||||
}
|
||||
|
||||
return updated;
|
||||
}
|
||||
|
||||
|
||||
@ -951,11 +970,7 @@ update_window_fringes (w, force_p)
|
||||
Typically, we add an equal amount (+/- 1 pixel) to each fringe,
|
||||
but a negative width value is taken literally (after negating it).
|
||||
|
||||
We never make the fringes narrower than specified. It is planned
|
||||
to make fringe bitmaps customizable and expandable, and at that
|
||||
time, the user will typically specify the minimum number of pixels
|
||||
needed for his bitmaps, so we shouldn't select anything less than
|
||||
what is specified.
|
||||
We never make the fringes narrower than specified.
|
||||
*/
|
||||
|
||||
void
|
||||
|
@ -24,6 +24,7 @@ Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
#include <time.h>
|
||||
#include <utime.h>
|
||||
#include <dirent.h>
|
||||
#include <sys/types.h>
|
||||
|
@ -1291,9 +1291,8 @@ x_update_window_end (w, cursor_on_p, mouse_face_overwritten_p)
|
||||
output_cursor.vpos,
|
||||
output_cursor.x, output_cursor.y);
|
||||
|
||||
x_draw_vertical_border (w);
|
||||
|
||||
draw_window_fringes (w);
|
||||
if (draw_window_fringes (w, 1))
|
||||
x_draw_vertical_border (w);
|
||||
|
||||
UNBLOCK_INPUT;
|
||||
}
|
||||
@ -5050,7 +5049,7 @@ mac_get_window_bounds (f, inner, outer)
|
||||
GetWindowBounds (FRAME_MAC_WINDOW (f), kWindowStructureRgn, outer);
|
||||
#else /* not TARGET_API_MAC_CARBON */
|
||||
RgnHandle region = NewRgn ();
|
||||
|
||||
|
||||
GetWindowRegion (FRAME_MAC_WINDOW (f), kWindowContentRgn, region);
|
||||
*inner = (*region)->rgnBBox;
|
||||
GetWindowRegion (FRAME_MAC_WINDOW (f), kWindowStructureRgn, region);
|
||||
@ -5143,7 +5142,7 @@ x_set_offset (f, xoff, yoff, change_gravity)
|
||||
{
|
||||
Rect inner, outer, screen_rect, dummy;
|
||||
RgnHandle region = NewRgn ();
|
||||
|
||||
|
||||
mac_get_window_bounds (f, &inner, &outer);
|
||||
f->x_pixels_diff = inner.left - outer.left;
|
||||
f->y_pixels_diff = inner.top - outer.top;
|
||||
@ -8114,7 +8113,7 @@ XTread_socket (sd, expected, hold_quit)
|
||||
switch (GetEventClass (eventRef))
|
||||
{
|
||||
case kEventClassWindow:
|
||||
if (GetEventKind (eventRef) == kEventWindowBoundsChanged)
|
||||
if (GetEventKind (eventRef) == kEventWindowBoundsChanged)
|
||||
{
|
||||
WindowPtr window_ptr;
|
||||
GetEventParameter(eventRef, kEventParamDirectObject,
|
||||
@ -8431,7 +8430,7 @@ XTread_socket (sd, expected, hold_quit)
|
||||
|
||||
if (!is_emacs_window (window_ptr))
|
||||
break;
|
||||
|
||||
|
||||
f = mac_window_to_frame (window_ptr);
|
||||
|
||||
if ((er.modifiers & activeFlag) != 0)
|
||||
|
@ -99,7 +99,12 @@ Boston, MA 02111-1307, USA. */
|
||||
#if defined (__ppc__)
|
||||
#include <mach-o/ppc/reloc.h>
|
||||
#endif
|
||||
#if defined (HAVE_MALLOC_MALLOC_H)
|
||||
#include <malloc/malloc.h>
|
||||
#else
|
||||
#include <objc/malloc.h>
|
||||
#endif
|
||||
|
||||
|
||||
#define VERBOSE 1
|
||||
|
||||
|
@ -540,9 +540,8 @@ x_update_window_end (w, cursor_on_p, mouse_face_overwritten_p)
|
||||
output_cursor.vpos,
|
||||
output_cursor.x, output_cursor.y);
|
||||
|
||||
x_draw_vertical_border (w);
|
||||
|
||||
draw_window_fringes (w);
|
||||
if (draw_window_fringes (w, 1))
|
||||
x_draw_vertical_border (w);
|
||||
|
||||
UNBLOCK_INPUT;
|
||||
}
|
||||
|
@ -12218,7 +12218,8 @@ redisplay_window (window, just_this_one_p)
|
||||
{
|
||||
update_begin (f);
|
||||
BLOCK_INPUT;
|
||||
draw_window_fringes (w);
|
||||
if (draw_window_fringes (w, 1))
|
||||
x_draw_vertical_border (w);
|
||||
UNBLOCK_INPUT;
|
||||
update_end (f);
|
||||
}
|
||||
|
@ -572,9 +572,8 @@ x_update_window_end (w, cursor_on_p, mouse_face_overwritten_p)
|
||||
output_cursor.vpos,
|
||||
output_cursor.x, output_cursor.y);
|
||||
|
||||
x_draw_vertical_border (w);
|
||||
|
||||
draw_window_fringes (w);
|
||||
if (draw_window_fringes (w, 1))
|
||||
x_draw_vertical_border (w);
|
||||
|
||||
UNBLOCK_INPUT;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user