diff --git a/ChangeLog b/ChangeLog index 4de3ee059d7..d43d82def57 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,29 @@ +2014-04-16 Eli Zaretskii + + * config.bat: Update for Emacs 24.4. + +2014-04-16 Paul Eggert + + Port to IRIX 6.5 (Bug#9684). + This port requires IRIX cc, as I did not have time to get + undump working with the old GCC on the system I had access to, + but that's better than nothing. + * configure.ac (gl_GCC_VERSION_IFELSE): Remove unused macro + that wouldn't have worked anyway, with IRIX cc. + (emacs_cv_clang, emacs_cv_sanitize_address) + (ns_osx_have_104, ns_osx_have_105): + Don't assume '#error' makes the compiler fail, + as this doesn't work with IRIX cc. + (CFLAGS, LIBS): Don't let the GnuTLS results infect later 'configure' + checks. This runs afoul of an IRIX configuration where GnuTLS is + in an optional library that also contains getdelim, and causes + a later 'configure' to incorrectly think getdelim is supported. + +2014-04-16 Eli Zaretskii + + * configure.ac (LN_S_FILEONLY, LN_S): Use "/bin/ln" on MinGW, to + ensure the MSYS ln.exe is invoked. + 2014-04-15 Paul Eggert Remove DATA_SEG_BITS. diff --git a/config.bat b/config.bat index 8af3756222b..cc354478ee9 100644 --- a/config.bat +++ b/config.bat @@ -264,8 +264,14 @@ cd lib Rem Rename files like djtar on plain DOS filesystem would. If Exist build-aux\snippet\c++defs.h update build-aux/snippet/c++defs.h build-aux/snippet/cxxdefs.h If Exist alloca.in.h update alloca.in.h alloca.in-h +If Exist byteswap.in.h update byteswap.in.h byteswap.in-h +If Exist dirent.in.h update dirent.in.h dirent.in-h +If Exist errno.in.h update errno.in.h errno.in-h If Exist execinfo.in.h update execinfo.in.h execinfo.in-h +If Exist fcntl.in.h update fcntl.in.h fcntl.in-h If Exist getopt.in.h update getopt.in.h getopt.in-h +If Exist inttypes.in.h update inttypes.in.h inttypes.in-h +If Exist stdarg.in.h update stdarg.in.h stdarg.in-h If Exist stdalign.in.h update stdalign.in.h stdalign.in-h If Exist stdbool.in.h update stdbool.in.h stdbool.in-h If Exist signal.in.h update signal.in.h signal.in-h @@ -274,8 +280,11 @@ If Exist stddef.in.h update stddef.in.h stddef.in-h If Exist stdint.in.h update stdint.in.h stdint.in-h If Exist stdio.in.h update stdio.in.h stdio.in-h If Exist stdlib.in.h update stdlib.in.h stdlib.in-h +If Exist string.in.h update string.in.h string.in-h +If Exist sys_select.in.h update sys_select.in.h sys_select.in-h If Exist sys_stat.in.h update sys_stat.in.h sys_stat.in-h If Exist sys_types.in.h update sys_types.in.h sys_types.in-h +If Exist sys_time.in.h update sys_time.in.h sys_time.in-h If Exist time.in.h update time.in.h time.in-h If Exist unistd.in.h update unistd.in.h unistd.in-h If Exist Makefile.in sed -f ../msdos/sedlibcf.inp < Makefile.in > makefile.tmp @@ -294,13 +303,18 @@ If Exist gnus\.dir-locals.el update gnus/.dir-locals.el gnus/_dir-locals.el sed -f ../msdos/sedlisp.inp < Makefile.in > Makefile cd .. rem ---------------------------------------------------------------------- -If not Exist leim\quail\latin-pre.el goto maindir Echo Configuring the leim directory... cd leim sed -f ../msdos/sedleim.inp < Makefile.in > Makefile cd .. rem ---------------------------------------------------------------------- -:maindir +If Not Exist admin\unidata goto noadmin +Echo Configuring the admin/unidata directory... +cd admin\unidata +sed -f ../../msdos/sedadmin.inp < Makefile.in > Makefile +cd ..\.. +:noadmin +rem ---------------------------------------------------------------------- Echo Configuring the main directory... If Exist .dir-locals.el update .dir-locals.el _dir-locals.el If Exist src\.dbxinit update src/.dbxinit src/_dbxinit diff --git a/configure.ac b/configure.ac index 68b9e3a4761..3717abcf348 100644 --- a/configure.ac +++ b/configure.ac @@ -791,30 +791,12 @@ if test "${enableval}" != "no"; then fi fi) -# gl_GCC_VERSION_IFELSE([major], [minor], [run-if-found], [run-if-not-found]) -# ------------------------------------------------ -# If $CPP is gcc-MAJOR.MINOR or newer, then run RUN-IF-FOUND. -# Otherwise, run RUN-IF-NOT-FOUND. -AC_DEFUN([gl_GCC_VERSION_IFELSE], - [AC_PREPROC_IFELSE( - [AC_LANG_PROGRAM( - [[ -#if ($1) < __GNUC__ || (($1) == __GNUC__ && ($2) <= __GNUC_MINOR__) -/* ok */ -#else -# error "your version of gcc is older than $1.$2" -#endif - ]]), - ], [$3], [$4]) - ] -) - # clang is unduly picky about some things. AC_CACHE_CHECK([whether the compiler is clang], [emacs_cv_clang], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[ #ifndef __clang__ - #error "not clang" + error "not clang"; #endif ]])], [emacs_cv_clang=yes], @@ -950,11 +932,21 @@ rm -f conf$$ conf$$.file LN_S_FILEONLY='cp -p' +dnl On MinGW, ensure we will call the MSYS /bin/ln.exe, not some +dnl random program in the current directory. if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then - LN_S_FILEONLY='ln -s' + if test "$opsys" = "mingw32"; then + LN_S_FILEONLY='/bin/ln -s' + else + LN_S_FILEONLY='ln -s' + fi elif ln conf$$.file conf$$ 2>/dev/null; then - LN_S_FILEONLY=ln + if test "$opsys" = "mingw32"; then + LN_S_FILEONLY=/bin/ln + else + LN_S_FILEONLY=ln + fi fi fi @@ -976,7 +968,7 @@ dnl executables at "make install" time. dnl See http://lists.gnu.org/archive/html/emacs-devel/2013-04/msg00475.html dnl for more details. if test "$opsys" = "mingw32"; then - LN_S="ln" + LN_S="/bin/ln" fi AC_PATH_PROG(INSTALL_INFO, install-info, :, @@ -1116,7 +1108,7 @@ AC_CACHE_CHECK([whether addresses are sanitized], #endif #if defined __SANITIZE_ADDRESS__ || __has_feature (address_sanitizer) #else - #error "Addresses are not sanitized." + error "Addresses are not sanitized."; #endif ]])], [emacs_cv_sanitize_address=yes], @@ -1712,7 +1704,7 @@ fail; #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 ; /* OK */ #else -#error "OSX 10.4 or newer required" + error "OSX 10.4 or newer required"; #endif #endif ])], @@ -1730,7 +1722,7 @@ fail; #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1050 ; /* OK */ #else -#error "OSX 10.5 not found" + error "OSX 10.5 not found"; #endif #endif ])], @@ -2515,9 +2507,6 @@ if test "${with_gnutls}" = "yes" ; then # Windows loads GnuTLS dynamically if test "${opsys}" = "mingw32"; then LIBGNUTLS_LIBS= - else - CFLAGS="$CFLAGS $LIBGNUTLS_CFLAGS" - LIBS="$LIBGNUTLS_LIBS $LIBS" fi fi diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 89a26a6b38a..d4514904c77 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,8 @@ +2014-04-16 Eli Zaretskii + + * display.texi (Cursor Display): Explain better how to customize + 'blink-cursor-blinks'. + 2014-04-07 Glenn Morris * trouble.texi (Checklist): Dribble files may contain passwords. diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi index d53c80acafd..03de755aff3 100644 --- a/doc/emacs/display.texi +++ b/doc/emacs/display.texi @@ -1482,18 +1482,27 @@ pixels tall), or @code{nil} (no cursor at all). @vindex blink-cursor-mode @vindex blink-cursor-blinks @vindex blink-cursor-alist - By default, the cursor stops blinking after 10 blinks. This can be -changed by customizing the variable @code{blink-cursor-blinks}. To -disable cursor blinking altogether, change the variable -@code{blink-cursor-mode} to @code{nil} (@pxref{Easy Customization}), -or add the line @code{(blink-cursor-mode 0)} to your init file. -Alternatively, you can change how the cursor looks when it ``blinks -off'' by customizing the list variable @code{blink-cursor-alist}. -Each element in the list should have the form @code{(@var{on-type} -. @var{off-type})}; this means that if the cursor is displayed as -@var{on-type} when it blinks on (where @var{on-type} is one of the -cursor types described above), then it is displayed as @var{off-type} -when it blinks off. + By default, the cursor stops blinking after 10 blinks, if Emacs does +not get any input during that time; any input event restarts the +count. You can customize the variable @code{blink-cursor-blinks} to +control that: its value says how many times to blink without input +before stopping. Setting that variable to a zero or negative value +will make the cursor blink forever. To disable cursor blinking +altogether, change the variable @code{blink-cursor-mode} to @code{nil} +(@pxref{Easy Customization}), or add the line + +@lisp + (blink-cursor-mode 0) +@end lisp + +@noindent +to your init file. Alternatively, you can change how the cursor +looks when it ``blinks off'' by customizing the list variable +@code{blink-cursor-alist}. Each element in the list should have the +form @code{(@var{on-type} . @var{off-type})}; this means that if the +cursor is displayed as @var{on-type} when it blinks on (where +@var{on-type} is one of the cursor types described above), then it is +displayed as @var{off-type} when it blinks off. @vindex x-stretch-cursor @cindex wide block cursor diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 0246d1a44de..acbef6b9495 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -1475,8 +1475,10 @@ the buffer's undo list. Since more than one overlay can specify a property value for the same character, Emacs lets you specify a priority value of each -overlay. You should not make assumptions about which overlay will -prevail when there is a conflict and they have the same priority. +overlay. In case two overlays have the same priority value, and one +is nested in the other, then the inner one will have priority over the +outer one. If neither is nested in the other then you should not make +assumptions about which overlay will prevail. These functions read and set the properties of an overlay: @@ -1507,9 +1509,9 @@ of them: @table @code @item priority @kindex priority @r{(overlay property)} -This property's value (which should be a non-negative integer) -determines the priority of the overlay. No priority, or @code{nil}, -means zero. +This property's value determines the priority of the overlay. No priority, or +@code{nil}, means zero. A non-nil and non-integer value has +undefined behavior. The priority matters when two or more overlays cover the same character and both specify the same property; the one whose @@ -1706,11 +1708,12 @@ Properties}. @node Finding Overlays @subsection Searching for Overlays -@defun overlays-at pos -This function returns a list of all the overlays that cover the -character at position @var{pos} in the current buffer. The list is in -no particular order. An overlay contains position @var{pos} if it -begins at or before @var{pos}, and ends after @var{pos}. +@defun overlays-at pos &optional sorted +This function returns a list of all the overlays that cover the character at +position @var{pos} in the current buffer. If @var{sorted} is non-nil, the list +is in decreasing order of priority, otherwise it is in no particular order. +An overlay contains position @var{pos} if it begins at or before @var{pos}, and +ends after @var{pos}. To illustrate usage, here is a Lisp function that returns a list of the overlays that specify property @var{prop} for the character at point: diff --git a/etc/NEWS b/etc/NEWS index f32d1b974c1..195ab5ce14b 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1291,6 +1291,8 @@ treated as regexps rather than literal strings. * Lisp Changes in Emacs 24.4 +** overlays-at can optionally sort its result by priority. + +++ ** The second argument of `eval' can now specify a lexical environment. diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 85c4b90d9fc..0acdeecff8f 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,8 @@ +2014-04-16 Eli Zaretskii + + * update-game-score.c (write_scores): Condition fchmod call on + DOS_NT, not WINDOWSNT. + 2014-03-22 Glenn Morris * Makefile.in (etags_deps, etags_args): New, to reduce duplication. diff --git a/lib-src/update-game-score.c b/lib-src/update-game-score.c index ad591cca87a..cb6fdf73590 100644 --- a/lib-src/update-game-score.c +++ b/lib-src/update-game-score.c @@ -443,7 +443,7 @@ write_scores (const char *filename, const struct score_entry *scores, fd = mkostemp (tempfile, 0); if (fd < 0) return -1; -#ifndef WINDOWSNT +#ifndef DOS_NT if (fchmod (fd, 0644) != 0) return -1; #endif @@ -459,7 +459,7 @@ write_scores (const char *filename, const struct score_entry *scores, return -1; if (rename (tempfile, filename) != 0) return -1; -#ifdef WINDOWSNT +#ifdef DOS_NT if (chmod (filename, 0644) < 0) return -1; #endif diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 233a72e79df..f740e7f23df 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,63 @@ +2014-04-16 Stefan Monnier + + * progmodes/perl-mode.el (perl-calculate-indent): Don't auto-indent in + here-documents (bug#17262). + +2014-04-16 Eli Zaretskii + + * term/pc-win.el (x-list-fonts, x-get-selection-value): + Provide doc strings, as required by snarf-documentation. + +2014-04-16 Stefan Monnier + + * ps-def.el (ps-generate-postscript-with-faces1): Use the new `sorted' + arg of overlays-at. Use `invisible-p'. + + * obsolete/lucid.el (extent-at): + * htmlfontify.el (hfy-overlay-props-at): Use the new `sorted' arg of + overlays-at. + (hfy-fontify-buffer): Remove unused var `orig-ovls'. + +2014-04-16 João Távora + + * net/shr.el (shr-expand-url): Use `expand-file-name' for relative + links. (Bug#17217). + +2014-04-16 YAMAMOTO Mitsuharu + + * vc/ediff-diff.el (ediff-set-fine-diff-properties-in-one-buffer): + Use mapc to loop over a vector. (Bug#17257). + +2014-04-16 Michael Albinus + + * net/tramp-sh.el (tramp-sh-handle-file-truename): Revert previous + patch, there are new problems with file names containing spaces. + Get rid of backticks. (Bug#17238) + +2014-04-16 João Távora + + * elec-pair.el (electric-pair--syntax-ppss): Simplify and fix + possible bug. + +2014-04-16 Eli Zaretskii + + * frame.el (blink-cursor-blinks, blink-cursor-blinks-done): Doc fixes. + (blink-cursor-mode): Mention customization variables and the + effect of 'blink-cursor-blinks'. + +2014-04-16 Barry O'Reilly + + * simple.el (undo): Prevent insertion of identity mapping into + undo-equiv-table so as undo-only does not inf loop in the presence + of consecutive nils in undo list. + +2014-04-16 Matthias Dahl + + * faces.el (make-face): Deprecate optional argument as it is no + longer needed/used since the conditional X resources handling + has been pushed down to make-face-x-resource-internal itself. + (make-empty-face): Don't pass optional argument to make-face. + 2014-04-16 Karl Fogel * savehist.el (savehist-save): Remove workaround for a read-passwd diff --git a/lisp/elec-pair.el b/lisp/elec-pair.el index 04e1840c0a5..42b8a912cc4 100644 --- a/lisp/elec-pair.el +++ b/lisp/elec-pair.el @@ -226,10 +226,9 @@ WHERE is a list defaulting to '(string comment) and indicates when to fallback to `parse-partial-sexp'." (let* ((pos (or pos (point))) (where (or where '(string comment))) - (quick-ppss (syntax-ppss)) - (quick-ppss-at-pos (syntax-ppss pos)) - (in-string (and (nth 3 quick-ppss-at-pos) (memq 'string where))) - (in-comment (and (nth 4 quick-ppss-at-pos) (memq 'comment where))) + (quick-ppss (syntax-ppss pos)) + (in-string (and (nth 3 quick-ppss) (memq 'string where))) + (in-comment (and (nth 4 quick-ppss) (memq 'comment where))) (s-or-c-start (cond (in-string (1+ (nth 8 quick-ppss))) (in-comment @@ -243,7 +242,7 @@ when to fallback to `parse-partial-sexp'." ;; HACK! cc-mode apparently has some `syntax-ppss' bugs (if (memq major-mode '(c-mode c++ mode)) (parse-partial-sexp (point-min) pos) - quick-ppss-at-pos)))) + quick-ppss)))) ;; Balancing means controlling pairing and skipping of parentheses ;; so that, if possible, the buffer ends up at least as balanced as diff --git a/lisp/frame.el b/lisp/frame.el index 7b0a0a80082..f081df788ec 100644 --- a/lisp/frame.el +++ b/lisp/frame.el @@ -1722,14 +1722,14 @@ left untouched. FRAME nil or omitted means use the selected frame." :group 'cursor) (defcustom blink-cursor-blinks 10 - "How many times to blink before using a solid cursor on NS and X. + "How many times to blink before using a solid cursor on NS, X, and MS-Windows. Use 0 or negative value to blink forever." :version "24.4" :type 'integer :group 'cursor) (defvar blink-cursor-blinks-done 1 - "Number of blinks done since we started blinking on NS and X") + "Number of blinks done since we started blinking on NS, X, and MS-Windows.") (defvar blink-cursor-idle-timer nil "Timer started after `blink-cursor-delay' seconds of Emacs idle time. @@ -1807,6 +1807,12 @@ With a prefix argument ARG, enable Blink Cursor mode if ARG is positive, and disable it otherwise. If called from Lisp, enable the mode if ARG is omitted or nil. +If the value of `blink-cursor-blinks' is positive (10 by default), +the cursor stops blinking after that number of blinks, if Emacs +gets no input during that time. + +See also `blink-cursor-interval' and `blink-cursor-delay'. + This command is effective only on graphical frames. On text-only terminals, cursor blinking is controlled by the terminal." :init-value (not (or noninteractive diff --git a/lisp/htmlfontify.el b/lisp/htmlfontify.el index 1282654899f..56887f39bef 100644 --- a/lisp/htmlfontify.el +++ b/lisp/htmlfontify.el @@ -1328,9 +1328,7 @@ return a `defface' style list of face properties instead of a face symbol." (defun hfy-overlay-props-at (p) "Grab overlay properties at point P. The plists are returned in descending priority order." - (sort (mapcar #'overlay-properties (overlays-at p)) - (lambda (A B) (> (or (cadr (memq 'priority A)) 0) ;FIXME: plist-get? - (or (cadr (memq 'priority B)) 0))))) + (mapcar #'overlay-properties (overlays-at p 'sorted))) ;; construct an assoc of (face-name . (css-name . "{ css-style }")) elements: (defun hfy-compile-stylesheet () @@ -1642,7 +1640,6 @@ FILE, if set, is the file name." (css-map nil) (invis-ranges nil) (rovl nil) - (orig-ovls (overlays-in (point-min) (point-max))) (rmin (when mark-active (region-beginning))) (rmax (when mark-active (region-end ))) ) (when (and mark-active @@ -1664,12 +1661,6 @@ FILE, if set, is the file name." (set-buffer html-buffer) ;; rip out props that could interfere with our htmlization of the buffer: (remove-text-properties (point-min) (point-max) hfy-ignored-properties) - ;; Apply overlay invisible spec - (setq orig-ovls - (sort orig-ovls - (lambda (A B) - (> (or (cadr (memq 'priority (overlay-properties A))) 0) - (or (cadr (memq 'priority (overlay-properties B))) 0))))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; at this point, html-buffer retains the fontification of the parent: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/lisp/net/shr.el b/lisp/net/shr.el index 8b68b6f4bc7..58442575ad2 100644 --- a/lisp/net/shr.el +++ b/lisp/net/shr.el @@ -610,7 +610,7 @@ size, and full-buffer size." (concat (nth 3 base) url)) (t ;; Totally relative. - (concat (car base) (cadr base) url)))) + (concat (car base) (expand-file-name url (cadr base)))))) (defun shr-ensure-newline () (unless (zerop (current-column)) diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index 4d0b5ae54d4..3b600e3d84e 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -950,15 +950,15 @@ target of the symlink differ." (tramp-message v 4 "Finding true name for `%s'" filename) (cond ;; Use GNU readlink --canonicalize-missing where available. - ;; We must quote the file name twice due to the backticks. ((tramp-get-remote-readlink v) - (setq result - (tramp-send-command-and-read - v - (format "echo \"\\\"`%s --canonicalize-missing %s`\\\"\"" - (tramp-get-remote-readlink v) - (tramp-shell-quote-argument - (tramp-shell-quote-argument localname)))))) + (tramp-send-command-and-check + v + (format "%s --canonicalize-missing %s" + (tramp-get-remote-readlink v) + (tramp-shell-quote-argument localname))) + (with-current-buffer (tramp-get-connection-buffer v) + (goto-char (point-min)) + (setq result (buffer-substring (point-min) (point-at-eol))))) ;; Use Perl implementation. ((and (tramp-get-remote-perl v) diff --git a/lisp/nxml/nxml-mode.el b/lisp/nxml/nxml-mode.el index 0daf62d804f..cd50bce2152 100644 --- a/lisp/nxml/nxml-mode.el +++ b/lisp/nxml/nxml-mode.el @@ -872,7 +872,7 @@ Called with `font-lock-beg' and `font-lock-end' dynamically bound." (defun nxml-fontify-matcher (bound) "Called as font-lock keyword matcher." - + (syntax-propertize bound) (unless nxml-degraded (nxml-debug-change "nxml-fontify-matcher" (point) bound) diff --git a/lisp/nxml/xmltok.el b/lisp/nxml/xmltok.el index 58a2f16d586..f80a5fd2fa1 100644 --- a/lisp/nxml/xmltok.el +++ b/lisp/nxml/xmltok.el @@ -750,7 +750,8 @@ Return the type of the token." ;; Need do this after the goto-char because ;; marked error should just apply to +