aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog26
-rw-r--r--src/ChangeLog.74
-rw-r--r--src/coding.c52
-rw-r--r--src/config.in65
-rw-r--r--src/dispextern.h3
-rw-r--r--src/frame.c7
-rw-r--r--src/xfns.c4
7 files changed, 104 insertions, 57 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 82a06956800..a2e5262c02b 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,29 @@
12010-03-24 Jan Djärv <jan.h.d@swipnet.se>
2
3 * frame.c (x_get_arg): Handle RES_TYPE_BOOLEAN_NUMBER (bug #5736).
4
5 * xfns.c (Fx_create_frame): Make menuBar a RES_TYPE_BOOLEAN_NUMBER.
6
7 * dispextern.h (resource_types): RES_TYPE_BOOLEAN_NUMBER is new.
8
92010-03-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10
11 * xfns.c (Fx_create_frame) [USE_LUCID]: Add BLOCK_INPUT around
12 XLoadQueryFont.
13
142010-03-24 Kenichi Handa <handa@m17n.org>
15
16 * coding.c (decode_coding_ccl): Fix previous change for the
17 multibyte case.
18 (encode_coding_ccl): Don't setup ccl program here. Fix for the
19 case that the output buffer is fullfilled.
20 (encode_coding): Setup ccl program here.
21
222010-03-24 Andreas Politz <politza@fh-trier.de> (tiny change)
23
24 * editfns.c (Fformat): Account for string precision when computing
25 field width (Bug#5710).
26
12010-03-23 Dan Nicolaescu <dann@ics.uci.edu> 272010-03-23 Dan Nicolaescu <dann@ics.uci.edu>
2 28
3 * s/gnu-linux.h (LIBS_SYSTEM): Remove, same as default. 29 * s/gnu-linux.h (LIBS_SYSTEM): Remove, same as default.
diff --git a/src/ChangeLog.7 b/src/ChangeLog.7
index 30ac527215f..6cc3d0f9e3e 100644
--- a/src/ChangeLog.7
+++ b/src/ChangeLog.7
@@ -7154,9 +7154,9 @@
7154 (ENCODE_ISO_CHARACTER): Bug of handling return value of unify_char 7154 (ENCODE_ISO_CHARACTER): Bug of handling return value of unify_char
7155 fixed. 7155 fixed.
7156 (DECODE_SJIS_BIG5_CHARACTER): New macro. 7156 (DECODE_SJIS_BIG5_CHARACTER): New macro.
7157 (decode_coding_sjis_big5): Handle character unificatoin table. 7157 (decode_coding_sjis_big5): Handle character unification table.
7158 Use macro DECODE_SJIS_BIG5_CHARACTER. 7158 Use macro DECODE_SJIS_BIG5_CHARACTER.
7159 (encode_coding_sjis_big5): Handle character unificatoin table. 7159 (encode_coding_sjis_big5): Handle character unification table.
7160 Use macro ENCODE_SJIS_BIG5_CHARACTER. 7160 Use macro ENCODE_SJIS_BIG5_CHARACTER.
7161 (setup_coding_system): Handle members 7161 (setup_coding_system): Handle members
7162 character_unification_table_for_decode and 7162 character_unification_table_for_decode and
diff --git a/src/coding.c b/src/coding.c
index df81eaba16e..bdc37cb7c53 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -5245,7 +5245,7 @@ decode_coding_ccl (coding)
5245 int multibytep = coding->src_multibyte; 5245 int multibytep = coding->src_multibyte;
5246 struct ccl_program *ccl = &coding->spec.ccl->ccl; 5246 struct ccl_program *ccl = &coding->spec.ccl->ccl;
5247 int source_charbuf[1024]; 5247 int source_charbuf[1024];
5248 int source_byteidx[1024]; 5248 int source_byteidx[1025];
5249 Lisp_Object attrs, charset_list; 5249 Lisp_Object attrs, charset_list;
5250 5250
5251 CODING_GET_INFO (coding, attrs, charset_list); 5251 CODING_GET_INFO (coding, attrs, charset_list);
@@ -5256,11 +5256,14 @@ decode_coding_ccl (coding)
5256 int i = 0; 5256 int i = 0;
5257 5257
5258 if (multibytep) 5258 if (multibytep)
5259 while (i < 1024 && p < src_end) 5259 {
5260 { 5260 while (i < 1024 && p < src_end)
5261 source_byteidx[i] = p - src; 5261 {
5262 source_charbuf[i++] = STRING_CHAR_ADVANCE (p); 5262 source_byteidx[i] = p - src;
5263 } 5263 source_charbuf[i++] = STRING_CHAR_ADVANCE (p);
5264 }
5265 source_byteidx[i] = p - src;
5266 }
5264 else 5267 else
5265 while (i < 1024 && p < src_end) 5268 while (i < 1024 && p < src_end)
5266 source_charbuf[i++] = *p++; 5269 source_charbuf[i++] = *p++;
@@ -5270,7 +5273,7 @@ decode_coding_ccl (coding)
5270 ccl_driver (ccl, source_charbuf, charbuf, i, charbuf_end - charbuf, 5273 ccl_driver (ccl, source_charbuf, charbuf, i, charbuf_end - charbuf,
5271 charset_list); 5274 charset_list);
5272 charbuf += ccl->produced; 5275 charbuf += ccl->produced;
5273 if (multibytep && ccl->consumed < i) 5276 if (multibytep)
5274 src += source_byteidx[ccl->consumed]; 5277 src += source_byteidx[ccl->consumed];
5275 else 5278 else
5276 src += ccl->consumed; 5279 src += ccl->consumed;
@@ -5304,7 +5307,7 @@ static int
5304encode_coding_ccl (coding) 5307encode_coding_ccl (coding)
5305 struct coding_system *coding; 5308 struct coding_system *coding;
5306{ 5309{
5307 struct ccl_program ccl; 5310 struct ccl_program *ccl = &coding->spec.ccl->ccl;
5308 int multibytep = coding->dst_multibyte; 5311 int multibytep = coding->dst_multibyte;
5309 int *charbuf = coding->charbuf; 5312 int *charbuf = coding->charbuf;
5310 int *charbuf_end = charbuf + coding->charbuf_used; 5313 int *charbuf_end = charbuf + coding->charbuf_used;
@@ -5315,35 +5318,34 @@ encode_coding_ccl (coding)
5315 Lisp_Object attrs, charset_list; 5318 Lisp_Object attrs, charset_list;
5316 5319
5317 CODING_GET_INFO (coding, attrs, charset_list); 5320 CODING_GET_INFO (coding, attrs, charset_list);
5318 setup_ccl_program (&ccl, CODING_CCL_ENCODER (coding)); 5321 if (coding->consumed_char == coding->src_chars
5319 5322 && coding->mode & CODING_MODE_LAST_BLOCK)
5320 ccl.last_block = coding->mode & CODING_MODE_LAST_BLOCK; 5323 ccl->last_block = 1;
5321 ccl.dst_multibyte = coding->dst_multibyte;
5322 5324
5323 while (charbuf < charbuf_end) 5325 while (charbuf < charbuf_end)
5324 { 5326 {
5325 ccl_driver (&ccl, charbuf, destination_charbuf, 5327 ccl_driver (ccl, charbuf, destination_charbuf,
5326 charbuf_end - charbuf, 1024, charset_list); 5328 charbuf_end - charbuf, 1024, charset_list);
5327 if (multibytep) 5329 if (multibytep)
5328 { 5330 {
5329 ASSURE_DESTINATION (ccl.produced * 2); 5331 ASSURE_DESTINATION (ccl->produced * 2);
5330 for (i = 0; i < ccl.produced; i++) 5332 for (i = 0; i < ccl->produced; i++)
5331 EMIT_ONE_BYTE (destination_charbuf[i] & 0xFF); 5333 EMIT_ONE_BYTE (destination_charbuf[i] & 0xFF);
5332 } 5334 }
5333 else 5335 else
5334 { 5336 {
5335 ASSURE_DESTINATION (ccl.produced); 5337 ASSURE_DESTINATION (ccl->produced);
5336 for (i = 0; i < ccl.produced; i++) 5338 for (i = 0; i < ccl->produced; i++)
5337 *dst++ = destination_charbuf[i] & 0xFF; 5339 *dst++ = destination_charbuf[i] & 0xFF;
5338 produced_chars += ccl.produced; 5340 produced_chars += ccl->produced;
5339 } 5341 }
5340 charbuf += ccl.consumed; 5342 charbuf += ccl->consumed;
5341 if (ccl.status == CCL_STAT_QUIT 5343 if (ccl->status == CCL_STAT_QUIT
5342 || ccl.status == CCL_STAT_INVALID_CMD) 5344 || ccl->status == CCL_STAT_INVALID_CMD)
5343 break; 5345 break;
5344 } 5346 }
5345 5347
5346 switch (ccl.status) 5348 switch (ccl->status)
5347 { 5349 {
5348 case CCL_STAT_SUSPEND_BY_SRC: 5350 case CCL_STAT_SUSPEND_BY_SRC:
5349 record_conversion_result (coding, CODING_RESULT_INSUFFICIENT_SRC); 5351 record_conversion_result (coding, CODING_RESULT_INSUFFICIENT_SRC);
@@ -7534,6 +7536,7 @@ encode_coding (coding)
7534 Lisp_Object attrs; 7536 Lisp_Object attrs;
7535 Lisp_Object translation_table; 7537 Lisp_Object translation_table;
7536 int max_lookup; 7538 int max_lookup;
7539 struct ccl_spec cclspec;
7537 7540
7538 attrs = CODING_ID_ATTRS (coding->id); 7541 attrs = CODING_ID_ATTRS (coding->id);
7539 if (coding->encoder == encode_coding_raw_text) 7542 if (coding->encoder == encode_coding_raw_text)
@@ -7555,6 +7558,11 @@ encode_coding (coding)
7555 7558
7556 ALLOC_CONVERSION_WORK_AREA (coding); 7559 ALLOC_CONVERSION_WORK_AREA (coding);
7557 7560
7561 if (coding->encoder == encode_coding_ccl)
7562 {
7563 coding->spec.ccl = &cclspec;
7564 setup_ccl_program (&cclspec.ccl, CODING_CCL_ENCODER (coding));
7565 }
7558 do { 7566 do {
7559 coding_set_source (coding); 7567 coding_set_source (coding);
7560 consume_chars (coding, translation_table, max_lookup); 7568 consume_chars (coding, translation_table, max_lookup);
diff --git a/src/config.in b/src/config.in
index ef2c25c85d0..e1837e74560 100644
--- a/src/config.in
+++ b/src/config.in
@@ -318,10 +318,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
318/* Define to 1 if you have the <kerberos/krb.h> header file. */ 318/* Define to 1 if you have the <kerberos/krb.h> header file. */
319#undef HAVE_KERBEROS_KRB_H 319#undef HAVE_KERBEROS_KRB_H
320 320
321/* Define to 1 if `e_text' is member of `krb5_error'. */ 321/* Define to 1 if `e_text' is a member of `krb5_error'. */
322#undef HAVE_KRB5_ERROR_E_TEXT 322#undef HAVE_KRB5_ERROR_E_TEXT
323 323
324/* Define to 1 if `text' is member of `krb5_error'. */ 324/* Define to 1 if `text' is a member of `krb5_error'. */
325#undef HAVE_KRB5_ERROR_TEXT 325#undef HAVE_KRB5_ERROR_TEXT
326 326
327/* Define to 1 if you have the <krb5.h> header file. */ 327/* Define to 1 if you have the <krb5.h> header file. */
@@ -615,25 +615,25 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
615/* Define to 1 if you have the `strsignal' function. */ 615/* Define to 1 if you have the `strsignal' function. */
616#undef HAVE_STRSIGNAL 616#undef HAVE_STRSIGNAL
617 617
618/* Define to 1 if `ifr_addr' is member of `struct ifreq'. */ 618/* Define to 1 if `ifr_addr' is a member of `struct ifreq'. */
619#undef HAVE_STRUCT_IFREQ_IFR_ADDR 619#undef HAVE_STRUCT_IFREQ_IFR_ADDR
620 620
621/* Define to 1 if `ifr_broadaddr' is member of `struct ifreq'. */ 621/* Define to 1 if `ifr_broadaddr' is a member of `struct ifreq'. */
622#undef HAVE_STRUCT_IFREQ_IFR_BROADADDR 622#undef HAVE_STRUCT_IFREQ_IFR_BROADADDR
623 623
624/* Define to 1 if `ifr_flags' is member of `struct ifreq'. */ 624/* Define to 1 if `ifr_flags' is a member of `struct ifreq'. */
625#undef HAVE_STRUCT_IFREQ_IFR_FLAGS 625#undef HAVE_STRUCT_IFREQ_IFR_FLAGS
626 626
627/* Define to 1 if `ifr_hwaddr' is member of `struct ifreq'. */ 627/* Define to 1 if `ifr_hwaddr' is a member of `struct ifreq'. */
628#undef HAVE_STRUCT_IFREQ_IFR_HWADDR 628#undef HAVE_STRUCT_IFREQ_IFR_HWADDR
629 629
630/* Define to 1 if `ifr_netmask' is member of `struct ifreq'. */ 630/* Define to 1 if `ifr_netmask' is a member of `struct ifreq'. */
631#undef HAVE_STRUCT_IFREQ_IFR_NETMASK 631#undef HAVE_STRUCT_IFREQ_IFR_NETMASK
632 632
633/* Define to 1 if `n_un.n_name' is member of `struct nlist'. */ 633/* Define to 1 if `n_un.n_name' is a member of `struct nlist'. */
634#undef HAVE_STRUCT_NLIST_N_UN_N_NAME 634#undef HAVE_STRUCT_NLIST_N_UN_N_NAME
635 635
636/* Define to 1 if `tm_zone' is member of `struct tm'. */ 636/* Define to 1 if `tm_zone' is a member of `struct tm'. */
637#undef HAVE_STRUCT_TM_TM_ZONE 637#undef HAVE_STRUCT_TM_TM_ZONE
638 638
639/* Define to 1 if `struct utimbuf' is declared by <utime.h>. */ 639/* Define to 1 if `struct utimbuf' is declared by <utime.h>. */
@@ -860,6 +860,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
860/* Define to the one symbol short name of this package. */ 860/* Define to the one symbol short name of this package. */
861#undef PACKAGE_TARNAME 861#undef PACKAGE_TARNAME
862 862
863/* Define to the home page for this package. */
864#undef PACKAGE_URL
865
863/* Define to the version of this package. */ 866/* Define to the version of this package. */
864#undef PACKAGE_VERSION 867#undef PACKAGE_VERSION
865 868
@@ -919,6 +922,28 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
919/* Define to 1 if using the Motif X toolkit. */ 922/* Define to 1 if using the Motif X toolkit. */
920#undef USE_MOTIF 923#undef USE_MOTIF
921 924
925/* Enable extensions on AIX 3, Interix. */
926#ifndef _ALL_SOURCE
927# undef _ALL_SOURCE
928#endif
929/* Enable GNU extensions on systems that have them. */
930#ifndef _GNU_SOURCE
931# undef _GNU_SOURCE
932#endif
933/* Enable threading extensions on Solaris. */
934#ifndef _POSIX_PTHREAD_SEMANTICS
935# undef _POSIX_PTHREAD_SEMANTICS
936#endif
937/* Enable extensions on HP NonStop. */
938#ifndef _TANDEM_SOURCE
939# undef _TANDEM_SOURCE
940#endif
941/* Enable general extensions on Solaris. */
942#ifndef __EXTENSIONS__
943# undef __EXTENSIONS__
944#endif
945
946
922/* Define to 1 if we should use toolkit scroll bars. */ 947/* Define to 1 if we should use toolkit scroll bars. */
923#undef USE_TOOLKIT_SCROLL_BARS 948#undef USE_TOOLKIT_SCROLL_BARS
924 949
@@ -954,28 +979,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
954/* Define to 1 if you need to in order for `stat' and other things to work. */ 979/* Define to 1 if you need to in order for `stat' and other things to work. */
955#undef _POSIX_SOURCE 980#undef _POSIX_SOURCE
956 981
957/* Enable extensions on AIX 3, Interix. */
958#ifndef _ALL_SOURCE
959# undef _ALL_SOURCE
960#endif
961/* Enable GNU extensions on systems that have them. */
962#ifndef _GNU_SOURCE
963# undef _GNU_SOURCE
964#endif
965/* Enable threading extensions on Solaris. */
966#ifndef _POSIX_PTHREAD_SEMANTICS
967# undef _POSIX_PTHREAD_SEMANTICS
968#endif
969/* Enable extensions on HP NonStop. */
970#ifndef _TANDEM_SOURCE
971# undef _TANDEM_SOURCE
972#endif
973/* Enable general extensions on Solaris. */
974#ifndef __EXTENSIONS__
975# undef __EXTENSIONS__
976#endif
977
978
979/* Define to rpl_ if the getopt replacement functions and variables should be 982/* Define to rpl_ if the getopt replacement functions and variables should be
980 used. */ 983 used. */
981#undef __GETOPT_PREFIX 984#undef __GETOPT_PREFIX
diff --git a/src/dispextern.h b/src/dispextern.h
index 01ba3f54181..22d44fc9083 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -3122,7 +3122,8 @@ enum resource_types
3122 RES_TYPE_FLOAT, 3122 RES_TYPE_FLOAT,
3123 RES_TYPE_BOOLEAN, 3123 RES_TYPE_BOOLEAN,
3124 RES_TYPE_STRING, 3124 RES_TYPE_STRING,
3125 RES_TYPE_SYMBOL 3125 RES_TYPE_SYMBOL,
3126 RES_TYPE_BOOLEAN_NUMBER
3126}; 3127};
3127 3128
3128extern Lisp_Object x_get_arg P_ ((Display_Info *, Lisp_Object, 3129extern Lisp_Object x_get_arg P_ ((Display_Info *, Lisp_Object,
diff --git a/src/frame.c b/src/frame.c
index 40930af594c..757ed8f01a3 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -4005,6 +4005,13 @@ x_get_arg (dpyinfo, alist, param, attribute, class, type)
4005 case RES_TYPE_NUMBER: 4005 case RES_TYPE_NUMBER:
4006 return make_number (atoi (SDATA (tem))); 4006 return make_number (atoi (SDATA (tem)));
4007 4007
4008 case RES_TYPE_BOOLEAN_NUMBER:
4009 if (!strcmp (SDATA (tem), "on")
4010 || !strcmp (SDATA (tem), "true"))
4011 return make_number (1);
4012 return make_number (atoi (SDATA (tem)));
4013 break;
4014
4008 case RES_TYPE_FLOAT: 4015 case RES_TYPE_FLOAT:
4009 return make_float (atof (SDATA (tem))); 4016 return make_float (atof (SDATA (tem)));
4010 4017
diff --git a/src/xfns.c b/src/xfns.c
index 45bea1e4ec2..ae5858ccfb5 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -3347,7 +3347,9 @@ This function is an internal primitive--use `make-frame' instead. */)
3347#ifdef USE_LUCID 3347#ifdef USE_LUCID
3348 /* Prevent lwlib/xlwmenu.c from crashing because of a bug 3348 /* Prevent lwlib/xlwmenu.c from crashing because of a bug
3349 whereby it fails to get any font. */ 3349 whereby it fails to get any font. */
3350 BLOCK_INPUT;
3350 xlwmenu_default_font = XLoadQueryFont (FRAME_X_DISPLAY (f), "fixed"); 3351 xlwmenu_default_font = XLoadQueryFont (FRAME_X_DISPLAY (f), "fixed");
3352 UNBLOCK_INPUT;
3351#endif 3353#endif
3352 3354
3353 /* Frame contents get displaced if an embedded X window has a border. */ 3355 /* Frame contents get displaced if an embedded X window has a border. */
@@ -3421,7 +3423,7 @@ This function is an internal primitive--use `make-frame' instead. */)
3421 init_frame_faces (f); 3423 init_frame_faces (f);
3422 3424
3423 x_default_parameter (f, parms, Qmenu_bar_lines, make_number (1), 3425 x_default_parameter (f, parms, Qmenu_bar_lines, make_number (1),
3424 "menuBar", "MenuBar", RES_TYPE_NUMBER); 3426 "menuBar", "MenuBar", RES_TYPE_BOOLEAN_NUMBER);
3425 x_default_parameter (f, parms, Qtool_bar_lines, make_number (1), 3427 x_default_parameter (f, parms, Qtool_bar_lines, make_number (1),
3426 "toolBar", "ToolBar", RES_TYPE_NUMBER); 3428 "toolBar", "ToolBar", RES_TYPE_NUMBER);
3427 x_default_parameter (f, parms, Qbuffer_predicate, Qnil, 3429 x_default_parameter (f, parms, Qbuffer_predicate, Qnil,