summaryrefslogtreecommitdiff
path: root/lib-src
diff options
context:
space:
mode:
Diffstat (limited to 'lib-src')
-rw-r--r--lib-src/ebrowse.c4
-rw-r--r--lib-src/emacsclient.c4
-rw-r--r--lib-src/etags.c35
-rw-r--r--lib-src/hexl.c7
-rw-r--r--lib-src/make-docfile.c4
-rw-r--r--lib-src/movemail.c49
-rw-r--r--lib-src/ntlib.c4
-rw-r--r--lib-src/ntlib.h5
-rw-r--r--lib-src/pop.c4
-rw-r--r--lib-src/pop.h4
-rw-r--r--lib-src/profile.c4
-rw-r--r--lib-src/update-game-score.c4
12 files changed, 93 insertions, 35 deletions
diff --git a/lib-src/ebrowse.c b/lib-src/ebrowse.c
index cb09ab80879..c59181f9464 100644
--- a/lib-src/ebrowse.c
+++ b/lib-src/ebrowse.c
@@ -6,8 +6,8 @@ This file is part of GNU Emacs.
GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
+the Free Software Foundation, either version 3 of the License, or (at
+your option) any later version.
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c
index c7cef8a2b20..dd66d34da70 100644
--- a/lib-src/emacsclient.c
+++ b/lib-src/emacsclient.c
@@ -6,8 +6,8 @@ This file is part of GNU Emacs.
GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
+the Free Software Foundation, either version 3 of the License, or (at
+your option) any later version.
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
diff --git a/lib-src/etags.c b/lib-src/etags.c
index 796adaa5d05..a8221497393 100644
--- a/lib-src/etags.c
+++ b/lib-src/etags.c
@@ -35,8 +35,8 @@ This file is not considered part of GNU Emacs.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
+the Free Software Foundation, either version 3 of the License, or (at
+your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -680,8 +680,8 @@ static const char *Objc_suffixes [] =
static const char Objc_help [] =
"In Objective C code, tags include Objective C definitions for classes,\n\
class categories, methods and protocols. Tags for variables and\n\
-functions in classes are named 'CLASS::VARIABLE' and 'CLASS::FUNCTION'.\n\
-(Use --help --lang=c --lang=objc --lang=java for full help.)";
+functions in classes are named 'CLASS::VARIABLE' and 'CLASS::FUNCTION'.\
+\n(Use --help --lang=c --lang=objc --lang=java for full help.)";
static const char *Pascal_suffixes [] =
{ "p", "pas", NULL };
@@ -972,11 +972,12 @@ Relative ones are stored relative to the output file's directory.\n");
in some languages.");
puts ("-Q, --class-qualify\n\
- Qualify tag names with their class name in C++, ObjC, and Java.\n\
+ Qualify tag names with their class name in C++, ObjC, Java, and Perl.\n\
This produces tag names of the form \"class::member\" for C++,\n\
\"class(category)\" for Objective C, and \"class.member\" for Java.\n\
For Objective C, this also produces class methods qualified with\n\
- their arguments, as in \"foo:bar:baz:more\".");
+ their arguments, as in \"foo:bar:baz:more\".\n\
+ For Perl, this produces \"package::member\".");
puts ("-r REGEXP, --regex=REGEXP or --regex=@regexfile\n\
Make a tag for each line matching a regular expression pattern\n\
in the following files. {LANGUAGE}REGEXP uses REGEXP for LANGUAGE\n\
@@ -4535,10 +4536,21 @@ Perl_functions (FILE *inf)
continue; /* nothing found */
pos = strchr (sp, ':');
if (pos && pos < cp && pos[1] == ':')
- /* The name is already qualified. */
- make_tag (sp, cp - sp, true,
- lb.buffer, cp - lb.buffer + 1, lineno, linecharno);
- else
+ {
+ /* The name is already qualified. */
+ if (!class_qualify)
+ {
+ char *q = pos + 2, *qpos;
+ while ((qpos = strchr (q, ':')) != NULL
+ && qpos < cp
+ && qpos[1] == ':')
+ q = qpos + 2;
+ sp = q;
+ }
+ make_tag (sp, cp - sp, true,
+ lb.buffer, cp - lb.buffer + 1, lineno, linecharno);
+ }
+ else if (class_qualify)
/* Qualify it. */
{
char savechar, *name;
@@ -4551,6 +4563,9 @@ Perl_functions (FILE *inf)
lb.buffer, cp - lb.buffer + 1, lineno, linecharno);
free (name);
}
+ else
+ make_tag (sp, cp - sp, true,
+ lb.buffer, cp - lb.buffer + 1, lineno, linecharno);
}
else if (LOOKING_AT (cp, "use constant")
|| LOOKING_AT (cp, "use constant::defer"))
diff --git a/lib-src/hexl.c b/lib-src/hexl.c
index 833ea50b480..9a5ca7e1543 100644
--- a/lib-src/hexl.c
+++ b/lib-src/hexl.c
@@ -1,15 +1,14 @@
/* Convert files for Emacs Hexl mode.
Copyright (C) 1989, 2001-2016 Free Software Foundation, Inc.
-Author: Keith Gabryelski
-(according to authors.el)
+Author: Keith Gabryelski (according to authors.el)
This file is not considered part of GNU Emacs.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
+the Free Software Foundation, either version 3 of the License, or (at
+your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
diff --git a/lib-src/make-docfile.c b/lib-src/make-docfile.c
index e266207ee9e..32e3817a465 100644
--- a/lib-src/make-docfile.c
+++ b/lib-src/make-docfile.c
@@ -7,8 +7,8 @@ This file is part of GNU Emacs.
GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
+the Free Software Foundation, either version 3 of the License, or (at
+your option) any later version.
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
diff --git a/lib-src/movemail.c b/lib-src/movemail.c
index eb1962a8f6b..90e683ed855 100644
--- a/lib-src/movemail.c
+++ b/lib-src/movemail.c
@@ -8,8 +8,8 @@ This file is part of GNU Emacs.
GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
+the Free Software Foundation, either version 3 of the License, or (at
+your option) any later version.
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -799,6 +799,51 @@ mbx_write (char *line, int len, FILE *mbf)
return fwrite (line, 1, len, mbf) == len && 0 <= fputc ('\n', mbf);
}
+#ifdef WINDOWSNT
+/* Work around MS-Windows lack of support for %e or %T with a
+ special-purpose strftime that assumes the exact format that
+ movemail uses. */
+static size_t
+movemail_strftime (char *s, size_t size, char const *format,
+ struct tm const *tm)
+{
+ char fmt[size + 6], *q;
+ const char *p;
+
+ for (p = format, q = &fmt[0]; *p; )
+ {
+ if (*p == '%' && p[1] == 'e')
+ {
+ memcpy (q, "%d", 2);
+ q += 2;
+ p += 2;
+ }
+ else if (*p == '%' && p[1] == 'T')
+ {
+ memcpy (q, "%H:%M:%S", 8);
+ q += 8;
+ p += 2;
+ }
+ else if (*p == '%' && p[1] == '%')
+ {
+ memcpy (q, p, 2);
+ q += 2;
+ p += 2;
+ }
+ else
+ *q++ = *p++;
+ }
+
+ size_t n = strftime (s, size, fmt, tm);
+ char *mday = s + sizeof "From movemail Sun Jan " - 1;
+ if (*mday == '0')
+ *mday = ' ';
+ return n;
+}
+# undef strftime
+# define strftime movemail_strftime
+#endif
+
static bool
mbx_delimit_begin (FILE *mbf)
{
diff --git a/lib-src/ntlib.c b/lib-src/ntlib.c
index 931a3abdf93..4b25796830e 100644
--- a/lib-src/ntlib.c
+++ b/lib-src/ntlib.c
@@ -9,8 +9,8 @@ This file is part of GNU Emacs.
GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
+the Free Software Foundation, either version 3 of the License, or (at
+your option) any later version.
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
diff --git a/lib-src/ntlib.h b/lib-src/ntlib.h
index a0c0d43bdc6..b49da79f328 100644
--- a/lib-src/ntlib.h
+++ b/lib-src/ntlib.h
@@ -5,8 +5,8 @@ This file is part of GNU Emacs.
GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
+the Free Software Foundation, either version 3 of the License, or (at
+your option) any later version.
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -102,4 +102,3 @@ int mkostemp (char * template, int flags);
#undef _WINSOCK_H
/* end of ntlib.h */
-
diff --git a/lib-src/pop.c b/lib-src/pop.c
index 983993461b5..74a6fc151aa 100644
--- a/lib-src/pop.c
+++ b/lib-src/pop.c
@@ -9,8 +9,8 @@ This file is part of GNU Emacs.
GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
+the Free Software Foundation, either version 3 of the License, or (at
+your option) any later version.
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
diff --git a/lib-src/pop.h b/lib-src/pop.h
index 4c67bdcb015..b8c21fcedb6 100644
--- a/lib-src/pop.h
+++ b/lib-src/pop.h
@@ -7,8 +7,8 @@ This file is part of GNU Emacs.
GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
+the Free Software Foundation, either version 3 of the License, or (at
+your option) any later version.
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
diff --git a/lib-src/profile.c b/lib-src/profile.c
index da6232afbca..0e603776049 100644
--- a/lib-src/profile.c
+++ b/lib-src/profile.c
@@ -8,8 +8,8 @@ This file is part of GNU Emacs.
GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
+the Free Software Foundation, either version 3 of the License, or (at
+your option) any later version.
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
diff --git a/lib-src/update-game-score.c b/lib-src/update-game-score.c
index 3803a31c817..7675e9bdd4c 100644
--- a/lib-src/update-game-score.c
+++ b/lib-src/update-game-score.c
@@ -8,8 +8,8 @@ This file is part of GNU Emacs.
GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
+the Free Software Foundation, either version 3 of the License, or (at
+your option) any later version.
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of