summaryrefslogtreecommitdiff
path: root/lib-src
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2016-03-11 13:33:32 -0800
committerJohn Wiegley <johnw@newartisans.com>2016-03-11 13:33:32 -0800
commit63efcc268635dea78c6bd80749eae4ee2c72d717 (patch)
tree888b43de0eb148cf46a129a15f08a80caa8a5dfe /lib-src
parentb4fbd69b66a927ad8ff479bee6ca57e977d7e649 (diff)
parentfacb5e20ce186e47506860bde982e35020fedce5 (diff)
Merge from origin/emacs-25
facb5e2 Update Emacs manual section related to character folding 4efea8e ; * etc/DEBUG: Fix a typo. (Bug#22984) f8df21b Update admin/notes/unicode 950be68 Add symref-filepattern entries for c?perl-mode 8b8a6ad Don't use XRANDR 1.3 extensions if the server doesn't support them. 985dacf ; NEWS update for the last change in etags 741a6f8 Sync with gnulib 7352c6c Rework C source files to avoid ^( a589e9a By default, etags produces unqualified Perl tag names 72c7438 Indent methods with keyword names correctly 28532a9 Propertize character literals and special global variables differently a7d6f39 ; Fix last change in NEWS 83b2a20 Change how /etc/NEWS presents character folding b417c5a Revert "Revert "Backport: * lisp/isearch.el: Turn char-folding off by default"" 711ca36 Properly handle lambda as read function (bug 22961) 1b9d616 Propertize operator symbol names with symbol syntax class 9b16bc2 Stop recognizing :#{} as symbol in ruby-mode 366ec77 Allow using the left shift operator without spaces on both sides 02bf7cc Properly handle unquoting in wdired (bug 22938) 16cf469 ; Spelling fix and tighten up comment f50bc04 Allow splat operator before percent literal 991c801 Don't apply the return value of goto-char as syntax class 6e63b3e Guard against nested percent literals 066f3bc Recognize iuwu-mod after an escaped newline 6f7a57c Fix symbolic mode string conversion for s and t 50b9826 Update 'ucs-names' database 993b2fb Improve doc string of 'shell-command' b71c717 Make the code in movemail_strftime more general cc057e4 Speed up redisplay of binary files with long series of nulls e51b27e Remove the highlighting support for quoting 'like this' inside Lisp docstrings b1abce1 Restore leading space in movemail pop output 98b8d44 Fix bidi-paragraph-direction in Rmail view buffer dc9d837 Don't misindent computed property generator methods 7923112 Fix mbox files produced by movemail on MS-Windows c45a1ca doc string file descriptor exhaustion fix 265141b Fix Bug#22814
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 cb09ab8087..c59181f946 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 c7cef8a2b2..dd66d34da7 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 796adaa5d0..a822149739 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 833ea50b48..9a5ca7e154 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 e266207ee9..32e3817a46 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 eb1962a8f6..90e683ed85 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 931a3abdf9..4b25796830 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 a0c0d43bdc..b49da79f32 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 983993461b..74a6fc151a 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 4c67bdcb01..b8c21fcedb 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 da6232afbc..0e60377604 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 3803a31c81..7675e9bdd4 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