diff options
author | John Wiegley <johnw@newartisans.com> | 2016-03-11 13:33:32 -0800 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2016-03-11 13:33:32 -0800 |
commit | 63efcc268635dea78c6bd80749eae4ee2c72d717 (patch) | |
tree | 888b43de0eb148cf46a129a15f08a80caa8a5dfe /lib-src | |
parent | b4fbd69b66a927ad8ff479bee6ca57e977d7e649 (diff) | |
parent | facb5e20ce186e47506860bde982e35020fedce5 (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.c | 4 | ||||
-rw-r--r-- | lib-src/emacsclient.c | 4 | ||||
-rw-r--r-- | lib-src/etags.c | 35 | ||||
-rw-r--r-- | lib-src/hexl.c | 7 | ||||
-rw-r--r-- | lib-src/make-docfile.c | 4 | ||||
-rw-r--r-- | lib-src/movemail.c | 49 | ||||
-rw-r--r-- | lib-src/ntlib.c | 4 | ||||
-rw-r--r-- | lib-src/ntlib.h | 5 | ||||
-rw-r--r-- | lib-src/pop.c | 4 | ||||
-rw-r--r-- | lib-src/pop.h | 4 | ||||
-rw-r--r-- | lib-src/profile.c | 4 | ||||
-rw-r--r-- | lib-src/update-game-score.c | 4 |
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 |