aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuanma Barranquero2010-10-14 16:32:27 +0200
committerJuanma Barranquero2010-10-14 16:32:27 +0200
commit220d91b834f7f7252b9953460422151b86b3520c (patch)
tree8f3e16983e83ac0da6beef346cb05cd2591a7f83
parent31e96eecc09283b5169faf0d5dc1c8efd58539ac (diff)
parent9d4f32e88a1b642070f0adb41df04a0846c31970 (diff)
downloademacs-220d91b834f7f7252b9953460422151b86b3520c.tar.gz
emacs-220d91b834f7f7252b9953460422151b86b3520c.zip
Merge changes from emacs-23 branch.
-rw-r--r--BUGS31
-rw-r--r--ChangeLog4
-rw-r--r--INSTALL.BZR14
-rw-r--r--README18
-rw-r--r--etc/ChangeLog4
-rw-r--r--etc/NEWS.235
-rw-r--r--etc/tutorials/TUTORIAL.es66
-rw-r--r--lisp/ChangeLog20
-rw-r--r--lisp/ChangeLog.12
-rw-r--r--lisp/ChangeLog.74
-rw-r--r--lisp/ChangeLog.82
-rw-r--r--lisp/ChangeLog.910
-rw-r--r--lisp/cedet/ede/base.el2
-rw-r--r--lisp/composite.el2
-rw-r--r--lisp/emacs-lisp/byte-opt.el2
-rw-r--r--lisp/erc/ChangeLog4
-rw-r--r--lisp/erc/erc-xdcc.el2
-rw-r--r--lisp/gnus/ChangeLog.26
-rw-r--r--lisp/international/ccl.el2
-rw-r--r--lisp/international/fontset.el2
-rw-r--r--lisp/international/mule.el2
-rw-r--r--lisp/international/titdic-cnv.el2
-rw-r--r--lisp/ls-lisp.el2
-rw-r--r--lisp/mail/emacsbug.el5
-rw-r--r--lisp/mail/rmail.el4
-rw-r--r--lisp/ps-mule.el50
-rw-r--r--lisp/ps-print.el2
-rw-r--r--src/ChangeLog16
-rw-r--r--src/ChangeLog.28
-rw-r--r--src/ChangeLog.38
-rw-r--r--src/ChangeLog.74
-rw-r--r--src/ChangeLog.82
-rw-r--r--src/ccl.c4
-rw-r--r--src/coding.c54
-rw-r--r--src/font.c54
-rw-r--r--src/font.h7
-rw-r--r--src/ftfont.c43
-rw-r--r--src/nsterm.m10
-rw-r--r--src/print.c2
-rw-r--r--src/regex.c2
-rw-r--r--src/w32.c7
-rw-r--r--src/w32fns.c5
-rw-r--r--src/w32font.c32
-rw-r--r--src/w32heap.c2
-rw-r--r--src/w32menu.c4
-rw-r--r--src/w32proc.c10
-rw-r--r--src/w32select.c2
-rw-r--r--src/w32term.c6
-rw-r--r--src/w32uniscribe.c2
-rw-r--r--src/w32xfns.c3
50 files changed, 310 insertions, 246 deletions
diff --git a/BUGS b/BUGS
index 32b44ceb0a3..552be81a0f9 100644
--- a/BUGS
+++ b/BUGS
@@ -1,26 +1,23 @@
1If you think you may have found a bug in GNU Emacs, please 1If you think you may have found a bug in GNU Emacs, please read the
2read the Bugs section of the Emacs manual for advice on 2Bugs section of the Emacs manual for advice on
3
3(1) how to tell when to report a bug, and 4(1) how to tell when to report a bug, and
4(2) how to write a useful bug report and what information 5(2) how to write a useful bug report and what information it needs to have.
5it needs to have.
6 6
7There are three ways to read the Bugs section. 7You can read the read the Bugs section of the manual from inside Emacs.
8Start Emacs, do C-h i to enter Info, then m Emacs RET to get to the
9Emacs manual, then m Bugs RET to get to the section on bugs.
10Or you can use the standalone Info program in a like manner.
11(Standalone Info is part of the Texinfo distribution, not part of the
12Emacs distribution.)
8 13
9(1) In a printed copy of the Emacs manual. 14Printed copies of the Emacs manual can be purchased from the Free
10You can order one from the Free Software Foundation; 15Software Foundation's online store at <http://shop.fsf.org/>.
11see the file etc/ORDERS. But if you don't have a copy on
12hand and you think you have found a bug, you shouldn't wait
13to get a printed manual; you should read the section right away
14as described below.
15 16
16(2) With Info. Start Emacs, do C-h i to enter Info, 17If necessary, you can read the manual without an info program:
17then m Emacs RET to get to the Emacs manual, then m Bugs RET
18to get to the section on bugs. Or use standalone Info in
19a like manner. (Standalone Info is part of the Texinfo distribution,
20not part of the Emacs distribution.)
21 18
22(3) By hand. Do
23 cat info/emacs* | more "+/^File: emacs, Node: Bugs," 19 cat info/emacs* | more "+/^File: emacs, Node: Bugs,"
24 20
21
25Please first check the file etc/PROBLEMS (e.g. with C-h C-p in Emacs) to 22Please first check the file etc/PROBLEMS (e.g. with C-h C-p in Emacs) to
26make sure it isn't a known issue. 23make sure it isn't a known issue.
diff --git a/ChangeLog b/ChangeLog
index 3d1737619a4..4c5acca4dc1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
12010-10-14 Glenn Morris <rgm@gnu.org>
2
3 * BUGS, INSTALL.BZR, README: Updates.
4
12010-10-13 Glenn Morris <rgm@gnu.org> 52010-10-13 Glenn Morris <rgm@gnu.org>
2 6
3 * make-dist: Remove --compress. Check for the appropriate 7 * make-dist: Remove --compress. Check for the appropriate
diff --git a/INSTALL.BZR b/INSTALL.BZR
index 48fa976c46c..dafd0b81080 100644
--- a/INSTALL.BZR
+++ b/INSTALL.BZR
@@ -31,13 +31,9 @@ generated files, such as esh-groups.el, and *-loaddefs.el in some
31subdirectories of lisp/, e.g. mh-e/ and calendar/) will need to be 31subdirectories of lisp/, e.g. mh-e/ and calendar/) will need to be
32updated to reflect new autoloaded functions. If you see errors (rather 32updated to reflect new autoloaded functions. If you see errors (rather
33than warnings) about undefined lisp functions during compilation, that 33than warnings) about undefined lisp functions during compilation, that
34may be the reason. Another symptom may be an error saying that 34may be the reason. Finally, sometimes there can be build failures
35"loaddefs.el" could not be found; this is due to a change in the way 35related to *loaddefs.el (e.g. "required feature `esh-groups' was not
36loaddefs.el was handled in version control, and should only happen 36provided"). In that case, follow the instructions below.
37once, for users that are updating old sources. Finally, sometimes
38there can be build failures related to *loaddefs.el (e.g. "required
39feature `esh-groups' was not provided"). In that case, follow the
40instructions below.
41 37
42To update loaddefs.el (and similar files), do: 38To update loaddefs.el (and similar files), do:
43 39
@@ -53,10 +49,6 @@ platform-specific configuration scripts (nt/configure.bat, config.bat,
53etc.) before "make bootstrap" or "make"; the rest of the procedure is 49etc.) before "make bootstrap" or "make"; the rest of the procedure is
54applicable to those systems as well. 50applicable to those systems as well.
55 51
56Questions, requests, and bug reports about the Bazaar versions of Emacs
57should be sent to bug-gnu-emacs@gnu.org rather than gnu.emacs.help.
58Ideally, use M-x report-emacs-bug RET.
59
60Because the Bazaar version of Emacs is a work in progress, it will 52Because the Bazaar version of Emacs is a work in progress, it will
61sometimes fail to build. Please wait a day or so (and check the bug 53sometimes fail to build. Please wait a day or so (and check the bug
62and development mailing list archives) before reporting such problems. 54and development mailing list archives) before reporting such problems.
diff --git a/README b/README
index 2ccd5d7cb0d..1dba7132313 100644
--- a/README
+++ b/README
@@ -65,16 +65,15 @@ There are several subdirectories:
65 which can't be directly produced by your keyboard. 65 which can't be directly produced by your keyboard.
66`lib-src' holds the source code for some utility programs for use by or 66`lib-src' holds the source code for some utility programs for use by or
67 with Emacs, like movemail and etags. 67 with Emacs, like movemail and etags.
68`etc' holds miscellaneous architecture-independent data files 68`etc' holds miscellaneous architecture-independent data files Emacs
69 Emacs uses, like the tutorial text and the Zippy the Pinhead 69 uses, like the tutorial text and tool bar images.
70 quote database. The contents of the `lisp', `leim', `info', 70 The contents of the `lisp', `leim', `info', and `doc'
71 `man', `lispref', and `lispintro' subdirectories are 71 subdirectories are architecture-independent too.
72 architecture-independent too.
73`info' holds the Info documentation tree for Emacs. 72`info' holds the Info documentation tree for Emacs.
74`doc/emacs' holds the source code for the Emacs Manual. If you modify the 73`doc/emacs' holds the source code for the Emacs Manual. If you modify the
75 manual sources, you will need the `makeinfo' program to produce 74 manual sources, you will need the `makeinfo' program to produce
76 an updated manual. `makeinfo' is part of the GNU Texinfo 75 an updated manual. `makeinfo' is part of the GNU Texinfo
77 package; you need version 4.6 or later of Texinfo. 76 package; you need a suitably recent version of Texinfo.
78`doc/lispref' holds the source code for the Emacs Lisp reference manual. 77`doc/lispref' holds the source code for the Emacs Lisp reference manual.
79`doc/lispintro' holds the source code for the Introduction to Programming 78`doc/lispintro' holds the source code for the Introduction to Programming
80 in Emacs Lisp manual. 79 in Emacs Lisp manual.
@@ -85,10 +84,9 @@ There are several subdirectories:
85 to building and running Emacs on Windows 9X/ME/NT/2000/XP. 84 to building and running Emacs on Windows 9X/ME/NT/2000/XP.
86`test' holds tests for various aspects of Emacs's functionality. 85`test' holds tests for various aspects of Emacs's functionality.
87 86
88 Building Emacs on non-Posix platforms requires to install tools 87 Building Emacs on non-Posix platforms requires tools that aren't part
89that aren't part of the standard distribution of the OS. The 88of the standard distribution of the OS. The platform-specific README
90platform-specific README files and installation instructions should 89files and installation instructions should list the required tools.
91list the required tools.
92 90
93 91
94This file is part of GNU Emacs. 92This file is part of GNU Emacs.
diff --git a/etc/ChangeLog b/etc/ChangeLog
index 037c9eab266..c084d4ff76b 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,3 +1,7 @@
12010-10-14 Juanma Barranquero <lekktu@gmail.com>
2
3 * tutorials/TUTORIAL.es: Fix typos.
4
12010-10-13 Juanma Barranquero <lekktu@gmail.com> 52010-10-13 Juanma Barranquero <lekktu@gmail.com>
2 6
3 * NEWS: Mention `dynamic-library-alist'. 7 * NEWS: Mention `dynamic-library-alist'.
diff --git a/etc/NEWS.23 b/etc/NEWS.23
index 25236d0f3d2..e1e7ba79d41 100644
--- a/etc/NEWS.23
+++ b/etc/NEWS.23
@@ -34,6 +34,11 @@ alt/option key by customizing the value for ns-right-alternate-modifier.
34** The appt-add command takes an optional argument for the warning time. 34** The appt-add command takes an optional argument for the warning time.
35This can be used in place of the default appt-message-warning-time. 35This can be used in place of the default appt-message-warning-time.
36 36
37** Obsolete packages
38
39+++
40*** lmenu.el and cl-compat.el are now obsolete.
41
37 42
38* New Modes and Packages in Emacs 23.3 43* New Modes and Packages in Emacs 23.3
39 44
diff --git a/etc/tutorials/TUTORIAL.es b/etc/tutorials/TUTORIAL.es
index 7fb7ac2c2a3..7b8198a915b 100644
--- a/etc/tutorials/TUTORIAL.es
+++ b/etc/tutorials/TUTORIAL.es
@@ -1,4 +1,4 @@
1Tutorial de Emacs. Vea al final las condiciones de copiado. 1Tutorial de Emacs. Vea al final las condiciones de copiado.
2 2
3Generalmente los comandos de Emacs involucran la tecla CONTROL 3Generalmente los comandos de Emacs involucran la tecla CONTROL
4(algunas veces llamada CTRL O CTL) o la tecla meta (algunas veces 4(algunas veces llamada CTRL O CTL) o la tecla meta (algunas veces
@@ -17,7 +17,7 @@ Nota importante: para terminar la sesión de Emacs teclee C-x C-c (dos
17caracteres). Los caracteres ">>" en el margen izquierdo indican 17caracteres). Los caracteres ">>" en el margen izquierdo indican
18instrucciones para que usted trate de usar un comando. Por ejemplo: 18instrucciones para que usted trate de usar un comando. Por ejemplo:
19<<Blank lines inserted around following line by help-with-tutorial>> 19<<Blank lines inserted around following line by help-with-tutorial>>
20[Mitad de página en blanco para propósitos didácticos. El texto continúa abajo] 20[Mitad de página en blanco para propósitos didácticos. El texto continúa abajo]
21>> Ahora teclee C-v (ver la próxima pantalla) para desplazarse a la 21>> Ahora teclee C-v (ver la próxima pantalla) para desplazarse a la
22 siguiente pantalla (hágalo manteniendo la tecla control 22 siguiente pantalla (hágalo manteniendo la tecla control
23 oprimida mientras teclea v). Desde ahora debería hacer esto 23 oprimida mientras teclea v). Desde ahora debería hacer esto
@@ -75,7 +75,7 @@ equivalentes a las cuatro teclas de flechas, de esta manera:
75 Línea siguiente, C-n 75 Línea siguiente, C-n
76 76
77>> Mueva el cursor a la línea en la mitad del diagrama 77>> Mueva el cursor a la línea en la mitad del diagrama
78 usando C-n o C-p. Luego teclee C-l para ver el 78 usando C-n o C-p. Luego teclee C-l para ver el
79 diagrama completo centrado en la pantalla. 79 diagrama completo centrado en la pantalla.
80 80
81Le resultará fácil recordar estas letras por las palabras que 81Le resultará fácil recordar estas letras por las palabras que
@@ -200,7 +200,7 @@ manera de pasarle un factor de repetición a un comando es tecleando
200C-u y luego los dígitos antes de introducir los comandos. Si tiene 200C-u y luego los dígitos antes de introducir los comandos. Si tiene
201una tecla META (o EDIT o ALT), hay una manera alternativa para 201una tecla META (o EDIT o ALT), hay una manera alternativa para
202ingresar un argumento numérico: teclear los dígitos mientras presiona 202ingresar un argumento numérico: teclear los dígitos mientras presiona
203la tecla META. Recomendamos aprender el método C-u porque este 203la tecla META. Recomendamos aprender el método C-u porque éste
204funciona en cualquier terminal. El argumento numérico es también 204funciona en cualquier terminal. El argumento numérico es también
205llamado un "argumento prefijo", porque usted teclea el argumento antes 205llamado un "argumento prefijo", porque usted teclea el argumento antes
206del comando al que se aplica. 206del comando al que se aplica.
@@ -321,13 +321,13 @@ Puede borrar el último carácter que escribió oprimiendo <Delback>.
321<Delback> es una tecla en el teclado--la misma que normalmente usa 321<Delback> es una tecla en el teclado--la misma que normalmente usa
322fuera de emacs para borrar el último carácter que escribió. 322fuera de emacs para borrar el último carácter que escribió.
323Normalmente es una tecla una o dos filas arriba de la tecla <Return>, 323Normalmente es una tecla una o dos filas arriba de la tecla <Return>,
324y que esta usualmente rotulada como "Backspace", "Del" o simplemente 324y que está usualmente rotulada como "Backspace", "Del" o simplemente
325con una flecha en dirección izquierda que no es parte de las teclas de 325con una flecha en dirección izquierda que no es parte de las teclas de
326flecha. 326flecha.
327 327
328Si la tecla larga esta rotulada "Backspace", entonces esa es la que 328Si la tecla larga está rotulada "Backspace", entonces ésa es la que
329debe de usar para <Delback>. Puede haber otra tecla llamada "Del" en 329debe de usar para <Delback>. Puede haber otra tecla llamada "Del" en
330otra parte, pero esa no es <Delback>. 330otra parte, pero ésa no es <Delback>.
331 331
332Generalmente, <Delback> borra el carácter inmediatamente anterior a la 332Generalmente, <Delback> borra el carácter inmediatamente anterior a la
333posición actual del cursor. 333posición actual del cursor.
@@ -393,7 +393,7 @@ otro extremo de esa parte, y teclee C-w. Eso elimina todo el texto
393entre las dos posiciones. 393entre las dos posiciones.
394 394
395>> Mueva el cursor a la letra T del inicio del párrafo anterior. 395>> Mueva el cursor a la letra T del inicio del párrafo anterior.
396>> Teclee C-SPC. Emacs debe mostrar el mensaje "Mark set" en la parte 396>> Teclee C-SPC. Emacs debe mostrar el mensaje "Mark set" en la parte
397 de abajo de la pantalla. 397 de abajo de la pantalla.
398>> Mueva el cursor a la x en "extremo", en la segunda línea del 398>> Mueva el cursor a la x en "extremo", en la segunda línea del
399 párrafo. 399 párrafo.
@@ -405,7 +405,7 @@ puede ser reinsertado, mientras que las cosas "borradas" no pueden ser
405reinsertadas. La reinserción de texto eliminado se llama "yanking" o 405reinsertadas. La reinserción de texto eliminado se llama "yanking" o
406"pegar". Generalmente, los comandos que pueden quitar mucho texto lo 406"pegar". Generalmente, los comandos que pueden quitar mucho texto lo
407eliminan, mientras que los comandos que quitan solo un carácter, o 407eliminan, mientras que los comandos que quitan solo un carácter, o
408solo lineas en blanco y espacios, borran (para que no pueda pegar ese 408solo líneas en blanco y espacios, borran (para que no pueda pegar ese
409texto). 409texto).
410 410
411>> Mueva el cursor al comienzo de una línea que no esté vacía. 411>> Mueva el cursor al comienzo de una línea que no esté vacía.
@@ -417,14 +417,14 @@ Note que al teclear C-k una sola vez elimina el contenido de la línea,
417y un segundo C-k elimina la línea misma, y hace que todas las otras 417y un segundo C-k elimina la línea misma, y hace que todas las otras
418líneas se muevan hacia arriba. C-k trata un argumento numérico 418líneas se muevan hacia arriba. C-k trata un argumento numérico
419especialmente: Elimina ese número de líneas y TAMBIÉN sus 419especialmente: Elimina ese número de líneas y TAMBIÉN sus
420contenidos. Esto no es una simple repetición. C-u 2 C-k elimina dos 420contenidos. Esto no es una simple repetición. C-u 2 C-k elimina dos
421líneas y sus nuevas líneas, tecleando C-k dos veces no hace esto. 421líneas y sus nuevas líneas, tecleando C-k dos veces no hace esto.
422 422
423Traer texto eliminado de regreso es llamado "yanking" o "pegar". 423Traer texto eliminado de regreso es llamado "yanking" o "pegar".
424(Piense en ello como pegar de nuevo, o traer de vuelta, algún texto 424(Piense en ello como pegar de nuevo, o traer de vuelta, algún texto
425que le fue quitado.) Puede pegar el texto eliminado en, ya sea el 425que le fue quitado.) Puede pegar el texto eliminado en, ya sea el
426lugar en que fue eliminado, o en otra parte del buffer, o hasta en un 426lugar en que fue eliminado, o en otra parte del buffer, o hasta en un
427archivo diferente. Puede pegar el texto varias veces, lo que hace 427archivo diferente. Puede pegar el texto varias veces, lo que hace
428varias copias de él. 428varias copias de él.
429 429
430El comando para pegar es C-y. Reinserta el último texto eliminado, en 430El comando para pegar es C-y. Reinserta el último texto eliminado, en
@@ -460,7 +460,7 @@ eliminación más reciente).
460 Luego teclee M-y y será reemplazado por la primera línea eliminada. 460 Luego teclee M-y y será reemplazado por la primera línea eliminada.
461 Teclee más veces M-y y vea lo que obtiene. Siga haciéndolo hasta 461 Teclee más veces M-y y vea lo que obtiene. Siga haciéndolo hasta
462 que la segunda línea eliminada regrese, y entonces unas pocas 462 que la segunda línea eliminada regrese, y entonces unas pocas
463 más. Si quiere, puede tratar de darle a M-y argumentos positivos y 463 más. Si quiere, puede tratar de darle a M-y argumentos positivos y
464 negativos. 464 negativos.
465 465
466 466
@@ -477,7 +477,7 @@ adicional.
477Pero hay dos excepciones: los comandos que no cambian el texto no 477Pero hay dos excepciones: los comandos que no cambian el texto no
478cuentan (esto incluye los comandos de movimiento del cursor y el 478cuentan (esto incluye los comandos de movimiento del cursor y el
479comando de desplazamiento), y los caracteres de autoinserción se 479comando de desplazamiento), y los caracteres de autoinserción se
480manejan usualmente en grupos de hasta 20. (Esto es para reducir el 480manejan usualmente en grupos de hasta 20. (Esto es para reducir el
481numero de C-x u que tenga que teclear para deshacer una inserción en 481numero de C-x u que tenga que teclear para deshacer una inserción en
482el texto.) 482el texto.)
483 483
@@ -504,7 +504,7 @@ si puede pegarlo con C-y; no hay diferencia alguna para deshacer.
504Para que pueda hacer permanente el texto que edite, lo debe colocar en 504Para que pueda hacer permanente el texto que edite, lo debe colocar en
505un archivo. De otra manera, éste se perderá cuando cierre Emacs. 505un archivo. De otra manera, éste se perderá cuando cierre Emacs.
506Para poder poner su texto en un archivo, debe "encontrar" el archivo 506Para poder poner su texto en un archivo, debe "encontrar" el archivo
507antes de ingresar el texto. (Esto se llama también "visitar" el 507antes de ingresar el texto. (Esto se llama también "visitar" el
508archivo.) 508archivo.)
509 509
510Encontrar un archivo significa que puede ver su contenido dentro de 510Encontrar un archivo significa que puede ver su contenido dentro de
@@ -556,7 +556,7 @@ teclee el comando
556 556
557Esto copia el texto dentro de Emacs al archivo. La primera vez que 557Esto copia el texto dentro de Emacs al archivo. La primera vez que
558haga esto, Emacs renombrará el archivo original con un nuevo nombre 558haga esto, Emacs renombrará el archivo original con un nuevo nombre
559para que este no se pierda. El nuevo nombre se hace agregando "~" al 559para que éste no se pierda. El nuevo nombre se hace agregando "~" al
560final del nombre del archivo original. 560final del nombre del archivo original.
561 561
562Cuando guardar haya terminado, Emacs mostrará el nombre del archivo 562Cuando guardar haya terminado, Emacs mostrará el nombre del archivo
@@ -595,13 +595,13 @@ Emacs almacena cada texto del archivo dentro de un objeto llamado
595Emacs. Para mirar la lista de los buffers que existen actualmente en 595Emacs. Para mirar la lista de los buffers que existen actualmente en
596su sesión de Emacs, teclee: 596su sesión de Emacs, teclee:
597 597
598 C-x C-b Lista de Buffers 598 C-x C-b Lista de buffers
599 599
600>> Pruebe C-x C-b ahora. 600>> Pruebe C-x C-b ahora.
601 601
602Vea como cada buffer tiene un nombre, y además puede tener un nombre 602Vea como cada buffer tiene un nombre, y además puede tener un nombre
603de archivo para el archivo que contiene. CUALQUIER texto que vea en 603de archivo para el archivo que contiene. CUALQUIER texto que vea en
604una ventana de Emacs es siempre parte de algún Buffer. 604una ventana de Emacs es siempre parte de algún buffer.
605 605
606>> Teclee C-x 1 para deshacerse de la lista de buffers. 606>> Teclee C-x 1 para deshacerse de la lista de buffers.
607 607
@@ -610,14 +610,14 @@ momento. Ese buffer es el que actualmente edita. Si quiere editar
610otro buffer, necesita "cambiar" a él. Si quiere cambiar a un buffer 610otro buffer, necesita "cambiar" a él. Si quiere cambiar a un buffer
611que corresponde a un archivo, puede hacerlo visitando el archivo de 611que corresponde a un archivo, puede hacerlo visitando el archivo de
612nuevo con C-x C-f. Pero existe una manera más rápida: use el comando 612nuevo con C-x C-f. Pero existe una manera más rápida: use el comando
613C-x b. En ese comando, necesita teclear el nombre de buffer. 613C-x b. En ese comando, necesita teclear el nombre de buffer.
614 614
615>> Teclee C-x b foo <Return> para volver al buffer "foo" que contiene 615>> Teclee C-x b foo <Return> para volver al buffer "foo" que contiene
616 el texto del archivo "foo". Después teclee C-x b TUTORIAL.es 616 el texto del archivo "foo". Después teclee C-x b TUTORIAL.es
617 <Return> para regresar a este tutorial. 617 <Return> para regresar a este tutorial.
618 618
619La mayoría del tiempo el nombre del buffer es el mismo que el nombre 619La mayoría del tiempo el nombre del buffer es el mismo que el nombre
620del archivo (sin la parte del directorio del archivo). Sin embargo, 620del archivo (sin la parte del directorio del archivo). Sin embargo,
621esto no es así siempre. La lista de buffers que hace con C-x C-b 621esto no es así siempre. La lista de buffers que hace con C-x C-b
622siempre muestra el nombre de todos los buffers. 622siempre muestra el nombre de todos los buffers.
623 623
@@ -638,7 +638,7 @@ dentro de Emacs en ese buffer del archivo. La creación o edición del
638segundo buffer de archivo no afecta al primero. Esto es muy útil, 638segundo buffer de archivo no afecta al primero. Esto es muy útil,
639pero también significa que necesita una forma conveniente para guardar 639pero también significa que necesita una forma conveniente para guardar
640el archivo del primer buffer. Sería una molestia tener que volver a 640el archivo del primer buffer. Sería una molestia tener que volver a
641este con C-x C-f para guardarlo con C-x C-s. Así tenemos 641éste con C-x C-f para guardarlo con C-x C-s. Así tenemos
642 642
643 C-x s Guardar algunos buffers 643 C-x s Guardar algunos buffers
644 644
@@ -655,10 +655,10 @@ guardada. Le pregunta, por cada buffer, si quiere guardarlo o no.
655 655
656Hay muchísimos más comandos de Emacs que los que podrían asignarse a 656Hay muchísimos más comandos de Emacs que los que podrían asignarse a
657todos los caracteres control y meta. Emacs puede darle la vuelta a 657todos los caracteres control y meta. Emacs puede darle la vuelta a
658esto usando el comando X (eXtendido). Este viene de dos formas: 658esto usando el comando X (eXtendido). Éste viene de dos formas:
659 659
660 C-x Carácter eXtendido. Seguido por un carácter. 660 C-x Carácter eXtendido. Seguido por un carácter.
661 M-x Comando eXtendido por nombre. Seguido por un nombre 661 M-x Comando eXtendido por nombre. Seguido por un nombre
662 largo. 662 largo.
663 663
664Estos comandos son generalmente útiles pero menos usados que los 664Estos comandos son generalmente útiles pero menos usados que los
@@ -713,7 +713,7 @@ El comando replace-string requiere dos argumentos: la cadena de
713caracteres a reemplazar, y la cadena de caracteres para reemplazarla. 713caracteres a reemplazar, y la cadena de caracteres para reemplazarla.
714Debe terminar cada argumento con <Return>. 714Debe terminar cada argumento con <Return>.
715 715
716>> Mueva el cursor hacia la línea en blanco dos líneas abajo de esta. 716>> Mueva el cursor hacia la línea en blanco dos líneas abajo de ésta.
717 A continuación escriba 717 A continuación escriba
718 M-x repl s<Return>cambiado<Return>alterado<Return>. 718 M-x repl s<Return>cambiado<Return>alterado<Return>.
719 719
@@ -762,7 +762,7 @@ que está editando.
762Ya sabe qué significa el nombre del archivo: es el archivo que usted 762Ya sabe qué significa el nombre del archivo: es el archivo que usted
763ha encontrado. -NN%-- indica su posición actual en el texto; esto 763ha encontrado. -NN%-- indica su posición actual en el texto; esto
764significa que NN por ciento del texto está encima de la parte superior 764significa que NN por ciento del texto está encima de la parte superior
765de la pantalla. Si el principio del archivo está en la pantalla, este 765de la pantalla. Si el principio del archivo está en la pantalla, éste
766dirá --Top-- en vez de --00%--. Si el final del texto está en la 766dirá --Top-- en vez de --00%--. Si el final del texto está en la
767pantalla, dirá --Bot--. Si está mirando un texto tan pequeño que cabe 767pantalla, dirá --Bot--. Si está mirando un texto tan pequeño que cabe
768en la pantalla, el modo de línea dirá --All--. 768en la pantalla, el modo de línea dirá --All--.
@@ -776,7 +776,7 @@ parte de la línea de modo no muestra asteriscos, solo guiones.
776 776
777La parte de la línea de modo dentro de los paréntesis es para 777La parte de la línea de modo dentro de los paréntesis es para
778indicarle en qué modo de edición está. El modo por omisión es 778indicarle en qué modo de edición está. El modo por omisión es
779Fundamental, el cual está usando ahora. Este es un ejemplo de un 779Fundamental, el cual está usando ahora. Éste es un ejemplo de un
780"modo mayor". 780"modo mayor".
781 781
782Emacs tiene diferentes modos mayores. Algunos están hechos para 782Emacs tiene diferentes modos mayores. Algunos están hechos para
@@ -841,7 +841,7 @@ Decimos que el comando "cambia el modo".
841 Debe intercalar espacios porque Auto Fill sólo rompe líneas en los 841 Debe intercalar espacios porque Auto Fill sólo rompe líneas en los
842 espacios. 842 espacios.
843 843
844El margen esta normalmente puesto en 70 caracteres, pero puede 844El margen está normalmente puesto en 70 caracteres, pero puede
845cambiarlo con el comando C-x f. Debe indicar el margen deseado como 845cambiarlo con el comando C-x f. Debe indicar el margen deseado como
846un argumento numérico. 846un argumento numérico.
847 847
@@ -1079,7 +1079,7 @@ Un comando similar, C-h v, muestra la documentación de variables cuyos
1079valores pueda poner para adecuar el comportamiento de Emacs. Necesita 1079valores pueda poner para adecuar el comportamiento de Emacs. Necesita
1080teclear el nombre de la variable cuando Emacs pregunte por ella. 1080teclear el nombre de la variable cuando Emacs pregunte por ella.
1081 1081
1082 C-h a Comando Apropos. Teclee una palabra y Emacs hará una 1082 C-h a Comando Apropos. Teclee una palabra y Emacs hará una
1083 lista de todos los comandos que contengan esa palabra. 1083 lista de todos los comandos que contengan esa palabra.
1084 Todos estos comandos pueden ser invocados con META-x. 1084 Todos estos comandos pueden ser invocados con META-x.
1085 Para algunos comandos, el Comando Apropos también 1085 Para algunos comandos, el Comando Apropos también
@@ -1113,7 +1113,7 @@ correspondientes tales como find-file.
1113--------------------- 1113---------------------
1114 1114
1115Puede aprender más de Emacs leyendo su manual, ya sea como libro o en 1115Puede aprender más de Emacs leyendo su manual, ya sea como libro o en
1116línea en el Info (use el menú Ayuda--"Help"--o teclee F10 h r). Dos 1116línea en el Info (use el menú Ayuda--"Help"--o teclee F10 h r). Dos
1117características que pueden gustarle son la completación, que ahorra 1117características que pueden gustarle son la completación, que ahorra
1118teclear, y dired, que simplifica el manejo de archivos. 1118teclear, y dired, que simplifica el manejo de archivos.
1119 1119
@@ -1126,7 +1126,7 @@ llamado "Completation".
1126 1126
1127Dired le permite listar los archivos en un directorio (y opcionalmente 1127Dired le permite listar los archivos en un directorio (y opcionalmente
1128sus subdirectorios), moverse alrededor de esa lista, visitar, 1128sus subdirectorios), moverse alrededor de esa lista, visitar,
1129renombrar, borrar y aparte de eso operar en los archivos. Dired esta 1129renombrar, borrar y aparte de eso operar en los archivos. Dired está
1130descrito en el Info en el manual de Emacs en el nodo llamado "Dired". 1130descrito en el Info en el manual de Emacs en el nodo llamado "Dired".
1131 1131
1132El manual también describe otras características de Emacs. 1132El manual también describe otras características de Emacs.
@@ -1189,7 +1189,7 @@ Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004,
1189 posterior como lo permite esta nota. 1189 posterior como lo permite esta nota.
1190 1190
1191 Se permite distribuir versiones modificadas de este documento, o 1191 Se permite distribuir versiones modificadas de este documento, o
1192 porciones de este, bajo las condiciones anteriores, siempre que 1192 porciones de éste, bajo las condiciones anteriores, siempre que
1193 ellas tengan nota visible especificando quién fue el último en 1193 ellas tengan nota visible especificando quién fue el último en
1194 alterarlas. 1194 alterarlas.
1195 1195
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index b667813c959..9909bf1dc5c 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,23 @@
12010-10-14 Kenichi Handa <handa@m17n.org>
2
3 * mail/rmail.el (rmail-show-message-1): Catch an error of
4 base64-decode-region and just show an error message (bug#7165).
5
6 * ps-mule.el (ps-mule-font-spec-list): Delete it. Not used
7 anymore.
8 (ps-mule-begin-job): Fix for the case that only ENCODING is set in
9 a font-spec (bug#7197).
10
112010-10-14 Glenn Morris <rgm@gnu.org>
12
13 * mail/emacsbug.el (report-emacs-bug): Mention debbugs.gnu.org.
14
152010-10-14 Juanma Barranquero <lekktu@gmail.com>
16
17 * international/mule.el (define-coding-system):
18 * international/titdic-cnv.el (quail-cxterm-package-ext-info):
19 * composite.el (compose-region): Fix typo in docstring.
20
12010-10-14 Chong Yidong <cyd@stupidchicken.com> 212010-10-14 Chong Yidong <cyd@stupidchicken.com>
2 22
3 * cus-face.el (custom-theme-set-faces): Call custom-push-theme 23 * cus-face.el (custom-theme-set-faces): Call custom-push-theme
diff --git a/lisp/ChangeLog.1 b/lisp/ChangeLog.1
index b33b6c62532..6855c935746 100644
--- a/lisp/ChangeLog.1
+++ b/lisp/ChangeLog.1
@@ -574,7 +574,7 @@
574 574
5751986-01-10 Richard Mlynarik (mly@prep) 5751986-01-10 Richard Mlynarik (mly@prep)
576 576
577 * mail-utils.el (mail-fetch-field) 577 * mail-utils.el (mail-fetch-field):
578 regexp-quote the argument. 578 regexp-quote the argument.
579 579
5801986-01-10 Richard M. Stallman (rms@prep) 5801986-01-10 Richard M. Stallman (rms@prep)
diff --git a/lisp/ChangeLog.7 b/lisp/ChangeLog.7
index 2e96063eb81..c68d02bc3d2 100644
--- a/lisp/ChangeLog.7
+++ b/lisp/ChangeLog.7
@@ -1043,10 +1043,10 @@
1043 (quail-prev-translation-block): Likewise. 1043 (quail-prev-translation-block): Likewise.
1044 (quail-conversion-backward-char): Call quail-error instead of 1044 (quail-conversion-backward-char): Call quail-error instead of
1045 error. Set quail-translating to nil. 1045 error. Set quail-translating to nil.
1046 (quail-conversion-forward-char): Likewize. 1046 (quail-conversion-forward-char): Likewise.
1047 (quail-conversion-delete-char): Call quail-error instead of error. 1047 (quail-conversion-delete-char): Call quail-error instead of error.
1048 If conversion region gets vacant, set quail-converting to nil. 1048 If conversion region gets vacant, set quail-converting to nil.
1049 (quail-conversion-backward-delete-char): Likewize. 1049 (quail-conversion-backward-delete-char): Likewise.
1050 (quail-no-conversion): Just set quail-converting to nil. 1050 (quail-no-conversion): Just set quail-converting to nil.
1051 (quail-mouse-choose-completion): Call quai-error instead of error. 1051 (quail-mouse-choose-completion): Call quai-error instead of error.
1052 (quail-choose-completion-string): Likewise. 1052 (quail-choose-completion-string): Likewise.
diff --git a/lisp/ChangeLog.8 b/lisp/ChangeLog.8
index 82f11450a7b..6127667ac7e 100644
--- a/lisp/ChangeLog.8
+++ b/lisp/ChangeLog.8
@@ -4926,7 +4926,7 @@
4926 4926
4927 * language/ethio-util.el (setup-ethiopic-environment-internal): 4927 * language/ethio-util.el (setup-ethiopic-environment-internal):
4928 Use quail-activate-hook instead of obsolete hook quail-mode-hook. 4928 Use quail-activate-hook instead of obsolete hook quail-mode-hook.
4929 (exit-ethiopic-environment): Likewize. 4929 (exit-ethiopic-environment): Likewise.
4930 4930
49311999-06-12 Richard M. Stallman <rms@gnu.org> 49311999-06-12 Richard M. Stallman <rms@gnu.org>
4932 4932
diff --git a/lisp/ChangeLog.9 b/lisp/ChangeLog.9
index 344ec373e75..416066885b1 100644
--- a/lisp/ChangeLog.9
+++ b/lisp/ChangeLog.9
@@ -16606,7 +16606,7 @@
16606 0. Give correct argument to set-auto-coding-function. 16606 0. Give correct argument to set-auto-coding-function.
16607 (tar-expunge): For goto-char, use (point-min), not 0. 16607 (tar-expunge): For goto-char, use (point-min), not 0.
16608 (tar-clear-modification-flags): For goto-char, use (point-min), not 1. 16608 (tar-clear-modification-flags): For goto-char, use (point-min), not 1.
16609 (tar-subfile-save-buffer): Likewize. 16609 (tar-subfile-save-buffer): Likewise.
16610 16610
16611 * international/mule.el 16611 * international/mule.el
16612 (after-insert-file-set-buffer-file-coding-system): Call 16612 (after-insert-file-set-buffer-file-coding-system): Call
@@ -16910,7 +16910,7 @@
16910 (ccl-decode-viscii): Use translate-character. 16910 (ccl-decode-viscii): Use translate-character.
16911 (ccl-encode-viscii, ccl-encode-viscii-font) 16911 (ccl-encode-viscii, ccl-encode-viscii-font)
16912 (ccl-decode-vscii, ccl-encode-vscii, ccl-encode-vscii-font): 16912 (ccl-decode-vscii, ccl-encode-vscii, ccl-encode-vscii-font):
16913 Likewize. 16913 Likewise.
16914 16914
16915 * language/cyrillic.el: Remove eval-when-compile. 16915 * language/cyrillic.el: Remove eval-when-compile.
16916 (cyrillic-koi8-r-nonascii-translation-table): Define it as a 16916 (cyrillic-koi8-r-nonascii-translation-table): Define it as a
@@ -16925,7 +16925,7 @@
16925 table made from the reverse map of above. 16925 table made from the reverse map of above.
16926 (ccl-decode-alternativnyj): Use translate-character. 16926 (ccl-decode-alternativnyj): Use translate-character.
16927 (ccl-encode-alternativnyj, ccl-encode-alternativnyj-font): 16927 (ccl-encode-alternativnyj, ccl-encode-alternativnyj-font):
16928 Likewize 16928 Likewise.
16929 16929
16930 * international/mule-diag.el (non-iso-charset-alist): Specify 16930 * international/mule-diag.el (non-iso-charset-alist): Specify
16931 translation table symbol instead of translation table itself. 16931 translation table symbol instead of translation table itself.
@@ -18071,8 +18071,8 @@
18071 18071
18072 * emacs-lisp/cl-macs.el: Doc fixes; mainly avoid duplicating arg 18072 * emacs-lisp/cl-macs.el: Doc fixes; mainly avoid duplicating arg
18073 list in doc string. Don't quote keyword symbols. 18073 list in doc string. Don't quote keyword symbols.
18074 * emacs-lisp/cl.el: Likewise 18074 * emacs-lisp/cl.el: Likewise.
18075 * emacs-lisp/cl-seq.el: Likewise 18075 * emacs-lisp/cl-seq.el: Likewise.
18076 18076
180772000-05-05 Gerd Moellmann <gerd@gnu.org> 180772000-05-05 Gerd Moellmann <gerd@gnu.org>
18078 18078
diff --git a/lisp/cedet/ede/base.el b/lisp/cedet/ede/base.el
index c2bfe1872a2..4da210682f8 100644
--- a/lisp/cedet/ede/base.el
+++ b/lisp/cedet/ede/base.el
@@ -452,7 +452,7 @@ Do this by extracting the lowest directory name."
452;; Targets and projects are often associated with other files, such as 452;; Targets and projects are often associated with other files, such as
453;; header files, documentation files and the like. Have strong 453;; header files, documentation files and the like. Have strong
454;; associations can make useful user commands to quickly navigate 454;; associations can make useful user commands to quickly navigate
455;; between the files base on their associations. 455;; between the files based on their associations.
456;; 456;;
457(defun ede-header-file () 457(defun ede-header-file ()
458 "Return the header file for the current buffer. 458 "Return the header file for the current buffer.
diff --git a/lisp/composite.el b/lisp/composite.el
index 16709a025e2..02c78580fff 100644
--- a/lisp/composite.el
+++ b/lisp/composite.el
@@ -213,7 +213,7 @@ of the text in the region.
213 213
214If it is a string, the elements are alternate characters. In 214If it is a string, the elements are alternate characters. In
215this case, TAB element has a special meaning. If the first 215this case, TAB element has a special meaning. If the first
216characer is TAB, the glyphs are displayed with left padding space 216character is TAB, the glyphs are displayed with left padding space
217so that no pixel overlaps with the previous column. If the last 217so that no pixel overlaps with the previous column. If the last
218character is TAB, the glyphs are displayed with right padding 218character is TAB, the glyphs are displayed with right padding
219space so that no pixel overlaps with the following column. 219space so that no pixel overlaps with the following column.
diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el
index 8447d3f05c0..0b4043b1f2a 100644
--- a/lisp/emacs-lisp/byte-opt.el
+++ b/lisp/emacs-lisp/byte-opt.el
@@ -384,7 +384,7 @@
384 (eq 'lambda (car-safe fn))) 384 (eq 'lambda (car-safe fn)))
385 (let ((newform (byte-compile-unfold-lambda form))) 385 (let ((newform (byte-compile-unfold-lambda form)))
386 (if (eq newform form) 386 (if (eq newform form)
387 ;; Some error occured, avoid infinite recursion 387 ;; Some error occurred, avoid infinite recursion
388 form 388 form
389 (byte-optimize-form-code-walker newform for-effect)))) 389 (byte-optimize-form-code-walker newform for-effect))))
390 ((memq fn '(let let*)) 390 ((memq fn '(let let*))
diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog
index 8b248db0808..81bdf5446ec 100644
--- a/lisp/erc/ChangeLog
+++ b/lisp/erc/ChangeLog
@@ -1,3 +1,7 @@
12010-10-14 Juanma Barranquero <lekktu@gmail.com>
2
3 * erc-xdcc.el (erc-xdcc-help-text): Fix typo in docstring.
4
12010-10-10 Dan Nicolaescu <dann@ics.uci.edu> 52010-10-10 Dan Nicolaescu <dann@ics.uci.edu>
2 6
3 * erc-list.el (erc-list-menu-mode-map): Declare and define in one step. 7 * erc-list.el (erc-list-menu-mode-map): Declare and define in one step.
diff --git a/lisp/erc/erc-xdcc.el b/lisp/erc/erc-xdcc.el
index 403be5f720e..8d900e8291e 100644
--- a/lisp/erc/erc-xdcc.el
+++ b/lisp/erc/erc-xdcc.el
@@ -56,7 +56,7 @@ Your friends should issue \"/ctcp yournick XDCC list\" to see this."
56 (erc-current-nick) " XDCC send #\" to get a particular file number.")) 56 (erc-current-nick) " XDCC send #\" to get a particular file number."))
57 "*Help text sent in response to XDCC help command. 57 "*Help text sent in response to XDCC help command.
58A list of messages, each consisting of strings and expressions, expressions 58A list of messages, each consisting of strings and expressions, expressions
59being evaluated and should return stings." 59being evaluated and should return strings."
60 :group 'erc-dcc 60 :group 'erc-dcc
61 :type '(repeat (repeat :tag "Message" (choice string sexp)))) 61 :type '(repeat (repeat :tag "Message" (choice string sexp))))
62 62
diff --git a/lisp/gnus/ChangeLog.2 b/lisp/gnus/ChangeLog.2
index 140df493b7c..89405278bea 100644
--- a/lisp/gnus/ChangeLog.2
+++ b/lisp/gnus/ChangeLog.2
@@ -5550,7 +5550,7 @@
5550 5550
5551 * gnus-audio.el (gnus-audio-au-player): Use executable-find. 5551 * gnus-audio.el (gnus-audio-au-player): Use executable-find.
5552 5552
55532003-01-13 Jhair Tocancipa Triana <jhair_tocancipa@@gmx.net> 55532003-01-13 Jhair Tocancipa Triana <jhair_tocancipa@gmx.net>
5554 5554
5555 * gnus-audio.el (gnus-audio-au-player, gnus-audio-wav-player): Use 5555 * gnus-audio.el (gnus-audio-au-player, gnus-audio-wav-player): Use
5556 /usr/bin/play as default player. 5556 /usr/bin/play as default player.
@@ -12167,7 +12167,7 @@
121672001-12-05 12:00:00 ShengHuo ZHU <zsh@cs.rochester.edu> 121672001-12-05 12:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
12168 12168
12169 * gnus-group.el (gnus-group-find-new-groups): Fix doc. 12169 * gnus-group.el (gnus-group-find-new-groups): Fix doc.
12170 From: Stefan Monnier <monnier@cs.yale.edu> 12170 From: Stefan Monnier <monnier@cs.yale.edu>
12171 12171
121722001-12-05 Katsumi Yamaoka <yamaoka@jpl.org> 121722001-12-05 Katsumi Yamaoka <yamaoka@jpl.org>
12173 12173
@@ -14682,7 +14682,7 @@
14682 * gnus-eform.el (gnus-edit-form-done): Return nil if end-of-file. 14682 * gnus-eform.el (gnus-edit-form-done): Return nil if end-of-file.
14683 14683
146842001-07-16 12:00:00 ShengHuo ZHU <zsh@cs.rochester.edu> 146842001-07-16 12:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
14685 From: Stefan Monnier <monnier@cs.yale.edu> 14685 From: Stefan Monnier <monnier@cs.yale.edu>
14686 14686
14687 * message.el (message-mode): Use define-derived-mode. 14687 * message.el (message-mode): Use define-derived-mode.
14688 (message-tab): message-completion-alist. 14688 (message-tab): message-completion-alist.
diff --git a/lisp/international/ccl.el b/lisp/international/ccl.el
index 09510cd8b00..4dc54859ec5 100644
--- a/lisp/international/ccl.el
+++ b/lisp/international/ccl.el
@@ -1437,7 +1437,7 @@ OPERATOR :=
1437 ;; Normal arithmethic operators (same meaning as C code). 1437 ;; Normal arithmethic operators (same meaning as C code).
1438 + | - | * | / | % 1438 + | - | * | / | %
1439 1439
1440 ;; Bitwize operators (same meaning as C code) 1440 ;; Bitwise operators (same meaning as C code)
1441 | & | `|' | ^ 1441 | & | `|' | ^
1442 1442
1443 ;; Shifting operators (same meaning as C code) 1443 ;; Shifting operators (same meaning as C code)
diff --git a/lisp/international/fontset.el b/lisp/international/fontset.el
index 753b1ab25e7..07557aacc88 100644
--- a/lisp/international/fontset.el
+++ b/lisp/international/fontset.el
@@ -700,7 +700,7 @@ Internal use only. Should be called at startup time."
700;; "HP-Hebrew8" [36] 700;; "HP-Hebrew8" [36]
701;; HPHEBREW8 8-bit character set 701;; HPHEBREW8 8-bit character set
702;; "HP-Japanese15" [36] 702;; "HP-Japanese15" [36]
703;; HPJAPAN15 15-bit characer set, 703;; HPJAPAN15 15-bit character set,
704;; modified from industry defacto 704;; modified from industry defacto
705;; standard Shift-JIS 705;; standard Shift-JIS
706;; "HP-Kana8" [36] 706;; "HP-Kana8" [36]
diff --git a/lisp/international/mule.el b/lisp/international/mule.el
index 151373e27ea..df362d96c07 100644
--- a/lisp/international/mule.el
+++ b/lisp/international/mule.el
@@ -646,7 +646,7 @@ VALUE must be a function to call after all functions in
646`write-region-annotate-functions' and `buffer-file-format' are 646`write-region-annotate-functions' and `buffer-file-format' are
647called, and before the text is encoded by the coding system 647called, and before the text is encoded by the coding system
648itself. This function should convert the whole text in the 648itself. This function should convert the whole text in the
649current buffer. For backward compatibility, this funciton is 649current buffer. For backward compatibility, this function is
650passed two arguments which can be ignored. 650passed two arguments which can be ignored.
651 651
652`:default-char' 652`:default-char'
diff --git a/lisp/international/titdic-cnv.el b/lisp/international/titdic-cnv.el
index afe5dda1f57..92b4251b49c 100644
--- a/lisp/international/titdic-cnv.el
+++ b/lisp/international/titdic-cnv.el
@@ -108,7 +108,7 @@ For double-width GB2312 characters correponding to ASCII, use the
108input method `chinese-qj'.") 108input method `chinese-qj'.")
109 109
110 ("chinese-ecdict" "$(05CKH(B" 110 ("chinese-ecdict" "$(05CKH(B"
111"In this input method, you enter a Chinese (Big5) charactere or word 111"In this input method, you enter a Chinese (Big5) character or word
112by typing the corresponding English word. For example, if you type 112by typing the corresponding English word. For example, if you type
113\"computer\", \"$(0IZH+(B\" is input. 113\"computer\", \"$(0IZH+(B\" is input.
114 114
diff --git a/lisp/ls-lisp.el b/lisp/ls-lisp.el
index 4dba41e0655..f19143228c5 100644
--- a/lisp/ls-lisp.el
+++ b/lisp/ls-lisp.el
@@ -637,7 +637,7 @@ SWITCHES, TIME-INDEX and NOW give the full switch list and time data."
637 ;; They tend to be bogus on non-UNIX platforms anyway so 637 ;; They tend to be bogus on non-UNIX platforms anyway so
638 ;; optionally hide them. 638 ;; optionally hide them.
639 (if (memq 'uid ls-lisp-verbosity) 639 (if (memq 'uid ls-lisp-verbosity)
640 ;; uid can be a sting or an integer 640 ;; uid can be a string or an integer
641 (let ((uid (nth 2 file-attr))) 641 (let ((uid (nth 2 file-attr)))
642 (format (if (stringp uid) 642 (format (if (stringp uid)
643 ls-lisp-uid-s-fmt 643 ls-lisp-uid-s-fmt
diff --git a/lisp/mail/emacsbug.el b/lisp/mail/emacsbug.el
index b3ec3fb4850..d84e60fb604 100644
--- a/lisp/mail/emacsbug.el
+++ b/lisp/mail/emacsbug.el
@@ -173,9 +173,9 @@ Prompts for bug subject. Leaves you in a mail buffer."
173 (overlay-put (make-overlay pos (point)) 'face 'highlight)) 173 (overlay-put (make-overlay pos (point)) 'face 'highlight))
174 (insert " if possible, because the Emacs maintainers 174 (insert " if possible, because the Emacs maintainers
175usually do not have translators to read other languages for them.\n\n") 175usually do not have translators to read other languages for them.\n\n")
176 (insert (format "Your bug report will be posted to the %s mailing list" 176 (insert (format "Your report will be posted to the %s mailing list"
177 report-emacs-bug-address)) 177 report-emacs-bug-address))
178 (insert ",\nand to the gnu.emacs.bug news group.\n\n")) 178 (insert "\nand the gnu.emacs.bug news group, and at http://debbugs.gnu.org.\n\n"))
179 179
180 (insert "Please describe exactly what actions triggered the bug\n" 180 (insert "Please describe exactly what actions triggered the bug\n"
181 "and the precise symptoms of the bug. If you can, give\n" 181 "and the precise symptoms of the bug. If you can, give\n"
@@ -377,5 +377,4 @@ and send the mail again%s."
377 377
378(provide 'emacsbug) 378(provide 'emacsbug)
379 379
380;; arch-tag: 248b6523-c3b5-4fec-9a3f-0411fafa7d49
381;;; emacsbug.el ends here 380;;; emacsbug.el ends here
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index a8763b4457f..47e52f27aa1 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -2742,7 +2742,9 @@ The current mail message becomes the message displayed."
2742 nil t 'unibyte) 2742 nil t 'unibyte)
2743 (message "Malformed MIME quoted-printable message"))) 2743 (message "Malformed MIME quoted-printable message")))
2744 ((and (string= character-coding "base64") is-text-message) 2744 ((and (string= character-coding "base64") is-text-message)
2745 (base64-decode-region (point-min) (point-max))) 2745 (condition-case err
2746 (base64-decode-region (point-min) (point-max))
2747 (error (message "%s" (cdr err)))))
2746 ((eq character-coding 'uuencode) 2748 ((eq character-coding 'uuencode)
2747 (error "uuencoded messages are not supported yet")) 2749 (error "uuencoded messages are not supported yet"))
2748 (t)) 2750 (t))
diff --git a/lisp/ps-mule.el b/lisp/ps-mule.el
index df779fde39d..95a982f29a2 100644
--- a/lisp/ps-mule.el
+++ b/lisp/ps-mule.el
@@ -320,31 +320,19 @@ by `ps-font-family' and `ps-header-font-family'.
320 320
321See also `ps-mule-font-info-database-bdf'.") 321See also `ps-mule-font-info-database-bdf'.")
322 322
323(defvar ps-mule-font-spec-list nil
324 "Array of FONT-SPEC lists for each font type.
325
326Elements are for `normal' font, `bold' font, `italic' font, and
327`bold-italic' font in this order.
328
329Each element is a list of FONT-SPEC which has this form:
330
331 (ID CHARSET (FONT-SRC FONT-NAME ENCODING) EXTRA-DATA)
332
333Where
334
335ID is a number for this FONT-SPEC and is unique in the list.
336
337CHARSET, FONT-SRC, FONT-NAME, ENCODING are the same as those in
338`ps-mule-font-info-database' (which see).
339
340EXTRA-DATA is a data attached by external libraries.
341
342Each list is ordered by the current charset priorities.
343
344This variable is setup by `ps-mule-begin-job' from
345`ps-mule-font-info-database'.")
346
347;; Functions to access each element of FONT-SPEC. 323;; Functions to access each element of FONT-SPEC.
324;;
325;; FONT-SPEC is a vector of this form:
326;; [ID CHARSET FONT-ID FONT-SRC FONT-NAME ENCODING BYTES EXTRA-DATA]
327;; Where
328;;
329;; ID is an identification number for this FONT-SPEC and is unique in the list.
330;;
331;; CHARSET, FONT-SRC, FONT-NAME, ENCODING, and BYTES are the same as those in
332;; `ps-mule-font-info-database' (which see).
333;;
334;; EXTRA-DATA is a data attached by external libraries.
335
348(defsubst ps-mule-font-spec-id (font-spec) (aref font-spec 0)) 336(defsubst ps-mule-font-spec-id (font-spec) (aref font-spec 0))
349(defsubst ps-mule-font-spec-charset (font-spec) (aref font-spec 1)) 337(defsubst ps-mule-font-spec-charset (font-spec) (aref font-spec 1))
350(defsubst ps-mule-font-spec-font-id (font-spec) (aref font-spec 2)) 338(defsubst ps-mule-font-spec-font-id (font-spec) (aref font-spec 2))
@@ -1044,7 +1032,7 @@ It checks if all multi-byte characters in the region are printable or not."
1044 (if (and (not (find-composition from to)) 1032 (if (and (not (find-composition from to))
1045 (save-excursion 1033 (save-excursion
1046 (goto-char from) 1034 (goto-char from)
1047 (= (skip-chars-forward "\x00-\xFF" to) to))) 1035 (= (skip-chars-forward "\x00-\x7F" to) to)))
1048 ;; All characters can be printed by normal PostScript fonts. 1036 ;; All characters can be printed by normal PostScript fonts.
1049 (setq ps-basic-plot-string-function 'ps-basic-plot-string 1037 (setq ps-basic-plot-string-function 'ps-basic-plot-string
1050 ps-encode-header-string-function 'identity) 1038 ps-encode-header-string-function 'identity)
@@ -1086,17 +1074,19 @@ It checks if all multi-byte characters in the region are printable or not."
1086 (setq font-info-list (cons font-info font-info-list)))) 1074 (setq font-info-list (cons font-info font-info-list))))
1087 (setq font-info-list (nreverse font-info-list))) 1075 (setq font-info-list (nreverse font-info-list)))
1088 1076
1077 ;; Now font-info-list is an alist ordered by charset priority.
1089 ;; Store FONT-SPECs in each element of font-spec-alist. 1078 ;; Store FONT-SPECs in each element of font-spec-alist.
1090 (dolist (font-info font-info-list) 1079 (dolist (font-info font-info-list)
1091 (let ((font-spec-vec (make-vector 4 nil)) 1080 (let ((font-spec-vec (make-vector 4 nil))
1092 (charset (car font-info)) 1081 (charset (car font-info))
1093 encoding font-spec) 1082 encoding bytes font-spec)
1094 (dolist (e (cdr font-info)) 1083 (dolist (e (cdr font-info))
1095 (setq encoding (or (nth 3 e) charset) 1084 (setq encoding (nth 3 e) bytes (nth 4 e))
1096 font-spec (vector id-max charset font-id 1085 (unless encoding
1086 (setq encoding charset bytes (charset-dimension charset)))
1087 (setq font-spec (vector id-max charset font-id
1097 (nth 1 e) (nth 2 e) encoding 1088 (nth 1 e) (nth 2 e) encoding
1098 (or (nth 4 e) (charset-dimension encoding)) 1089 (or bytes 1) nil)
1099 nil)
1100 id-max (1+ id-max)) 1090 id-max (1+ id-max))
1101 (if (ps-mule-check-font font-spec) 1091 (if (ps-mule-check-font font-spec)
1102 (aset font-spec-vec 1092 (aset font-spec-vec
diff --git a/lisp/ps-print.el b/lisp/ps-print.el
index 02e43ef3f0c..c9036a313cb 100644
--- a/lisp/ps-print.el
+++ b/lisp/ps-print.el
@@ -6656,7 +6656,7 @@ If FACE is not a valid face name, use default face."
6656;; But autoload them here to make the separation invisible. 6656;; But autoload them here to make the separation invisible.
6657 6657
6658;;;### (autoloads (ps-mule-end-job ps-mule-begin-job ps-mule-initialize 6658;;;### (autoloads (ps-mule-end-job ps-mule-begin-job ps-mule-initialize
6659;;;;;; ps-multibyte-buffer) "ps-mule" "ps-mule.el" "d2fcad95db7404989362657faf744796") 6659;;;;;; ps-multibyte-buffer) "ps-mule" "ps-mule.el" "26f1d5db9476d0e84ab55627fbb72b1b")
6660;;; Generated autoloads from ps-mule.el 6660;;; Generated autoloads from ps-mule.el
6661 6661
6662(defvar ps-multibyte-buffer nil "\ 6662(defvar ps-multibyte-buffer nil "\
diff --git a/src/ChangeLog b/src/ChangeLog
index 639759bf384..938cc73e7c3 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,19 @@
12010-10-14 Damyan Pepper <damyanp@gmail.com>
2
3 Fix handling of font properties on Windows (bug#6303).
4 * font.c (font_filter_properties): New function, refactored from
5 ftfont_filter_properties.
6 * font.h (font_filter_properties): Declare.
7 * ftfont.c (ftfont_filter_properties): Use font_filter_properties.
8 * w32font.c (w32font_booleans, w32font_non_booleans): New variables.
9 (w32font_filter_properties): New function.
10 (w32font_driver): Add w32font_filter_properties.
11
122010-10-14 Juanma Barranquero <lekktu@gmail.com>
13
14 * font.c (Ffont_variation_glyphs):
15 * ccl.c (Fccl_execute_on_string): Fix typo in docstring.
16
12010-10-14 Juanma Barranquero <lekktu@gmail.com> 172010-10-14 Juanma Barranquero <lekktu@gmail.com>
2 18
3 * w32fns.c (w32_wnd_proc, file_dialog_callback): 19 * w32fns.c (w32_wnd_proc, file_dialog_callback):
diff --git a/src/ChangeLog.2 b/src/ChangeLog.2
index f087802e27d..0397478f09d 100644
--- a/src/ChangeLog.2
+++ b/src/ChangeLog.2
@@ -1563,10 +1563,10 @@
15631987-04-27 Richard Mlynarik (mly@prep) 15631987-04-27 Richard Mlynarik (mly@prep)
1564 1564
1565 * fileio.c (APOLLO from lnz): 1565 * fileio.c (APOLLO from lnz):
1566 Fcopy_file, Fset_file_modes: Don't use un*x modes if 1566 (Fcopy_file, Fset_file_modes): Don't use un*x modes if
1567 env var USE_DOMAIN_ACLS is set. 1567 env var USE_DOMAIN_ACLS is set.
1568 Fset_file_modes: utimes fix. 1568 (Fset_file_modes): utimes fix.
1569 Finsert_file_contents: Must do fstat after open for Apollo. 1569 (Finsert_file_contents): Must do fstat after open for Apollo.
1570 1570
1571 * emacs.c (main): (APOLLO from lnz): 1571 * emacs.c (main): (APOLLO from lnz):
1572 Don't use un*x modes if env var USE_DOMAIN_ACLS set. 1572 Don't use un*x modes if env var USE_DOMAIN_ACLS set.
@@ -2073,7 +2073,7 @@
2073 2073
2074 * xfns.c (Fx_get_default): Add (unsigned char *) cast. 2074 * xfns.c (Fx_get_default): Add (unsigned char *) cast.
2075 2075
2076 * window.c: typo. 2076 * window.c: Typo.
2077 2077
20781987-02-09 Richard M. Stallman (rms@prep) 20781987-02-09 Richard M. Stallman (rms@prep)
2079 2079
diff --git a/src/ChangeLog.3 b/src/ChangeLog.3
index e3c5ab70f66..e3ba2b37ccd 100644
--- a/src/ChangeLog.3
+++ b/src/ChangeLog.3
@@ -5146,7 +5146,7 @@
5146 Change mouse movement events to be arranged like click events. 5146 Change mouse movement events to be arranged like click events.
5147 (format_modifiers): Note that the click modifier has no 5147 (format_modifiers): Note that the click modifier has no
5148 written representation. 5148 written representation.
5149 (modifier_names, modifer_symbols): New variables, used to 5149 (modifier_names, modifier_symbols): New variables, used to
5150 create the Qevent_symbol_elements property. 5150 create the Qevent_symbol_elements property.
5151 (modify_event_symbol): Change the format of the modified 5151 (modify_event_symbol): Change the format of the modified
5152 symbol cache; there are too many modifier bits now to use a 5152 symbol cache; there are too many modifier bits now to use a
@@ -5154,8 +5154,8 @@
5154 Document the format of the cache. 5154 Document the format of the cache.
5155 Put the Qevent_symbol_elements property on each new symbol, 5155 Put the Qevent_symbol_elements property on each new symbol,
5156 instead of a Qevent_unmodified property. 5156 instead of a Qevent_unmodified property.
5157 (symbols_of_keyboard): Put Qevent_symbol_elements properties on 5157 (symbols_of_keyboard): Put Qevent_symbol_elements properties on the
5158 the symbols specified in head_table, not Qevent_unmodifed properties. 5158 symbols specified in head_table, not Qevent_unmodified properties.
5159 Initialize and staticpro modifier_symbols, and staticpro the 5159 Initialize and staticpro modifier_symbols, and staticpro the
5160 window elements of button_down_location. 5160 window elements of button_down_location.
5161 5161
@@ -11207,7 +11207,7 @@
11207 events to send the function key number instead of a symbol. 11207 events to send the function key number instead of a symbol.
11208 * keyboard.c (modify_event_symbol): Re-arranged to work well 11208 * keyboard.c (modify_event_symbol): Re-arranged to work well
11209 with function key/mouse button numbers instead of symbols. 11209 with function key/mouse button numbers instead of symbols.
11210 And if (MODIFIERS & up_modifer), prepend "U-" to the name of the 11210 And if (MODIFIERS & up_modifier), prepend "U-" to the name of the
11211 symbol being constructed. 11211 symbol being constructed.
11212 (make_lispy_event): Use the new modify_event_symbol. 11212 (make_lispy_event): Use the new modify_event_symbol.
11213 11213
diff --git a/src/ChangeLog.7 b/src/ChangeLog.7
index 7421aba4403..b5927108808 100644
--- a/src/ChangeLog.7
+++ b/src/ChangeLog.7
@@ -491,7 +491,7 @@
491 491
492 * xselect.c (selection_data_to_lisp_data): Set 492 * xselect.c (selection_data_to_lisp_data): Set
493 Vlast_coding_system_used. 493 Vlast_coding_system_used.
494 (lisp_data_to_selection_data): Likewize. 494 (lisp_data_to_selection_data): Likesize.
495 495
4961998-07-07 Richard Stallman <rms@psilocin.ai.mit.edu> 4961998-07-07 Richard Stallman <rms@psilocin.ai.mit.edu>
497 497
@@ -502,7 +502,7 @@
502 * editfns.c (Fformat): Replace explicit numeric constants with 502 * editfns.c (Fformat): Replace explicit numeric constants with
503 proper macros. 503 proper macros.
504 504
505 * fns.c (concat): Likewize. 505 * fns.c (concat): Likewise.
506 506
5071998-07-06 Kenichi Handa <handa@etl.go.jp> 5071998-07-06 Kenichi Handa <handa@etl.go.jp>
508 508
diff --git a/src/ChangeLog.8 b/src/ChangeLog.8
index 5033a055576..9c38b29ff32 100644
--- a/src/ChangeLog.8
+++ b/src/ChangeLog.8
@@ -3686,7 +3686,7 @@
3686 * lread.c (read_escape): For Control modifier, pay attention to 3686 * lread.c (read_escape): For Control modifier, pay attention to
3687 multibyte character. 3687 multibyte character.
3688 (read1): Likewise. Signal error or a multibyte character which 3688 (read1): Likewise. Signal error or a multibyte character which
3689 has a modifer bit. Check validity of Shift modifer. 3689 has a modifier bit. Check validity of Shift modifier.
3690 3690
3691 * charset.c (non_ascii_char_to_string): Handle modifier bits as 3691 * charset.c (non_ascii_char_to_string): Handle modifier bits as
3692 the same as Lisp reader. 3692 the same as Lisp reader.
diff --git a/src/ccl.c b/src/ccl.c
index f98897b51fa..ca4a1479091 100644
--- a/src/ccl.c
+++ b/src/ccl.c
@@ -448,7 +448,7 @@ Lisp_Object Vtranslation_hash_table_vector;
448 Therefore, the instruction code range is 0..16384(0x3fff). 448 Therefore, the instruction code range is 0..16384(0x3fff).
449 */ 449 */
450 450
451/* Read a multibyte characeter. 451/* Read a multibyte character.
452 A code point is stored into reg[rrr]. A charset ID is stored into 452 A code point is stored into reg[rrr]. A charset ID is stored into
453 reg[RRR]. */ 453 reg[RRR]. */
454 454
@@ -2044,7 +2044,7 @@ If R0..R7 are nil, they are initialized to 0.
2044If IC is nil, it is initialized to head of the CCL program. 2044If IC is nil, it is initialized to head of the CCL program.
2045 2045
2046If optional 4th arg CONTINUE is non-nil, keep IC on read operation 2046If optional 4th arg CONTINUE is non-nil, keep IC on read operation
2047when read buffer is exausted, else, IC is always set to the end of 2047when read buffer is exhausted, else, IC is always set to the end of
2048CCL-PROGRAM on exit. 2048CCL-PROGRAM on exit.
2049 2049
2050It returns the contents of write buffer as a string, 2050It returns the contents of write buffer as a string,
diff --git a/src/coding.c b/src/coding.c
index 2cf32360096..7a3bc40b9c7 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -166,7 +166,7 @@ detect_coding_XXX (struct coding_system *coding,
166 166
167 while (1) 167 while (1)
168 { 168 {
169 /* Get one byte from the source. If the souce is exausted, jump 169 /* Get one byte from the source. If the source is exhausted, jump
170 to no_more_source:. */ 170 to no_more_source:. */
171 ONE_MORE_BYTE (c); 171 ONE_MORE_BYTE (c);
172 172
@@ -180,7 +180,7 @@ detect_coding_XXX (struct coding_system *coding,
180 return 0; 180 return 0;
181 181
182 no_more_source: 182 no_more_source:
183 /* The source exausted successfully. */ 183 /* The source exhausted successfully. */
184 detect_info->found |= found; 184 detect_info->found |= found;
185 return 1; 185 return 1;
186} 186}
@@ -530,7 +530,7 @@ enum iso_code_class_type
530 on output. */ 530 on output. */
531#define CODING_ISO_FLAG_DESIGNATE_AT_BOL 0x0400 531#define CODING_ISO_FLAG_DESIGNATE_AT_BOL 0x0400
532 532
533/* If set, do not encode unsafe charactes on output. */ 533/* If set, do not encode unsafe characters on output. */
534#define CODING_ISO_FLAG_SAFE 0x0800 534#define CODING_ISO_FLAG_SAFE 0x0800
535 535
536/* If set, extra latin codes (128..159) are accepted as a valid code 536/* If set, extra latin codes (128..159) are accepted as a valid code
@@ -686,7 +686,7 @@ enum coding_category
686static Lisp_Object Vcoding_category_list; 686static Lisp_Object Vcoding_category_list;
687 687
688/* Table of coding categories (Lisp symbols). This variable is for 688/* Table of coding categories (Lisp symbols). This variable is for
689 internal use oly. */ 689 internal use only. */
690static Lisp_Object Vcoding_category_table; 690static Lisp_Object Vcoding_category_table;
691 691
692/* Table of coding-categories ordered by priority. */ 692/* Table of coding-categories ordered by priority. */
@@ -818,7 +818,7 @@ static struct coding_system coding_categories[coding_category_max];
818 } while (0) 818 } while (0)
819 819
820 820
821/* Like EMIT_ONE_ASCII_BYTE byt store two bytes; C1 and C2. */ 821/* Like EMIT_ONE_ASCII_BYTE but store two bytes; C1 and C2. */
822 822
823#define EMIT_TWO_ASCII_BYTES(c1, c2) \ 823#define EMIT_TWO_ASCII_BYTES(c1, c2) \
824 do { \ 824 do { \
@@ -1227,7 +1227,7 @@ alloc_destination (struct coding_system *coding, EMACS_INT nbytes,
1227 1227
1228 METHOD is one of enum composition_method. 1228 METHOD is one of enum composition_method.
1229 1229
1230 Optionnal COMPOSITION-COMPONENTS are characters and composition 1230 Optional COMPOSITION-COMPONENTS are characters and composition
1231 rules. 1231 rules.
1232 1232
1233 In the case of CODING_ANNOTATE_CHARSET_MASK, one element CHARSET-ID 1233 In the case of CODING_ANNOTATE_CHARSET_MASK, one element CHARSET-ID
@@ -1932,7 +1932,7 @@ encode_coding_utf_16 (struct coding_system *coding)
1932 CHARS is 0xA0 plus a number of characters composed by this 1932 CHARS is 0xA0 plus a number of characters composed by this
1933 data, 1933 data,
1934 1934
1935 COMPONENTs are characters of multibye form or composition 1935 COMPONENTs are characters of multibyte form or composition
1936 rules encoded by two-byte of ASCII codes. 1936 rules encoded by two-byte of ASCII codes.
1937 1937
1938 In addition, for backward compatibility, the following formats are 1938 In addition, for backward compatibility, the following formats are
@@ -2428,8 +2428,8 @@ decode_coding_emacs_mule (struct coding_system *coding)
2428 const unsigned char *src_end = coding->source + coding->src_bytes; 2428 const unsigned char *src_end = coding->source + coding->src_bytes;
2429 const unsigned char *src_base; 2429 const unsigned char *src_base;
2430 int *charbuf = coding->charbuf + coding->charbuf_used; 2430 int *charbuf = coding->charbuf + coding->charbuf_used;
2431 /* We may produce two annocations (charset and composition) in one 2431 /* We may produce two annotations (charset and composition) in one
2432 loop and one more charset annocation at the end. */ 2432 loop and one more charset annotation at the end. */
2433 int *charbuf_end 2433 int *charbuf_end
2434 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 3); 2434 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 3);
2435 int consumed_chars = 0, consumed_chars_base; 2435 int consumed_chars = 0, consumed_chars_base;
@@ -2505,7 +2505,7 @@ decode_coding_emacs_mule (struct coding_system *coding)
2505 /* emacs_mule_char can load a charset map from a file, which 2505 /* emacs_mule_char can load a charset map from a file, which
2506 allocates a large structure and might cause buffer text 2506 allocates a large structure and might cause buffer text
2507 to be relocated as result. Thus, we need to remember the 2507 to be relocated as result. Thus, we need to remember the
2508 original pointer to buffer text, and fixup all related 2508 original pointer to buffer text, and fix up all related
2509 pointers after the call. */ 2509 pointers after the call. */
2510 const unsigned char *orig = coding->source; 2510 const unsigned char *orig = coding->source;
2511 EMACS_INT offset; 2511 EMACS_INT offset;
@@ -2532,7 +2532,7 @@ decode_coding_emacs_mule (struct coding_system *coding)
2532 cmp_status->ncomps -= nchars; 2532 cmp_status->ncomps -= nchars;
2533 } 2533 }
2534 2534
2535 /* Now if C >= 0, we found a normally encoded characer, if C < 2535 /* Now if C >= 0, we found a normally encoded character, if C <
2536 0, we found an old-style composition component character or 2536 0, we found an old-style composition component character or
2537 rule. */ 2537 rule. */
2538 2538
@@ -3043,7 +3043,7 @@ setup_iso_safe_charsets (Lisp_Object attrs)
3043 3043
3044 3044
3045/* See the above "GENERAL NOTES on `detect_coding_XXX ()' functions". 3045/* See the above "GENERAL NOTES on `detect_coding_XXX ()' functions".
3046 Check if a text is encoded in one of ISO-2022 based codig systems. 3046 Check if a text is encoded in one of ISO-2022 based coding systems.
3047 If it is, return 1, else return 0. */ 3047 If it is, return 1, else return 0. */
3048 3048
3049static int 3049static int
@@ -3452,7 +3452,7 @@ finish_composition (int *charbuf, struct composition_status *cmp_status)
3452 return new_chars; 3452 return new_chars;
3453} 3453}
3454 3454
3455/* If characers are under composition, finish the composition. */ 3455/* If characters are under composition, finish the composition. */
3456#define MAYBE_FINISH_COMPOSITION() \ 3456#define MAYBE_FINISH_COMPOSITION() \
3457 do { \ 3457 do { \
3458 if (cmp_status->state != COMPOSING_NO) \ 3458 if (cmp_status->state != COMPOSING_NO) \
@@ -3558,8 +3558,8 @@ decode_coding_iso_2022 (struct coding_system *coding)
3558 const unsigned char *src_end = coding->source + coding->src_bytes; 3558 const unsigned char *src_end = coding->source + coding->src_bytes;
3559 const unsigned char *src_base; 3559 const unsigned char *src_base;
3560 int *charbuf = coding->charbuf + coding->charbuf_used; 3560 int *charbuf = coding->charbuf + coding->charbuf_used;
3561 /* We may produce two annocations (charset and composition) in one 3561 /* We may produce two annotations (charset and composition) in one
3562 loop and one more charset annocation at the end. */ 3562 loop and one more charset annotation at the end. */
3563 int *charbuf_end 3563 int *charbuf_end
3564 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 3); 3564 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 3);
3565 int consumed_chars = 0, consumed_chars_base; 3565 int consumed_chars = 0, consumed_chars_base;
@@ -3861,7 +3861,7 @@ decode_coding_iso_2022 (struct coding_system *coding)
3861 goto invalid_code; 3861 goto invalid_code;
3862 /* For the moment, nested direction is not supported. 3862 /* For the moment, nested direction is not supported.
3863 So, `coding->mode & CODING_MODE_DIRECTION' zero means 3863 So, `coding->mode & CODING_MODE_DIRECTION' zero means
3864 left-to-right, and nozero means right-to-left. */ 3864 left-to-right, and nonzero means right-to-left. */
3865 ONE_MORE_BYTE (c1); 3865 ONE_MORE_BYTE (c1);
3866 switch (c1) 3866 switch (c1)
3867 { 3867 {
@@ -4766,7 +4766,7 @@ decode_coding_sjis (struct coding_system *coding)
4766 const unsigned char *src_end = coding->source + coding->src_bytes; 4766 const unsigned char *src_end = coding->source + coding->src_bytes;
4767 const unsigned char *src_base; 4767 const unsigned char *src_base;
4768 int *charbuf = coding->charbuf + coding->charbuf_used; 4768 int *charbuf = coding->charbuf + coding->charbuf_used;
4769 /* We may produce one charset annocation in one loop and one more at 4769 /* We may produce one charset annotation in one loop and one more at
4770 the end. */ 4770 the end. */
4771 int *charbuf_end 4771 int *charbuf_end
4772 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 2); 4772 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 2);
@@ -4884,7 +4884,7 @@ decode_coding_big5 (struct coding_system *coding)
4884 const unsigned char *src_end = coding->source + coding->src_bytes; 4884 const unsigned char *src_end = coding->source + coding->src_bytes;
4885 const unsigned char *src_base; 4885 const unsigned char *src_base;
4886 int *charbuf = coding->charbuf + coding->charbuf_used; 4886 int *charbuf = coding->charbuf + coding->charbuf_used;
4887 /* We may produce one charset annocation in one loop and one more at 4887 /* We may produce one charset annotation in one loop and one more at
4888 the end. */ 4888 the end. */
4889 int *charbuf_end 4889 int *charbuf_end
4890 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 2); 4890 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 2);
@@ -5541,7 +5541,7 @@ decode_coding_charset (struct coding_system *coding)
5541 const unsigned char *src_end = coding->source + coding->src_bytes; 5541 const unsigned char *src_end = coding->source + coding->src_bytes;
5542 const unsigned char *src_base; 5542 const unsigned char *src_base;
5543 int *charbuf = coding->charbuf + coding->charbuf_used; 5543 int *charbuf = coding->charbuf + coding->charbuf_used;
5544 /* We may produce one charset annocation in one loop and one more at 5544 /* We may produce one charset annotation in one loop and one more at
5545 the end. */ 5545 the end. */
5546 int *charbuf_end 5546 int *charbuf_end
5547 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 2); 5547 = coding->charbuf + coding->charbuf_size - (MAX_ANNOTATION_LENGTH * 2);
@@ -6144,14 +6144,14 @@ complement_process_encoding_system (Lisp_Object coding_system)
6144 o coding-category-iso-7-else 6144 o coding-category-iso-7-else
6145 6145
6146 The category for a coding system which has the same code range 6146 The category for a coding system which has the same code range
6147 as ISO2022 of 7-bit environemnt but uses locking shift or 6147 as ISO2022 of 7-bit environment but uses locking shift or
6148 single shift functions. Assigned the coding-system (Lisp 6148 single shift functions. Assigned the coding-system (Lisp
6149 symbol) `iso-2022-7bit-lock' by default. 6149 symbol) `iso-2022-7bit-lock' by default.
6150 6150
6151 o coding-category-iso-8-else 6151 o coding-category-iso-8-else
6152 6152
6153 The category for a coding system which has the same code range 6153 The category for a coding system which has the same code range
6154 as ISO2022 of 8-bit environemnt but uses locking shift or 6154 as ISO2022 of 8-bit environment but uses locking shift or
6155 single shift functions. Assigned the coding-system (Lisp 6155 single shift functions. Assigned the coding-system (Lisp
6156 symbol) `iso-2022-8bit-ss2' by default. 6156 symbol) `iso-2022-8bit-ss2' by default.
6157 6157
@@ -7548,7 +7548,7 @@ static Lisp_Object Vcode_conversion_reused_workbuf;
7548static int reused_workbuf_in_use; 7548static int reused_workbuf_in_use;
7549 7549
7550 7550
7551/* Return a working buffer of code convesion. MULTIBYTE specifies the 7551/* Return a working buffer of code conversion. MULTIBYTE specifies the
7552 multibyteness of returning buffer. */ 7552 multibyteness of returning buffer. */
7553 7553
7554static Lisp_Object 7554static Lisp_Object
@@ -8200,7 +8200,7 @@ function `define-coding-system'. */)
8200 8200
8201/* Detect how the bytes at SRC of length SRC_BYTES are encoded. If 8201/* Detect how the bytes at SRC of length SRC_BYTES are encoded. If
8202 HIGHEST is nonzero, return the coding system of the highest 8202 HIGHEST is nonzero, return the coding system of the highest
8203 priority among the detected coding systems. Otherwize return a 8203 priority among the detected coding systems. Otherwise return a
8204 list of detected coding systems sorted by their priorities. If 8204 list of detected coding systems sorted by their priorities. If
8205 MULTIBYTEP is nonzero, it is assumed that the bytes are in correct 8205 MULTIBYTEP is nonzero, it is assumed that the bytes are in correct
8206 multibyte form but contains only ASCII and eight-bit chars. 8206 multibyte form but contains only ASCII and eight-bit chars.
@@ -9302,7 +9302,7 @@ DEFUN ("set-terminal-coding-system-internal", Fset_terminal_coding_system_intern
9302 setup_coding_system (Fcheck_coding_system (coding_system), terminal_coding); 9302 setup_coding_system (Fcheck_coding_system (coding_system), terminal_coding);
9303 /* We had better not send unsafe characters to terminal. */ 9303 /* We had better not send unsafe characters to terminal. */
9304 terminal_coding->mode |= CODING_MODE_SAFE_ENCODING; 9304 terminal_coding->mode |= CODING_MODE_SAFE_ENCODING;
9305 /* Characer composition should be disabled. */ 9305 /* Character composition should be disabled. */
9306 terminal_coding->common_flags &= ~CODING_ANNOTATE_COMPOSITION_MASK; 9306 terminal_coding->common_flags &= ~CODING_ANNOTATE_COMPOSITION_MASK;
9307 terminal_coding->src_multibyte = 1; 9307 terminal_coding->src_multibyte = 1;
9308 terminal_coding->dst_multibyte = 0; 9308 terminal_coding->dst_multibyte = 0;
@@ -9318,7 +9318,7 @@ DEFUN ("set-safe-terminal-coding-system-internal",
9318 CHECK_SYMBOL (coding_system); 9318 CHECK_SYMBOL (coding_system);
9319 setup_coding_system (Fcheck_coding_system (coding_system), 9319 setup_coding_system (Fcheck_coding_system (coding_system),
9320 &safe_terminal_coding); 9320 &safe_terminal_coding);
9321 /* Characer composition should be disabled. */ 9321 /* Character composition should be disabled. */
9322 safe_terminal_coding.common_flags &= ~CODING_ANNOTATE_COMPOSITION_MASK; 9322 safe_terminal_coding.common_flags &= ~CODING_ANNOTATE_COMPOSITION_MASK;
9323 safe_terminal_coding.src_multibyte = 1; 9323 safe_terminal_coding.src_multibyte = 1;
9324 safe_terminal_coding.dst_multibyte = 0; 9324 safe_terminal_coding.dst_multibyte = 0;
@@ -9352,7 +9352,7 @@ DEFUN ("set-keyboard-coding-system-internal", Fset_keyboard_coding_system_intern
9352 else 9352 else
9353 Fcheck_coding_system (coding_system); 9353 Fcheck_coding_system (coding_system);
9354 setup_coding_system (coding_system, TERMINAL_KEYBOARD_CODING (t)); 9354 setup_coding_system (coding_system, TERMINAL_KEYBOARD_CODING (t));
9355 /* Characer composition should be disabled. */ 9355 /* Character composition should be disabled. */
9356 TERMINAL_KEYBOARD_CODING (t)->common_flags 9356 TERMINAL_KEYBOARD_CODING (t)->common_flags
9357 &= ~CODING_ANNOTATE_COMPOSITION_MASK; 9357 &= ~CODING_ANNOTATE_COMPOSITION_MASK;
9358 return Qnil; 9358 return Qnil;
@@ -9720,7 +9720,7 @@ usage: (define-coding-system-internal ...) */)
9720 9720
9721 If Nth element is a list of charset IDs, N is the first byte 9721 If Nth element is a list of charset IDs, N is the first byte
9722 of one of them. The list is sorted by dimensions of the 9722 of one of them. The list is sorted by dimensions of the
9723 charsets. A charset of smaller dimension comes firtst. */ 9723 charsets. A charset of smaller dimension comes first. */
9724 val = Fmake_vector (make_number (256), Qnil); 9724 val = Fmake_vector (make_number (256), Qnil);
9725 9725
9726 for (tail = charset_list; CONSP (tail); tail = XCDR (tail)) 9726 for (tail = charset_list; CONSP (tail); tail = XCDR (tail))
diff --git a/src/font.c b/src/font.c
index 33c3cbd7385..aee6b483353 100644
--- a/src/font.c
+++ b/src/font.c
@@ -3723,6 +3723,58 @@ font_get_frame_data (FRAME_PTR f, struct font_driver *driver)
3723} 3723}
3724 3724
3725 3725
3726/* Sets attributes on a font. Any properties that appear in ALIST and
3727 BOOLEAN_PROPERTIES or NON_BOOLEAN_PROPERTIES are set on the font.
3728 BOOLEAN_PROPERTIES and NON_BOOLEAN_PROPERTIES are NULL-terminated
3729 arrays of strings. This function is intended for use by the font
3730 drivers to implement their specific font_filter_properties. */
3731void
3732font_filter_properties (Lisp_Object font,
3733 Lisp_Object alist,
3734 const char *boolean_properties[],
3735 const char *non_boolean_properties[])
3736{
3737 Lisp_Object it;
3738 int i;
3739
3740 /* Set boolean values to Qt or Qnil */
3741 for (i = 0; boolean_properties[i] != NULL; ++i)
3742 for (it = alist; ! NILP (it); it = XCDR (it))
3743 {
3744 Lisp_Object key = XCAR (XCAR (it));
3745 Lisp_Object val = XCDR (XCAR (it));
3746 char *keystr = SDATA (SYMBOL_NAME (key));
3747
3748 if (strcmp (boolean_properties[i], keystr) == 0)
3749 {
3750 const char *str = INTEGERP (val) ? (XINT (val) ? "true" : "false")
3751 : SYMBOLP (val) ? (const char *) SDATA (SYMBOL_NAME (val))
3752 : "true";
3753
3754 if (strcmp ("false", str) == 0 || strcmp ("False", str) == 0
3755 || strcmp ("FALSE", str) == 0 || strcmp ("FcFalse", str) == 0
3756 || strcmp ("off", str) == 0 || strcmp ("OFF", str) == 0
3757 || strcmp ("Off", str) == 0)
3758 val = Qnil;
3759 else
3760 val = Qt;
3761
3762 Ffont_put (font, key, val);
3763 }
3764 }
3765
3766 for (i = 0; non_boolean_properties[i] != NULL; ++i)
3767 for (it = alist; ! NILP (it); it = XCDR (it))
3768 {
3769 Lisp_Object key = XCAR (XCAR (it));
3770 Lisp_Object val = XCDR (XCAR (it));
3771 char *keystr = SDATA (SYMBOL_NAME (key));
3772 if (strcmp (non_boolean_properties[i], keystr) == 0)
3773 Ffont_put (font, key, val);
3774 }
3775}
3776
3777
3726/* Return the font used to draw character C by FACE at buffer position 3778/* Return the font used to draw character C by FACE at buffer position
3727 POS in window W. If STRING is non-nil, it is a string containing C 3779 POS in window W. If STRING is non-nil, it is a string containing C
3728 at index POS. If C is negative, get C from the current buffer or 3780 at index POS. If C is negative, get C from the current buffer or
@@ -4486,7 +4538,7 @@ DEFUN ("font-variation-glyphs", Ffont_variation_glyphs, Sfont_variation_glyphs,
4486 doc: /* Return a list of variation glyphs for CHAR in FONT-OBJECT. 4538 doc: /* Return a list of variation glyphs for CHAR in FONT-OBJECT.
4487Each element of the value is a cons (VARIATION-SELECTOR . GLYPH-ID), 4539Each element of the value is a cons (VARIATION-SELECTOR . GLYPH-ID),
4488where 4540where
4489 VARIATION-SELECTOR is a chracter code of variation selection 4541 VARIATION-SELECTOR is a character code of variation selection
4490 (#xFE00..#xFE0F or #xE0100..#xE01EF) 4542 (#xFE00..#xFE0F or #xE0100..#xE01EF)
4491 GLYPH-ID is a glyph code of the corresponding variation glyph. */) 4543 GLYPH-ID is a glyph code of the corresponding variation glyph. */)
4492 (Lisp_Object font_object, Lisp_Object character) 4544 (Lisp_Object font_object, Lisp_Object character)
diff --git a/src/font.h b/src/font.h
index c322b8e590f..b2d7e49fa29 100644
--- a/src/font.h
+++ b/src/font.h
@@ -581,7 +581,7 @@ struct font_driver
581 FONT-ENTITY and it must be opened to check it, return -1. */ 581 FONT-ENTITY and it must be opened to check it, return -1. */
582 int (*has_char) (Lisp_Object font, int c); 582 int (*has_char) (Lisp_Object font, int c);
583 583
584 /* Return a glyph code of FONT for characer C (Unicode code point). 584 /* Return a glyph code of FONT for character C (Unicode code point).
585 If FONT doesn't have such a glyph, return FONT_INVALID_CODE. */ 585 If FONT doesn't have such a glyph, return FONT_INVALID_CODE. */
586 unsigned (*encode_char) (struct font *font, int c); 586 unsigned (*encode_char) (struct font *font, int c);
587 587
@@ -821,6 +821,11 @@ extern int font_put_frame_data (FRAME_PTR f,
821extern void *font_get_frame_data (FRAME_PTR f, 821extern void *font_get_frame_data (FRAME_PTR f,
822 struct font_driver *driver); 822 struct font_driver *driver);
823 823
824extern void font_filter_properties (Lisp_Object font,
825 Lisp_Object alist,
826 const char *boolean_properties[],
827 const char *non_boolean_properties[]);
828
824#ifdef HAVE_FREETYPE 829#ifdef HAVE_FREETYPE
825extern struct font_driver ftfont_driver; 830extern struct font_driver ftfont_driver;
826extern void syms_of_ftfont (void); 831extern void syms_of_ftfont (void);
diff --git a/src/ftfont.c b/src/ftfont.c
index 97bf265a84c..b0d10791379 100644
--- a/src/ftfont.c
+++ b/src/ftfont.c
@@ -88,7 +88,7 @@ static Lisp_Object ftfont_lookup_cache (Lisp_Object,
88 enum ftfont_cache_for); 88 enum ftfont_cache_for);
89 89
90static void ftfont_filter_properties (Lisp_Object font, Lisp_Object alist); 90static void ftfont_filter_properties (Lisp_Object font, Lisp_Object alist);
91 91
92Lisp_Object ftfont_font_format (FcPattern *, Lisp_Object); 92Lisp_Object ftfont_font_format (FcPattern *, Lisp_Object);
93 93
94#define SYMBOL_FcChar8(SYM) (FcChar8 *) SDATA (SYMBOL_NAME (SYM)) 94#define SYMBOL_FcChar8(SYM) (FcChar8 *) SDATA (SYMBOL_NAME (SYM))
@@ -260,7 +260,7 @@ ftfont_pattern_entity (FcPattern *p, Lisp_Object extra)
260 else 260 else
261 { 261 {
262 /* As this font is not scalable, parhaps this is a BDF or PCF 262 /* As this font is not scalable, parhaps this is a BDF or PCF
263 font. */ 263 font. */
264 FT_Face ft_face; 264 FT_Face ft_face;
265 265
266 ASET (entity, FONT_ADSTYLE_INDEX, get_adstyle_property (p)); 266 ASET (entity, FONT_ADSTYLE_INDEX, get_adstyle_property (p));
@@ -2093,7 +2093,7 @@ ftfont_drive_otf (font, spec, in, from, to, out, adjustment)
2093 return to; 2093 return to;
2094} 2094}
2095 2095
2096static int 2096static int
2097ftfont_try_otf (MFLTFont *font, MFLTOtfSpec *spec, 2097ftfont_try_otf (MFLTFont *font, MFLTOtfSpec *spec,
2098 MFLTGlyphString *in, int from, int to) 2098 MFLTGlyphString *in, int from, int to)
2099{ 2099{
@@ -2645,42 +2645,7 @@ static const char *ftfont_non_booleans [] = {
2645static void 2645static void
2646ftfont_filter_properties (Lisp_Object font, Lisp_Object alist) 2646ftfont_filter_properties (Lisp_Object font, Lisp_Object alist)
2647{ 2647{
2648 Lisp_Object it; 2648 font_filter_properties (font, alist, ftfont_booleans, ftfont_non_booleans);
2649 int i;
2650
2651 /* Set boolean values to Qt or Qnil */
2652 for (i = 0; ftfont_booleans[i] != NULL; ++i)
2653 for (it = alist; ! NILP (it); it = XCDR (it))
2654 {
2655 Lisp_Object key = XCAR (XCAR (it));
2656 Lisp_Object val = XCDR (XCAR (it));
2657 char *keystr = SDATA (SYMBOL_NAME (key));
2658
2659 if (strcmp (ftfont_booleans[i], keystr) == 0)
2660 {
2661 const char *str = SYMBOLP (val) ? SDATA (SYMBOL_NAME (val)) : NULL;
2662 if (INTEGERP (val)) str = XINT (val) != 0 ? "true" : "false";
2663 if (str == NULL) str = "true";
2664
2665 val = Qt;
2666 if (strcmp ("false", str) == 0 || strcmp ("False", str) == 0
2667 || strcmp ("FALSE", str) == 0 || strcmp ("FcFalse", str) == 0
2668 || strcmp ("off", str) == 0 || strcmp ("OFF", str) == 0
2669 || strcmp ("Off", str) == 0)
2670 val = Qnil;
2671 Ffont_put (font, key, val);
2672 }
2673 }
2674
2675 for (i = 0; ftfont_non_booleans[i] != NULL; ++i)
2676 for (it = alist; ! NILP (it); it = XCDR (it))
2677 {
2678 Lisp_Object key = XCAR (XCAR (it));
2679 Lisp_Object val = XCDR (XCAR (it));
2680 char *keystr = SDATA (SYMBOL_NAME (key));
2681 if (strcmp (ftfont_non_booleans[i], keystr) == 0)
2682 Ffont_put (font, key, val);
2683 }
2684} 2649}
2685 2650
2686 2651
diff --git a/src/nsterm.m b/src/nsterm.m
index 3c146c5d2a6..247ef4dd40c 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -145,24 +145,24 @@ Lisp_Object Qalt, Qcontrol, Qhyper, Qmeta, Qsuper, Qnone;
145extern Lisp_Object Qcursor_color, Qcursor_type, Qns, Qleft; 145extern Lisp_Object Qcursor_color, Qcursor_type, Qns, Qleft;
146 146
147/* Specifies which emacs modifier should be generated when NS receives 147/* Specifies which emacs modifier should be generated when NS receives
148 the Alternate modifer. May be Qnone or any of the modifier lisp symbols. */ 148 the Alternate modifier. May be Qnone or any of the modifier lisp symbols. */
149Lisp_Object ns_alternate_modifier; 149Lisp_Object ns_alternate_modifier;
150 150
151/* Specifies which emacs modifier should be generated when NS receives 151/* Specifies which emacs modifier should be generated when NS receives
152 the right Alternate modifer. Has same values as ns_alternate_modifier plus 152 the right Alternate modifier. Has same values as ns_alternate_modifier plus
153 the value Qleft which means whatever value ns_alternate_modifier has. */ 153 the value Qleft which means whatever value ns_alternate_modifier has. */
154Lisp_Object ns_right_alternate_modifier; 154Lisp_Object ns_right_alternate_modifier;
155 155
156/* Specifies which emacs modifier should be generated when NS receives 156/* Specifies which emacs modifier should be generated when NS receives
157 the Command modifer. May be any of the modifier lisp symbols. */ 157 the Command modifier. May be any of the modifier lisp symbols. */
158Lisp_Object ns_command_modifier; 158Lisp_Object ns_command_modifier;
159 159
160/* Specifies which emacs modifier should be generated when NS receives 160/* Specifies which emacs modifier should be generated when NS receives
161 the Control modifer. May be any of the modifier lisp symbols. */ 161 the Control modifier. May be any of the modifier lisp symbols. */
162Lisp_Object ns_control_modifier; 162Lisp_Object ns_control_modifier;
163 163
164/* Specifies which emacs modifier should be generated when NS receives 164/* Specifies which emacs modifier should be generated when NS receives
165 the Function modifer (laptops). May be any of the modifier lisp symbols. */ 165 the Function modifier (laptops). May be any of the modifier lisp symbols. */
166Lisp_Object ns_function_modifier; 166Lisp_Object ns_function_modifier;
167 167
168/* Control via default 'GSFontAntiAlias' on OS X and GNUstep. */ 168/* Control via default 'GSFontAntiAlias' on OS X and GNUstep. */
diff --git a/src/print.c b/src/print.c
index 1c34f6e27e4..ea88ba72f65 100644
--- a/src/print.c
+++ b/src/print.c
@@ -1401,7 +1401,7 @@ static void print_check_string_charset_prop (INTERVAL interval, Lisp_Object stri
1401#define PRINT_STRING_NON_CHARSET_FOUND 1 1401#define PRINT_STRING_NON_CHARSET_FOUND 1
1402#define PRINT_STRING_UNSAFE_CHARSET_FOUND 2 1402#define PRINT_STRING_UNSAFE_CHARSET_FOUND 2
1403 1403
1404/* Bitwize or of the abobe macros. */ 1404/* Bitwise or of the above macros. */
1405static int print_check_string_result; 1405static int print_check_string_result;
1406 1406
1407static void 1407static void
diff --git a/src/regex.c b/src/regex.c
index b563d93fe29..17158552a95 100644
--- a/src/regex.c
+++ b/src/regex.c
@@ -4089,7 +4089,7 @@ analyse_first (const re_char *p, const re_char *pend, char *fastmap, const int m
4089 && match_any_multibyte_characters == false) 4089 && match_any_multibyte_characters == false)
4090 { 4090 {
4091 /* Set fastmap[I] to 1 where I is a leading code of each 4091 /* Set fastmap[I] to 1 where I is a leading code of each
4092 multibyte characer in the range table. */ 4092 multibyte character in the range table. */
4093 int c, count; 4093 int c, count;
4094 unsigned char lc1, lc2; 4094 unsigned char lc1, lc2;
4095 4095
diff --git a/src/w32.c b/src/w32.c
index 4ccda449b47..ae34ac6aadb 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -2970,7 +2970,7 @@ convert_time (FILETIME ft)
2970 2970
2971 if (!init) 2971 if (!init)
2972 { 2972 {
2973 initialize_utc_base(); 2973 initialize_utc_base ();
2974 init = 1; 2974 init = 1;
2975 } 2975 }
2976 2976
@@ -5037,7 +5037,7 @@ fcntl (int s, int cmd, int options)
5037 unsigned long nblock = 1; 5037 unsigned long nblock = 1;
5038 int rc = pfn_ioctlsocket (SOCK_HANDLE (s), FIONBIO, &nblock); 5038 int rc = pfn_ioctlsocket (SOCK_HANDLE (s), FIONBIO, &nblock);
5039 if (rc == SOCKET_ERROR) 5039 if (rc == SOCKET_ERROR)
5040 set_errno(); 5040 set_errno ();
5041 /* Keep track of the fact that we set this to non-blocking. */ 5041 /* Keep track of the fact that we set this to non-blocking. */
5042 fd_info[s].flags |= FILE_NDELAY; 5042 fd_info[s].flags |= FILE_NDELAY;
5043 return rc; 5043 return rc;
@@ -5935,8 +5935,7 @@ serial_open (char *port)
5935 5935
5936/* For serial-process-configure */ 5936/* For serial-process-configure */
5937void 5937void
5938serial_configure (struct Lisp_Process *p, 5938serial_configure (struct Lisp_Process *p, Lisp_Object contact)
5939 Lisp_Object contact)
5940{ 5939{
5941 Lisp_Object childp2 = Qnil; 5940 Lisp_Object childp2 = Qnil;
5942 Lisp_Object tem = Qnil; 5941 Lisp_Object tem = Qnil;
diff --git a/src/w32fns.c b/src/w32fns.c
index b05643821f1..808503547f1 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -245,7 +245,7 @@ struct MONITOR_INFO
245}; 245};
246 246
247/* Reportedly, VS 6 does not have this in its headers. */ 247/* Reportedly, VS 6 does not have this in its headers. */
248#if defined(_MSC_VER) && _MSC_VER < 1300 248#if defined (_MSC_VER) && _MSC_VER < 1300
249DECLARE_HANDLE(HMONITOR); 249DECLARE_HANDLE(HMONITOR);
250#endif 250#endif
251 251
@@ -1870,7 +1870,6 @@ x_set_title (struct frame *f, Lisp_Object name, Lisp_Object old_name)
1870 } 1870 }
1871} 1871}
1872 1872
1873
1874void 1873void
1875x_set_scroll_bar_default_width (struct frame *f) 1874x_set_scroll_bar_default_width (struct frame *f)
1876{ 1875{
@@ -3918,7 +3917,6 @@ w32_wnd_proc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
3918 return DefWindowProc (hwnd, msg, wParam, lParam); 3917 return DefWindowProc (hwnd, msg, wParam, lParam);
3919 } 3918 }
3920 3919
3921
3922 /* The most common default return code for handled messages is 0. */ 3920 /* The most common default return code for handled messages is 0. */
3923 return 0; 3921 return 0;
3924} 3922}
@@ -4359,7 +4357,6 @@ This function is an internal primitive--use `make-frame' instead. */)
4359 x_default_parameter (f, parameters, Qright_fringe, Qnil, 4357 x_default_parameter (f, parameters, Qright_fringe, Qnil,
4360 "rightFringe", "RightFringe", RES_TYPE_NUMBER); 4358 "rightFringe", "RightFringe", RES_TYPE_NUMBER);
4361 4359
4362
4363 /* Init faces before x_default_parameter is called for scroll-bar 4360 /* Init faces before x_default_parameter is called for scroll-bar
4364 parameters because that function calls x_set_scroll_bar_width, 4361 parameters because that function calls x_set_scroll_bar_width,
4365 which calls change_frame_size, which calls Fset_window_buffer, 4362 which calls change_frame_size, which calls Fset_window_buffer,
diff --git a/src/w32font.c b/src/w32font.c
index 8e17093b98d..f489fe2d763 100644
--- a/src/w32font.c
+++ b/src/w32font.c
@@ -333,7 +333,7 @@ w32font_has_char (Lisp_Object entity, int c)
333} 333}
334 334
335/* w32 implementation of encode_char for font backend. 335/* w32 implementation of encode_char for font backend.
336 Return a glyph code of FONT for characer C (Unicode code point). 336 Return a glyph code of FONT for character C (Unicode code point).
337 If FONT doesn't have such a glyph, return FONT_INVALID_CODE. 337 If FONT doesn't have such a glyph, return FONT_INVALID_CODE.
338 338
339 For speed, the gdi backend uses unicode (Emacs calls encode_char 339 For speed, the gdi backend uses unicode (Emacs calls encode_char
@@ -1798,7 +1798,7 @@ w32_decode_weight (int fnweight)
1798 if (fnweight >= FW_NORMAL) return 100; 1798 if (fnweight >= FW_NORMAL) return 100;
1799 if (fnweight >= FW_LIGHT) return 50; 1799 if (fnweight >= FW_LIGHT) return 50;
1800 if (fnweight >= FW_EXTRALIGHT) return 40; 1800 if (fnweight >= FW_EXTRALIGHT) return 40;
1801 if (fnweight > FW_THIN) return 20; 1801 if (fnweight > FW_THIN) return 20;
1802 return 0; 1802 return 0;
1803} 1803}
1804 1804
@@ -1812,7 +1812,7 @@ w32_encode_weight (int n)
1812 if (n >= 100) return FW_NORMAL; 1812 if (n >= 100) return FW_NORMAL;
1813 if (n >= 50) return FW_LIGHT; 1813 if (n >= 50) return FW_LIGHT;
1814 if (n >= 40) return FW_EXTRALIGHT; 1814 if (n >= 40) return FW_EXTRALIGHT;
1815 if (n >= 20) return FW_THIN; 1815 if (n >= 20) return FW_THIN;
1816 return 0; 1816 return 0;
1817} 1817}
1818 1818
@@ -1822,9 +1822,9 @@ static Lisp_Object
1822w32_to_fc_weight (int n) 1822w32_to_fc_weight (int n)
1823{ 1823{
1824 if (n >= FW_EXTRABOLD) return intern ("black"); 1824 if (n >= FW_EXTRABOLD) return intern ("black");
1825 if (n >= FW_BOLD) return intern ("bold"); 1825 if (n >= FW_BOLD) return intern ("bold");
1826 if (n >= FW_SEMIBOLD) return intern ("demibold"); 1826 if (n >= FW_SEMIBOLD) return intern ("demibold");
1827 if (n >= FW_NORMAL) return intern ("medium"); 1827 if (n >= FW_NORMAL) return intern ("medium");
1828 return intern ("light"); 1828 return intern ("light");
1829} 1829}
1830 1830
@@ -1912,7 +1912,6 @@ fill_in_logfont (FRAME_PTR f, LOGFONT *logfont, Lisp_Object font_spec)
1912 logfont->lfPitchAndFamily = family | DEFAULT_PITCH; 1912 logfont->lfPitchAndFamily = family | DEFAULT_PITCH;
1913 } 1913 }
1914 1914
1915
1916 /* Set pitch based on the spacing property. */ 1915 /* Set pitch based on the spacing property. */
1917 tmp = AREF (font_spec, FONT_SPACING_INDEX); 1916 tmp = AREF (font_spec, FONT_SPACING_INDEX);
1918 if (INTEGERP (tmp)) 1917 if (INTEGERP (tmp))
@@ -2378,6 +2377,23 @@ in the font selection dialog. */)
2378 return DECODE_SYSTEM (build_string (buf)); 2377 return DECODE_SYSTEM (build_string (buf));
2379} 2378}
2380 2379
2380static const char *w32font_booleans [] = {
2381 NULL,
2382};
2383
2384static const char *w32font_non_booleans [] = {
2385 ":script",
2386 ":antialias",
2387 ":style",
2388 NULL,
2389};
2390
2391static void
2392w32font_filter_properties (Lisp_Object font, Lisp_Object alist)
2393{
2394 font_filter_properties (font, alist, w32font_booleans, w32font_non_booleans);
2395}
2396
2381struct font_driver w32font_driver = 2397struct font_driver w32font_driver =
2382 { 2398 {
2383 0, /* Qgdi */ 2399 0, /* Qgdi */
@@ -2407,7 +2423,7 @@ struct font_driver w32font_driver =
2407 NULL, /* shape */ 2423 NULL, /* shape */
2408 NULL, /* check */ 2424 NULL, /* check */
2409 NULL, /* get_variation_glyphs */ 2425 NULL, /* get_variation_glyphs */
2410 NULL, /* filter_properties */ 2426 w32font_filter_properties,
2411 }; 2427 };
2412 2428
2413 2429
diff --git a/src/w32heap.c b/src/w32heap.c
index d785dffeab9..285325e3f8b 100644
--- a/src/w32heap.c
+++ b/src/w32heap.c
@@ -278,7 +278,7 @@ round_heap (unsigned long align)
278 sbrk (need_to_alloc); 278 sbrk (need_to_alloc);
279} 279}
280 280
281#if (_MSC_VER >= 1000 && _MSC_VER < 1300 && !defined(USE_CRT_DLL)) 281#if (_MSC_VER >= 1000 && _MSC_VER < 1300 && !defined (USE_CRT_DLL))
282 282
283/* MSVC 4.2 invokes these functions from mainCRTStartup to initialize 283/* MSVC 4.2 invokes these functions from mainCRTStartup to initialize
284 a heap via HeapCreate. They are normally defined by the runtime, 284 a heap via HeapCreate. They are normally defined by the runtime,
diff --git a/src/w32menu.c b/src/w32menu.c
index 6e7da5ad577..ff6bd977bea 100644
--- a/src/w32menu.c
+++ b/src/w32menu.c
@@ -997,7 +997,7 @@ w32_dialog_show (FRAME_PTR f, int keymaps,
997 Lisp_Object title, Lisp_Object header, 997 Lisp_Object title, Lisp_Object header,
998 char **error) 998 char **error)
999{ 999{
1000 int i, nb_buttons=0; 1000 int i, nb_buttons = 0;
1001 char dialog_name[6]; 1001 char dialog_name[6];
1002 int menu_item_selection; 1002 int menu_item_selection;
1003 1003
@@ -1740,7 +1740,7 @@ syms_of_w32menu (void)
1740void 1740void
1741globals_of_w32menu (void) 1741globals_of_w32menu (void)
1742{ 1742{
1743 /* See if Get/SetMenuItemInfo functions are available. */ 1743 /* See if Get/SetMenuItemInfo functions are available. */
1744 HMODULE user32 = GetModuleHandle ("user32.dll"); 1744 HMODULE user32 = GetModuleHandle ("user32.dll");
1745 get_menu_item_info = (GetMenuItemInfoA_Proc) GetProcAddress (user32, "GetMenuItemInfoA"); 1745 get_menu_item_info = (GetMenuItemInfoA_Proc) GetProcAddress (user32, "GetMenuItemInfoA");
1746 set_menu_item_info = (SetMenuItemInfoA_Proc) GetProcAddress (user32, "SetMenuItemInfoA"); 1746 set_menu_item_info = (SetMenuItemInfoA_Proc) GetProcAddress (user32, "SetMenuItemInfoA");
diff --git a/src/w32proc.c b/src/w32proc.c
index c0da124a472..49687574472 100644
--- a/src/w32proc.c
+++ b/src/w32proc.c
@@ -168,7 +168,7 @@ new_child (void)
168 child_process *cp; 168 child_process *cp;
169 DWORD id; 169 DWORD id;
170 170
171 for (cp = child_procs+(child_proc_count-1); cp >= child_procs; cp--) 171 for (cp = child_procs + (child_proc_count-1); cp >= child_procs; cp--)
172 if (!CHILD_ACTIVE (cp)) 172 if (!CHILD_ACTIVE (cp))
173 goto Initialise; 173 goto Initialise;
174 if (child_proc_count == MAX_CHILDREN) 174 if (child_proc_count == MAX_CHILDREN)
@@ -268,7 +268,7 @@ find_child_pid (DWORD pid)
268{ 268{
269 child_process *cp; 269 child_process *cp;
270 270
271 for (cp = child_procs+(child_proc_count-1); cp >= child_procs; cp--) 271 for (cp = child_procs + (child_proc_count-1); cp >= child_procs; cp--)
272 if (CHILD_ACTIVE (cp) && pid == cp->pid) 272 if (CHILD_ACTIVE (cp) && pid == cp->pid)
273 return cp; 273 return cp;
274 return NULL; 274 return NULL;
@@ -495,7 +495,7 @@ sys_wait (int *status)
495 } 495 }
496 else 496 else
497 { 497 {
498 for (cp = child_procs+(child_proc_count-1); cp >= child_procs; cp--) 498 for (cp = child_procs + (child_proc_count-1); cp >= child_procs; cp--)
499 /* some child_procs might be sockets; ignore them */ 499 /* some child_procs might be sockets; ignore them */
500 if (CHILD_ACTIVE (cp) && cp->procinfo.hProcess 500 if (CHILD_ACTIVE (cp) && cp->procinfo.hProcess
501 && (cp->fd < 0 || (fd_info[cp->fd].flags & FILE_AT_EOF) != 0)) 501 && (cp->fd < 0 || (fd_info[cp->fd].flags & FILE_AT_EOF) != 0))
@@ -895,7 +895,7 @@ sys_spawnve (int mode, char *cmdname, char **argv, char **envp)
895 escape_char = is_cygnus_app ? '"' : '\\'; 895 escape_char = is_cygnus_app ? '"' : '\\';
896 } 896 }
897 897
898 /* Cygwin apps needs quoting a bit more often */ 898 /* Cygwin apps needs quoting a bit more often. */
899 if (escape_char == '"') 899 if (escape_char == '"')
900 sepchars = "\r\n\t\f '"; 900 sepchars = "\r\n\t\f '";
901 901
@@ -1245,7 +1245,7 @@ sys_select (int nfds, SELECT_TYPE *rfds, SELECT_TYPE *wfds, SELECT_TYPE *efds,
1245count_children: 1245count_children:
1246 /* Add handles of child processes. */ 1246 /* Add handles of child processes. */
1247 nc = 0; 1247 nc = 0;
1248 for (cp = child_procs+(child_proc_count-1); cp >= child_procs; cp--) 1248 for (cp = child_procs + (child_proc_count-1); cp >= child_procs; cp--)
1249 /* Some child_procs might be sockets; ignore them. Also some 1249 /* Some child_procs might be sockets; ignore them. Also some
1250 children may have died already, but we haven't finished reading 1250 children may have died already, but we haven't finished reading
1251 the process output; ignore them too. */ 1251 the process output; ignore them too. */
diff --git a/src/w32select.c b/src/w32select.c
index bd013a5ece9..f9bab384062 100644
--- a/src/w32select.c
+++ b/src/w32select.c
@@ -1072,7 +1072,7 @@ syms_of_w32select (void)
1072When sending or receiving text via cut_buffer, selection, and 1072When sending or receiving text via cut_buffer, selection, and
1073clipboard, the text is encoded or decoded by this coding system. 1073clipboard, the text is encoded or decoded by this coding system.
1074The default value is the current system default encoding on 9x/Me and 1074The default value is the current system default encoding on 9x/Me and
1075`utf-16le-dos' (Unicode) on NT/W2K/XP. */); 1075`utf-16le-dos' (Unicode) on NT/W2K/XP. */);
1076 /* The actual value is set dynamically in the dumped Emacs, see 1076 /* The actual value is set dynamically in the dumped Emacs, see
1077 below. */ 1077 below. */
1078 Vselection_coding_system = Qnil; 1078 Vselection_coding_system = Qnil;
diff --git a/src/w32term.c b/src/w32term.c
index a082aa32b69..1f53860de2e 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -893,7 +893,7 @@ w32_set_terminal_modes (struct terminal *term)
893{ 893{
894} 894}
895 895
896/* This is called when exiting or suspending Emacs. Exiting will make 896/* This is called when exiting or suspending Emacs. Exiting will make
897 the W32 windows go away, and suspending requires no action. */ 897 the W32 windows go away, and suspending requires no action. */
898 898
899static void 899static void
@@ -4239,7 +4239,7 @@ w32_read_socket (struct terminal *terminal, int expected,
4239 inev.frame_or_window = window; 4239 inev.frame_or_window = window;
4240 } 4240 }
4241 4241
4242 last_window=window; 4242 last_window = window;
4243 } 4243 }
4244 if (!note_mouse_movement (f, &msg.msg)) 4244 if (!note_mouse_movement (f, &msg.msg))
4245 help_echo_string = previous_help_echo_string; 4245 help_echo_string = previous_help_echo_string;
@@ -5601,7 +5601,7 @@ x_make_frame_visible (struct frame *f)
5601 /* Adjust vertical window position in order to avoid being 5601 /* Adjust vertical window position in order to avoid being
5602 covered by a task bar placed at the bottom of the desktop. */ 5602 covered by a task bar placed at the bottom of the desktop. */
5603 SystemParametersInfo (SPI_GETWORKAREA, 0, &workarea_rect, 0); 5603 SystemParametersInfo (SPI_GETWORKAREA, 0, &workarea_rect, 0);
5604 GetWindowRect (FRAME_W32_WINDOW(f), &window_rect); 5604 GetWindowRect (FRAME_W32_WINDOW (f), &window_rect);
5605 if (window_rect.bottom > workarea_rect.bottom 5605 if (window_rect.bottom > workarea_rect.bottom
5606 && window_rect.top > workarea_rect.top) 5606 && window_rect.top > workarea_rect.top)
5607 f->top_pos = max (window_rect.top 5607 f->top_pos = max (window_rect.top
diff --git a/src/w32uniscribe.c b/src/w32uniscribe.c
index 05cc8346a50..6c29e6ee2d0 100644
--- a/src/w32uniscribe.c
+++ b/src/w32uniscribe.c
@@ -439,7 +439,7 @@ uniscribe_shape (Lisp_Object lgstring)
439} 439}
440 440
441/* Uniscribe implementation of encode_char for font backend. 441/* Uniscribe implementation of encode_char for font backend.
442 Return a glyph code of FONT for characer C (Unicode code point). 442 Return a glyph code of FONT for character C (Unicode code point).
443 If FONT doesn't have such a glyph, return FONT_INVALID_CODE. */ 443 If FONT doesn't have such a glyph, return FONT_INVALID_CODE. */
444static unsigned 444static unsigned
445uniscribe_encode_char (struct font *font, int c) 445uniscribe_encode_char (struct font *font, int c)
diff --git a/src/w32xfns.c b/src/w32xfns.c
index 8fee42dae48..4cbd812ec0f 100644
--- a/src/w32xfns.c
+++ b/src/w32xfns.c
@@ -408,7 +408,6 @@ XParseGeometry (char *string,
408 return (0); 408 return (0);
409 strind = nextCharacter; 409 strind = nextCharacter;
410 mask |= YNegative; 410 mask |= YNegative;
411
412 } 411 }
413 else 412 else
414 { 413 {
@@ -422,7 +421,7 @@ XParseGeometry (char *string,
422 } 421 }
423 } 422 }
424 423
425 /* If strind isn't at the end of the string the it's an invalid 424 /* If strind isn't at the end of the string then it's an invalid
426 geometry specification. */ 425 geometry specification. */
427 426
428 if (*strind != '\0') return (0); 427 if (*strind != '\0') return (0);