aboutsummaryrefslogtreecommitdiffstats
path: root/lib-src
diff options
context:
space:
mode:
authorMiles Bader2007-01-01 03:21:06 +0000
committerMiles Bader2007-01-01 03:21:06 +0000
commit4c34eeeee5886d14f3e60b77fb563cb549c8896f (patch)
treeaf17010f0864173dd6416585f08d686377791412 /lib-src
parent76acf92ebe73e35528c5966a21328305ba7b5aef (diff)
parentdb6292445840e2795f35ebad62a14314fc3c7c21 (diff)
downloademacs-4c34eeeee5886d14f3e60b77fb563cb549c8896f.tar.gz
emacs-4c34eeeee5886d14f3e60b77fb563cb549c8896f.zip
Merge from emacs--devo--0
Patches applied: * emacs--devo--0 (patch 563-582) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 177-185) - Merge from emacs--devo--0 - Update from CVS Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-158
Diffstat (limited to 'lib-src')
-rw-r--r--lib-src/.gitignore1
-rw-r--r--lib-src/ChangeLog58
-rw-r--r--lib-src/emacsclient.c77
-rw-r--r--lib-src/etags.c19
-rw-r--r--lib-src/makefile.w32-in44
5 files changed, 144 insertions, 55 deletions
diff --git a/lib-src/.gitignore b/lib-src/.gitignore
index faf263e740d..157ce12c972 100644
--- a/lib-src/.gitignore
+++ b/lib-src/.gitignore
@@ -24,3 +24,4 @@ makefile
24blessmail 24blessmail
25*-spd 25*-spd
26*.pdb 26*.pdb
27stamp_BLD
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog
index f15644050d9..76a0dcf1b9e 100644
--- a/lib-src/ChangeLog
+++ b/lib-src/ChangeLog
@@ -1,3 +1,36 @@
12006-12-28 Francesco Potort,Al(B <pot@gnu.org>
2
3 * etags.c (readline): When creating a relative file name from a
4 #line directive, leave the file name alone. The previous
5 behaviour was to make it relative to the tags file directory,
6 under the hypothesis that the #line directive file name was
7 relative to the directory of the tagged file. That hypothesis is
8 wrong with Cpp and Lex.
9 (Makefile_targets): Do not include spaces in tag names.
10
112006-12-22 Eli Zaretskii <eliz@gnu.org>
12
13 * makefile.w32-in (make-docfile, ctags, etags, ebrowse, hexl)
14 (movemail, fakemail, sorted-doc, digest-doc, emacsclient)
15 (test-distrib, $(DOC), all): depend on stamp_BLD instead of $(BLD).
16 ($(BLD)/make-docfile.$(O) $(BLD)/hexl.$(O) $(BLD)/fakemail.$(O))
17 ($(BLD)/sorted-doc.$(O) $(BLD)/digest-doc.$(O))
18 ($(BLD)/test-distrib.$(O) $(GETOPTOBJS) $(MOVEMAILOBJS))
19 ($(BLD)/emacsclient.$(O) $(BLD)/etags.$(O) $(BLD)/regex.$(O))
20 ($(BLD)/ebrowse.$(O) $(BLD)/ctags.$(O)): Depend on stamp_BLD.
21 (clean): Delete stamp_BLD.
22
232006-12-20 Francesco Potort,Al(B <pot@gnu.org>
24
25 * etags.c (C_entries): DEFUN names were longer by one: corrected.
26
272006-12-18 Juanma Barranquero <lekktu@gmail.com>
28
29 * emacsclient.c [WINDOWSNT] (set_fg, get_wc): New variables.
30 [WINDOWSNT] (w32_find_emacs_process, w32_give_focus): New functions.
31 (main) [WINDOWSNT]: Remove code to release the focus; call
32 w32_give_focus instead.
33
12006-12-15 Juanma Barranquero <lekktu@gmail.com> 342006-12-15 Juanma Barranquero <lekktu@gmail.com>
2 35
3 * emacsclient.c (w32_execvp): New function; wrapper for `execvp'. 36 * emacsclient.c (w32_execvp): New function; wrapper for `execvp'.
@@ -26,7 +59,7 @@
26 (set_tcp_socket): Make the message for non-local connections 59 (set_tcp_socket): Make the message for non-local connections
27 informational rather than an error. 60 informational rather than an error.
28 61
292006-11-28 Kevin Ryde <user42@zip.com.au> (tiny change) 622006-11-28 Kevin Ryde <user42@zip.com.au>
30 63
31 * etags.c (readline): Check for double quote after #line. 64 * etags.c (readline): Check for double quote after #line.
32 65
@@ -454,10 +487,9 @@
454 487
4552005-07-13 Ken Raeburn <raeburn@gnu.org> 4882005-07-13 Ken Raeburn <raeburn@gnu.org>
456 489
457 * pop.c: Don't include des.h (or variants thereof); krb.h will do 490 * pop.c: Don't include des.h (or variants thereof); krb.h will do it.
458 it. 491 (sendline): Add the \r\n to the line in a temporary buffer, and write
459 (sendline): Add the \r\n to the line in a temporary buffer, and 492 it all at once.
460 write it all at once.
461 493
4622005-07-04 Lute Kamstra <lute@gnu.org> 4942005-07-04 Lute Kamstra <lute@gnu.org>
463 495
@@ -497,10 +529,9 @@
497 529
4982005-02-04 Andreas Schwab <schwab@suse.de> 5302005-02-04 Andreas Schwab <schwab@suse.de>
499 531
500 * movemail.c (fatal): Accept third parameter and pass down to 532 * movemail.c (fatal): Accept third parameter and pass down to error.
501 error. 533 (pfatal_with_name): Pass error string as format parameter instead of
502 (pfatal_with_name): Pass error string as format parameter instead 534 as part of format string.
503 of as part of format string.
504 (pfatal_and_delete): Likewise. 535 (pfatal_and_delete): Likewise.
505 (main): Adjust call to fatal. 536 (main): Adjust call to fatal.
506 (xmalloc): Likewise. 537 (xmalloc): Likewise.
@@ -511,8 +542,7 @@
511 542
5122004-12-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> 5432004-12-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
513 544
514 * make-docfile.c: Include stdlib.h even if WINDOWSNT is not 545 * make-docfile.c: Include stdlib.h even if WINDOWSNT is not defined.
515 defined.
516 546
5172004-12-15 Andreas Schwab <schwab@suse.de> 5472004-12-15 Andreas Schwab <schwab@suse.de>
518 548
@@ -578,8 +608,7 @@
578 608
5792004-05-10 Thien-Thi Nguyen <ttn@gnu.org> 6092004-05-10 Thien-Thi Nguyen <ttn@gnu.org>
580 610
581 * test-distrib.c (main): For failing cases, exit with 611 * test-distrib.c (main): For failing cases, exit with `EXIT_FAILURE'.
582 `EXIT_FAILURE'.
583 612
5842004-05-08 Jason Rumney <jasonr@gnu.org> 6132004-05-08 Jason Rumney <jasonr@gnu.org>
585 614
@@ -752,8 +781,7 @@
752 781
7532003-04-27 Oliver Scholz <alkibiades@gmx.de> 7822003-04-27 Oliver Scholz <alkibiades@gmx.de>
754 783
755 * update-game-score.c (read_scores): Fix corruption of scores on 784 * update-game-score.c (read_scores): Fix corruption of scores on read.
756 read.
757 785
7582003-04-12 Stefan Monnier <monnier@cs.yale.edu> 7862003-04-12 Stefan Monnier <monnier@cs.yale.edu>
759 787
diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c
index bbd6cbe239b..419cdd94b88 100644
--- a/lib-src/emacsclient.c
+++ b/lib-src/emacsclient.c
@@ -523,7 +523,7 @@ initialize_sockets ()
523/* 523/*
524 * Read the information needed to set up a TCP comm channel with 524 * Read the information needed to set up a TCP comm channel with
525 * the Emacs server: host, port, pid and authentication string. 525 * the Emacs server: host, port, pid and authentication string.
526*/ 526 */
527int 527int
528get_server_config (server, authentication) 528get_server_config (server, authentication)
529 struct sockaddr_in *server; 529 struct sockaddr_in *server;
@@ -845,6 +845,62 @@ set_socket ()
845 exit (EXIT_FAILURE); 845 exit (EXIT_FAILURE);
846} 846}
847 847
848#ifdef WINDOWSNT
849FARPROC set_fg; /* Pointer to AllowSetForegroundWindow. */
850FARPROC get_wc; /* Pointer to RealGetWindowClassA. */
851
852BOOL CALLBACK
853w32_find_emacs_process (hWnd, lParam)
854 HWND hWnd;
855 LPARAM lParam;
856{
857 DWORD pid;
858 char class[6];
859
860 /* Reject any window not of class "Emacs". */
861 if (! get_wc (hWnd, class, sizeof (class))
862 || strcmp (class, "Emacs"))
863 return TRUE;
864
865 /* We only need the process id, not the thread id. */
866 (void) GetWindowThreadProcessId (hWnd, &pid);
867
868 /* Not the one we're looking for. */
869 if (pid != (DWORD) emacs_pid) return TRUE;
870
871 /* OK, let's raise it. */
872 set_fg (emacs_pid);
873
874 /* Stop enumeration. */
875 return FALSE;
876}
877
878/*
879 * Search for a window of class "Emacs" and owned by a process with
880 * process id = emacs_pid. If found, allow it to grab the focus.
881 */
882void
883w32_give_focus ()
884{
885 HMODULE hUser32;
886
887 /* It should'nt happen when dealing with TCP sockets. */
888 if (!emacs_pid) return;
889
890 if (!(hUser32 = LoadLibrary ("user32.dll"))) return;
891
892 /* Modern Windows restrict which processes can set the foreground window.
893 emacsclient can allow Emacs to grab the focus by calling the function
894 AllowSetForegroundWindow. Unfortunately, older Windows (W95, W98 and
895 NT) lack this function, so we have to check its availability. */
896 if ((set_fg = GetProcAddress (hUser32, "AllowSetForegroundWindow"))
897 && (get_wc = GetProcAddress (hUser32, "RealGetWindowClassA")))
898 EnumWindows (w32_find_emacs_process, (LPARAM) 0);
899
900 FreeLibrary (hUser32);
901}
902#endif
903
848int 904int
849main (argc, argv) 905main (argc, argv)
850 int argc; 906 int argc;
@@ -889,24 +945,7 @@ main (argc, argv)
889 } 945 }
890 946
891#ifdef WINDOWSNT 947#ifdef WINDOWSNT
892 /* 948 w32_give_focus ();
893 Modern Windows restrict which processes can set the foreground window.
894 emacsclient can allow Emacs to grab the focus by calling the function
895 AllowSetForegroundWindow. Unfortunately, older Windows (W95, W98
896 and NT) lack this function, so we have to check its availability.
897 */
898 if (emacs_pid)
899 {
900 HMODULE hUser32;
901
902 if (hUser32 = LoadLibrary ("user32.dll"))
903 {
904 FARPROC set_fg;
905 if (set_fg = GetProcAddress (hUser32, "AllowSetForegroundWindow"))
906 set_fg (emacs_pid);
907 FreeLibrary (hUser32);
908 }
909 }
910#endif 949#endif
911 950
912 if (nowait) 951 if (nowait)
diff --git a/lib-src/etags.c b/lib-src/etags.c
index 26dac368b4d..c4f7fdc4d69 100644
--- a/lib-src/etags.c
+++ b/lib-src/etags.c
@@ -41,7 +41,7 @@
41 * configuration file containing regexp definitions for etags. 41 * configuration file containing regexp definitions for etags.
42 */ 42 */
43 43
44char pot_etags_version[] = "@(#) pot revision number is $Revision: 3.61 $"; 44char pot_etags_version[] = "@(#) pot revision number is 17.25";
45 45
46#define TRUE 1 46#define TRUE 1
47#define FALSE 0 47#define FALSE 0
@@ -3163,7 +3163,7 @@ static void
3163make_C_tag (isfun) 3163make_C_tag (isfun)
3164 bool isfun; 3164 bool isfun;
3165{ 3165{
3166 /* This function should never be called when token.valid is FALSE, but 3166 /* This function is never called when token.valid is FALSE, but
3167 we must protect against invalid input or internal errors. */ 3167 we must protect against invalid input or internal errors. */
3168 if (!DEBUG && !token.valid) 3168 if (!DEBUG && !token.valid)
3169 return; 3169 return;
@@ -3493,7 +3493,6 @@ C_entries (c_ext, inf)
3493 off += 1; 3493 off += 1;
3494 len -= 1; 3494 len -= 1;
3495 } 3495 }
3496 len = toklen;
3497 linebuffer_setlen (&token_name, len); 3496 linebuffer_setlen (&token_name, len);
3498 strncpy (token_name.buffer, 3497 strncpy (token_name.buffer,
3499 newlb.buffer + off, len); 3498 newlb.buffer + off, len);
@@ -4687,8 +4686,16 @@ Makefile_targets (inf)
4687 while (*bp != '\0' && *bp != '=' && *bp != ':') 4686 while (*bp != '\0' && *bp != '=' && *bp != ':')
4688 bp++; 4687 bp++;
4689 if (*bp == ':' || (globals && *bp == '=')) 4688 if (*bp == ':' || (globals && *bp == '='))
4690 make_tag (lb.buffer, bp - lb.buffer, TRUE, 4689 {
4691 lb.buffer, bp - lb.buffer + 1, lineno, linecharno); 4690 /* We should detect if there is more than one tag, but we do not.
4691 We just skip initial and final spaces. */
4692 char * namestart = skip_spaces (lb.buffer);
4693 while (--bp > namestart)
4694 if (!notinname (*bp))
4695 break;
4696 make_tag (namestart, bp - namestart + 1, TRUE,
4697 lb.buffer, bp - lb.buffer + 2, lineno, linecharno);
4698 }
4692 } 4699 }
4693} 4700}
4694 4701
@@ -6278,7 +6285,7 @@ readline (lbp, stream)
6278 name = lbp->buffer + start; 6285 name = lbp->buffer + start;
6279 *endp = '\0'; 6286 *endp = '\0';
6280 canonicalize_filename (name); /* for DOS */ 6287 canonicalize_filename (name); /* for DOS */
6281 taggedabsname = absolute_filename (name, curfdp->infabsdir); 6288 taggedabsname = absolute_filename (name, tagfiledir);
6282 if (filename_is_absolute (name) 6289 if (filename_is_absolute (name)
6283 || filename_is_absolute (curfdp->infname)) 6290 || filename_is_absolute (curfdp->infname))
6284 taggedfname = savestr (taggedabsname); 6291 taggedfname = savestr (taggedabsname);
diff --git a/lib-src/makefile.w32-in b/lib-src/makefile.w32-in
index 65d40255ae7..7b669c42bd4 100644
--- a/lib-src/makefile.w32-in
+++ b/lib-src/makefile.w32-in
@@ -24,7 +24,7 @@ ALL = make-docfile hexl ctags etags movemail ebrowse sorted-doc digest-doc emacs
24 24
25.PHONY: $(ALL) 25.PHONY: $(ALL)
26 26
27VERSION = 22.0.91 27VERSION = 22.0.92
28 28
29LOCAL_FLAGS = -DWINDOWSNT -DDOS_NT -DSTDC_HEADERS=1 -DNO_LDAV=1 \ 29LOCAL_FLAGS = -DWINDOWSNT -DDOS_NT -DSTDC_HEADERS=1 -DNO_LDAV=1 \
30 -DNO_ARCHIVES=1 -DHAVE_CONFIG_H=1 -I../nt/inc \ 30 -DNO_ARCHIVES=1 -DHAVE_CONFIG_H=1 -I../nt/inc \
@@ -45,18 +45,18 @@ $(BLD)/digest-doc.exe: $(BLD)/digest-doc.$(O)
45$(BLD)/test-distrib.exe: $(BLD)/test-distrib.$(O) 45$(BLD)/test-distrib.exe: $(BLD)/test-distrib.$(O)
46 $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/test-distrib.$(O) $(LIBS) 46 $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/test-distrib.$(O) $(LIBS)
47 47
48make-docfile: $(BLD) $(BLD)/make-docfile.exe 48make-docfile: stamp_BLD $(BLD)/make-docfile.exe
49ctags: $(BLD) $(BLD)/ctags.exe 49ctags: stamp_BLD $(BLD)/ctags.exe
50etags: $(BLD) $(BLD)/etags.exe 50etags: stamp_BLD $(BLD)/etags.exe
51ebrowse: $(BLD) $(BLD)/ebrowse.exe 51ebrowse: stamp_BLD $(BLD)/ebrowse.exe
52hexl: $(BLD) $(BLD)/hexl.exe 52hexl: stamp_BLD $(BLD)/hexl.exe
53movemail: $(BLD) $(BLD)/movemail.exe 53movemail: stamp_BLD $(BLD)/movemail.exe
54fakemail: $(BLD) $(BLD)/fakemail.exe 54fakemail: stamp_BLD $(BLD)/fakemail.exe
55sorted-doc: $(BLD) $(BLD)/sorted-doc.exe 55sorted-doc: stamp_BLD $(BLD)/sorted-doc.exe
56digest-doc: $(BLD) $(BLD)/digest-doc.exe 56digest-doc: stamp_BLD $(BLD)/digest-doc.exe
57emacsclient: $(BLD) $(BLD)/emacsclient.exe $(BLD)/emacsclientw.exe 57emacsclient: stamp_BLD $(BLD)/emacsclient.exe $(BLD)/emacsclientw.exe
58 58
59test-distrib: $(BLD) $(BLD)/test-distrib.exe 59test-distrib: stamp_BLD $(BLD)/test-distrib.exe
60 "$(BLD)/test-distrib.exe" "$(SRC)/testfile" 60 "$(BLD)/test-distrib.exe" "$(SRC)/testfile"
61 61
62GETOPTOBJS = $(BLD)/getopt.$(O) $(BLD)/getopt1.$(O) 62GETOPTOBJS = $(BLD)/getopt.$(O) $(BLD)/getopt1.$(O)
@@ -275,7 +275,7 @@ lisp2 = \
275 - $(DEL) temacs.exe 275 - $(DEL) temacs.exe
276 276
277DOC = DOC 277DOC = DOC
278$(DOC): $(BLD) $(BLD)/make-docfile.exe ../src/$(BLD)/temacs.exe $(lisp1) $(lisp2) 278$(DOC): stamp_BLD $(BLD)/make-docfile.exe ../src/$(BLD)/temacs.exe $(lisp1) $(lisp2)
279 - $(DEL) $(DOC) 279 - $(DEL) $(DOC)
280 "$(THISDIR)/$(BLD)/make-docfile" -o $(DOC) -d ../src $(obj) 280 "$(THISDIR)/$(BLD)/make-docfile" -o $(DOC) -d ../src $(obj)
281 "$(THISDIR)/$(BLD)/make-docfile" -a $(DOC) -d ../src $(lisp1) 281 "$(THISDIR)/$(BLD)/make-docfile" -a $(DOC) -d ../src $(lisp1)
@@ -291,7 +291,7 @@ $(DOC): $(BLD) $(BLD)/make-docfile.exe ../src/$(BLD)/temacs.exe $(lisp1) $(lisp
291# 291#
292# Build the executables 292# Build the executables
293# 293#
294all: $(BLD) $(ALL) $(DOC) 294all: stamp_BLD $(ALL) $(DOC)
295 295
296# 296#
297# Assuming INSTALL_DIR is defined, build and install emacs in it. 297# Assuming INSTALL_DIR is defined, build and install emacs in it.
@@ -319,6 +319,7 @@ clean:
319 - $(DEL) ctags.c 319 - $(DEL) ctags.c
320 - $(DEL) getopt.h 320 - $(DEL) getopt.h
321 - $(DEL_TREE) $(OBJDIR) 321 - $(DEL_TREE) $(OBJDIR)
322 - $(DEL) stamp_BLD
322 323
323cleanall: clean 324cleanall: clean
324 - $(DEL_TREE) obj 325 - $(DEL_TREE) obj
@@ -472,3 +473,16 @@ $(BLD)/timer.$(O) : \
472 $(EMACS_ROOT)/src/s/ms-w32.h \ 473 $(EMACS_ROOT)/src/s/ms-w32.h \
473 $(EMACS_ROOT)/src/m/intel386.h \ 474 $(EMACS_ROOT)/src/m/intel386.h \
474 $(EMACS_ROOT)/lib-src/../src/config.h 475 $(EMACS_ROOT)/lib-src/../src/config.h
476
477# The following dependencies are for supporting parallel builds, where
478# we must make sure $(BLD) exists before any compilation starts.
479#
480$(BLD)/make-docfile.$(O) $(BLD)/hexl.$(O) $(BLD)/fakemail.$(O): stamp_BLD
481
482$(BLD)/sorted-doc.$(O) $(BLD)/digest-doc.$(O): stamp_BLD
483
484$(BLD)/test-distrib.$(O) $(GETOPTOBJS) $(MOVEMAILOBJS): stamp_BLD
485
486$(BLD)/emacsclient.$(O) $(BLD)/etags.$(O) $(BLD)/regex.$(O): stamp_BLD
487
488$(BLD)/ebrowse.$(O) $(BLD)/ctags.$(O): stamp_BLD