commit c081fe29d709ede27b956567e7c733583f8f6c33 (HEAD, refs/remotes/origin/master) Author: Eli Zaretskii Date: Sat Dec 13 10:00:31 2014 +0200 Fix dates in ChangeLog entries merged from emacs-24. diff --git a/ChangeLog b/ChangeLog index 85edd9f..7cf6d54 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,14 +6,14 @@ * src/alloc.c (XMALLOC_BASE_ALIGNMENT): Use max_align_t instead of a hack involving a union. -2014-12-12 Paul Eggert +2014-12-13 Paul Eggert Git ignore lib/std*.h * .gitignore: Add lib/std*.h, to ignore stdarg.h, stdbool.h, and stddef.h. Remove subsumed entries. Add !lib/std*.in.h, so as to not ignore the .in.h files. -2014-12-11 Paul Eggert +2014-12-13 Paul Eggert Port commit-msg to mawk Problem reported by Ted Zlatanov in: @@ -29,7 +29,7 @@ unprintable chars in diagnostics. Don't complain if a prefix "fixup! " or "squash! " makes a summary line too long. -2014-12-08 Paul Eggert +2014-12-13 Paul Eggert Port commit-message checking to FreeBSD 9. This fixes a bug reported by Jan Djärv in: @@ -41,7 +41,7 @@ ordinary text characters. Be less tricky about quoting "'" in a shell script. -2014-12-05 Stefan Monnier +2014-12-13 Stefan Monnier * .gitignore: Ignore autosave files. diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index ad94751..8f06881 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,4 +1,4 @@ -2014-12-11 Eli Zaretskii +2014-12-13 Eli Zaretskii * text.texi (Comparing Text): Prevent a text string from being broken between 2 lines. (Bug#19257) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a41b5cc..1ca2f22 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,14 +1,14 @@ -2014-12-12 Michael Albinus +2014-12-13 Michael Albinus * simple.el (password-word-equivalents): Add "passcode", used for numeric secrets like PINs or RSA tokens. -2014-12-10 Michael Albinus +2014-12-13 Michael Albinus * net/tramp-sh.el (tramp-get-remote-path): Use a login shell in order to determine `tramp-own-remote-path'. -2014-12-09 Fabián Ezequiel Gallina +2014-12-13 Fabián Ezequiel Gallina * progmodes/python.el (python-shell-parse-command): Quote `python-shell-interpreter`. (Bug#19289) diff --git a/src/ChangeLog b/src/ChangeLog index fd37eae..f4bcc8a 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,10 +1,10 @@ -2014-12-12 Eli Zaretskii +2014-12-13 Eli Zaretskii * gnutls.c (Fgnutls_available_p, syms_of_gnutls): Move gnutls-available-p out of the HAVE_GNUTLS conditional, and define them only once. -2014-12-11 Teodor Zlatanov +2014-12-13 Teodor Zlatanov * emacs.c (main): Always include gnutls.h and run syms_of_gnutls. @@ -15,7 +15,7 @@ integration is not available, instead of erroring out. (Bug#19346) -2014-12-10 Eli Zaretskii +2014-12-13 Eli Zaretskii * xdisp.c (move_it_in_display_line_to, display_line): Don't disallow overflow-newline-into-fringe when word-wrap is in commit d19bf72ac984f788764a09bc9f1002a9e10f71d0 Author: Paul Eggert Date: Fri Dec 12 18:42:57 2014 -0800 Spelling fixes diff --git a/lisp/progmodes/verilog-mode.el b/lisp/progmodes/verilog-mode.el index a7d833c..e7fcf22 100644 --- a/lisp/progmodes/verilog-mode.el +++ b/lisp/progmodes/verilog-mode.el @@ -6159,7 +6159,7 @@ Return >0 for nested struct." (or (equal (char-before) ?\{) ;; empty case (equal (char-before) ?\;) (equal (char-before) ?\})) - ;; skip what looks like bus repitition operator {#{ + ;; skip what looks like bus repetition operator {#{ (not (string-match "^{\\s-*[0-9]+\\s-*{" (buffer-substring p (point))))))))) (progn (let ( (pt (point)) (pass 0)) diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el index 7e4bc13..54496b9 100644 --- a/lisp/vc/vc-dir.el +++ b/lisp/vc/vc-dir.el @@ -1015,7 +1015,7 @@ specific headers." "\n")) (defun vc-dir-refresh-files (files) - "Refresh some fies in the *VC-dir* buffer." + "Refresh some files in the *VC-dir* buffer." (let ((def-dir default-directory) (backend vc-dir-backend)) (vc-set-mode-line-busy-indicator) diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el index 07a3394..b8be3ff 100644 --- a/lisp/vc/vc.el +++ b/lisp/vc/vc.el @@ -592,7 +592,7 @@ ;; ;; The vc-keep-workfiles configuration variable is gone. Used only by ;; the RCS and SCCS backends, it was an invitation to shoot self in foot -;; when set to the (non-default) value nil. The original justication +;; when set to the (non-default) value nil. The original justification ;; for it (saving disk space) is long obsolete. ;; ;; - The rollback method (implemented by RCS and SCCS only) is gone. See diff --git a/src/gnutls.c b/src/gnutls.c index 4e12d88..ad4d997 100644 --- a/src/gnutls.c +++ b/src/gnutls.c @@ -1065,7 +1065,7 @@ The return value is a property list with top-level keys :warnings and build_string (fn_gnutls_protocol_get_name (fn_gnutls_protocol_get_version (state))))); - /* Cipler name. */ + /* Cipher name. */ result = nconc2 (result, list2 (intern (":cipher"), build_string (fn_gnutls_cipher_get_name commit 7fc616afcfbaebea1658149da269110da94d6e59 Author: Paul Eggert Date: Fri Dec 12 17:51:03 2014 -0800 Replace union hack with C11-style max_align_t * admin/merge-gnulib (GNULIB_MODULES): Add stddef, for max_align_t. * lib/gnulib.mk: Regenerate. * src/alloc.c (XMALLOC_BASE_ALIGNMENT): Use max_align_t instead of a hack involving a union. diff --git a/ChangeLog b/ChangeLog index 9d9aea6..85edd9f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2014-12-13 Paul Eggert + + Replace union hack with C11-style max_align_t + * admin/merge-gnulib (GNULIB_MODULES): Add stddef, for max_align_t. + * lib/gnulib.mk: Regenerate. + * src/alloc.c (XMALLOC_BASE_ALIGNMENT): Use max_align_t instead of + a hack involving a union. + 2014-12-12 Paul Eggert Git ignore lib/std*.h diff --git a/admin/merge-gnulib b/admin/merge-gnulib index dc3cd6c..64514f7 100755 --- a/admin/merge-gnulib +++ b/admin/merge-gnulib @@ -35,7 +35,7 @@ GNULIB_MODULES=' intprops largefile lstat manywarnings memrchr mkostemp mktime pipe2 pselect pthread_sigmask putenv qacl readlink readlinkat - sig2str socklen stat-time stdalign stdio + sig2str socklen stat-time stdalign stddef stdio strftime strtoimax strtoumax symlink sys_stat sys_time time time_r timer-time timespec-add timespec-sub unsetenv update-copyright utimens diff --git a/lib/gnulib.mk b/lib/gnulib.mk index c54b811..740ebb1 100644 --- a/lib/gnulib.mk +++ b/lib/gnulib.mk @@ -21,7 +21,7 @@ # the same distribution terms as the rest of that program. # # Generated by gnulib-tool. -# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=close --avoid=dup --avoid=fchdir --avoid=fstat --avoid=malloc-posix --avoid=msvc-inval --avoid=msvc-nothrow --avoid=open --avoid=openat-die --avoid=opendir --avoid=raise --avoid=save-cwd --avoid=select --avoid=sigprocmask --avoid=stdarg --avoid=stdbool --avoid=threadlib --makefile-name=gnulib.mk --conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca-opt binary-io byteswap c-ctype c-strcase careadlinkat close-stream count-one-bits count-trailing-zeros crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr dtotimespec dup2 environ execinfo faccessat fcntl fcntl-h fdatasync fdopendir filemode fstatat fsync getloadavg getopt-gnu gettime gettimeofday intprops largefile lstat manywarnings memrchr mkostemp mktime pipe2 pselect pthread_sigmask putenv qacl readlink readlinkat sig2str socklen stat-time stdalign stdio strftime strtoimax strtoumax symlink sys_stat sys_time time time_r timer-time timespec-add timespec-sub unsetenv update-copyright utimens vla warnings +# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=close --avoid=dup --avoid=fchdir --avoid=fstat --avoid=malloc-posix --avoid=msvc-inval --avoid=msvc-nothrow --avoid=open --avoid=openat-die --avoid=opendir --avoid=raise --avoid=save-cwd --avoid=select --avoid=sigprocmask --avoid=stdarg --avoid=stdbool --avoid=threadlib --makefile-name=gnulib.mk --conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca-opt binary-io byteswap c-ctype c-strcase careadlinkat close-stream count-one-bits count-trailing-zeros crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr dtotimespec dup2 environ execinfo faccessat fcntl fcntl-h fdatasync fdopendir filemode fstatat fsync getloadavg getopt-gnu gettime gettimeofday intprops largefile lstat manywarnings memrchr mkostemp mktime pipe2 pselect pthread_sigmask putenv qacl readlink readlinkat sig2str socklen stat-time stdalign stddef stdio strftime strtoimax strtoumax symlink sys_stat sys_time time time_r timer-time timespec-add timespec-sub unsetenv update-copyright utimens vla warnings MOSTLYCLEANFILES += core *.stackdump diff --git a/src/alloc.c b/src/alloc.c index 35a5ee2..4328745 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -534,8 +534,7 @@ buffer_memory_full (ptrdiff_t nbytes) /* Define XMALLOC_OVERRUN_SIZE_SIZE so that (1) it's large enough to hold a size_t value and (2) the header size is a multiple of the alignment that Emacs needs for C types and for USE_LSB_TAG. */ -#define XMALLOC_BASE_ALIGNMENT \ - alignof (union { long double d; intmax_t i; void *p; }) +#define XMALLOC_BASE_ALIGNMENT alignof (max_align_t) #if USE_LSB_TAG # define XMALLOC_HEADER_ALIGNMENT \ commit 67a48edb27172ae78182b13edf18789c2c79b7ac Author: Paul Eggert Date: Fri Dec 12 16:40:01 2014 -0800 Merge from gnulib (a couple more changes) diff --git a/ChangeLog b/ChangeLog index 50715a1..9d9aea6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -41,6 +41,7 @@ Merge from gnulib 2014-12-12 stddef: support C11's max_align_t + 2014-12-11 unistd: fix iOS check conditional 2014-12-08 apply _GL_ATTRIBUTE_PURE to some inline functions 2014-12-02 support GNU format printf and scanf on mingw * doc/misc/texinfo.tex, lib/stat-time.h, lib/stddef.in.h: diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex index 54cf667..370d450 100644 --- a/doc/misc/texinfo.tex +++ b/doc/misc/texinfo.tex @@ -3,7 +3,7 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2014-11-14.07} +\def\texinfoversion{2014-12-03.16} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, @@ -96,7 +96,9 @@ \let\ptexraggedright=\raggedright \let\ptexrbrace=\} \let\ptexslash=\/ +\let\ptexsp=\sp \let\ptexstar=\* +\let\ptexsup=\sup \let\ptext=\t \let\ptextop=\top {\catcode`\'=\active \global\let\ptexquoteright'}% active in plain's math mode @@ -2081,12 +2083,9 @@ end \endgroup } - % In order for the font changes to affect most math symbols and letters, -% we have to define the \textfont of the standard families. Since -% texinfo doesn't allow for producing subscripts and superscripts except -% in the main text, we don't bother to reset \scriptfont and -% \scriptscriptfont (which would also require loading a lot more fonts). +% we have to define the \textfont of the standard families. We don't +% bother to reset \scriptfont and \scriptscriptfont; awaiting user need. % \def\resetmathfonts{% \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy @@ -2100,8 +2099,8 @@ end % \tenSTYLE to set the current font. % % Each font-changing command also sets the names \lsize (one size lower) -% and \lllsize (three sizes lower). These relative commands are used in -% the LaTeX logo and acronyms. +% and \lllsize (three sizes lower). These relative commands are used +% in, e.g., the LaTeX logo and acronyms. % % This all needs generalizing, badly. % @@ -2842,6 +2841,8 @@ end \let\v=\check \let\~=\tilde \let\dotaccent=\dot + % have to provide another name for sup operator + \let\mathopsup=\sup $\finishmath } \def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. @@ -2865,6 +2866,18 @@ end } } +% for @sub and @sup, if in math mode, just do a normal sub/superscript. +% If in text, use math to place as sub/superscript, but switch +% into text mode, with smaller fonts. This is a different font than the +% one used for real math sub/superscripts (8pt vs. 7pt), but let's not +% fix it (significant additions to font machinery) until someone notices. +% +\def\sub{\ifmmode \expandafter\sb \else \expandafter\finishsub\fi} +\def\finishsub#1{$\sb{\hbox{\selectfonts\lllsize #1}}$}% +% +\def\sup{\ifmmode \expandafter\ptexsp \else \expandafter\finishsup\fi} +\def\finishsup#1{$\ptexsp{\hbox{\selectfonts\lllsize #1}}$}% + % ctrl is no longer a Texinfo command, but leave this definition for fun. \def\ctrl #1{{\tt \rawbackslash \hat}#1} @@ -6335,6 +6348,7 @@ end % other math active characters (just in case), to plain's definitions. \mathactive % + % Inverse of the list at the beginning of the file. \let\b=\ptexb \let\bullet=\ptexbullet \let\c=\ptexc @@ -6350,7 +6364,9 @@ end \let\+=\tabalign \let\}=\ptexrbrace \let\/=\ptexslash + \let\sp=\ptexsp \let\*=\ptexstar + %\let\sup=\ptexsup % do not redefine, we want @sup to work in math mode \let\t=\ptext \expandafter \let\csname top\endcsname=\ptextop % we've made it outer \let\frenchspacing=\plainfrenchspacing @@ -7416,7 +7432,6 @@ end % % \anythingelse will almost certainly be an error of some kind. - % \mbodybackslash is the definition of \ in @macro bodies. % It maps \foo\ => \csname macarg.foo\endcsname => #N % where N is the macro parameter number. @@ -7525,8 +7540,7 @@ end % the catcode regime underwhich the body was input). % % If you compile with TeX (not eTeX), and you have macros with 10 or more -% arguments, you need that no macro has more than 256 arguments, otherwise an -% error is produced. +% arguments, no macro can have more than 256 arguments (else error). \def\parsemargdef#1;{% \paramno=0\def\paramlist{}% \let\hash\relax @@ -9283,6 +9297,18 @@ directory should work if nowhere else does.} \UTFviiiLoop \endgroup +\def\globallet{\global\let} % save some \expandafter's below + +% @U{xxxx} to produce U+xxxx, if we support it. +\def\U#1{% + \expandafter\ifx\csname uni:#1\endcsname \relax + \errhelp = \EMsimple + \errmessage{Unicode character U+#1 not supported, sorry}% + \else + \csname uni:#1\endcsname + \fi +} + \begingroup \catcode`\"=12 \catcode`\<=12 @@ -9291,7 +9317,6 @@ directory should work if nowhere else does.} \catcode`\;=12 \catcode`\!=12 \catcode`\~=13 - \gdef\DeclareUnicodeCharacter#1#2{% \countUTFz = "#1\relax %\wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}% @@ -9306,6 +9331,8 @@ directory should work if nowhere else does.} \expandafter\expandafter\expandafter\expandafter \expandafter\expandafter\expandafter \gdef\UTFviiiTmp{#2}% + % define an additional control sequence for this code point. + \expandafter\globallet\csname uni:#1\endcsname \UTFviiiTmp \endgroup} \gdef\parseXMLCharref{% diff --git a/lib/unistd.in.h b/lib/unistd.in.h index 219f43d..dda0b4d 100644 --- a/lib/unistd.in.h +++ b/lib/unistd.in.h @@ -402,7 +402,7 @@ _GL_WARN_ON_USE (dup3, "dup3 is unportable - " "VARIABLE=VALUE", terminated with a NULL. */ # if defined __APPLE__ && defined __MACH__ # include -# if !defined TARGET_OS_IPHONE && !defined TARGET_IPHONE_SIMULATOR +# if !TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR # define _GL_USE_CRT_EXTERNS # endif # endif commit 805074d059b5bdb868a4f795a0aca58f49302f66 Author: Paul Eggert Date: Fri Dec 12 16:48:06 2014 -0800 Remove duplicate ChangeLog entries diff --git a/ChangeLog b/ChangeLog index 6316823..50715a1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,26 +1,3 @@ -2014-11-13 Lars Magne Ingebrigtsen - - * .gitignore: Copy over sufficient ignorable files from the old - .bzrignore that a simple build doesn't list lots of unregistered - files. - -2014-11-11 Eric S. Raymond - - * Makefile.in: git transition - set VCWITNESS appropriately for git. - - All bzr revision IDS, and all CVS revision IDs for which a commit - could be identified, were changed to time-date!committer version - stamps. All .cvsignore files in the history became .gitignore - files. Fixes-bug annotations from bzr were copied into the - corresponding commit comments. - - (The first .cvsignore commit was 1999-09-30T14:07:54Z!fx@gnu.org. - The last CVS commit was 2009-12-27T08:11:12Z!cyd@stupidchicken.com.) - - Committer/author email addresses are generally correct for the - transition day, not necessarily when the comit was originally - made. - 2014-12-12 Paul Eggert Git ignore lib/std*.h commit 28e0d0c95d8e17e18e94744e99ccd68c8c911703 Author: Ted Zlatanov Date: Fri Dec 12 19:15:10 2014 -0500 Merge from origin/emacs-24 bd6c441 * simple.el (password-word-equivalents): Add "passcode", used for numeric secrets like PINs or RSA tokens. 16d4c1c A better fix for bug#19346 82ec808 * .gitignore: Add !lib/std*.in.h, so as to not ignore the .in.h files. 3cf7629 Git ignore lib/std*.h 301a401 Always define `gnutls-available-p' even if GnuTLS is not available. d76b9b2 Don't break example string between 2 lines (bug#19257) 75b4857 Port commit-msg to mawk 9ac0332 Improve commit-msg messages and autosquash 0c2f254 Support overflow-newline-into-fringe together with word-wrap (bug#19300) 935ee05 * net/tramp-sh.el (tramp-get-remote-path): Use a login shell in order to determine `tramp-own-remote-path'. c2db939 python.el: Support interpreter paths with spaces d83f329 ChangeLog fix 0f9fbb9 Port commit-message checking to FreeBSD 9. 3db1ada admin/MAINTAINERS: Update my interests and responsibilities. 6382f24 * .gitignore: Ignore autosave files. Conflicts: ChangeLog lisp/progmodes/python.el src/gnutls.c diff --git a/.gitignore b/.gitignore index 228deaa..188dd9f 100644 --- a/.gitignore +++ b/.gitignore @@ -64,10 +64,8 @@ lib/getopt.h lib/inttypes.h lib/libgnu.a lib/signal.h -lib/stdalign.h -lib/stdint.h -lib/stdio.h -lib/stdlib.h +lib/std*.h +!lib/std*.in.h lib/string.h lib/sys/ lib/time.h @@ -237,6 +235,7 @@ info/dir *.rej *~ .#* +\#*\# [0-9]*.patch # Built by 'make install'. diff --git a/ChangeLog b/ChangeLog index 32083d7..6316823 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,65 @@ +2014-11-13 Lars Magne Ingebrigtsen + + * .gitignore: Copy over sufficient ignorable files from the old + .bzrignore that a simple build doesn't list lots of unregistered + files. + +2014-11-11 Eric S. Raymond + + * Makefile.in: git transition - set VCWITNESS appropriately for git. + + All bzr revision IDS, and all CVS revision IDs for which a commit + could be identified, were changed to time-date!committer version + stamps. All .cvsignore files in the history became .gitignore + files. Fixes-bug annotations from bzr were copied into the + corresponding commit comments. + + (The first .cvsignore commit was 1999-09-30T14:07:54Z!fx@gnu.org. + The last CVS commit was 2009-12-27T08:11:12Z!cyd@stupidchicken.com.) + + Committer/author email addresses are generally correct for the + transition day, not necessarily when the comit was originally + made. + +2014-12-12 Paul Eggert + + Git ignore lib/std*.h + * .gitignore: Add lib/std*.h, to ignore stdarg.h, stdbool.h, and + stddef.h. Remove subsumed entries. + Add !lib/std*.in.h, so as to not ignore the .in.h files. + +2014-12-11 Paul Eggert + + Port commit-msg to mawk + Problem reported by Ted Zlatanov in: + http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg01093.html + * build-aux/git-hooks/commit-msg (space, non_space, non_print): + New vars. Use them as approximations to POSIX bracket expressions, + on implementations like mawk that do not support POSIX regexps. + + Improve commit-msg messages and autosquash + Problem reported by Michal Nazarewicz in Bug#19337. + * build-aux/git-hooks/commit-msg: Add "commit message" to + diagnostics. Distinguish better between tabs and other + unprintable chars in diagnostics. Don't complain if a prefix + "fixup! " or "squash! " makes a summary line too long. + +2014-12-08 Paul Eggert + + Port commit-message checking to FreeBSD 9. + This fixes a bug reported by Jan Djärv in: + http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00704.html + along with some other issues I noticed while testing with FreeBSD. + * build-aux/git-hooks/commit-msg: Prefer gawk if available. + Prefer en_US.UTF-8 to en_US.utf8, as it's more portable. + Work around bug in FreeBSD 9 awk, where /[[:cntrl:]]/ matches + ordinary text characters. + Be less tricky about quoting "'" in a shell script. + +2014-12-05 Stefan Monnier + + * .gitignore: Ignore autosave files. + 2014-12-12 Paul Eggert Merge from gnulib diff --git a/admin/MAINTAINERS b/admin/MAINTAINERS index 9a46b64..57f199b 100644 --- a/admin/MAINTAINERS +++ b/admin/MAINTAINERS @@ -31,6 +31,7 @@ Eli Zaretskii src/msdos.[ch] src/dosfns.[ch] src/w16select.c + src/unexcoff.c lisp/term/internal.el lisp/term/pc-win.el lisp/dos-fns.el @@ -80,14 +81,18 @@ Bastien Guerry Eli Zaretskii doc/* lispref/* - info/dir src/xfaces.c src/xdisp.c src/term.c src/dispnew.c + src/dispextern.h src/frame.c src/dired.c + src/unexw32.c + src/w32*.[ch] + src/window.c + nt/* lisp/arc-mode.el lisp/menu-bar.el @@ -97,6 +102,8 @@ Eli Zaretskii lisp/startup.el lisp/w32*.el + admin/unidata/* + Stefan Monnier src/intervals.c src/keyboard.c @@ -181,24 +188,10 @@ src/tparam.c src/undo.c src/unexaix.c src/unexalpha.c -src/unexcoff.c src/unexelf.c src/unexhp9k800.c -src/unexw32.c src/vm-limit.c -src/w32.c -src/w32console.c -src/w32fns.c -src/w32heap.c -src/w32inevt.c -src/w32menu.c -src/w32proc.c -src/w32reg.c -src/w32select.c -src/w32term.c -src/w32xfns.c src/widget.c -src/window.c src/xfns.c src/xmenu.c src/xrdb.c diff --git a/build-aux/git-hooks/commit-msg b/build-aux/git-hooks/commit-msg index 6a09edd..5eb994c 100755 --- a/build-aux/git-hooks/commit-msg +++ b/build-aux/git-hooks/commit-msg @@ -20,69 +20,101 @@ # Written by Paul Eggert. +# Prefer gawk if available, as it handles NUL bytes properly. +if type gawk >/dev/null 2>&1; then + awk=gawk +else + awk=awk +fi + # Use a UTF-8 locale if available, so that the UTF-8 check works. # Use U+00A2 CENT SIGN to test whether the locale works. cent_sign_utf8_octal='\302\242' at_sign=` printf "${cent_sign_utf8_octal}@" | - awk '{print substr($0, 2)}' 2>/dev/null + $awk '{print substr($0, 2)}' 2>/dev/null ` if test "$at_sign" != @; then at_sign=` printf "${cent_sign_utf8_octal}@" | - LC_ALL=en_US.utf8 awk '{print substr($0, 2)}' 2>/dev/null + LC_ALL=en_US.UTF-8 $awk '{print substr($0, 2)}' 2>/dev/null ` if test "$at_sign" = @; then - LC_ALL=en_US.utf8; export LC_ALL + LC_ALL=en_US.UTF-8; export LC_ALL fi fi # Check the log entry. -exec awk ' +exec $awk ' + BEGIN { + if (" " ~ /[[:space:]]/) { + space = "[[:space:]]" + non_space = "[^[:space:]]" + non_print = "[^[:print:]]" + } else { + # mawk 1.3.3 does not support POSIX bracket expressions. + # Approximate them as best we can. + space = "[ \f\n\r\t\v]" + non_space = "[^ \f\n\r\t\v]" + non_print = "[\1-\37\177]" + } + } + /^#/ { next } !/^.*$/ { - print "Invalid character (not UTF-8)" + print "Invalid character (not UTF-8) in commit message" status = 1 } - nlines == 0 && !/[^[:space:]]/ { next } + nlines == 0 && $0 !~ non_space { next } { nlines++ } - nlines == 1 && /^[[:space:]]/ { - print "White space at start of first line" - status = 1 - } + nlines == 1 { + # Ignore special markers used by "git rebase --autosquash". + if (! sub(/^fixup! /, "")) + sub(/^squash! /, "") - nlines == 2 && /[^[:space:]]/ { - print "Nonempty second line" - status = 1 + if ($0 ~ "^" space) { + print "White space at start of commit message'\''s first line" + status = 1 + } } - /[[:cntrl:]]/ { - print "Text contains control character; please use spaces instead of tabs" + nlines == 2 && $0 ~ non_space { + print "Nonempty second line in commit message" status = 1 } - 72 < length && /[[:space:]]/ { - print "Line longer than 72 characters" + 72 < length && $0 ~ space { + print "Line longer than 72 characters in commit message" status = 1 } 140 < length { - print "Word longer than 140 characters" + print "Word longer than 140 characters in commit message" status = 1 } /^Signed-off-by: / { - print "'Signed-off-by:' present" + print "'\''Signed-off-by:'\'' in commit message" + status = 1 + } + + $0 ~ non_print { + if (gsub(/\t/, "")) { + print "Tab in commit message; please use spaces instead" + } + if ($0 ~ non_print) { + print "Unprintable character in commit message" + } status = 1 } END { if (nlines == 0) { - print "Empty change log entry" + print "Empty commit message" status = 1 } exit status diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index e7b5606..ad94751 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2014-12-11 Eli Zaretskii + + * text.texi (Comparing Text): Prevent a text string from being + broken between 2 lines. (Bug#19257) + 2014-12-09 Lars Magne Ingebrigtsen * files.texi (Contents of Directories): Document diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index 720343c..3ef565b 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi @@ -349,10 +349,10 @@ This function ignores case when comparing characters if @code{case-fold-search} is non-@code{nil}. It always ignores text properties. -Suppose the current buffer contains the text @samp{foobarbar -haha!rara!}; then in this example the two substrings are @samp{rbar } -and @samp{rara!}. The value is 2 because the first substring is greater -at the second character. +Suppose you have the text @w{@samp{foobarbar haha!rara!}} in the +current buffer; then in this example the two substrings are @samp{rbar +} and @samp{rara!}. The value is 2 because the first substring is +greater at the second character. @example (compare-buffer-substrings nil 6 11 nil 16 21) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 1db7c97..a41b5cc 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,18 @@ +2014-12-12 Michael Albinus + + * simple.el (password-word-equivalents): Add "passcode", used for + numeric secrets like PINs or RSA tokens. + +2014-12-10 Michael Albinus + + * net/tramp-sh.el (tramp-get-remote-path): Use a login shell in + order to determine `tramp-own-remote-path'. + +2014-12-09 Fabián Ezequiel Gallina + + * progmodes/python.el (python-shell-parse-command): Quote + `python-shell-interpreter`. (Bug#19289) + 2014-12-12 Stefan Monnier * progmodes/python.el (python-indent-line): Use `noindent' in strings. diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index c564988..c4d5e2f 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -3868,6 +3868,18 @@ file exists and nonzero exit status otherwise." (setq item (pop alist)) (when (string-match (car item) shell) (setq extra-args (cdr item)))) + ;; It is useful to set the prompt in the following command + ;; because some people have a setting for $PS1 which /bin/sh + ;; doesn't know about and thus /bin/sh will display a strange + ;; prompt. For example, if $PS1 has "${CWD}" in the value, then + ;; ksh will display the current working directory but /bin/sh + ;; will display a dollar sign. The following command line sets + ;; $PS1 to a sane value, and works under Bourne-ish shells as + ;; well as csh-like shells. We also unset the variable $ENV + ;; because that is read by some sh implementations (eg, bash + ;; when called as sh) on startup; this way, we avoid the startup + ;; file clobbering $PS1. $PROMPT_COMMAND is another way to set + ;; the prompt in /bin/bash, it must be discarded as well. (tramp-send-command vec (format "exec env ENV='' HISTFILE=/dev/null PROMPT_COMMAND='' PS1=%s PS2='' PS3='' %s %s" @@ -3944,20 +3956,6 @@ seconds. If not, it produces an error message with the given ERROR-ARGS." Mainly sets the prompt and the echo correctly. PROC is the shell process to set up. VEC specifies the connection." (let ((tramp-end-of-output tramp-initial-end-of-output)) - ;; It is useful to set the prompt in the following command because - ;; some people have a setting for $PS1 which /bin/sh doesn't know - ;; about and thus /bin/sh will display a strange prompt. For - ;; example, if $PS1 has "${CWD}" in the value, then ksh will - ;; display the current working directory but /bin/sh will display - ;; a dollar sign. The following command line sets $PS1 to a sane - ;; value, and works under Bourne-ish shells as well as csh-like - ;; shells. Daniel Pittman reports that the unusual positioning of - ;; the single quotes makes it work under `rc', too. We also unset - ;; the variable $ENV because that is read by some sh - ;; implementations (eg, bash when called as sh) on startup; this - ;; way, we avoid the startup file clobbering $PS1. $PROMPT_COMMAND - ;; is another way to set the prompt in /bin/bash, it must be - ;; discarded as well. (tramp-open-shell vec (or (tramp-get-connection-property vec "remote-shell" nil) @@ -5046,13 +5044,25 @@ Return ATTR." "/bin:/usr/bin") "/bin:/usr/bin")))) (own-remote-path - (when elt2 - (condition-case nil - (tramp-send-command-and-read vec "echo \\\"$PATH\\\"") - (error - (tramp-message - vec 3 "$PATH not set, ignoring `tramp-own-remote-path'.") - nil))))) + ;; We cannot apply `tramp-send-command-and-read' because + ;; the login shell could return more than just the $PATH + ;; string. So we emulate that function. + (when elt2 + (tramp-send-command + vec + (format + "%s -l %s 'echo \\\"$PATH\\\"'" + (tramp-get-method-parameter + (tramp-file-name-method vec) 'tramp-remote-shell) + (mapconcat + 'identity + (tramp-get-method-parameter + (tramp-file-name-method vec) 'tramp-remote-shell-args) + " "))) + (with-current-buffer (tramp-get-connection-buffer vec) + (goto-char (point-max)) + (forward-line -1) + (read (current-buffer)))))) ;; Replace place holder `tramp-default-remote-path'. (when elt1 diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index f1d8cff..35e24e1 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -2125,7 +2125,9 @@ uniqueness for different types of configurations." ;; `python-shell-interpreter' absolute path can be found by ;; `executable-find'. (format "%s %s" - (executable-find python-shell-interpreter) + ;; FIXME: Why executable-find? + (shell-quote-argument + (executable-find python-shell-interpreter)) python-shell-interpreter-args))) (define-obsolete-function-alias diff --git a/lisp/simple.el b/lisp/simple.el index 9f44798..0fcd5db 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -2796,7 +2796,7 @@ which is defined in the `warnings' library.\n") t)) (defcustom password-word-equivalents - '("password" "passphrase" "pass phrase" + '("password" "passcode" "passphrase" "pass phrase" ; These are sorted according to the GNU en_US locale. "암호" ; ko "パスワード" ; ja diff --git a/src/ChangeLog b/src/ChangeLog index 887ca89..fd37eae 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,26 @@ +2014-12-12 Eli Zaretskii + + * gnutls.c (Fgnutls_available_p, syms_of_gnutls): Move + gnutls-available-p out of the HAVE_GNUTLS conditional, and define + them only once. + +2014-12-11 Teodor Zlatanov + + * emacs.c (main): Always include gnutls.h and run syms_of_gnutls. + + * gnutls.h: Always declare syms_of_gnutls. + + * gnutls.c (Fgnutls_available_p syms_of_gnutls): Move later for + clarity. Let the availability check return Qnil when the GnuTLS + integration is not available, instead of erroring out. + (Bug#19346) + +2014-12-10 Eli Zaretskii + + * xdisp.c (move_it_in_display_line_to, display_line): Don't + disallow overflow-newline-into-fringe when word-wrap is in + effect. (Bug#19300) + 2014-12-11 Stefan Monnier * fileio.c: Better preserve window-points during revert (bug#19161). diff --git a/src/emacs.c b/src/emacs.c index da34eaa..b9654d0 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -88,9 +88,7 @@ along with GNU Emacs. If not, see . */ #include "sysselect.h" #include "systime.h" -#ifdef HAVE_GNUTLS #include "gnutls.h" -#endif #if (defined PROFILING \ && (defined __FreeBSD__ || defined GNU_LINUX || defined __MINGW32__)) @@ -1493,9 +1491,7 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem syms_of_fontset (); #endif /* HAVE_NS */ -#ifdef HAVE_GNUTLS syms_of_gnutls (); -#endif #ifdef HAVE_GFILENOTIFY syms_of_gfilenotify (); diff --git a/src/gnutls.c b/src/gnutls.c index 4de2eaf..4e12d88 100644 --- a/src/gnutls.c +++ b/src/gnutls.c @@ -779,26 +779,6 @@ See also `gnutls-init'. */) return emacs_gnutls_deinit (proc); } -DEFUN ("gnutls-available-p", Fgnutls_available_p, Sgnutls_available_p, 0, 0, 0, - doc: /* Return t if GnuTLS is available in this instance of Emacs. */) - (void) -{ -#ifdef WINDOWSNT - Lisp_Object found = Fassq (Qgnutls_dll, Vlibrary_cache); - if (CONSP (found)) - return XCDR (found); - else - { - Lisp_Object status; - status = init_gnutls_functions () ? Qt : Qnil; - Vlibrary_cache = Fcons (Fcons (Qgnutls_dll, status), Vlibrary_cache); - return status; - } -#else - return Qt; -#endif -} - static Lisp_Object gnutls_hex_string (unsigned char *buf, ptrdiff_t buf_size, const char *prefix) { @@ -1101,7 +1081,6 @@ The return value is a property list with top-level keys :warnings and return result; } - /* Initialize global GnuTLS state to defaults. Call `gnutls-global-deinit' when GnuTLS usage is no longer needed. Return zero on success. */ @@ -1602,9 +1581,36 @@ This function may also return `gnutls-e-again', or return gnutls_make_error (ret); } +#endif /* HAVE_GNUTLS */ + +DEFUN ("gnutls-available-p", Fgnutls_available_p, Sgnutls_available_p, 0, 0, 0, + doc: /* Return t if GnuTLS is available in this instance of Emacs. */) + (void) +{ +#ifdef HAVE_GNUTLS +# ifdef WINDOWSNT + Lisp_Object found = Fassq (Qgnutls_dll, Vlibrary_cache); + if (CONSP (found)) + return XCDR (found); + else + { + Lisp_Object status; + status = init_gnutls_functions () ? Qt : Qnil; + Vlibrary_cache = Fcons (Fcons (Qgnutls_dll, status), Vlibrary_cache); + return status; + } +# else /* !WINDOWSNT */ + return Qt; +# endif /* !WINDOWSNT */ +#else /* !HAVE_GNUTLS */ + return Qnil; +#endif /* !HAVE_GNUTLS */ +} + void syms_of_gnutls (void) { +#ifdef HAVE_GNUTLS gnutls_global_initialized = 0; DEFSYM (Qgnutls_dll, "gnutls"); @@ -1646,7 +1652,6 @@ syms_of_gnutls (void) defsubr (&Sgnutls_boot); defsubr (&Sgnutls_deinit); defsubr (&Sgnutls_bye); - defsubr (&Sgnutls_available_p); defsubr (&Sgnutls_peer_status); defsubr (&Sgnutls_peer_status_warning_describe); @@ -1656,6 +1661,8 @@ Set this larger than 0 to get debug output in the *Messages* buffer. 1 is for important messages, 2 is for debug data, and higher numbers are as per the GnuTLS logging conventions. */); global_gnutls_log_level = 0; -} -#endif /* HAVE_GNUTLS */ +#endif /* HAVE_GNUTLS */ + + defsubr (&Sgnutls_available_p); +} diff --git a/src/gnutls.h b/src/gnutls.h index 8a667c0..8a18976 100644 --- a/src/gnutls.h +++ b/src/gnutls.h @@ -82,8 +82,8 @@ extern void emacs_gnutls_transport_set_errno (gnutls_session_t state, int err); #endif extern Lisp_Object emacs_gnutls_deinit (Lisp_Object); -extern void syms_of_gnutls (void); - #endif +extern void syms_of_gnutls (void); + #endif diff --git a/src/xdisp.c b/src/xdisp.c index 0d31468..f022790 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -8794,12 +8794,7 @@ move_it_in_display_line_to (struct it *it, doesn't fit on the line, e.g. a wide image. */ it->hpos == 0 || (new_x == it->last_visible_x - && FRAME_WINDOW_P (it->f) - /* When word-wrap is ON and we have a valid - wrap point, we don't allow the last glyph - to "just barely fit" on the line. */ - && (it->line_wrap != WORD_WRAP - || wrap_it.sp < 0))) + && FRAME_WINDOW_P (it->f))) { ++it->hpos; it->current_x = new_x; @@ -8866,7 +8861,8 @@ move_it_in_display_line_to (struct it *it, } if (ITERATOR_AT_END_OF_LINE_P (it) && (it->line_wrap != WORD_WRAP - || wrap_it.sp < 0)) + || wrap_it.sp < 0 + || IT_OVERFLOW_NEWLINE_INTO_FRINGE (it))) { result = MOVE_NEWLINE_OR_CR; break; @@ -20438,7 +20434,8 @@ display_line (struct it *it) { /* If line-wrap is on, check if a previous wrap point was found. */ - if (wrap_row_used > 0 + if (!IT_OVERFLOW_NEWLINE_INTO_FRINGE (it) + && wrap_row_used > 0 /* Even if there is a previous wrap point, continue the line here as usual, if (i) the previous character @@ -20468,6 +20465,18 @@ display_line (struct it *it) row->continued_p = 0; row->exact_window_width_line_p = 1; } + /* If line-wrap is on, check if a + previous wrap point was found. */ + else if (wrap_row_used > 0 + /* Even if there is a previous wrap + point, continue the line here as + usual, if (i) the previous character + was a space or tab AND (ii) the + current character is not. */ + && (!may_wrap + || IT_DISPLAYING_WHITESPACE (it))) + goto back_to_wrap; + } } else if (it->bidi_p) commit b81a1837916a7f3f7abd953338302fa237a532f2 Author: Paul Eggert Date: Thu Dec 11 23:16:37 2014 -0800 Merge from gnulib 2014-12-12 stddef: support C11's max_align_t 2014-12-08 apply _GL_ATTRIBUTE_PURE to some inline functions 2014-12-02 support GNU format printf and scanf on mingw * doc/misc/texinfo.tex, lib/stat-time.h, lib/stddef.in.h: * lib/timespec.h, m4/extensions.m4, m4/stddef_h.m4, m4/stdio_h.m4: Update from gnulib. * lib/gnulib.mk: Regenerate. diff --git a/ChangeLog b/ChangeLog index ee109f7..32083d7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2014-12-12 Paul Eggert + + Merge from gnulib + 2014-12-12 stddef: support C11's max_align_t + 2014-12-08 apply _GL_ATTRIBUTE_PURE to some inline functions + 2014-12-02 support GNU format printf and scanf on mingw + * doc/misc/texinfo.tex, lib/stat-time.h, lib/stddef.in.h: + * lib/timespec.h, m4/extensions.m4, m4/stddef_h.m4, m4/stdio_h.m4: + Update from gnulib. + * lib/gnulib.mk: Regenerate. + 2014-12-06 Stephen Leake * CONTRIBUTE: Improve; add explicit web references, move some info diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex index 72c8cf4..54cf667 100644 --- a/doc/misc/texinfo.tex +++ b/doc/misc/texinfo.tex @@ -3,7 +3,7 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2014-10-29.10} +\def\texinfoversion{2014-11-14.07} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, @@ -1010,24 +1010,15 @@ where each line of input produces a line of output.} % paragraph. % \gdef\dosuppressfirstparagraphindent{% - \gdef\indent{% - \restorefirstparagraphindent - \indent - }% - \gdef\noindent{% - \restorefirstparagraphindent - \noindent - }% - \global\everypar = {% - \kern -\parindent - \restorefirstparagraphindent - }% + \gdef\indent {\restorefirstparagraphindent \indent}% + \gdef\noindent{\restorefirstparagraphindent \noindent}% + \global\everypar = {\kern -\parindent \restorefirstparagraphindent}% } - +% \gdef\restorefirstparagraphindent{% - \global \let \indent = \ptexindent - \global \let \noindent = \ptexnoindent - \global \everypar = {}% + \global\let\indent = \ptexindent + \global\let\noindent = \ptexnoindent + \global\everypar = {}% } @@ -5801,6 +5792,7 @@ end % {% \chapfonts \rmisbold + \let\footnote=\errfootnoteheading % give better error message % % Have to define \lastsection before calling \donoderef, because the % xref code eventually uses it. On the other hand, it has to be called @@ -5912,6 +5904,7 @@ end \ifx\temptype\Yomitfromtockeyword\else \checkenv{}% non-@*heading should not be in an environment. \fi + \let\footnote=\errfootnoteheading % % Switch to the right set of fonts. \csname #2fonts\endcsname \rmisbold @@ -8368,9 +8361,6 @@ end % % Auto-number footnotes. Otherwise like plain. \gdef\footnote{% - \let\indent=\ptexindent - \let\noindent=\ptexnoindent - % \global\advance\footnoteno by \@ne \edef\thisfootno{$^{\the\footnoteno}$}% % @@ -8397,7 +8387,7 @@ end % % Nested footnotes are not supported in TeX, that would take a lot % more work. (\startsavinginserts does not suffice.) - \let\footnote=\errfootnote + \let\footnote=\errfootnotenest % % We want to typeset this text as a normal paragraph, even if the % footnote reference occurs in (for example) a display environment. @@ -8436,12 +8426,17 @@ end } }%end \catcode `\@=11 -\def\errfootnote{% +\def\errfootnotenest{% \errhelp=\EMsimple \errmessage{Nested footnotes not supported in texinfo.tex, even though they work in makeinfo; sorry} } +\def\errfootnoteheading{% + \errhelp=\EMsimple + \errmessage{Footnotes in chapters, sections, etc., are not supported} +} + % In case a @footnote appears in a vbox, save the footnote text and create % the real \insert just after the vbox finished. Otherwise, the insertion % would be lost. diff --git a/lib/gnulib.mk b/lib/gnulib.mk index 6437a9d..c54b811 100644 --- a/lib/gnulib.mk +++ b/lib/gnulib.mk @@ -915,6 +915,7 @@ stddef.h: stddef.in.h $(top_builddir)/config.status -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \ + -e 's|@''HAVE_MAX_ALIGN_T''@|$(HAVE_MAX_ALIGN_T)|g' \ -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \ -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \ < $(srcdir)/stddef.in.h; \ diff --git a/lib/stat-time.h b/lib/stat-time.h index b3df6eb..9cbf8e0 100644 --- a/lib/stat-time.h +++ b/lib/stat-time.h @@ -54,7 +54,7 @@ _GL_INLINE_HEADER_BEGIN #endif /* Return the nanosecond component of *ST's access time. */ -_GL_STAT_TIME_INLINE long int +_GL_STAT_TIME_INLINE long int _GL_ATTRIBUTE_PURE get_stat_atime_ns (struct stat const *st) { # if defined STAT_TIMESPEC @@ -67,7 +67,7 @@ get_stat_atime_ns (struct stat const *st) } /* Return the nanosecond component of *ST's status change time. */ -_GL_STAT_TIME_INLINE long int +_GL_STAT_TIME_INLINE long int _GL_ATTRIBUTE_PURE get_stat_ctime_ns (struct stat const *st) { # if defined STAT_TIMESPEC @@ -80,7 +80,7 @@ get_stat_ctime_ns (struct stat const *st) } /* Return the nanosecond component of *ST's data modification time. */ -_GL_STAT_TIME_INLINE long int +_GL_STAT_TIME_INLINE long int _GL_ATTRIBUTE_PURE get_stat_mtime_ns (struct stat const *st) { # if defined STAT_TIMESPEC @@ -93,7 +93,7 @@ get_stat_mtime_ns (struct stat const *st) } /* Return the nanosecond component of *ST's birth time. */ -_GL_STAT_TIME_INLINE long int +_GL_STAT_TIME_INLINE long int _GL_ATTRIBUTE_PURE get_stat_birthtime_ns (struct stat const *st) { # if defined HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC @@ -108,7 +108,7 @@ get_stat_birthtime_ns (struct stat const *st) } /* Return *ST's access time. */ -_GL_STAT_TIME_INLINE struct timespec +_GL_STAT_TIME_INLINE struct timespec _GL_ATTRIBUTE_PURE get_stat_atime (struct stat const *st) { #ifdef STAT_TIMESPEC @@ -122,7 +122,7 @@ get_stat_atime (struct stat const *st) } /* Return *ST's status change time. */ -_GL_STAT_TIME_INLINE struct timespec +_GL_STAT_TIME_INLINE struct timespec _GL_ATTRIBUTE_PURE get_stat_ctime (struct stat const *st) { #ifdef STAT_TIMESPEC @@ -136,7 +136,7 @@ get_stat_ctime (struct stat const *st) } /* Return *ST's data modification time. */ -_GL_STAT_TIME_INLINE struct timespec +_GL_STAT_TIME_INLINE struct timespec _GL_ATTRIBUTE_PURE get_stat_mtime (struct stat const *st) { #ifdef STAT_TIMESPEC @@ -151,7 +151,7 @@ get_stat_mtime (struct stat const *st) /* Return *ST's birth time, if available; otherwise return a value with tv_sec and tv_nsec both equal to -1. */ -_GL_STAT_TIME_INLINE struct timespec +_GL_STAT_TIME_INLINE struct timespec _GL_ATTRIBUTE_PURE get_stat_birthtime (struct stat const *st) { struct timespec t; diff --git a/lib/stddef.in.h b/lib/stddef.in.h index f5c0e05..9924a32 100644 --- a/lib/stddef.in.h +++ b/lib/stddef.in.h @@ -39,7 +39,6 @@ # if !(defined _@GUARD_PREFIX@_STDDEF_H && defined _GL_STDDEF_WINT_T) # ifdef __need_wint_t -# undef _@GUARD_PREFIX@_STDDEF_H # define _GL_STDDEF_WINT_T # endif # @INCLUDE_NEXT@ @NEXT_STDDEF_H@ @@ -54,33 +53,45 @@ # @INCLUDE_NEXT@ @NEXT_STDDEF_H@ -# ifndef _@GUARD_PREFIX@_STDDEF_H -# define _@GUARD_PREFIX@_STDDEF_H - /* On NetBSD 5.0, the definition of NULL lacks proper parentheses. */ -#if @REPLACE_NULL@ -# undef NULL -# ifdef __cplusplus +# if (@REPLACE_NULL@ \ + && (!defined _@GUARD_PREFIX@_STDDEF_H || defined _GL_STDDEF_WINT_T)) +# undef NULL +# ifdef __cplusplus /* ISO C++ says that the macro NULL must expand to an integer constant expression, hence '((void *) 0)' is not allowed in C++. */ -# if __GNUG__ >= 3 +# if __GNUG__ >= 3 /* GNU C++ has a __null macro that behaves like an integer ('int' or 'long') but has the same size as a pointer. Use that, to avoid warnings. */ -# define NULL __null -# else -# define NULL 0L +# define NULL __null +# else +# define NULL 0L +# endif +# else +# define NULL ((void *) 0) +# endif # endif -# else -# define NULL ((void *) 0) -# endif -#endif + +# ifndef _@GUARD_PREFIX@_STDDEF_H +# define _@GUARD_PREFIX@_STDDEF_H /* Some platforms lack wchar_t. */ #if !@HAVE_WCHAR_T@ # define wchar_t int #endif +/* Some platforms lack max_align_t. */ +#if !@HAVE_MAX_ALIGN_T@ +typedef union +{ + char *__p; + double __d; + long double __ld; + long int __i; +} max_align_t; +#endif + # endif /* _@GUARD_PREFIX@_STDDEF_H */ # endif /* _@GUARD_PREFIX@_STDDEF_H */ #endif /* __need_XXX */ diff --git a/lib/timespec.h b/lib/timespec.h index 872cbb7..dfc1277 100644 --- a/lib/timespec.h +++ b/lib/timespec.h @@ -74,7 +74,7 @@ make_timespec (time_t s, long int ns) The (int) cast avoids a gcc -Wconversion warning. */ -_GL_TIMESPEC_INLINE int +_GL_TIMESPEC_INLINE int _GL_ATTRIBUTE_PURE timespec_cmp (struct timespec a, struct timespec b) { return (a.tv_sec < b.tv_sec ? -1 @@ -84,7 +84,7 @@ timespec_cmp (struct timespec a, struct timespec b) /* Return -1, 0, 1, depending on the sign of A. A.tv_nsec must be nonnegative. */ -_GL_TIMESPEC_INLINE int +_GL_TIMESPEC_INLINE int _GL_ATTRIBUTE_PURE timespec_sign (struct timespec a) { return a.tv_sec < 0 ? -1 : a.tv_sec || a.tv_nsec; diff --git a/m4/extensions.m4 b/m4/extensions.m4 index 37f55ca..cf285ba 100644 --- a/m4/extensions.m4 +++ b/m4/extensions.m4 @@ -68,6 +68,10 @@ dnl configure.ac when using autoheader 2.62. #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif +/* Use GNU style printf and scanf. */ +#ifndef __USE_MINGW_ANSI_STDIO +# undef __USE_MINGW_ANSI_STDIO +#endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # undef _POSIX_PTHREAD_SEMANTICS @@ -100,6 +104,7 @@ dnl configure.ac when using autoheader 2.62. AC_DEFINE([_ALL_SOURCE]) AC_DEFINE([_DARWIN_C_SOURCE]) AC_DEFINE([_GNU_SOURCE]) + AC_DEFINE([__USE_MINGW_ANSI_STDIO]) AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) AC_DEFINE([_TANDEM_SOURCE]) AC_CACHE_CHECK([whether _XOPEN_SOURCE should be defined], diff --git a/m4/stddef_h.m4 b/m4/stddef_h.m4 index c555e29..9659813 100644 --- a/m4/stddef_h.m4 +++ b/m4/stddef_h.m4 @@ -1,5 +1,5 @@ -dnl A placeholder for POSIX 2008 , for platforms that have issues. -# stddef_h.m4 serial 4 +dnl A placeholder for , for platforms that have issues. +# stddef_h.m4 serial 5 dnl Copyright (C) 2009-2014 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -10,6 +10,9 @@ AC_DEFUN([gl_STDDEF_H], AC_REQUIRE([gl_STDDEF_H_DEFAULTS]) AC_REQUIRE([gt_TYPE_WCHAR_T]) STDDEF_H= + AC_CHECK_TYPE([max_align_t], [], [HAVE_MAX_ALIGN_T=0; STDDEF_H=stddef.h], + [[#include + ]]) if test $gt_cv_c_wchar_t = no; then HAVE_WCHAR_T=0 STDDEF_H=stddef.h @@ -43,5 +46,6 @@ AC_DEFUN([gl_STDDEF_H_DEFAULTS], [ dnl Assume proper GNU behavior unless another module says otherwise. REPLACE_NULL=0; AC_SUBST([REPLACE_NULL]) + HAVE_MAX_ALIGN_T=1; AC_SUBST([HAVE_MAX_ALIGN_T]) HAVE_WCHAR_T=1; AC_SUBST([HAVE_WCHAR_T]) ]) diff --git a/m4/stdio_h.m4 b/m4/stdio_h.m4 index d15913a..ef0dcc1 100644 --- a/m4/stdio_h.m4 +++ b/m4/stdio_h.m4 @@ -6,6 +6,9 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_STDIO_H], [ + dnl For __USE_MINGW_ANSI_STDIO + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + AC_REQUIRE([gl_STDIO_H_DEFAULTS]) gl_NEXT_HEADERS([stdio.h]) commit 074965f9355b7cc7f7a5f4385a19433e51c8afd2 Author: Stefan Monnier Date: Fri Dec 12 09:55:42 2014 -0500 * lisp/progmodes/python.el (python-indent-line): Use `noindent' in strings. (python-indent-levels): Document extra value. (python-indent-calculate-indentation): Return `noindent' in strings. (python-indent-post-self-insert-function) (python-indent-calculate-levels): Handle new value. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9c70947..1db7c97 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2014-12-12 Stefan Monnier + + * progmodes/python.el (python-indent-line): Use `noindent' in strings. + (python-indent-levels): Document extra value. + (python-indent-calculate-indentation): Return `noindent' in strings. + (python-indent-post-self-insert-function) + (python-indent-calculate-levels): Handle new value. + 2014-12-12 Lars Magne Ingebrigtsen * net/network-stream.el (network-stream-open-starttls): No need to @@ -12,8 +20,8 @@ vc/vc.el: latest-on-branch-p is no longer a public method. * vc/vc.el, vc/vc-hg.el, vc/vc-git.el, vc/vc-hooks.el, - vc/vc-mtn.el, vc/vc-rcs.el, vc/vc-sccs.el, vc/vc-src.el: rrollback - method removed, to be replaced in the future by uncommit. + vc/vc-mtn.el, vc/vc-rcs.el, vc/vc-sccs.el, vc/vc-src.el: Remove `rollback' + method, to be replaced in the future by uncommit. 2014-12-11 Michael Albinus diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 63597d5..f1d8cff 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -689,7 +689,8 @@ It makes underscores and dots word constituent chars.") "Current indentation level `python-indent-line-function' is using.") (defvar python-indent-levels '(0) - "Levels of indentation available for `python-indent-line-function'.") + "Levels of indentation available for `python-indent-line-function'. +Can also be `noindent' if automatic indentation can't be used.") (defun python-indent-guess-indent-offset () "Guess and set `python-indent-offset' for the current buffer." @@ -810,7 +811,9 @@ START is the buffer position where the sexp starts." start)))) (defun python-indent-calculate-indentation () - "Calculate correct indentation offset for the current line." + "Calculate correct indentation offset for the current line. +Returns `noindent' if the indentation does not depend on Python syntax, +such as in strings." (let* ((indentation-context (python-indent-context)) (context-status (car indentation-context)) (context-start (cdr indentation-context))) @@ -860,9 +863,7 @@ START is the buffer position where the sexp starts." ;; When inside of a string, do nothing. just use the current ;; indentation. XXX: perhaps it would be a good idea to ;; invoke standard text indentation here - (`inside-string - (goto-char context-start) - (current-indentation)) + (`inside-string 'noindent) ;; After backslash we have several possibilities. (`after-backslash (cond @@ -988,14 +989,17 @@ START is the buffer position where the sexp starts." ;; XXX: This asks for a refactor. Even if point is on a ;; dedenter statement, it could be multiline and in that case ;; the continuation lines should be indented with normal rules. - (let* ((indentation (python-indent-calculate-indentation)) - (remainder (% indentation python-indent-offset)) - (steps (/ (- indentation remainder) python-indent-offset))) - (setq python-indent-levels (list 0)) - (dotimes (step steps) - (push (* python-indent-offset (1+ step)) python-indent-levels)) - (when (not (eq 0 remainder)) - (push (+ (* python-indent-offset steps) remainder) python-indent-levels))) + (let* ((indentation (python-indent-calculate-indentation))) + (if (not (numberp indentation)) + (setq python-indent-levels indentation) + (let* ((remainder (% indentation python-indent-offset)) + (steps (/ (- indentation remainder) python-indent-offset))) + (setq python-indent-levels (list 0)) + (dotimes (step steps) + (push (* python-indent-offset (1+ step)) python-indent-levels)) + (when (not (eq 0 remainder)) + (push (+ (* python-indent-offset steps) remainder) + python-indent-levels))))) (setq python-indent-levels (or (mapcar (lambda (pos) @@ -1004,8 +1008,9 @@ START is the buffer position where the sexp starts." (current-indentation))) (python-info-dedenter-opening-block-positions)) (list 0)))) - (setq python-indent-current-level (1- (length python-indent-levels)) - python-indent-levels (nreverse python-indent-levels))) + (when (listp python-indent-levels) + (setq python-indent-current-level (1- (length python-indent-levels)) + python-indent-levels (nreverse python-indent-levels)))) (defun python-indent-toggle-levels () "Toggle `python-indent-current-level' over `python-indent-levels'." @@ -1033,28 +1038,30 @@ in the variable `python-indent-levels'. Afterwards it sets the variable `python-indent-current-level' correctly so offset is equal to (nth python-indent-current-level python-indent-levels)" - (or - (and (or (and (memq this-command python-indent-trigger-commands) - (eq last-command this-command)) - force-toggle) - (not (equal python-indent-levels '(0))) - (or (python-indent-toggle-levels) t)) - (python-indent-calculate-levels)) - (let* ((starting-pos (point-marker)) - (indent-ending-position - (+ (line-beginning-position) (current-indentation))) - (follow-indentation-p - (or (bolp) - (and (<= (line-beginning-position) starting-pos) - (>= indent-ending-position starting-pos)))) - (next-indent (nth python-indent-current-level python-indent-levels))) - (unless (= next-indent (current-indentation)) - (beginning-of-line) - (delete-horizontal-space) - (indent-to next-indent) - (goto-char starting-pos)) - (and follow-indentation-p (back-to-indentation))) - (python-info-dedenter-opening-block-message)) + (if (and (or (and (memq this-command python-indent-trigger-commands) + (eq last-command this-command)) + force-toggle) + (not (equal python-indent-levels '(0)))) + (if (listp python-indent-levels) + (python-indent-toggle-levels)) + (python-indent-calculate-levels)) + (if (eq python-indent-levels 'noindent) + python-indent-levels + (let* ((starting-pos (point-marker)) + (indent-ending-position + (+ (line-beginning-position) (current-indentation))) + (follow-indentation-p + (or (bolp) + (and (<= (line-beginning-position) starting-pos) + (>= indent-ending-position starting-pos)))) + (next-indent (nth python-indent-current-level python-indent-levels))) + (unless (= next-indent (current-indentation)) + (beginning-of-line) + (delete-horizontal-space) + (indent-to next-indent) + (goto-char starting-pos)) + (and follow-indentation-p (back-to-indentation))) + (python-info-dedenter-opening-block-message))) (defun python-indent-line-function () "`indent-line-function' for Python mode. @@ -1189,7 +1196,7 @@ the line will be re-indented automatically if needed." (save-excursion (goto-char (line-beginning-position)) (let ((indentation (python-indent-calculate-indentation))) - (when (< (current-indentation) indentation) + (when (and (numberp indentation) (< (current-indentation) indentation)) (indent-line-to indentation))))) ;; Electric colon ((and (eq ?: last-command-event) commit 88f3dbc46545d1f699dd3f2aba8156cf1cdaa500 Author: Lars Magne Ingebrigtsen Date: Fri Dec 12 12:32:42 2014 +0100 Remove more (fboundp 'gnutls-available-p) * lisp/net/network-stream.el (network-stream-open-starttls): No need to check for the availability of `gnutls-available-p'. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 0410b22..9c70947 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2014-12-12 Lars Magne Ingebrigtsen + * net/network-stream.el (network-stream-open-starttls): No need to + check for the availability of `gnutls-available-p'. + * files.el (directory-files-recursively): Don't follow symlinks to other directories. diff --git a/lisp/net/network-stream.el b/lisp/net/network-stream.el index a1e9729..9e4b0ba 100644 --- a/lisp/net/network-stream.el +++ b/lisp/net/network-stream.el @@ -225,8 +225,6 @@ asynchronously, if possible." (capabilities (network-stream-command stream capability-command eo-capa)) (resulting-type 'plain) - (builtin-starttls (and (fboundp 'gnutls-available-p) - (gnutls-available-p))) starttls-available starttls-command error) ;; First check whether the server supports STARTTLS at all. @@ -237,14 +235,14 @@ asynchronously, if possible." ;; connection. (when (and starttls-command (setq starttls-available - (or builtin-starttls + (or (gnutls-available-p) (and (or require-tls (plist-get parameters :use-starttls-if-possible)) (starttls-available-p)))) (not (eq (plist-get parameters :type) 'plain))) ;; If using external STARTTLS, drop this connection and start ;; anew with `starttls-open-stream'. - (unless builtin-starttls + (unless (gnutls-available-p) (delete-process stream) (setq start (with-current-buffer buffer (point-max))) (let* ((starttls-extra-arguments @@ -277,7 +275,7 @@ asynchronously, if possible." (network-stream-command stream starttls-command eoc))) (and response (string-match success-string response))) ;; The server said it was OK to begin STARTTLS negotiations. - (if builtin-starttls + (if (gnutls-available-p) (let ((cert (network-stream-certificate host service parameters))) (condition-case nil (gnutls-negotiate :process stream :hostname host @@ -326,7 +324,7 @@ asynchronously, if possible." (delete-process stream) (setq stream nil)) ;; Check certificate validity etc. - (when builtin-starttls + (when (gnutls-available-p) (setq stream (nsm-verify-connection stream host service (eq resulting-type 'tls) @@ -356,22 +354,20 @@ asynchronously, if possible." (defun network-stream-open-tls (name buffer host service parameters) (with-current-buffer buffer (let* ((start (point-max)) - (use-builtin-gnutls (and (fboundp 'gnutls-available-p) - (gnutls-available-p))) (stream - (funcall (if use-builtin-gnutls + (funcall (if (gnutls-available-p) 'open-gnutls-stream 'open-tls-stream) name buffer host service)) (eoc (plist-get parameters :end-of-command))) ;; Check certificate validity etc. - (when (and use-builtin-gnutls stream) + (when (and (gnutls-available-p) stream) (setq stream (nsm-verify-connection stream host service))) (if (null stream) (list nil nil nil 'plain) ;; If we're using tls.el, we have to delete the output from ;; openssl/gnutls-cli. - (when (and (null use-builtin-gnutls) + (when (and (not (gnutls-available-p)) eoc) (network-stream-get-response stream start eoc) (goto-char (point-min)) commit 3431e82d16af3d5130f0218efd5fafaa797ed28a Author: Lars Magne Ingebrigtsen Date: Fri Dec 12 11:52:58 2014 +0100 Ignore directory symlinks in directory-files-recursively * files.el (directory-files-recursively): Don't follow symlinks to other directories. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 75effaa..0410b22 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2014-12-12 Lars Magne Ingebrigtsen + + * files.el (directory-files-recursively): Don't follow symlinks to + other directories. + 2014-12-12 Eric S. Raymond * vc/vc-dav.el, vc/vc-git.el, vc/vc-hg.el, vc/vc-src.el, diff --git a/lisp/files.el b/lisp/files.el index 568c1bb..40972d4 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -772,15 +772,15 @@ If INCLUDE-DIRECTORIES, also include directories that have matching names." 'string<)) (unless (member file '("./" "../")) (if (= (aref file (1- (length file))) ?/) - (progn - (setq result (nconc result (directory-files-recursively - (expand-file-name file dir) - match include-directories))) + (let ((path (expand-file-name file dir))) + ;; Don't follow symlinks to other directories. + (unless (file-symlink-p path) + (setq result (nconc result (directory-files-recursively + path match include-directories)))) (when (and include-directories (string-match match (substring file 0 (1- (length file))))) - (setq result (nconc result (list - (expand-file-name file dir)))))) + (setq result (nconc result (list path))))) (when (string-match match file) (push (expand-file-name file dir) files))))) (nconc result (nreverse files)))) commit 14efb831885fcdefb199e2ca8d28e73e01f55916 Author: Lars Magne Ingebrigtsen Date: Fri Dec 12 11:48:29 2014 +0100 Remove superfluous `gnutls-available-p' check * lisp/url/url-http.el (url-http-parse-headers): `gnutls-available-p' is now always available. diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index 8ff78ee..4091d2e 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog @@ -1,3 +1,8 @@ +2014-12-12 Lars Magne Ingebrigtsen + + * url-http.el (url-http-parse-headers): `gnutls-available-p' is + now always available. + 2014-12-11 Lars Magne Ingebrigtsen * url-http.el (url-http-parse-headers): Check that diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el index 33e333d..34d325a 100644 --- a/lisp/url/url-http.el +++ b/lisp/url/url-http.el @@ -495,8 +495,7 @@ should be shown to the user." (url-port url-current-object) url-http-process) ;; Pass the https certificate on to the caller. - (when (and (fboundp 'gnutls-available-p) - (gnutls-available-p)) + (when (gnutls-available-p) (let ((status (gnutls-peer-status url-http-process))) (when (or status (plist-get (car url-callback-arguments) :peer))