changeset 83236:6b379caca6fa

Merged in changes from CVS trunk. Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-720 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-721 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-722 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-723 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-724 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-725 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-276
author Karoly Lorentey <lorentey@elte.hu>
date Fri, 10 Dec 2004 15:24:54 +0000
parents 7950b2b0a56a (current diff) bcd1ddcb0e39 (diff)
children 4ee39d9428b0
files ChangeLog lisp/ChangeLog lisp/faces.el man/ChangeLog src/xdisp.c
diffstat 25 files changed, 259 insertions(+), 118 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Dec 09 00:43:19 2004 +0000
+++ b/ChangeLog	Fri Dec 10 15:24:54 2004 +0000
@@ -1,3 +1,9 @@
+2004-12-08  Luc Teirlinck  <teirllm@auburn.edu>
+
+	* info/dir (File): Add URL and Org Mode manuals.
+	* Makefile.in (install-arch-indep, uninstall): Add url and org
+	manuals.
+
 2004-12-07  Stefan  <monnier@iro.umontreal.ca>
 
 	* configure.in (INLINE, RE_TRANSLATE_P): Move patches mistakenly
--- a/Makefile.in	Thu Dec 09 00:43:19 2004 +0000
+++ b/Makefile.in	Fri Dec 10 15:24:54 2004 +0000
@@ -484,7 +484,7 @@
 	      chmod a+r ${infodir}/dir); \
 	   fi; \
 	   cd ${srcdir}/info ; \
-	   for f in ada-mode* autotype* calc* ccmode* cl* dired-x* ebrowse* ediff* efaq* eintr* elisp* emacs* emacs-mime* emacs-xtra* eshell* eudc* flymake* forms* gnus* idlwave* info* message* mh-e* pcl-cvs* pgg* reftex* sc* ses* sieve* speedbar* tramp* vip* widget* woman* smtpmail*; do \
+	   for f in ada-mode* autotype* calc* ccmode* cl* dired-x* ebrowse* ediff* efaq* eintr* elisp* emacs* emacs-mime* emacs-xtra* eshell* eudc* flymake* forms* gnus* idlwave* info* message* mh-e* org* pcl-cvs* pgg* reftex* sc* ses* sieve* speedbar* tramp* vip* widget* woman* smtpmail* url*; do \
 	     (cd $${thisdir}; \
 	      ${INSTALL_DATA} ${srcdir}/info/$$f ${infodir}/$$f; \
 	      chmod a+r ${infodir}/$$f); \
@@ -494,7 +494,7 @@
 	thisdir=`/bin/pwd`; \
 	if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \
 	then \
-	  for f in ada-mode autotype calc ccmode cl dired-x ebrowse ediff efaq elisp eintr emacs emacs-mime emacs-xtra eshell eudc flymake forms gnus idlwave info message mh-e pcl-cvs pgg reftex sc ses sieve speedbar tramp vip viper widget woman smtpmail; do \
+	  for f in ada-mode autotype calc ccmode cl dired-x ebrowse ediff efaq elisp eintr emacs emacs-mime emacs-xtra eshell eudc flymake forms gnus idlwave info message mh-e org pcl-cvs pgg reftex sc ses sieve speedbar tramp vip viper widget woman smtpmail url; do \
 	    (cd $${thisdir}; \
 	     ${INSTALL_INFO} --info-dir=${infodir} ${infodir}/$$f); \
 	  done; \
@@ -560,7 +560,7 @@
 	done
 	(cd ${archlibdir} && rm -f fns-*)
 	-rm -rf ${libexecdir}/emacs/${version}
-	(cd ${infodir} && rm -f cl* ada-mode* autotype* calc* ccmode* ebrowse* efaq* eintr elisp* eshell* eudc* idlwave* message* pcl-cvs* reftex* speedbar* tramp* widget* woman* dired-x* ediff* emacs* emacs-xtra* flymake* forms* gnus* info* mh-e* sc* ses* vip* smtpmail*)
+	(cd ${infodir} && rm -f cl* ada-mode* autotype* calc* ccmode* ebrowse* efaq* eintr elisp* eshell* eudc* idlwave* message* pcl-cvs* reftex* speedbar* tramp* widget* woman* dired-x* ediff* emacs* emacs-xtra* flymake* forms* gnus* info* mh-e* org* sc* ses* vip* smtpmail* url*)
 	(cd ${man1dir}  && rm -f emacs${manext} emacsclient${manext} etags${manext} ctags${manext})
 	(cd ${bindir}  && rm -f $(EMACSFULL) $(EMACS))
 
--- a/etc/ChangeLog	Thu Dec 09 00:43:19 2004 +0000
+++ b/etc/ChangeLog	Fri Dec 10 15:24:54 2004 +0000
@@ -1,3 +1,7 @@
+2004-12-08  Alexandre VEYRENC  <veyrenc@wanadoo.fr>  (tiny change)
+
+	* fr-refcard.tex: Fix typos.
+
 2004-12-07  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
 	* PROBLEMS: Update information about klipper on KDE.
--- a/etc/fr-refcard.tex	Thu Dec 09 00:43:19 2004 +0000
+++ b/etc/fr-refcard.tex	Fri Dec 10 15:24:54 2004 +0000
@@ -64,13 +64,13 @@
 \centerline{Copyright \copyright\ \year\ Free Software Foundation, Inc.}
 \centerline{v\versionnumber{} pour GNU Emacs version 21, Juin \year}
 \centerline{conception de Stephen Gildea}
