aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMiles Bader2007-07-24 01:23:55 +0000
committerMiles Bader2007-07-24 01:23:55 +0000
commitd918f936d5bfc7e126cc3b1bbf6ce80836c8d6f1 (patch)
treec2dad763df03a5380928485043f9999c7a3533a6 /src
parenta1ef75fc233b19951f65bd2a177751751f9676a3 (diff)
parent1e8995158740b15936887264a3d7183beb5c51d9 (diff)
downloademacs-d918f936d5bfc7e126cc3b1bbf6ce80836c8d6f1.tar.gz
emacs-d918f936d5bfc7e126cc3b1bbf6ce80836c8d6f1.zip
Merge from emacs--devo--0
Patches applied: * emacs--devo--0 (patch 816-823) - Update from CVS - Merge from emacs--rel--22 * emacs--rel--22 (patch 59-69) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 237-238) - Update from CVS Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-235
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog39
-rw-r--r--src/buffer.c2
-rw-r--r--src/coding.c2
-rw-r--r--src/data.c6
-rw-r--r--src/eval.c6
-rw-r--r--src/w32proc.c82
-rw-r--r--src/window.c2
-rw-r--r--src/xdisp.c10
-rw-r--r--src/xfns.c1
-rw-r--r--src/xterm.c50
-rw-r--r--src/xterm.h1
11 files changed, 140 insertions, 61 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index af29937753c..bbb44e9cd6d 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,40 @@
12007-07-22 Nick Roberts <nickrob@snap.net.nz>
2
3 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
4 remote default-directory.
5
6 * buffer.c (mode-line-format): Describe above case in doc string.
7
82007-07-20 Eli Zaretskii <eliz@gnu.org>
9
10 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
11 Define if not defined.
12
132007-07-18 Jason Rumney <jasonr@gnu.org>
14
15 * w32proc.c (w32_executable_type): Handle 64 bit executables.
16
172007-07-18 Richard Stallman <rms@gnu.org>
18
19 * data.c (Fsetq_default): Doc fix.
20
21 * eval.c (Fsetq): Doc fix.
22
232007-07-18 Juanma Barranquero <lekktu@gmail.com>
24
25 * coding.c (Ffind_operation_coding_system):
26 * eval.c (For, Fand): Doc fixes.
27 Reported by Johan Bockg,Ae(Brd.
28
292007-07-18 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
30
31 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
32
33 * xterm.h: Declare x_ewmh_activate_frame.
34
35 * xterm.c (x_ewmh_activate_frame): New function.
36 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
37
12007-07-17 Martin Rudalics <rudalics@gmx.at> 382007-07-17 Martin Rudalics <rudalics@gmx.at>
2 39
3 * window.c (Fdisplay_buffer): If largest or LRU window is the 40 * window.c (Fdisplay_buffer): If largest or LRU window is the
@@ -8097,7 +8134,7 @@
80972005-09-19 Kim F. Storm <storm@cua.dk> 81342005-09-19 Kim F. Storm <storm@cua.dk>
8098 8135
8099 * editfns.c (Fformat): Don't scan past end of format string that 8136 * editfns.c (Fformat): Don't scan past end of format string that
8100 ends in %. Reported by: Johan Bockg,Ae(Brd. 8137 ends in %. Reported by Johan Bockg,Ae(Brd.
8101 8138
81022005-09-18 Andreas Schwab <schwab@suse.de> 81392005-09-18 Andreas Schwab <schwab@suse.de>
8103 8140
diff --git a/src/buffer.c b/src/buffer.c
index 925463a63c3..b401ce97e48 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -5517,6 +5517,8 @@ A string is printed verbatim in the mode line except for %-constructs:
5517 %P -- print percent of buffer above bottom of window, perhaps plus Top, 5517 %P -- print percent of buffer above bottom of window, perhaps plus Top,
5518 or print Bottom or All. 5518 or print Bottom or All.
5519 %n -- print Narrow if appropriate. 5519 %n -- print Narrow if appropriate.
5520 %R -- print R or hyphen. R means that default-directory is on a
5521 remote machine.
5520 %t -- visited file is text or binary (if OS supports this distinction). 5522 %t -- visited file is text or binary (if OS supports this distinction).
5521 %z -- print mnemonics of keyboard, terminal, and buffer coding systems. 5523 %z -- print mnemonics of keyboard, terminal, and buffer coding systems.
5522 %Z -- like %z, but including the end-of-line format. 5524 %Z -- like %z, but including the end-of-line format.
diff --git a/src/coding.c b/src/coding.c
index e4ecbf50f62..59592fdd09d 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -8400,7 +8400,7 @@ contents (not yet decoded). If `file-coding-system-alist' specifies a
8400function to call for FILENAME, that function should examine the 8400function to call for FILENAME, that function should examine the
8401contents of BUFFER instead of reading the file. 8401contents of BUFFER instead of reading the file.
8402 8402
8403usage: (find-operation-coding-system OPERATION ARGUMENTS ...) */) 8403usage: (find-operation-coding-system OPERATION ARGUMENTS...) */)
8404 (nargs, args) 8404 (nargs, args)
8405 int nargs; 8405 int nargs;
8406 Lisp_Object *args; 8406 Lisp_Object *args;
diff --git a/src/data.c b/src/data.c
index dd5bc0bcb21..99c38db1395 100644
--- a/src/data.c
+++ b/src/data.c
@@ -1440,7 +1440,7 @@ More generally, you can use multiple variables and values, as in
1440This sets each VAR's default value to the corresponding VALUE. 1440This sets each VAR's default value to the corresponding VALUE.
1441The VALUE for the Nth VAR can refer to the new default values 1441The VALUE for the Nth VAR can refer to the new default values
1442of previous VARs. 1442of previous VARs.
1443usage: (setq-default [VAR VALUE...]) */) 1443usage: (setq-default [VAR VALUE]...) */)
1444 (args) 1444 (args)
1445 Lisp_Object args; 1445 Lisp_Object args;
1446{ 1446{
@@ -2195,7 +2195,9 @@ DEFUN ("zerop", Fzerop, Szerop, 1, 1, 0,
2195 return Qnil; 2195 return Qnil;
2196} 2196}
2197 2197
2198/* Convert between long values and pairs of Lisp integers. */ 2198/* Convert between long values and pairs of Lisp integers.
2199 Note that long_to_cons returns a single Lisp integer
2200 when the value fits in one. */
2199 2201
2200Lisp_Object 2202Lisp_Object
2201long_to_cons (i) 2203long_to_cons (i)
diff --git a/src/eval.c b/src/eval.c
index cd0d0fc1c5c..7d7e73484f7 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -330,7 +330,7 @@ DEFUN ("or", For, Sor, 0, UNEVALLED, 0,
330 doc: /* Eval args until one of them yields non-nil, then return that value. 330 doc: /* Eval args until one of them yields non-nil, then return that value.
331The remaining args are not evalled at all. 331The remaining args are not evalled at all.
332If all args return nil, return nil. 332If all args return nil, return nil.
333usage: (or CONDITIONS ...) */) 333usage: (or CONDITIONS...) */)
334 (args) 334 (args)
335 Lisp_Object args; 335 Lisp_Object args;
336{ 336{
@@ -355,7 +355,7 @@ DEFUN ("and", Fand, Sand, 0, UNEVALLED, 0,
355 doc: /* Eval args until one of them yields nil, then return nil. 355 doc: /* Eval args until one of them yields nil, then return nil.
356The remaining args are not evalled at all. 356The remaining args are not evalled at all.
357If no arg yields nil, return the last arg's value. 357If no arg yields nil, return the last arg's value.
358usage: (and CONDITIONS ...) */) 358usage: (and CONDITIONS...) */)
359 (args) 359 (args)
360 Lisp_Object args; 360 Lisp_Object args;
361{ 361{
@@ -531,7 +531,7 @@ Thus, (setq x (1+ y)) sets `x' to the value of `(1+ y)'.
531The second VAL is not computed until after the first SYM is set, and so on; 531The second VAL is not computed until after the first SYM is set, and so on;
532each VAL can use the new value of variables set earlier in the `setq'. 532each VAL can use the new value of variables set earlier in the `setq'.
533The return value of the `setq' form is the value of the last VAL. 533The return value of the `setq' form is the value of the last VAL.
534usage: (setq SYM VAL SYM VAL ...) */) 534usage: (setq [SYM VAL]...) */)
535 (args) 535 (args)
536 Lisp_Object args; 536 Lisp_Object args;
537{ 537{
diff --git a/src/w32proc.c b/src/w32proc.c
index ab768527658..a7c2cff450d 100644
--- a/src/w32proc.c
+++ b/src/w32proc.c
@@ -591,6 +591,13 @@ get_result:
591 return pid; 591 return pid;
592} 592}
593 593
594/* Old versions of w32api headers don't have separate 32-bit and
595 64-bit defines, but the one they have matches the 32-bit variety. */
596#ifndef IMAGE_NT_OPTIONAL_HDR32_MAGIC
597# define IMAGE_NT_OPTIONAL_HDR32_MAGIC IMAGE_NT_OPTIONAL_HDR_MAGIC
598# define IMAGE_OPTIONAL_HEADER32 IMAGE_OPTIONAL_HEADER
599#endif
600
594void 601void
595w32_executable_type (char * filename, int * is_dos_app, int * is_cygnus_app, int * is_gui_app) 602w32_executable_type (char * filename, int * is_dos_app, int * is_cygnus_app, int * is_gui_app)
596{ 603{
@@ -651,33 +658,54 @@ w32_executable_type (char * filename, int * is_dos_app, int * is_cygnus_app, int
651 } 658 }
652 else if (nt_header->Signature == IMAGE_NT_SIGNATURE) 659 else if (nt_header->Signature == IMAGE_NT_SIGNATURE)
653 { 660 {
654 /* Look for cygwin.dll in DLL import list. */ 661 IMAGE_DATA_DIRECTORY *data_dir = NULL;
655 IMAGE_DATA_DIRECTORY import_dir = 662 if (nt_header->OptionalHeader.Magic == IMAGE_NT_OPTIONAL_HDR32_MAGIC)
656 nt_header->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT]; 663 {
657 IMAGE_IMPORT_DESCRIPTOR * imports; 664 /* Ensure we are using the 32 bit structure. */
658 IMAGE_SECTION_HEADER * section; 665 IMAGE_OPTIONAL_HEADER32 *opt
659 666 = (IMAGE_OPTIONAL_HEADER32*) &(nt_header->OptionalHeader);
660 section = rva_to_section (import_dir.VirtualAddress, nt_header); 667 data_dir = opt->DataDirectory;
661 imports = RVA_TO_PTR (import_dir.VirtualAddress, section, executable); 668 *is_gui_app = (opt->Subsystem == IMAGE_SUBSYSTEM_WINDOWS_GUI);
662 669 }
663 for ( ; imports->Name; imports++) 670 /* MingW 3.12 has the required 64 bit structs, but in case older
664 { 671 versions don't, only check 64 bit exes if we know how. */
665 char * dllname = RVA_TO_PTR (imports->Name, section, executable); 672#ifdef IMAGE_NT_OPTIONAL_HDR64_MAGIC
666 673 else if (nt_header->OptionalHeader.Magic
667 /* The exact name of the cygwin dll has changed with 674 == IMAGE_NT_OPTIONAL_HDR64_MAGIC)
668 various releases, but hopefully this will be reasonably 675 {
669 future proof. */ 676 IMAGE_OPTIONAL_HEADER64 *opt
670 if (strncmp (dllname, "cygwin", 6) == 0) 677 = (IMAGE_OPTIONAL_HEADER64*) &(nt_header->OptionalHeader);
671 { 678 data_dir = opt->DataDirectory;
672 *is_cygnus_app = TRUE; 679 *is_gui_app = (opt->Subsystem == IMAGE_SUBSYSTEM_WINDOWS_GUI);
673 break; 680 }
674 } 681#endif
675 } 682 if (data_dir)
676 683 {
677 /* Check whether app is marked as a console or windowed (aka 684 /* Look for cygwin.dll in DLL import list. */
678 GUI) app. Accept Posix and OS2 subsytem apps as console 685 IMAGE_DATA_DIRECTORY import_dir =
679 apps. */ 686 data_dir[IMAGE_DIRECTORY_ENTRY_IMPORT];
680 *is_gui_app = (nt_header->OptionalHeader.Subsystem == IMAGE_SUBSYSTEM_WINDOWS_GUI); 687 IMAGE_IMPORT_DESCRIPTOR * imports;
688 IMAGE_SECTION_HEADER * section;
689
690 section = rva_to_section (import_dir.VirtualAddress, nt_header);
691 imports = RVA_TO_PTR (import_dir.VirtualAddress, section,
692 executable);
693
694 for ( ; imports->Name; imports++)
695 {
696 char * dllname = RVA_TO_PTR (imports->Name, section,
697 executable);
698
699 /* The exact name of the cygwin dll has changed with
700 various releases, but hopefully this will be reasonably
701 future proof. */
702 if (strncmp (dllname, "cygwin", 6) == 0)
703 {
704 *is_cygnus_app = TRUE;
705 break;
706 }
707 }
708 }
681 } 709 }
682 } 710 }
683 711
diff --git a/src/window.c b/src/window.c
index 59b70152b09..fc60b72d937 100644
--- a/src/window.c
+++ b/src/window.c
@@ -7602,4 +7602,4 @@ keys_of_window ()
7602} 7602}
7603 7603
7604/* arch-tag: 90a9c576-0590-48f1-a5f1-6c96a0452d9f 7604/* arch-tag: 90a9c576-0590-48f1-a5f1-6c96a0452d9f
7605 (do not change thisc omment) */ 7605 (do not change this comment) */
diff --git a/src/xdisp.c b/src/xdisp.c
index 05898c51512..c8c519107ac 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -18144,6 +18144,16 @@ decode_mode_spec (w, c, field_width, precision, multibyte)
18144#endif 18144#endif
18145 break; 18145 break;
18146 18146
18147 case 'R':
18148 {
18149 Lisp_Object val;
18150 val = call1 (intern ("file-remote-p"), current_buffer->directory);
18151 if (NILP (val))
18152 return "-";
18153 else
18154 return "@";
18155 }
18156
18147 case 't': /* indicate TEXT or BINARY */ 18157 case 't': /* indicate TEXT or BINARY */
18148#ifdef MODE_LINE_BINARY_TEXT 18158#ifdef MODE_LINE_BINARY_TEXT
18149 return MODE_LINE_BINARY_TEXT (b); 18159 return MODE_LINE_BINARY_TEXT (b);
diff --git a/src/xfns.c b/src/xfns.c
index c90c4eb9cfc..b48a5432a86 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -3717,6 +3717,7 @@ FRAME nil means use the selected frame. */)
3717 x_catch_errors (dpy); 3717 x_catch_errors (dpy);
3718 XSetInputFocus (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), 3718 XSetInputFocus (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
3719 RevertToParent, CurrentTime); 3719 RevertToParent, CurrentTime);
3720 x_ewmh_activate_frame (f);
3720 x_uncatch_errors (); 3721 x_uncatch_errors ();
3721 UNBLOCK_INPUT; 3722 UNBLOCK_INPUT;
3722 3723
diff --git a/src/xterm.c b/src/xterm.c
index 51d40f2a4d4..d2fb432e82e 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -9144,38 +9144,36 @@ x_lower_frame (f)
9144 } 9144 }
9145} 9145}
9146 9146
9147/* Activate frame with Extended Window Manager Hints */
9148
9149void
9150x_ewmh_activate_frame (f)
9151 FRAME_PTR f;
9152{
9153 /* See Window Manager Specification/Extended Window Manager Hints at
9154 http://freedesktop.org/wiki/Standards_2fwm_2dspec */
9155
9156 const char *atom = "_NET_ACTIVE_WINDOW";
9157 if (f->async_visible && wm_supports (f, atom))
9158 {
9159 Lisp_Object frame;
9160 XSETFRAME (frame, f);
9161 Fx_send_client_event (frame, make_number (0), frame,
9162 make_unibyte_string (atom, strlen (atom)),
9163 make_number (32),
9164 Fcons (make_number (1),
9165 Fcons (make_number (last_user_time),
9166 Qnil)));
9167 }
9168}
9169
9147static void 9170static void
9148XTframe_raise_lower (f, raise_flag) 9171XTframe_raise_lower (f, raise_flag)
9149 FRAME_PTR f; 9172 FRAME_PTR f;
9150 int raise_flag; 9173 int raise_flag;
9151{ 9174{
9152 if (raise_flag) 9175 if (raise_flag)
9153 { 9176 x_raise_frame (f);
9154 /* The following code is needed for `raise-frame' to work on
9155 some versions of metacity; see Window Manager
9156 Specification/Extended Window Manager Hints at
9157 http://freedesktop.org/wiki/Standards_2fwm_2dspec */
9158
9159#if 0
9160 /* However, on other versions (metacity 2.17.2-1.fc7), it
9161 reportedly causes hangs when resizing frames. */
9162
9163 const char *atom = "_NET_ACTIVE_WINDOW";
9164 if (f->async_visible && wm_supports (f, atom))
9165 {
9166 Lisp_Object frame;
9167 XSETFRAME (frame, f);
9168 Fx_send_client_event (frame, make_number (0), frame,
9169 make_unibyte_string (atom, strlen (atom)),
9170 make_number (32),
9171 Fcons (make_number (1),
9172 Fcons (make_number (last_user_time),
9173 Qnil)));
9174 }
9175 else
9176#endif
9177 x_raise_frame (f);
9178 }
9179 else 9177 else
9180 x_lower_frame (f); 9178 x_lower_frame (f);
9181} 9179}
diff --git a/src/xterm.h b/src/xterm.h
index 141f58168e1..c607080a5dc 100644
--- a/src/xterm.h
+++ b/src/xterm.h
@@ -999,6 +999,7 @@ extern void x_fully_uncatch_errors P_ ((void));
999extern void x_set_window_size P_ ((struct frame *, int, int, int)); 999extern void x_set_window_size P_ ((struct frame *, int, int, int));
1000extern void x_set_mouse_position P_ ((struct frame *, int, int)); 1000extern void x_set_mouse_position P_ ((struct frame *, int, int));
1001extern void x_set_mouse_pixel_position P_ ((struct frame *, int, int)); 1001extern void x_set_mouse_pixel_position P_ ((struct frame *, int, int));
1002extern void x_ewmh_activate_frame P_ ((struct frame *));
1002extern void x_raise_frame P_ ((struct frame *)); 1003extern void x_raise_frame P_ ((struct frame *));
1003extern void x_lower_frame P_ ((struct frame *)); 1004extern void x_lower_frame P_ ((struct frame *));
1004extern void x_make_frame_visible P_ ((struct frame *)); 1005extern void x_make_frame_visible P_ ((struct frame *));