-\centerline{traduction francaise d'\'Eric Jacoboni}
+\centerline{traduction fran\c{c}aise d'\'Eric Jacoboni}
 
 Vous pouvez faire et distribuer des copies de cette carte, pourvu que
 la note de copyright et cette note de permission soient conserv\'ees sur
 toutes les copies.
 
-Pour les copies du manuel GNU Emacs, \'ecrivez À la Free Software
+Pour les copies du manuel GNU Emacs, \'ecrivez \`a la Free Software
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
 \endgroup}
@@ -260,9 +260,9 @@
 
 \section{Lancement d'Emacs}
 
-Pour lancer GNU Emacs 20, il suffit de taper son nom : \kbd{emacs}
+Pour lancer GNU Emacs 21, il suffit de taper son nom : \kbd{emacs}
 
-Pour charger un fichier À \'editer, voir Fichiers, ci-dessous.
+Pour charger un fichier \`a \'editer, voir Fichiers, ci-dessous.
 
 \section{Quitter Emacs}
 
@@ -277,7 +277,7 @@
 \key{{\bf ins\'erer} le contenu d'un autre fichier dans ce tampon}{C-x i}
 \key{remplacer ce fichier par le fichier voulu}{C-x C-v}
 \key{\'ecrire le tampon dans un fichier donn\'e}{C-x C-w}
-\key{contrÔle de version}{C-x C-q}
+\key{contr\^ole de version}{C-x C-q}
 
 \section{Obtenir de l'aide}
 
@@ -324,21 +324,21 @@
 \section{D\'eplacements}
 
 \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr
-\threecol{{\bf entity to move over}}{{\bf backward}}{{\bf forward}}
+\threecol{{\bf entit\'e sur laquelle se d\'eplacer}}{{\bf en arri\`ere}}{{\bf en avant}}
 \threecol{caract\`ere}{C-b}{C-f}
 \threecol{mot}{M-b}{M-f}
 \threecol{ligne}{C-p}{C-n}
-\threecol{aller au d\'ebut (ou À la fin) de la ligne}{C-a}{C-e}
+\threecol{aller au d\'ebut (ou \`a la fin) de la ligne}{C-a}{C-e}
 \threecol{phrase}{M-a}{M-e}
 \threecol{paragraphe}{M-\{}{M-\}}
 \threecol{page}{C-x [}{C-x ]}
 \threecol{s-expression}{C-M-b}{C-M-f}
 \threecol{fonction}{C-M-a}{C-M-e}
-\threecol{aller au d\'ebut (ou À la fin) du tampon}{M-<}{M->}
+\threecol{aller au d\'ebut (ou \`a la fin) du tampon}{M-<}{M->}
 }
 
-\key{passer À l'\'ecran suivant}{C-v}
-\key{passer À l'\'ecran pr\'ec\'edent}{M-v}
+\key{passer \`a l'\'ecran suivant}{C-v}
+\key{passer \`a l'\'ecran pr\'ec\'edent}{M-v}
 \key{d\'efiler l'\'ecran vers la droite}{C-x <}
 \key{d\'efiler l'\'ecran vers la gauche}{C-x >}
 \key{placer la ligne courante au centre de l'\'ecran}{C-u C-l}
@@ -346,17 +346,17 @@
 \section{D\'etruire et supprimer}
 
 \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr
-\threecol{{\bf entity to kill}}{{\bf backward}}{{\bf forward}}
+\threecol{{\bf entit\'e \`a supprimer}}{{\bf en arri\`ere}}{{\bf en avant}}
 \threecol{caract\`ere (suppression, pas destruction)}{DEL}{C-d}
 \threecol{mot}{M-DEL}{M-d}
-\threecol{ligne (jusqu'À la fin)}{M-0 C-k}{C-k}
+\threecol{ligne (jusqu'\`a la fin)}{M-0 C-k}{C-k}
 \threecol{phrase}{C-x DEL}{M-k}
 \threecol{s-expression}{M-- C-M-k}{C-M-k}
 }
 
 \key{d\'etruire une {\bf r\'egion}}{C-w}
 \key{copier une r\'egion dans le kill ring}{M-w}
-\key{d\'etruire jusqu'À l'occurrence suivante de {\it car}}{M-z {\it car}}
+\key{d\'etruire jusqu'\`a l'occurrence suivante de {\it car}}{M-z {\it car}}
 
 \key{r\'ecup\'erer la derni\`ere chose d\'etruite}{C-y}
 \key{remplacer la derni\`ere r\'ecup\'eration par ce qui a \'et\'e d\'etruit avant}{M-y}
@@ -380,11 +380,11 @@
 
 Les r\'eponses admises dans le mode de remplacement interactif sont :
 
-\key{{\bf remplacer} celle-lÀ, passer À la suivante}{SPC}
-\key{remplacer celle-lÀ, rester lÀ}{,}
-\key{{\bf passer} À la suivante sans remplacer}{DEL}
+\key{{\bf remplacer} celle-l\`a, passer \`a la suivante}{SPC}
+\key{remplacer celle-l\`a, rester l\`a}{,}
+\key{{\bf passer} \`a la suivante sans remplacer}{DEL}
 \key{remplacer toutes les correspondances suivantes}{!}
-\key{{\bf revenir} À la correspondance pr\'ec\'edente}{^}
+\key{{\bf revenir} \`a la correspondance pr\'ec\'edente}{^}
 \key{{\bf sortir} du remplacement interactif}{RET}
 \key{entrer dans l'\'edition r\'ecursive (\kbd{C-M-c} pour sortir)}{C-r}
 
@@ -405,7 +405,7 @@
 
 {\setbox0=\hbox{\kbd{0}}\advance\hsize by 2\wd0
 \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr
-\threecol{switch cursor to another window}{C-x o}{C-x 5 o}
+\threecol{placer le curseur dans une autre fen\^etre}{C-x o}{C-x 5 o}
 
 \threecol{s\'electionner le tampon dans l'autre fen\^etre}{C-x 4 b}{C-x 5 b}
 \threecol{afficher le tampon dans l'autre fen\^etre}{C-x 4 C-o}{C-x 5 C-o}
@@ -429,9 +429,9 @@
 \key{ins\'erer un newline apr\`es le point}{C-o}
 \key{d\'eplacer le reste de la ligne vers le bas}{C-M-o}
 \key{supprimer les lignes blanches autour du point}{C-x C-o}
-\key{joindre la ligne À la pr\'ec\'edente (À la suivant avec arg)}{M-^}
+\key{joindre la ligne \`a la pr\'ec\'edente (\`a la suivante avec arg)}{M-^}
 \key{supprimer tous les espaces autour du point}{M-\\}
-\key{mettre exactement un espace À l'emplacement du point}{M-SPC}
+\key{mettre exactement un espace \`a l'emplacement du point}{M-SPC}
 
 \key{remplir le paragraphe}{M-q}
 \key{placer la marge droite}{C-x f}
@@ -454,11 +454,11 @@
 
 \key{compl\'eter autant que possible}{TAB}
 \key{compl\'eter un mot}{SPC}
-\key{completer et ex\'ecuter}{RET}
+\key{compl\'eter et ex\'ecuter}{RET}
 \key{montrer les compl\'etions possibles}{?}
 \key{rechercher l'entr\'ee pr\'ec\'edente du mini-tampon}{M-p}
 \key{rechercher l'entr\'ee suivante du mini-tampon ou le d\'efaut}{M-n}
-\key{rechercher À rebours par expr. rationnelle dans l'historique}{M-r}
+\key{rechercher \`a rebours par expr. rationnelle dans l'historique}{M-r}
 \key{rechercher vers l'avant par expr. rationnelle dans l'historique}{M-s}
 \key{annuler la commande}{C-g}
 
@@ -511,7 +511,7 @@
 \key{copier le rectangle dans le registre}{C-x r r}
 \key{d\'etruire le rectangle}{C-x r k}
 \key{r\'ecup\'erer le rectangle}{C-x r y}
-\key{ouvrir le rectangle, en d\'ecalant le texte À droite}{C-x r o}
+\key{ouvrir le rectangle, en d\'ecalant le texte \`a droite}{C-x r o}
 \key{vider le rectangle}{C-x r c}
 \key{pr\'efixer chaque ligne avec une cha\^\i{}ne}{C-x r t}
 
@@ -545,7 +545,7 @@
 \threecol{tampon}{\\`}{\\'}
 
 \threecol{{\bf classe de caract\`ere}}{{\bf correspond}}{{\bf correspond
-    À d'autres}}
+    \`a d'autres}}
 \threecol{ensemble explicite}{[ {\rm$\ldots$} ]}{[^ {\rm$\ldots$} ]}
 \threecol{caract\`ere de mot}{\\w}{\\W}
 \threecol{caract\`ere avec la syntaxe {\it c}}{\\s{\it c}}{\\S{\it c}}
@@ -605,8 +605,8 @@
 \key{{\bf lancer} la d\'efinition d'une macro clavier}{C-x (}
 \key{{\bf terminer} la d\'efinition d'une macro clavier}{C-x )}
 \key{{\bf ex\'ecuter} la derni\`ere macro clavier d\'efinie}{C-x e}
-\key{ajouter À la derni\`ere macro clavier}{C-u C-x (}
-\metax{donner un nom À la derni\`ere macro clavier}{M-x name-last-kbd-macro}
+\key{ajouter \`a la derni\`ere macro clavier}{C-u C-x (}
+\metax{donner un nom \`a la derni\`ere macro clavier}{M-x name-last-kbd-macro}
 \metax{ins\'erer une d\'efinition Lisp dans le tampon}{M-x insert-kbd-macro}
 
 \section{Commandes de gestion d'Emacs Lisp}
@@ -615,7 +615,7 @@
 \key{\'evaluer la {\bf defun} courante}{C-M-x}
 \metax{\'evaluer la {\bf r\'egion}}{M-x eval-region}
 \key{lire et \'evaluer le mini-tampon}{M-:}
-\metax{charger À partir du r\'epertoire syst\`eme standard}{M-x load-library}
+\metax{charger \`a partir du r\'epertoire syst\`eme standard}{M-x load-library}
 
 \section{Personnalisation simple}
 
--- a/lisp/ChangeLog	Thu Dec 09 00:43:19 2004 +0000
+++ b/lisp/ChangeLog	Fri Dec 10 15:24:54 2004 +0000
@@ -1,3 +1,22 @@
+2004-12-09  Richard M. Stallman  <rms@gnu.org>
+
+	* isearch.el (isearch-mode-map): Treat S-SPC like SPC.
+
+2004-12-10  Nick Roberts  <nickrob@snap.net.nz>
+
+	* xt-mouse.el (xterm-mouse-event): Correct cursor position in a
+	buffer with a display margin.
+
+2004-12-08  Jay Belanger  <belanger@truman.edu>
+
+	* calc/calc-keypd.el (calc-keypad-mode): Unbind unused mouse events.
+	(calc-keypad-left-click): Set buffer to calc-keymap-buffer.
+
+2004-12-08  Richard M. Stallman  <rms@gnu.org>
+
+	* faces.el: Delete code to set display table.
+	(escape-glyph): Redefine to be less loud.  (Copy minibuffer-prompt.)
+
 2004-12-08  Jay Belanger  <belanger@truman.edu>
 
 	* calc/calc.el: Add math-read-preprocess-string to autoloads.
--- a/lisp/calc/calc-keypd.el	Thu Dec 09 00:43:19 2004 +0000
+++ b/lisp/calc/calc-keypd.el	Fri Dec 10 15:24:54 2004 +0000
@@ -236,9 +236,21 @@
   (define-key calc-keypad-mode-map (kbd "RET") 'calc-keypad-press)
   (define-key calc-keypad-mode-map (kbd "TAB") 'calc-keypad-menu)
   (define-key calc-keypad-mode-map "q" 'calc-keypad-off)
-  (define-key calc-keypad-mode-map [(mouse-3)] 'calc-keypad-right-click)
-  (define-key calc-keypad-mode-map [(mouse-2)] 'calc-keypad-middle-click)
-  (define-key calc-keypad-mode-map [(mouse-1)] 'calc-keypad-left-click)
+  (define-key calc-keypad-mode-map [down-mouse-1] 'ignore)
+  (define-key calc-keypad-mode-map [drag-mouse-1] 'ignore)
+  (define-key calc-keypad-mode-map [double-mouse-1] 'ignore)
+  (define-key calc-keypad-mode-map [triple-mouse-1] 'ignore)
+  (define-key calc-keypad-mode-map [down-mouse-2] 'ignore)
+  (define-key calc-keypad-mode-map [drag-mouse-2] 'ignore)
+  (define-key calc-keypad-mode-map [double-mouse-2] 'ignore)
+  (define-key calc-keypad-mode-map [triple-mouse-2] 'ignore)
+  (define-key calc-keypad-mode-map [down-mouse-3] 'ignore)
+  (define-key calc-keypad-mode-map [drag-mouse-3] 'ignore)
+  (define-key calc-keypad-mode-map [double-mouse-3] 'ignore)
+  (define-key calc-keypad-mode-map [triple-mouse-3] 'ignore)
+  (define-key calc-keypad-mode-map [mouse-3] 'calc-keypad-right-click)
+  (define-key calc-keypad-mode-map [mouse-2] 'calc-keypad-middle-click)
+  (define-key calc-keypad-mode-map [mouse-1] 'calc-keypad-left-click)
   (put 'calc-keypad-mode 'mode-class 'special)
   (make-local-variable 'calc-main-buffer))
 
@@ -529,8 +541,9 @@
 (defun calc-keypad-left-click (event)
   "Handle a left-button mouse click in Calc Keypad window."
   (interactive "e")
-  (goto-char (posn-point (event-start event)))
-  (calc-keypad-press))
+  (with-current-buffer calc-keypad-buffer
+    (goto-char (posn-point (event-start event)))
+    (calc-keypad-press)))
 
 (defun calc-keypad-right-click (event)
   "Handle a right-button mouse click in Calc Keypad window."
--- a/lisp/faces.el	Thu Dec 09 00:43:19 2004 +0000
+++ b/lisp/faces.el	Fri Dec 10 15:24:54 2004 +0000
@@ -2051,32 +2051,11 @@
   :group 'font-lock			; like `show-trailing-whitespace'
   :group 'basic-faces)
 
-
-;; Make escape characters stand out in display
-
-(defface escape-glyph
-  '((t :inherit secondary-selection))
-  "Basic face for displaying \\ and ^ in multichar glyphs.
-It is also used for ... in ellipses."
+(defface escape-glyph '((((background dark)) :foreground "cyan")
+			(((type pc)) :foreground "magenta")
+			(t :foreground "dark blue"))
+  "Face for displaying \\ and ^ in multichar glyphs."
   :group 'basic-faces)
-
-(put 'display-table 'char-table-extra-slots 6)
-
-(or standard-display-table
-    ;; avoid using autoloaded make-display-table here
-    (setq standard-display-table (make-char-table 'display-table nil)))
-
-(let* ((face (lsh (face-id 'escape-glyph) 19))
-       (backslash (+ face ?\\))
-       (dot (+ face ?.)))
-  (set-char-table-extra-slot standard-display-table 2 backslash)
-  (aset standard-display-table 2208 (vector backslash ?\s))
-  (aset standard-display-table 2221 (vector backslash ?-))
-  (set-char-table-extra-slot standard-display-table 3 (+ face ?^))
-  (set-char-table-extra-slot standard-display-table 4 (vector dot dot dot)))
-
-
-
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;; Manipulating font names.
--- a/lisp/gnus/ChangeLog	Thu Dec 09 00:43:19 2004 +0000
+++ b/lisp/gnus/ChangeLog	Fri Dec 10 15:24:54 2004 +0000
@@ -1,8 +1,11 @@
+2004-12-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* gnus-art.el (gnus-narrow-to-page): Don't hardcode point-min.
+
 2004-12-02  Katsumi Yamaoka  <yamaoka@jpl.org>
 
 	* message.el (message-forward-make-body-mml): Remove headers
-	according to message-forward-ignored-headers if a message is
-	decoded.
+	according to message-forward-ignored-headers if a message is decoded.
 
 2004-12-02  Romain Francoise  <romain@orebokech.com>
 
@@ -60,17 +63,16 @@
 
 2004-11-25  Reiner Steib  <Reiner.Steib@gmx.de>
 
-	* message.el (message-forbidden-properties): Fixed typo in doc
-	string.
+	* message.el (message-forbidden-properties): Fix typo in doc string.
 
 2004-11-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
-	* message.el (message-strip-forbidden-properties): Bind
-	buffer-read-only (etc) to nil.
+	* message.el (message-strip-forbidden-properties):
+	Bind buffer-read-only (etc) to nil.
 
 2004-11-25  Reiner Steib  <Reiner.Steib@gmx.de>
 
-	* gnus-util.el (gnus-replace-in-string): Added doc string.
+	* gnus-util.el (gnus-replace-in-string): Add doc string.
 
 	* nnmail.el (nnmail-split-header-length-limit): Increase to 2048
 	to avoid problems when splitting mails with many recipients.
@@ -97,8 +99,8 @@
 
 2004-11-14  Reiner Steib  <Reiner.Steib@gmx.de>
 
-	* gnus-start.el (gnus-convert-old-newsrc): Assign
-	legacy-gnus-agent to 5.10.7.
+	* gnus-start.el (gnus-convert-old-newsrc):
+	Assign legacy-gnus-agent to 5.10.7.
 
 2004-11-10  Katsumi Yamaoka  <yamaoka@jpl.org>
 
--- a/lisp/gnus/gnus-art.el	Thu Dec 09 00:43:19 2004 +0000
+++ b/lisp/gnus/gnus-art.el	Fri Dec 10 15:24:54 2004 +0000
@@ -5066,7 +5066,7 @@
 	  (goto-char (point-min))
 	  (gnus-insert-prev-page-button)))
       (when (and (gnus-visual-p 'page-marker)
-		 (< (+ (point-max) 2) (buffer-size)))
+		 (< (point-max) (save-restriction (widen) (point-max))))
 	(save-excursion
 	  (goto-char (point-max))
 	  (gnus-insert-next-page-button))))))
--- a/lisp/isearch.el	Thu Dec 09 00:43:19 2004 +0000
+++ b/lisp/isearch.el	Fri Dec 10 15:24:54 2004 +0000
@@ -229,6 +229,7 @@
     (while (< i 256)
       (define-key map (vector i) 'isearch-printing-char)
       (setq i (1+ i)))
+      (define-key map (vector i) 'isearch-printing-char)
 
     ;; To handle local bindings with meta char prefix keys, define
     ;; another full keymap.  This must be done for any other prefix
@@ -262,6 +263,7 @@
     (define-key map "\r" 'isearch-exit)
     (define-key map "\C-j" 'isearch-printing-char)
     (define-key map "\t" 'isearch-printing-char)
+    (define-key map [?\S-\ ] 'isearch-printing-char)
 
     (define-key map    "\C-w" 'isearch-yank-word-or-char)
     (define-key map "\M-\C-w" 'isearch-del-char)
--- a/lisp/xt-mouse.el	Thu Dec 09 00:43:19 2004 +0000
+++ b/lisp/xt-mouse.el	Fri Dec 10 15:24:54 2004 +0000
@@ -139,12 +139,13 @@
 						  default-header-line-format)
 					      1
 					    0)))
-		    (move-to-column (+ (car where) (current-column)
+		    (move-to-column (- (+ (car where) (current-column)
 				       (if (string-match "\\` \\*Minibuf"
 							 (buffer-name))
 					   (- (minibuffer-prompt-width))
 					 0)
-				       (max 0 (1- (window-hscroll)))))
+				       (max 0 (1- (window-hscroll))))
+				       left-margin-width))
 		    (point))
 		where))
 	 (mouse (intern
--- a/lispref/ChangeLog	Thu Dec 09 00:43:19 2004 +0000
+++ b/lispref/ChangeLog	Fri Dec 10 15:24:54 2004 +0000
@@ -1,3 +1,10 @@
+2004-12-09  Thien-Thi Nguyen  <ttn@gnu.org>
+
+	* frames.texi (Window Frame Parameters): New @defvar for `line-spacing'.
+
+	* locals.texi (Standard Buffer-Local Variables):
+	Add @xref for `line-spacing'.
+
 2004-12-05  Richard M. Stallman  <rms@gnu.org>
 
 	* Makefile.in (maintainer-clean): Remove the info files
--- a/lispref/frames.texi	Thu Dec 09 00:43:19 2004 +0000
+++ b/lispref/frames.texi	Fri Dec 10 15:24:54 2004 +0000
@@ -605,6 +605,25 @@
 @end ignore
 @end table
 
+@defvar line-spacing
+When this permanently buffer-local variable is non-nil, if its value is
+an integer, that many pixels of extra space are put below each line.  If
+the value is a floating point number, compute the spacing by multiplying
+the value by the default frame line height.
+
+Note that this variable and the frame parameter @code{line-spacing}
+(described above) control different things.  The frame parameter is
+involved in setting the frame line height (@pxref{Creating Frames}),
+while the buffer-local variable is for already-created frames.
+
+For example, if the frame parameter is nil, a variable value of 1.0
+``double-spaces'' the display because for every line of text, there is
+an additional full line of space put below it.  Likewise, a value of 2.0
+``triple-spaces'' the display, and so forth.  If, on the other hand, the
+frame parameter is 10, a variable value of 10 would effectively put 20
+pixels of space under the text.
+@end defvar
+
 @defvar blink-cursor-alist
 This variable specifies how to blink the cursor.  Each element has the
 form @code{(@var{on-state} . @var{off-state})}.  Whenever the cursor
--- a/lispref/locals.texi	Thu Dec 09 00:43:19 2004 +0000
+++ b/lispref/locals.texi	Fri Dec 10 15:24:54 2004 +0000
@@ -132,8 +132,7 @@
 @xref{Display Margins}.
 
 @item line-spacing
-@c Cause an error so we will fix this.
-@xref{Yet to be written}.
+@xref{Window Frame Parameters}.
 
 @item local-abbrev-table
 @xref{Abbrevs}.
--- a/man/ChangeLog	Thu Dec 09 00:43:19 2004 +0000
+++ b/man/ChangeLog	Fri Dec 10 15:24:54 2004 +0000
@@ -1,3 +1,29 @@
+2004-12-09  Luc Teirlinck  <teirllm@auburn.edu>
+
+	* reftex.texi (Imprint): Remove erroneous @value's.
+
+2004-12-08  Luc Teirlinck  <teirllm@auburn.edu>
+
+	* custom.texi (Saving Customizations): Emacs only loads the custom
+	file automatically after the init file in version 21.4 or later.
+	Adapt text and examples to this fact.
+
+	* makefile.w32-in (INFO_TARGETS, DVI_TARGETS, $(infodir)/org)
+	(org.dvi, $(infodir)/url, url.dvi, clean): Add org and url manuals.
+
+2004-12-08  Jay Belanger  <belanger@truman.edu>
+
+	* calc.texi (Starting Calc): Remove comment about installation.
+	(Keypad Mode Overview): Remove comment about Emacs 19 support.
+
+2004-12-08  Luc Teirlinck  <teirllm@auburn.edu>
+
+	* url.texi: Update @setfilename.
+	(Getting Started): No need to worry about Gnus versions.
+	(Dealing with HTTP documents): Use @inforef.
+
+	* org.texi: Fix @direntry file name.
+
 2004-12-07  Luc Teirlinck  <teirllm@auburn.edu>
 
 	* frames.texi (Scroll Bars): The option `scroll-bar-mode' has to
@@ -116,7 +142,8 @@
 
 2004-11-16  Reiner Steib  <Reiner.Steib@gmx.de>
 
-	* gnus.texi (Filtering Spam Using The Spam ELisp Package): 
+	* gnus.texi (Filtering Spam Using The Spam ELisp Package): Index
+	`spam-initialize'.
 
 2004-11-02  Katsumi Yamaoka  <yamaoka@jpl.org>
 
--- a/man/calc.texi	Thu Dec 09 00:43:19 2004 +0000
+++ b/man/calc.texi	Fri Dec 10 15:24:54 2004 +0000
@@ -825,10 +825,6 @@
 (that's Meta with the letter @kbd{x}), then, at the prompt,
 type the full command (like @kbd{calc-keypad}) and press Return.
 
-If you type @kbd{M-x calc} and Emacs still doesn't recognize the
-command (it will say @samp{[No match]} when you try to press
-@key{RET}), then Calc has not been properly installed.
-
 The same commands (like @kbd{M-# c} or @kbd{M-# M-#}) that start
 the Calculator also turn it off if it is already on.
 
@@ -954,8 +950,7 @@
 @dfn{Keypad Mode} is a mouse-based interface to the Calculator.
 It is designed for use with terminals that support a mouse.  If you
 don't have a mouse, you will have to operate keypad mode with your
-arrow keys (which is probably more trouble than it's worth).  Keypad
-mode is currently not supported under Emacs 19.
+arrow keys (which is probably more trouble than it's worth).
 
 Type @kbd{M-# k} to turn Keypad Mode on or off.  Once again you
 get two new windows, this time on the righthand side of the screen
--- a/man/custom.texi	Thu Dec 09 00:43:19 2004 +0000
+++ b/man/custom.texi	Fri Dec 10 15:24:54 2004 +0000
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985,86,87,93,94,95,97,2000,2001,2002
+@c Copyright (C) 1985,86,87,93,94,95,97,2000,2001,2002,2004
 @c  Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Customization, Quitting, Amusements, Top
@@ -487,23 +487,38 @@
   The customization buffer normally saves customizations in
 @file{~/.emacs}.  If you wish, you can save customizations in another
 file instead.  To make this work, your @file{~/.emacs} should set
-@code{custom-file} to the name of that file.  Emacs loads the file
-right after your @file{.emacs} if you did not load it already.  For
-example:
+@code{custom-file} to the name of that file.  If you are using Emacs
+version 21.4 or later, Emacs loads the file right after your
+@file{.emacs} if you did not load it already.  In earlier versions,
+you have to load the file in your @file{~/emacs}.  If you customize
+@code{custom-file} through the @samp{Customize} interface, you still
+need to load it in your @file{.emacs}, but there is no need to set
+it.  For example:
 
 @example
+;; @r{if not set through the @samp{Customize} interface:}
 (setq custom-file "~/.emacs-custom")
+
+;; @r{in Emacs versions before 21.4 or if set through}
+;; @r{the @samp{Customize} interface.}
+(load "~/.emacs-custom")
 @end example
 
-  The variable @code{custom-file} is useful if you want to have
-different customizations for different Emacs versions:
+  You can also use @code{custom-file} to specify different
+customization files for different Emacs versions, like this:
 
 @example
-(if (< emacs-major-version 21)
-    ;; @r{Emacs 20 customization.}
-    (setq custom-file "~/.custom-20.el")
-  ;; @r{Emacs 21 customization.}
-  (setq custom-file "~/.custom-21.el"))
+(cond ((< emacs-major-version 21)
+       ;; @r{Emacs 20 customization.}
+       (setq custom-file "~/.custom-20.el"))
+      ((and (= emacs-major-version 21) (< emacs-minor-version 4))
+       ;; @r{Emacs 21 customization, before version 21.4.}
+       (setq custom-file "~/.custom-21.el"))
+      (t
+       ;; @r{Emacs version 21.4 or later.}
+       (setq custom-file "~/.custom-21.4.el")))
+
+(load custom-file)
 @end example
 
   If Emacs was invoked with the @option{-q} or @option{--no-init-file}
--- a/man/gnus.texi	Thu Dec 09 00:43:19 2004 +0000
+++ b/man/gnus.texi	Fri Dec 10 15:24:54 2004 +0000
@@ -22603,6 +22603,7 @@
 @dfn{Ham} is the name used throughout @file{spam.el} to indicate
 non-spam messages.
 
+@cindex spam-initialize
 First of all, you @strong{must} run the function
 @code{spam-initialize} to autoload @code{spam.el} and to install the
 @code{spam.el} hooks.  There is one exception: if you use the
--- a/man/makefile.w32-in	Thu Dec 09 00:43:19 2004 +0000
+++ b/man/makefile.w32-in	Fri Dec 10 15:24:54 2004 +0000
@@ -47,14 +47,15 @@
 		$(infodir)/speedbar $(infodir)/tramp \
 		$(infodir)/ses $(infodir)/smtpmail \
 		$(infodir)/flymake $(infodir)/emacs-xtra \
+		$(infodir)/org $(infodir)/url \
 		$(infodir)/pgg $(infodir)/sieve
 DVI_TARGETS = 	emacs.dvi calc.dvi cc-mode.dvi cl.dvi dired-x.dvi \
 		 ediff.dvi forms.dvi gnus.dvi message.dvi mh-e.dvi \
 		 reftex.dvi sc.dvi vip.dvi viper.dvi widget.dvi faq.dvi \
 		 ada-mode.dvi autotype.dvi idlwave.dvi eudc.dvi ebrowse.dvi \
-		 pcl-cvs.dvi woman.dvi emacs-mime.dvi eshell.dvi \
+		 org.dvi pcl-cvs.dvi woman.dvi emacs-mime.dvi eshell.dvi \
 		 speedbar.dvi tramp.dvi ses.dvi smtpmail.dvi flymake.dvi \
-		 emacs-xtra.dvi pgg.dvi sieve.dvi
+		 emacs-xtra.dvi pgg.dvi sieve.dvi url.dvi
 INFOSOURCES = info.texi
 
 # The following rule does not work with all versions of `make'.
@@ -318,6 +319,18 @@
 emacs-xtra.dvi: emacs-xtra.texi
 	$(ENVADD) $(TEXI2DVI) $(srcdir)/emacs-xtra.texi
 
+$(infodir)/org: org.texi
+	$(MAKEINFO) org.texi
+
+org.dvi: org.texi
+	$(ENVADD) $(TEXI2DVI) $(srcdir)/org.texi
+
+$(infodir)/url: url.texi
+	$(MAKEINFO) url.texi
+
+url.dvi: url.texi
+	$(ENVADD) $(TEXI2DVI) $(srcdir)/url.texi
+
 mostlyclean:
 	- $(DEL) *.log *.cp *.fn *.ky *.pg *.vr core *.tp *.core gnustmp.*
 
@@ -337,6 +350,7 @@
 		 $(infodir)/woman* $(infodir)/eshell* \
 		 $(infodir)/speedbar* $(infodir)/tramp* \
 		 $(infodir)/ses* $(infodir)/smtpmail* \
+		 $(infodir)/url* $(infodir)/org* \
 		 $(infodir)/flymake*
 
 distclean: clean
--- a/man/org.texi	Thu Dec 09 00:43:19 2004 +0000
+++ b/man/org.texi	Fri Dec 10 15:24:54 2004 +0000
@@ -8,7 +8,7 @@
 
 @dircategory Emacs
 @direntry
-* Org Mode: (org.info).	Outline-based notes management and organizer 
+* Org Mode: (org).	Outline-based notes management and organizer 
 @end direntry
 
 @c Version and Contact Info
--- a/man/reftex.texi	Thu Dec 09 00:43:19 2004 +0000
+++ b/man/reftex.texi	Fri Dec 10 15:24:54 2004 +0000
@@ -3371,12 +3371,12 @@
 @cindex @code{http}, @b{Ref@TeX{}} home page
 @cindex @code{ftp}, @b{Ref@TeX{}} site
 
-@b{Ref@TeX{}} was written by @i{@value{Carsten Dominik}}
+@b{Ref@TeX{}} was written by @i{Carsten Dominik}
 @email{dominik@@science.uva.nl}, with contributions by @i{Stephen
 Eglen}.  @b{Ref@TeX{}} is currently maintained by @refill
 
 @noindent
-@value{Carsten Dominik} @email{dominik@@science.uva.nl}
+Carsten Dominik @email{dominik@@science.uva.nl}
 
 If you have questions about @b{Ref@TeX{}}, there are several Usenet
 groups which have competent readers: @code{comp.emacs},
--- a/man/url.texi	Thu Dec 09 00:43:19 2004 +0000
+++ b/man/url.texi	Fri Dec 10 15:24:54 2004 +0000
@@ -1,5 +1,5 @@
 \input texinfo
-@setfilename url.info
+@setfilename ../info/url
 @settitle URL Programmer's Manual
 
 @iftex
@@ -114,10 +114,6 @@
 The meaning of
 the @var{path} component depends on the service.
 
-The library depends on MIME support provided by the @samp{mm-}
-packages from Gnus 5.8 or later.  @xref{(emacs-mime)Top, The MIME
-library}.
-
 @menu
 * Configuration::               
 * Parsed URLs::                 URLs are parsed into vector structures.
@@ -388,9 +384,9 @@
 
 HTTP URLs are retrieved into a buffer containing the HTTP headers
 followed by the body.  Since the headers are quasi-MIME, they may be
-processed using the MIME library.  @xref{(emacs-mime)Top, The MIME
-library}.  The MIME library doesn't provide a clean function to do
-that, so the URL library does.
+processed using the MIME library.  @inforef{Top, The MIME library,
+emacs-mime}.  The URL package provides a function to do this in
+general:
 
 @defun url-decode-text-part handle &optional coding
 This function decodes charset-encoded text in the current buffer.  In
--- a/src/ChangeLog	Thu Dec 09 00:43:19 2004 +0000
+++ b/src/ChangeLog	Fri Dec 10 15:24:54 2004 +0000
@@ -1,3 +1,17 @@
+2004-12-08  Richard M. Stallman  <rms@gnu.org>
+
+	* xdisp.c (get_next_display_element): Use `escape-glyph' for
+	control chars and escaped octal codes.
+	(Qescape_glyph): New variable.
+	(syms_of_xdisp): Initialize it.
+	(escape_glyph_face): New variable.
+	(redisplay_window): Initialize it.
+
+2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* image.c (our_fill_input_buffer, jpeg_load, CHECK_LIB_AVAILABLE)
+	(init_image): Use 1 rather than TRUE.  TRUE's not always defined.
+
 2004-12-07  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
 	* emacs.c (Fdump_emacs): Add ! defined (SYSTEM_MALLOC) around
--- a/src/image.c	Thu Dec 09 00:43:19 2004 +0000
+++ b/src/image.c	Fri Dec 10 15:24:54 2004 +0000
@@ -6378,7 +6378,7 @@
 
   src->next_input_byte = buffer;
   src->bytes_in_buffer = 2;
-  return TRUE;
+  return 1;
 }
 
 
@@ -6533,11 +6533,11 @@
     jpeg_memory_src (&cinfo, SDATA (specified_data),
 		     SBYTES (specified_data));
 
-  fn_jpeg_read_header (&cinfo, TRUE);
+  fn_jpeg_read_header (&cinfo, 1);
 
   /* Customize decompression so that color quantization will be used.
 	 Start decompression.  */
-  cinfo.quantize_colors = TRUE;
+  cinfo.quantize_colors = 1;
   fn_jpeg_start_decompress (&cinfo);
   width = img->width = cinfo.output_width;
   height = img->height = cinfo.output_height;
@@ -7552,7 +7552,7 @@
   bg_color.blue = color.blue;
   RGBBackColor (&bg_color);
   SetGWorld (old_port, old_gdh);
-  SetMovieActive (movie, TRUE);
+  SetMovieActive (movie, 1);
   SetMovieGWorld (movie, ximg, NULL);
   SampleNumToMediaTime (media, ino + 1, &time, NULL);
   SetMovieTimeValue (movie, time);
@@ -7930,7 +7930,7 @@
   define_image_type (image_type, init_lib_fn (libraries))
 #else
 #define CHECK_LIB_AVAILABLE(image_type, init_lib_fn, libraries) \
-  define_image_type (image_type, TRUE)
+  define_image_type (image_type, 1)
 #endif /* HAVE_NTGUI */
 
 DEFUN ("init-image-library", Finit_image_library, Sinit_image_library, 2, 2, 0,
@@ -8114,8 +8114,8 @@
 {
   image_types = NULL;
 
-  define_image_type (&xbm_type, TRUE);
-  define_image_type (&pbm_type, TRUE);
+  define_image_type (&xbm_type, 1);
+  define_image_type (&pbm_type, 1);
 
 #ifdef MAC_OS
   /* Animated gifs use QuickTime Movie Toolbox.  So initialize it here. */
--- a/src/xdisp.c	Thu Dec 09 00:43:19 2004 +0000
+++ b/src/xdisp.c	Fri Dec 10 15:24:54 2004 +0000
@@ -342,6 +342,11 @@
 
 Lisp_Object Qtrailing_whitespace;
 
+/* Name and number of the face used to highlight escape glyphs.  */
+
+Lisp_Object Qescape_glyph;
+int escape_glyph_face;
+
 /* The symbol `image' which is the car of the lists used to represent
    images in Lisp.  */
 
@@ -4921,6 +4926,21 @@
 		 display.  Then, set IT->dpvec to these glyphs.  */
 	      GLYPH g;
 	      int ctl_len;
+	      int face_id = escape_glyph_face;
+
+	      /* Find the face id if `escape-glyph' unless we recently did.  */
+	      if (face_id < 0)
+		{
+		  Lisp_Object tem = Fget (Qescape_glyph, Qface);
+		  if (INTEGERP (tem))
+		    face_id = XINT (tem);
+		  else
+		    face_id = 0;
+		  /* If there's overflow, use 0 instead.  */
+		  if (FAST_GLYPH_FACE (FAST_MAKE_GLYPH (0, face_id)) != face_id)
+		    face_id = 0;
+		  escape_glyph_face = face_id;
+		}
 
 	      if (it->c < 128 && it->ctl_arrow_p)
 		{
@@ -4930,10 +4950,10 @@
 		      && GLYPH_CHAR_VALID_P (XINT (DISP_CTRL_GLYPH (it->dp))))
 		    g = XINT (DISP_CTRL_GLYPH (it->dp));
 		  else
-		    g = FAST_MAKE_GLYPH ('^', 0);
+		    g = FAST_MAKE_GLYPH ('^', face_id);
 		  XSETINT (it->ctl_chars[0], g);
 
-		  g = FAST_MAKE_GLYPH (it->c ^ 0100, 0);
+		  g = FAST_MAKE_GLYPH (it->c ^ 0100, face_id);
 		  XSETINT (it->ctl_chars[1], g);
 		  ctl_len = 2;
 		}
@@ -4950,7 +4970,7 @@
 		      && GLYPH_CHAR_VALID_P (XFASTINT (DISP_ESCAPE_GLYPH (it->dp))))
 		    escape_glyph = XFASTINT (DISP_ESCAPE_GLYPH (it->dp));
 		  else
-		    escape_glyph = FAST_MAKE_GLYPH ('\\', 0);
+		    escape_glyph = FAST_MAKE_GLYPH ('\\', face_id);
 
 		  if (SINGLE_BYTE_CHAR_P (it->c))
 		    str[0] = it->c, len = 1;
@@ -4977,11 +4997,14 @@
 		      XSETINT (it->ctl_chars[i * 4], escape_glyph);
 		      /* Insert three more glyphs into IT->ctl_chars for
 			 the octal display of the character.  */
-		      g = FAST_MAKE_GLYPH (((str[i] >> 6) & 7) + '0', 0);
+		      g = FAST_MAKE_GLYPH (((str[i] >> 6) & 7) + '0',
+					   face_id);
 		      XSETINT (it->ctl_chars[i * 4 + 1], g);
-		      g = FAST_MAKE_GLYPH (((str[i] >> 3) & 7) + '0', 0);
+		      g = FAST_MAKE_GLYPH (((str[i] >> 3) & 7) + '0',
+					   face_id);
 		      XSETINT (it->ctl_chars[i * 4 + 2], g);
-		      g = FAST_MAKE_GLYPH ((str[i] & 7) + '0', 0);
+		      g = FAST_MAKE_GLYPH ((str[i] & 7) + '0',
+					   face_id);
 		      XSETINT (it->ctl_chars[i * 4 + 3], g);
 		    }
 		  ctl_len = len * 4;
@@ -11579,6 +11602,9 @@
   *w->desired_matrix->method = 0;
 #endif
 
+  /* Force this to be looked up again for each redisp of each window.  */
+  escape_glyph_face = -1;
+
   specbind (Qinhibit_point_motion_hooks, Qt);
 
   reconsider_clip_changes (w, buffer);
@@ -22150,6 +22176,8 @@
   staticpro (&Qfontification_functions);
   Qtrailing_whitespace = intern ("trailing-whitespace");
   staticpro (&Qtrailing_whitespace);
+  Qescape_glyph = intern ("escape-glyph");
+  staticpro (&Qescape_glyph);
   Qimage = intern ("image");
   staticpro (&Qimage);
   QCmap = intern (":map");