Now on revision 110044. ------------------------------------------------------------ revno: 110044 fixes bug: http://debbugs.gnu.org/12166 committer: Chong Yidong branch nick: trunk timestamp: Sun 2012-09-16 12:52:38 +0800 message: Mark display-buffer-function as obsolete. * lisp/window.el (display-buffer-function): Mark as obsolete. diff: === modified file 'etc/NEWS' --- etc/NEWS 2012-09-13 16:23:06 +0000 +++ etc/NEWS 2012-09-16 04:52:38 +0000 @@ -735,6 +735,7 @@ **** `special-display-frame-alist' **** `special-display-buffer-names' **** `special-display-function' +**** `display-buffer-function' ** Completion === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-09-16 04:43:46 +0000 +++ lisp/ChangeLog 2012-09-16 04:52:38 +0000 @@ -1,6 +1,7 @@ 2012-09-16 Chong Yidong * window.el (special-display-popup-frame): Doc fix (Bug#8853). + (display-buffer-function): Mark as obsolete. * progmodes/compile.el (compilation-parse-errors): Accept list values similar to font-lock-keywords (Bug#12136). Suggested by === modified file 'lisp/window.el' --- lisp/window.el 2012-09-16 04:43:46 +0000 +++ lisp/window.el 2012-09-16 04:52:38 +0000 @@ -4551,6 +4551,9 @@ (function :tag "function")) :group 'windows) +(make-obsolete-variable 'display-buffer-function + 'display-buffer-alist "24.3") + ;; Eventually, we want to turn this into a defvar; instead of ;; customizing this, the user should use a `pop-up-frame-parameters' ;; alist entry in `display-buffer-base-action'. ------------------------------------------------------------ revno: 110043 fixes bug: http://debbugs.gnu.org/8853 committer: Chong Yidong branch nick: trunk timestamp: Sun 2012-09-16 12:43:46 +0800 message: * window.el (special-display-popup-frame): Doc fix. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-09-16 04:31:02 +0000 +++ lisp/ChangeLog 2012-09-16 04:43:46 +0000 @@ -1,5 +1,7 @@ 2012-09-16 Chong Yidong + * window.el (special-display-popup-frame): Doc fix (Bug#8853). + * progmodes/compile.el (compilation-parse-errors): Accept list values similar to font-lock-keywords (Bug#12136). Suggested by Oleksandr Manzyuk. === modified file 'lisp/window.el' --- lisp/window.el 2012-09-09 06:43:47 +0000 +++ lisp/window.el 2012-09-16 04:43:46 +0000 @@ -4768,8 +4768,8 @@ BUFFER in a window of the selected frame. If ARGS is a list whose car is a symbol, use (car ARGS) as a -function to do the work. Pass it BUFFER as first argument, -and (cdr ARGS) as second." +function to do the work. Pass it BUFFER as first argument, and +pass the elements of (cdr ARGS) as the remaining arguments." (if (and args (symbolp (car args))) (apply (car args) buffer (cdr args)) (let ((window (get-buffer-window buffer 0))) ------------------------------------------------------------ revno: 110042 fixes bug: http://debbugs.gnu.org/12136 committer: Chong Yidong branch nick: trunk timestamp: Sun 2012-09-16 12:31:02 +0800 message: Alter last change to be compatible with Emacs 23. * lisp/progmodes/compile.el (compilation-parse-errors): Accept list values similar to font-lock-keywords. Suggested by Oleksandr Manzyuk. (compilation-error-regexp-alist): Doc fix. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-09-16 04:16:51 +0000 +++ lisp/ChangeLog 2012-09-16 04:31:02 +0000 @@ -1,7 +1,8 @@ 2012-09-16 Chong Yidong - * progmodes/compile.el (compilation-parse-errors): Apply any value - that is a valid font-lock-face property (Bug#12136). + * progmodes/compile.el (compilation-parse-errors): Accept list + values similar to font-lock-keywords (Bug#12136). Suggested by + Oleksandr Manzyuk. (compilation-error-regexp-alist): Doc fix. 2012-09-15 Glenn Morris === modified file 'lisp/progmodes/compile.el' --- lisp/progmodes/compile.el 2012-09-16 04:16:51 +0000 +++ lisp/progmodes/compile.el 2012-09-16 04:31:02 +0000 @@ -490,8 +490,10 @@ Additional HIGHLIGHTs take the shape (SUBMATCH FACE), where SUBMATCH is the number of a submatch and FACE is an expression -which evaluates to a face (more precisely, a valid value for the -`font-lock-face' property) for highlighting the submatch." +which evaluates to a face name (a symbol or string). +Alternatively, FACE can evaluate to a property list of the +form (face FACE PROP1 VAL1 PROP2 VAL2 ...), in which case all the +listed text properties PROP# are given values VAL# as well." :type '(repeat (choice (symbol :tag "Predefined symbol") (sexp :tag "Error specification"))) :link `(file-link :tag "example file" @@ -1329,18 +1331,27 @@ (compilation--put-prop end-col 'font-lock-face compilation-column-face) + ;; Obey HIGHLIGHT. (dolist (extra-item (nthcdr 6 item)) (let ((mn (pop extra-item))) (when (match-beginning mn) (let ((face (eval (car extra-item)))) (cond ((null face)) - ((or (symbolp face) - (stringp face) - (listp face)) + ((or (symbolp face) (stringp face)) (put-text-property (match-beginning mn) (match-end mn) 'font-lock-face face)) + ((and (listp face) + (eq (car face) 'face) + (or (symbolp (cadr face)) + (stringp (cadr face)))) + (put-text-property + (match-beginning mn) (match-end mn) + 'font-lock-face (cadr face)) + (add-text-properties + (match-beginning mn) (match-end mn) + (nthcdr 2 face))) (t (error "Don't know how to handle face %S" face))))))) ------------------------------------------------------------ revno: 110041 fixes bug: http://debbugs.gnu.org/12136 committer: Chong Yidong branch nick: trunk timestamp: Sun 2012-09-16 12:16:51 +0800 message: In compilation-error-regexp-alist, allow more HIGHLIGHT types. * progmodes/compile.el (compilation-parse-errors): Apply any value that is a valid font-lock-face property. (compilation-error-regexp-alist): Doc fix. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-09-15 20:00:45 +0000 +++ lisp/ChangeLog 2012-09-16 04:16:51 +0000 @@ -1,3 +1,9 @@ +2012-09-16 Chong Yidong + + * progmodes/compile.el (compilation-parse-errors): Apply any value + that is a valid font-lock-face property (Bug#12136). + (compilation-error-regexp-alist): Doc fix. + 2012-09-15 Glenn Morris * version.el (emacs-bzr-version-bzr): New function. === modified file 'lisp/progmodes/compile.el' --- lisp/progmodes/compile.el 2012-08-30 08:22:24 +0000 +++ lisp/progmodes/compile.el 2012-09-16 04:16:51 +0000 @@ -488,9 +488,10 @@ `compilation-message-face' applied. If this is nil, the text matched by the whole REGEXP becomes the hyperlink. -Additional HIGHLIGHTs take the shape (SUBMATCH FACE), where SUBMATCH is -the number of a submatch that should be highlighted when it matches, -and FACE is an expression returning the face to use for that submatch.." +Additional HIGHLIGHTs take the shape (SUBMATCH FACE), where +SUBMATCH is the number of a submatch and FACE is an expression +which evaluates to a face (more precisely, a valid value for the +`font-lock-face' property) for highlighting the submatch." :type '(repeat (choice (symbol :tag "Predefined symbol") (sexp :tag "Error specification"))) :link `(file-link :tag "example file" @@ -1334,7 +1335,9 @@ (let ((face (eval (car extra-item)))) (cond ((null face)) - ((symbolp face) + ((or (symbolp face) + (stringp face) + (listp face)) (put-text-property (match-beginning mn) (match-end mn) 'font-lock-face face)) ------------------------------------------------------------ revno: 110040 committer: Glenn Morris branch nick: trunk timestamp: Sat 2012-09-15 13:00:45 -0700 message: Add option to ask bzr itself for the emacs bzr revision * lisp/version.el (emacs-bzr-version-bzr): New function. (emacs-bzr-get-version): Add optional EXTERNAL argument. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-09-15 01:11:52 +0000 +++ lisp/ChangeLog 2012-09-15 20:00:45 +0000 @@ -1,5 +1,8 @@ 2012-09-15 Glenn Morris + * version.el (emacs-bzr-version-bzr): New function. + (emacs-bzr-get-version): Add optional EXTERNAL argument. + * vc/vc-bzr.el (vc-bzr-working-revision): For lightweight local checkouts, check the parent dirstate matches the branch. Add "--tree" to "bzr revno" arguments. Don't try to shorten the === modified file 'lisp/version.el' --- lisp/version.el 2012-09-15 00:45:00 +0000 +++ lisp/version.el 2012-09-15 20:00:45 +0000 @@ -104,48 +104,74 @@ (looking-at "[0-9]+\0\\([^\0\n]+\\)\0") (match-string 1)))))) -(defun emacs-bzr-get-version (&optional dir) +(defun emacs-bzr-version-bzr (dir) + "Ask bzr itself for the version information for directory DIR." + ;; Comments on `bzr version-info': + ;; i) Unknown files also cause clean != 1. + ;; ii) It can be slow, contacting the upstream repo to get the + ;; branch nick if one is not set locally, even with a custom + ;; template that is not asking for the nick (as used here). You'd + ;; think the latter part would be trivial to fix: + ;; https://bugs.launchpad.net/bzr/+bug/882541/comments/3 + ;; https://bugs.launchpad.net/bzr/+bug/629150 + ;; You can set the nick locally with `bzr nick ...', which speeds + ;; things up enormously. `bzr revno' does not have this issue, but + ;; has no way to print the revision_id AFAICS. + (message "Waiting for bzr...") + (with-temp-buffer + (if (zerop + (call-process "bzr" nil '(t nil) nil "version-info" + "--custom" + "--template={revno} {revision_id} (clean = {clean})" + "dir")) + (buffer-string)))) + +(defun emacs-bzr-get-version (&optional dir external) "Try to return as a string the bzr revision of the Emacs sources. The format is: [revno] revision_id, where revno may be absent. Value is nil if the sources do not seem to be under bzr, or if we could not determine the revision. Note that this reports on the current state of the sources, which may not correspond to the running Emacs. -Optional argument DIR is a directory to use instead of `source-directory'." +Optional argument DIR is a directory to use instead of `source-directory'. +Optional argument EXTERNAL non-nil means to maybe ask `bzr' itself, +if the sources appear to be under bzr. If `force', always ask bzr. +Otherwise only ask bzr if we cannot find any information ourselves." (or dir (setq dir source-directory)) (when (file-directory-p (expand-file-name ".bzr/branch" dir)) - (let (file loc rev) - (cond ((file-readable-p - (setq file (expand-file-name ".bzr/branch/last-revision" dir))) - (with-temp-buffer - (insert-file-contents file) - (goto-char (point-max)) - (if (looking-back "\n") - (delete-char -1)) - (buffer-string))) - ;; OK, no last-revision. Is it a lightweight checkout? - ((file-readable-p - (setq file (expand-file-name ".bzr/branch/location" dir))) - (setq rev (emacs-bzr-version-dirstate dir)) - ;; If the parent branch is local, try looking there for the rev. - ;; Note: there is no guarantee that the parent branch's rev - ;; corresponds to this branch. This branch could have - ;; been made with a specific -r revno argument, or the - ;; parent could have been updated since this branch was created. - ;; To try and detect this, we check the dirstate revids - ;; to see if they match. - (if (and (setq loc (with-temp-buffer - (insert-file-contents file) - (if (looking-at "file://\\(.*\\)") - (match-string 1)))) - (equal rev (emacs-bzr-version-dirstate loc))) - (emacs-bzr-get-version loc) - ;; If parent does not match, the best we can do without - ;; calling external commands is to use the dirstate rev. - rev)) - ;; At this point, could fall back to: - ;; bzr version-info --custom --template='{revno} {revision_id}\n' - )))) + (if (eq external 'force) + (emacs-bzr-version-bzr dir) + (let (file loc rev) + (cond ((file-readable-p + (setq file (expand-file-name ".bzr/branch/last-revision" dir))) + (with-temp-buffer + (insert-file-contents file) + (goto-char (point-max)) + (if (looking-back "\n") + (delete-char -1)) + (buffer-string))) + ;; OK, no last-revision. Is it a lightweight checkout? + ((file-readable-p + (setq file (expand-file-name ".bzr/branch/location" dir))) + (setq rev (emacs-bzr-version-dirstate dir)) + ;; If the parent branch is local, try looking there for the rev. + ;; Note: there is no guarantee that the parent branch's rev + ;; corresponds to this branch. This branch could have + ;; been made with a specific -r revno argument, or the + ;; parent could have been updated since this branch was created. + ;; To try and detect this, we check the dirstate revids + ;; to see if they match. + (if (and (setq loc (with-temp-buffer + (insert-file-contents file) + (if (looking-at "file://\\(.*\\)") + (match-string 1)))) + (equal rev (emacs-bzr-version-dirstate loc))) + (emacs-bzr-get-version loc) + ;; If parent does not match, the best we can do without + ;; calling external commands is to use the dirstate rev. + rev)) + (external + (emacs-bzr-version-bzr dir))))))) ;; We put version info into the executable in the form that `ident' uses. (purecopy (concat "\n$Id: " (subst-char-in-string ?\n ?\s (emacs-version)) ------------------------------------------------------------ revno: 110039 committer: Glenn Morris branch nick: trunk timestamp: Sat 2012-09-15 06:20:56 -0400 message: Auto-commit of loaddefs files. diff: === modified file 'lisp/dired.el' --- lisp/dired.el 2012-09-14 03:55:16 +0000 +++ lisp/dired.el 2012-09-15 10:20:56 +0000 @@ -3744,7 +3744,7 @@ ;;;;;; dired-run-shell-command dired-do-shell-command dired-do-async-shell-command ;;;;;; dired-clean-directory dired-do-print dired-do-touch dired-do-chown ;;;;;; dired-do-chgrp dired-do-chmod dired-compare-directories dired-backup-diff -;;;;;; dired-diff) "dired-aux" "dired-aux.el" "22ce64daa7ccb5698cb6b1279aa59ec2") +;;;;;; dired-diff) "dired-aux" "dired-aux.el" "3c768e470d5d053d0049e0286ce38da7") ;;; Generated autoloads from dired-aux.el (autoload 'dired-diff "dired-aux" "\ ------------------------------------------------------------ revno: 110038 committer: Glenn Morris branch nick: trunk timestamp: Sat 2012-09-15 06:17:37 -0400 message: Auto-commit of generated files. diff: === modified file 'autogen/config.in' --- autogen/config.in 2012-09-13 10:17:31 +0000 +++ autogen/config.in 2012-09-15 10:17:37 +0000 @@ -791,6 +791,10 @@ /* Define to 1 if 'wint_t' is a signed integer type. */ #undef HAVE_SIGNED_WINT_T +/* Define to 1 if sigsetjmp and siglongjmp work. The value of this symbol is + irrelevant if HAVE__SETJMP is defined. */ +#undef HAVE_SIGSETJMP + /* Define to 1 if the system has the type `sigset_t'. */ #undef HAVE_SIGSET_T @@ -1074,6 +1078,9 @@ /* Define to 1 if you have the `_ftime' function. */ #undef HAVE__FTIME +/* Define to 1 if _setjmp and _longjmp work. */ +#undef HAVE__SETJMP + /* Define to 1 if you have the `__builtin_unwind_init' function. */ #undef HAVE___BUILTIN_UNWIND_INIT @@ -1502,14 +1509,6 @@ declarations. Define as empty for no equivalent. */ #undef __restrict_arr -/* Define to longjmp if _setjmp and _longjmp do not work. Because longjmp may - alter signal masks, callers of _longjmp should not assume that it leaves - signal masks alone. */ -#undef _longjmp - -/* Define to setjmp if _setjmp and _longjmp do not work. See _longjmp. */ -#undef _setjmp - /* Some platforms that do not use configure define this to include extra configuration information. */ #undef config_opsysfile === modified file 'autogen/configure' --- autogen/configure 2012-09-14 10:17:31 +0000 +++ autogen/configure 2012-09-15 10:17:37 +0000 @@ -2061,7 +2061,7 @@ --with-mailhost=HOSTNAME string giving default POP mail host --without-sound don't compile with sound support - --without-sync-input process async input synchronously + --without-sync-input don't process async input synchronously --with-x-toolkit=KIT use an X toolkit (KIT one of: yes or gtk, gtk2, gtk3, lucid or athena, motif, no) --with-wide-int prefer wide Emacs integers (typically 62-bit) @@ -8578,8 +8578,9 @@ ALSA_CFLAGS="" ALSA_LIBS="" ## If we have a custom action on failure, don't print errors, but - ## do set a variable so people can do so. - ALSA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$ALSA_MODULES"` + ## do set a variable so people can do so. Do it in a subshell + ## to capture any diagnostics in invoking pkg-config. + ALSA_PKG_ERRORS=`($PKG_CONFIG --print-errors "$ALSA_MODULES") 2>&1` fi @@ -10398,8 +10399,9 @@ RSVG_CFLAGS="" RSVG_LIBS="" ## If we have a custom action on failure, don't print errors, but - ## do set a variable so people can do so. - RSVG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$RSVG_MODULE"` + ## do set a variable so people can do so. Do it in a subshell + ## to capture any diagnostics in invoking pkg-config. + RSVG_PKG_ERRORS=`($PKG_CONFIG --print-errors "$RSVG_MODULE") 2>&1` fi @@ -10468,8 +10470,9 @@ IMAGEMAGICK_CFLAGS="" IMAGEMAGICK_LIBS="" ## If we have a custom action on failure, don't print errors, but - ## do set a variable so people can do so. - IMAGEMAGICK_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$IMAGEMAGICK_MODULE"` + ## do set a variable so people can do so. Do it in a subshell + ## to capture any diagnostics in invoking pkg-config. + IMAGEMAGICK_PKG_ERRORS=`($PKG_CONFIG --print-errors "$IMAGEMAGICK_MODULE") 2>&1` fi @@ -10554,8 +10557,9 @@ GTK_CFLAGS="" GTK_LIBS="" ## If we have a custom action on failure, don't print errors, but - ## do set a variable so people can do so. - GTK_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$GTK_MODULES"` + ## do set a variable so people can do so. Do it in a subshell + ## to capture any diagnostics in invoking pkg-config. + GTK_PKG_ERRORS=`($PKG_CONFIG --print-errors "$GTK_MODULES") 2>&1` fi @@ -10624,8 +10628,9 @@ GTK_CFLAGS="" GTK_LIBS="" ## If we have a custom action on failure, don't print errors, but - ## do set a variable so people can do so. - GTK_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$GTK_MODULES"` + ## do set a variable so people can do so. Do it in a subshell + ## to capture any diagnostics in invoking pkg-config. + GTK_PKG_ERRORS=`($PKG_CONFIG --print-errors "$GTK_MODULES") 2>&1` fi @@ -10643,10 +10648,10 @@ pkg_check_gtk=no fi - if test "$pkg_check_gtk" = "no"; then - if test "$USE_X_TOOLKIT" = "maybe" || test "$with_gtk" = "yes" || test "$with_gtk2" = "yes"; then - as_fn_error "$gtk3_pkg_errors$GTK_PKG_ERRORS" "$LINENO" 5 - fi + if test "$pkg_check_gtk" = "no" && + { test "$with_gtk" = yes || test "$with_gtk2" = "yes"; } + then + as_fn_error "$gtk3_pkg_errors$GTK_PKG_ERRORS" "$LINENO" 5 fi fi @@ -10785,8 +10790,9 @@ DBUS_CFLAGS="" DBUS_LIBS="" ## If we have a custom action on failure, don't print errors, but - ## do set a variable so people can do so. - DBUS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "dbus-1 >= 1.0"` + ## do set a variable so people can do so. Do it in a subshell + ## to capture any diagnostics in invoking pkg-config. + DBUS_PKG_ERRORS=`($PKG_CONFIG --print-errors "dbus-1 >= 1.0") 2>&1` fi @@ -10865,8 +10871,9 @@ GSETTINGS_CFLAGS="" GSETTINGS_LIBS="" ## If we have a custom action on failure, don't print errors, but - ## do set a variable so people can do so. - GSETTINGS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gio-2.0 >= 2.26"` + ## do set a variable so people can do so. Do it in a subshell + ## to capture any diagnostics in invoking pkg-config. + GSETTINGS_PKG_ERRORS=`($PKG_CONFIG --print-errors "gio-2.0 >= 2.26") 2>&1` fi @@ -10926,8 +10933,9 @@ GCONF_CFLAGS="" GCONF_LIBS="" ## If we have a custom action on failure, don't print errors, but - ## do set a variable so people can do so. - GCONF_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gconf-2.0 >= 2.13"` + ## do set a variable so people can do so. Do it in a subshell + ## to capture any diagnostics in invoking pkg-config. + GCONF_PKG_ERRORS=`($PKG_CONFIG --print-errors "gconf-2.0 >= 2.13") 2>&1` fi @@ -10986,8 +10994,9 @@ GOBJECT_CFLAGS="" GOBJECT_LIBS="" ## If we have a custom action on failure, don't print errors, but - ## do set a variable so people can do so. - GOBJECT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gobject-2.0 >= 2.0"` + ## do set a variable so people can do so. Do it in a subshell + ## to capture any diagnostics in invoking pkg-config. + GOBJECT_PKG_ERRORS=`($PKG_CONFIG --print-errors "gobject-2.0 >= 2.0") 2>&1` fi @@ -11119,8 +11128,9 @@ LIBGNUTLS_CFLAGS="" LIBGNUTLS_LIBS="" ## If we have a custom action on failure, don't print errors, but - ## do set a variable so people can do so. - LIBGNUTLS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gnutls >= 2.6.6"` + ## do set a variable so people can do so. Do it in a subshell + ## to capture any diagnostics in invoking pkg-config. + LIBGNUTLS_PKG_ERRORS=`($PKG_CONFIG --print-errors "gnutls >= 2.6.6") 2>&1` fi @@ -11748,8 +11758,9 @@ FONTCONFIG_CFLAGS="" FONTCONFIG_LIBS="" ## If we have a custom action on failure, don't print errors, but - ## do set a variable so people can do so. - FONTCONFIG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "fontconfig >= 2.2.0"` + ## do set a variable so people can do so. Do it in a subshell + ## to capture any diagnostics in invoking pkg-config. + FONTCONFIG_PKG_ERRORS=`($PKG_CONFIG --print-errors "fontconfig >= 2.2.0") 2>&1` fi @@ -11806,8 +11817,9 @@ XFT_CFLAGS="" XFT_LIBS="" ## If we have a custom action on failure, don't print errors, but - ## do set a variable so people can do so. - XFT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xft >= 0.13.0"` + ## do set a variable so people can do so. Do it in a subshell + ## to capture any diagnostics in invoking pkg-config. + XFT_PKG_ERRORS=`($PKG_CONFIG --print-errors "xft >= 0.13.0") 2>&1` fi @@ -11973,8 +11985,9 @@ FREETYPE_CFLAGS="" FREETYPE_LIBS="" ## If we have a custom action on failure, don't print errors, but - ## do set a variable so people can do so. - FREETYPE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "freetype2"` + ## do set a variable so people can do so. Do it in a subshell + ## to capture any diagnostics in invoking pkg-config. + FREETYPE_PKG_ERRORS=`($PKG_CONFIG --print-errors "freetype2") 2>&1` fi @@ -12033,8 +12046,9 @@ LIBOTF_CFLAGS="" LIBOTF_LIBS="" ## If we have a custom action on failure, don't print errors, but - ## do set a variable so people can do so. - LIBOTF_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libotf"` + ## do set a variable so people can do so. Do it in a subshell + ## to capture any diagnostics in invoking pkg-config. + LIBOTF_PKG_ERRORS=`($PKG_CONFIG --print-errors "libotf") 2>&1` fi @@ -12141,8 +12155,9 @@ M17N_FLT_CFLAGS="" M17N_FLT_LIBS="" ## If we have a custom action on failure, don't print errors, but - ## do set a variable so people can do so. - M17N_FLT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "m17n-flt"` + ## do set a variable so people can do so. Do it in a subshell + ## to capture any diagnostics in invoking pkg-config. + M17N_FLT_PKG_ERRORS=`($PKG_CONFIG --print-errors "m17n-flt") 2>&1` fi @@ -12830,8 +12845,9 @@ LIBXML2_CFLAGS="" LIBXML2_LIBS="" ## If we have a custom action on failure, don't print errors, but - ## do set a variable so people can do so. - LIBXML2_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libxml-2.0 > 2.6.17"` + ## do set a variable so people can do so. Do it in a subshell + ## to capture any diagnostics in invoking pkg-config. + LIBXML2_PKG_ERRORS=`($PKG_CONFIG --print-errors "libxml-2.0 > 2.6.17") 2>&1` fi @@ -15461,13 +15477,45 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $emacs_cv_func__setjmp" >&5 $as_echo "$emacs_cv_func__setjmp" >&6; } -if test $emacs_cv_func__setjmp = no; then - -$as_echo "#define _setjmp setjmp" >>confdefs.h - - -$as_echo "#define _longjmp longjmp" >>confdefs.h - +if test $emacs_cv_func__setjmp = yes; then + +$as_echo "#define HAVE__SETJMP 1" >>confdefs.h + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sigsetjmp" >&5 +$as_echo_n "checking for sigsetjmp... " >&6; } +if test "${emacs_cv_func_sigsetjmp+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +int +main () +{ +sigjmp_buf j; + if (! sigsetjmp (j, 1)) + siglongjmp (j, 1); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + emacs_cv_func_sigsetjmp=yes +else + emacs_cv_func_sigsetjmp=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $emacs_cv_func_sigsetjmp" >&5 +$as_echo "$emacs_cv_func_sigsetjmp" >&6; } + if test $emacs_cv_func_sigsetjmp = yes; then + +$as_echo "#define HAVE_SIGSETJMP 1" >>confdefs.h + + fi fi case $opsys in ------------------------------------------------------------ revno: 110037 committer: Paul Eggert branch nick: trunk timestamp: Sat 2012-09-15 01:45:27 -0700 message: Port _setjmp fix to POSIXish hosts as well as Microsoft. * nt/config.nt: Attempt to sync with autogen/config.in. (HAVE_SIGSETJMP, HAVE__SETJMP): New macros. (_longjmp, _setjmp): Remove. * src/image.c (_setjmp) [!HAVE__SETJMP]: Restore definition, as it's needed on POSIXish hosts that lack _setjmp. Attempt to solve the Microsoft problem in a different way, by altering nt/config.nt. diff: === modified file 'nt/ChangeLog' --- nt/ChangeLog 2012-09-14 01:09:22 +0000 +++ nt/ChangeLog 2012-09-15 08:45:27 +0000 @@ -1,3 +1,10 @@ +2012-09-15 Paul Eggert + + Port _setjmp fix to POSIXish hosts as well as Microsoft. + * config.nt: Attempt to sync with autogen/config.in. + (HAVE_SIGSETJMP, HAVE__SETJMP): New macros. + (_longjmp, _setjmp): Remove. + 2012-09-14 Juanma Barranquero * config.nt: Sync with autogen/config.in. === modified file 'nt/config.nt' --- nt/config.nt 2012-09-14 01:09:22 +0000 +++ nt/config.nt 2012-09-15 08:45:27 +0000 @@ -800,6 +800,10 @@ /* Define to 1 if 'wint_t' is a signed integer type. */ #undef HAVE_SIGNED_WINT_T +/* Define to 1 if sigsetjmp and siglongjmp work. The value of this symbol is + irrelevant if HAVE__SETJMP is defined. */ +#undef HAVE_SIGSETJMP + /* Define to 1 if the system has the type `sigset_t'. */ #undef HAVE_SIGSET_T @@ -1084,6 +1088,9 @@ /* Define to 1 if you have the `_ftime' function. */ #undef HAVE__FTIME +/* Define to 1 if _setjmp and _longjmp work. */ +#define HAVE__SETJMP 1 + /* Define to 1 if you have the `__builtin_unwind_init' function. */ #undef HAVE___BUILTIN_UNWIND_INIT @@ -1511,14 +1518,6 @@ declarations. Define as empty for no equivalent. */ #undef __restrict_arr -/* Define to longjmp if _setjmp and _longjmp do not work. Because longjmp may - alter signal masks, callers of _longjmp should not assume that it leaves - signal masks alone. */ -#undef _longjmp - -/* Define to setjmp if _setjmp and _longjmp do not work. See _longjmp. */ -#undef _setjmp - /* Some platforms that do not use configure define this to include extra configuration information. */ #define config_opsysfile === modified file 'src/ChangeLog' --- src/ChangeLog 2012-09-15 08:03:11 +0000 +++ src/ChangeLog 2012-09-15 08:45:27 +0000 @@ -1,3 +1,10 @@ +2012-09-15 Paul Eggert + + Port _setjmp fix to POSIXish hosts as well as Microsoft. + * image.c (_setjmp) [!HAVE__SETJMP]: Restore definition, as + it's needed on POSIXish hosts that lack _setjmp. Attempt to solve + the Microsoft problem in a different way, by altering ../nt/config.nt. + 2012-09-15 Eli Zaretskii * w32xfns.c: === modified file 'src/image.c' --- src/image.c 2012-09-15 08:03:11 +0000 +++ src/image.c 2012-09-15 08:45:27 +0000 @@ -5520,9 +5520,7 @@ MinGW (MS-Windows) uses _setjmp and defines setjmp to _setjmp in the system header setjmp.h; don't mess up that. */ #ifndef HAVE__SETJMP -# ifndef setjmp -# define _setjmp(j) setjmp (j) -# endif +# define _setjmp(j) setjmp (j) # define _longjmp longjmp #endif ------------------------------------------------------------ revno: 110036 fixes bug: http://debbugs.gnu.org/12446 committer: Eli Zaretskii branch nick: trunk timestamp: Sat 2012-09-15 11:03:11 +0300 message: Fix MS-Windows build broken by revision 110035, completing fix for bug #12446. src/w32xfns.c: src/w32uniscribe.c: src/w32term.c: src/w32select.c: src/w32reg.c: src/w32proc.c: src/w32menu.c: src/w32inevt.c: src/w32heap.c: src/w32font.c: src/w32fns.c: src/w32console.c: src/w32.c: src/w16select.c: Remove inclusion of setjmp.h, as it is now included by lisp.h. This completes removal of setjmp.h inclusion erroneously announced in the previous commit. src/lisp.h [!HAVE__SETJMP, !HAVE_SIGSETJMP]: Make the commentary more accurate. src/image.c (_setjmp) [!HAVE__SETJMP]: Define only if 'setjmp' is not defined as a macro. The latter happens on MS-Windows. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-09-15 07:06:56 +0000 +++ src/ChangeLog 2012-09-15 08:03:11 +0000 @@ -1,8 +1,34 @@ +2012-09-15 Eli Zaretskii + + * w32xfns.c: + * w32uniscribe.c: + * w32term.c: + * w32select.c: + * w32reg.c: + * w32proc.c: + * w32menu.c: + * w32inevt.c: + * w32heap.c: + * w32font.c: + * w32fns.c: + * w32console.c: + * w32.c: + * w16select.c: Remove inclusion of setjmp.h, as it is now included + by lisp.h. This completes removal of setjmp.h inclusion + erroneously announced in the previous commit. (Bug#12446) + + * lisp.h [!HAVE__SETJMP, !HAVE_SIGSETJMP]: Make the commentary + more accurate. + + * image.c (_setjmp) [!HAVE__SETJMP]: Define only if 'setjmp' is + not defined as a macro. The latter happens on MS-Windows. + (Bug#12446) + 2012-09-15 Paul Eggert Port better to POSIX hosts lacking _setjmp (Bug#12446). * lisp.h: Include here, since we use its symbols here. - All instances of '#include ' removed, if the + Some instances of '#include ' removed, if the only reason for the instance was because "lisp.h" was included. (sys_jmp_buf, sys_setjmp, sys_longjmp): New symbols. Unless otherwise specified, replace all uses of jmp_buf, _setjmp, === modified file 'src/image.c' --- src/image.c 2012-09-15 07:06:56 +0000 +++ src/image.c 2012-09-15 08:03:11 +0000 @@ -5516,9 +5516,13 @@ /* Possibly inefficient/inexact substitutes for _setjmp and _longjmp. Do not use sys_setjmp, as PNG supports only jmp_buf. The _longjmp - substitute may munge the signal mask, but that should be OK here. */ + substitute may munge the signal mask, but that should be OK here. + MinGW (MS-Windows) uses _setjmp and defines setjmp to _setjmp in + the system header setjmp.h; don't mess up that. */ #ifndef HAVE__SETJMP -# define _setjmp(j) setjmp (j) +# ifndef setjmp +# define _setjmp(j) setjmp (j) +# endif # define _longjmp longjmp #endif === modified file 'src/lisp.h' --- src/lisp.h 2012-09-15 07:06:56 +0000 +++ src/lisp.h 2012-09-15 08:03:11 +0000 @@ -1977,7 +1977,8 @@ # define sys_setjmp(j) sigsetjmp (j, 0) # define sys_longjmp(j, v) siglongjmp (j, v) #else -/* A non-POSIX platform; assume longjmp does not affect the sigmask. */ +/* A platform that uses neither _longjmp nor siglongjmp; assume + longjmp does not affect the sigmask. */ typedef jmp_buf sys_jmp_buf; # define sys_setjmp(j) setjmp (j) # define sys_longjmp(j, v) longjmp (j, v) === modified file 'src/w16select.c' --- src/w16select.c 2012-07-05 06:32:41 +0000 +++ src/w16select.c 2012-09-15 08:03:11 +0000 @@ -31,7 +31,6 @@ #include #include #include -#include #include "lisp.h" #include "dispextern.h" /* frame.h seems to want this */ #include "frame.h" /* Need this to get the X window of selected_frame */ === modified file 'src/w32.c' --- src/w32.c 2012-09-07 08:20:07 +0000 +++ src/w32.c 2012-09-15 08:03:11 +0000 @@ -33,7 +33,6 @@ #include #include /* for _mbspbrk */ #include -#include #include /* must include CRT headers *before* config.h */ === modified file 'src/w32console.c' --- src/w32console.c 2012-07-29 08:18:29 +0000 +++ src/w32console.c 2012-09-15 08:03:11 +0000 @@ -26,7 +26,6 @@ #include #include -#include #include "lisp.h" #include "character.h" === modified file 'src/w32fns.c' --- src/w32fns.c 2012-09-04 17:34:54 +0000 +++ src/w32fns.c 2012-09-15 08:03:11 +0000 @@ -26,7 +26,6 @@ #include #include #include -#include #include "lisp.h" #include "w32term.h" === modified file 'src/w32font.c' --- src/w32font.c 2012-09-06 08:04:49 +0000 +++ src/w32font.c 2012-09-15 08:03:11 +0000 @@ -21,7 +21,6 @@ #include #include #include -#include #include "lisp.h" #include "w32term.h" === modified file 'src/w32heap.c' --- src/w32heap.c 2012-07-29 16:22:27 +0000 +++ src/w32heap.c 2012-09-15 08:03:11 +0000 @@ -22,7 +22,6 @@ #include #include -#include #include "w32heap.h" #include "lisp.h" /* for VALMASK */ === modified file 'src/w32inevt.c' --- src/w32inevt.c 2012-07-30 17:07:33 +0000 +++ src/w32inevt.c 2012-09-15 08:03:11 +0000 @@ -25,7 +25,6 @@ #include #include #include -#include #ifndef MOUSE_MOVED #define MOUSE_MOVED 1 === modified file 'src/w32menu.c' --- src/w32menu.c 2012-09-04 17:34:54 +0000 +++ src/w32menu.c 2012-09-15 08:03:11 +0000 @@ -22,7 +22,6 @@ #include #include #include -#include #include "lisp.h" #include "keyboard.h" === modified file 'src/w32proc.c' --- src/w32proc.c 2012-09-12 19:14:02 +0000 +++ src/w32proc.c 2012-09-15 08:03:11 +0000 @@ -28,7 +28,6 @@ #include #include #include -#include /* must include CRT headers *before* config.h */ #include === modified file 'src/w32reg.c' --- src/w32reg.c 2012-07-05 06:32:41 +0000 +++ src/w32reg.c 2012-09-15 08:03:11 +0000 @@ -19,7 +19,6 @@ /* Written by Kevin Gallo */ #include -#include #include "lisp.h" #include "w32term.h" #include "blockinput.h" === modified file 'src/w32select.c' --- src/w32select.c 2012-09-04 17:34:54 +0000 +++ src/w32select.c 2012-09-15 08:03:11 +0000 @@ -73,7 +73,6 @@ */ #include -#include #include "lisp.h" #include "w32term.h" /* for all of the w32 includes */ #include "w32heap.h" /* os_subtype */ === modified file 'src/w32term.c' --- src/w32term.c 2012-09-11 03:32:41 +0000 +++ src/w32term.c 2012-09-15 08:03:11 +0000 @@ -20,7 +20,6 @@ #include #include #include -#include #include "lisp.h" #include "blockinput.h" #include "w32term.h" === modified file 'src/w32uniscribe.c' --- src/w32uniscribe.c 2012-09-04 17:15:45 +0000 +++ src/w32uniscribe.c 2012-09-15 08:03:11 +0000 @@ -27,7 +27,6 @@ #define _WIN32_WINNT 0x500 #include #include -#include #include "lisp.h" #include "w32term.h" === modified file 'src/w32xfns.c' --- src/w32xfns.c 2012-09-04 17:34:54 +0000 +++ src/w32xfns.c 2012-09-15 08:03:11 +0000 @@ -19,7 +19,6 @@ #include #include #include -#include #include "lisp.h" #include "keyboard.h" #include "frame.h" ------------------------------------------------------------ revno: 110035 fixes bug: http://debbugs.gnu.org/12446 committer: Paul Eggert branch nick: trunk timestamp: Sat 2012-09-15 00:06:56 -0700 message: Port better to POSIX hosts lacking _setjmp. * configure.ac (HAVE__SETJMP, HAVE_SIGSETJMP): New symbols. (_setjmp, _longjmp): Remove. * src/lisp.h: Include here, since we use its symbols here. All instances of '#include ' removed, if the only reason for the instance was because "lisp.h" was included. (sys_jmp_buf, sys_setjmp, sys_longjmp): New symbols. Unless otherwise specified, replace all uses of jmp_buf, _setjmp, and _longjmp with the new symbols. Emacs already uses _setjmp if available, so this change affects only POSIXish hosts that have sigsetjmp but not _setjmp, such as some versions of Solaris and Unixware. (Also, POSIX-2008 marks _setjmp as obsolescent.) * src/image.c (_setjmp, _longjmp) [HAVE_PNG && !HAVE__SETJMP]: New macros. (png_load_body) [HAVE_PNG]: (PNG_LONGJMP) [HAVE_PNG && PNG_LIBPNG_VER < 10500]: (PNG_JMPBUF) [HAVE_PNG && PNG_LIBPNG_VER >= 10500]: Use _setjmp and _longjmp rather than sys_setjmp and sys_longjmp, since PNG requires jmp_buf. This is the only exception to the general rule that we now use sys_setjmp and sys_longjmp. This exception is OK since this code does not change the signal mask or longjmp out of a signal handler. diff: === modified file 'ChangeLog' --- ChangeLog 2012-09-14 22:01:19 +0000 +++ ChangeLog 2012-09-15 07:06:56 +0000 @@ -1,3 +1,9 @@ +2012-09-15 Paul Eggert + + Port better to POSIX hosts lacking _setjmp (Bug#12446). + * configure.ac (HAVE__SETJMP, HAVE_SIGSETJMP): New symbols. + (_setjmp, _longjmp): Remove. + 2012-09-14 Paul Eggert * configure.ac (--without-sync-input): Fix typo in usage message. === modified file 'configure.ac' --- configure.ac 2012-09-14 22:01:19 +0000 +++ configure.ac 2012-09-15 07:06:56 +0000 @@ -3774,13 +3774,24 @@ _longjmp (j, 1);]])], [emacs_cv_func__setjmp=yes], [emacs_cv_func__setjmp=no])]) -if test $emacs_cv_func__setjmp = no; then - AC_DEFINE([_setjmp], [setjmp], - [Define to setjmp if _setjmp and _longjmp do not work. See _longjmp.]) - AC_DEFINE([_longjmp], [longjmp], - [Define to longjmp if _setjmp and _longjmp do not work. - Because longjmp may alter signal masks, callers of _longjmp - should not assume that it leaves signal masks alone.]) +if test $emacs_cv_func__setjmp = yes; then + AC_DEFINE([HAVE__SETJMP], 1, [Define to 1 if _setjmp and _longjmp work.]) +else + AC_CACHE_CHECK([for sigsetjmp], [emacs_cv_func_sigsetjmp], + [AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include + ]], + [[sigjmp_buf j; + if (! sigsetjmp (j, 1)) + siglongjmp (j, 1);]])], + [emacs_cv_func_sigsetjmp=yes], + [emacs_cv_func_sigsetjmp=no])]) + if test $emacs_cv_func_sigsetjmp = yes; then + AC_DEFINE([HAVE_SIGSETJMP], 1, + [Define to 1 if sigsetjmp and siglongjmp work. + The value of this symbol is irrelevant if HAVE__SETJMP is defined.]) + fi fi case $opsys in === modified file 'src/ChangeLog' --- src/ChangeLog 2012-09-14 22:01:19 +0000 +++ src/ChangeLog 2012-09-15 07:06:56 +0000 @@ -1,3 +1,25 @@ +2012-09-15 Paul Eggert + + Port better to POSIX hosts lacking _setjmp (Bug#12446). + * lisp.h: Include here, since we use its symbols here. + All instances of '#include ' removed, if the + only reason for the instance was because "lisp.h" was included. + (sys_jmp_buf, sys_setjmp, sys_longjmp): New symbols. + Unless otherwise specified, replace all uses of jmp_buf, _setjmp, + and _longjmp with the new symbols. Emacs already uses _setjmp if + available, so this change affects only POSIXish hosts that have + sigsetjmp but not _setjmp, such as some versions of Solaris and + Unixware. (Also, POSIX-2008 marks _setjmp as obsolescent.) + * image.c (_setjmp, _longjmp) [HAVE_PNG && !HAVE__SETJMP]: New macros. + (png_load_body) [HAVE_PNG]: + (PNG_LONGJMP) [HAVE_PNG && PNG_LIBPNG_VER < 10500]: + (PNG_JMPBUF) [HAVE_PNG && PNG_LIBPNG_VER >= 10500]: + Use _setjmp and _longjmp rather than sys_setjmp and sys_longjmp, + since PNG requires jmp_buf. This is the only exception to the + general rule that we now use sys_setjmp and sys_longjmp. + This exception is OK since this code does not change the signal + mask or longjmp out of a signal handler. + 2012-09-14 Paul Eggert * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT && HAVE_PTHREAD]: === modified file 'src/alloc.c' --- src/alloc.c 2012-09-14 22:01:19 +0000 +++ src/alloc.c 2012-09-15 07:06:56 +0000 @@ -24,7 +24,6 @@ #include #include /* For CHAR_BIT. */ -#include #ifdef ENABLE_CHECKING #include /* For SIGABRT. */ @@ -45,7 +44,7 @@ #include "frame.h" #include "blockinput.h" #include "termhooks.h" /* For struct terminal. */ -#include + #include /* GC_CHECK_MARKED_OBJECTS means do sanity checks on allocated objects. @@ -4764,14 +4763,14 @@ { char buf[10]; register int x; - jmp_buf jbuf; + sys_jmp_buf jbuf; /* Arrange for X to be put in a register. */ sprintf (buf, "1"); x = strlen (buf); x = 2 * x - 1; - _setjmp (jbuf); + sys_setjmp (jbuf); if (longjmps_done == 1) { /* Came here after the longjmp at the end of the function. @@ -4796,7 +4795,7 @@ ++longjmps_done; x = 2; if (longjmps_done == 1) - _longjmp (jbuf, 1); + sys_longjmp (jbuf, 1); } #endif /* not GC_SAVE_REGISTERS_ON_STACK && not GC_SETJMP_WORKS */ @@ -4902,7 +4901,7 @@ /* jmp_buf may not be aligned enough on darwin-ppc64 */ union aligned_jmpbuf { Lisp_Object o; - jmp_buf j; + sys_jmp_buf j; } j; volatile bool stack_grows_down_p = (char *) &j > (char *) stack_base; #endif @@ -4938,7 +4937,7 @@ } #endif /* GC_SETJMP_WORKS */ - _setjmp (j.j); + sys_setjmp (j.j); end = stack_grows_down_p ? (char *) &j + sizeof j : (char *) &j; #endif /* not GC_SAVE_REGISTERS_ON_STACK */ #endif /* not HAVE___BUILTIN_UNWIND_INIT */ === modified file 'src/atimer.c' --- src/atimer.c 2012-09-07 01:27:44 +0000 +++ src/atimer.c 2012-09-15 07:06:56 +0000 @@ -18,7 +18,7 @@ #include #include -#include + #include "lisp.h" #include "syssignal.h" #include "systime.h" === modified file 'src/bidi.c' --- src/bidi.c 2012-09-11 22:59:50 +0000 +++ src/bidi.c 2012-09-15 07:06:56 +0000 @@ -56,7 +56,6 @@ #include #include -#include #include "lisp.h" #include "character.h" === modified file 'src/buffer.c' --- src/buffer.c 2012-09-11 04:22:03 +0000 +++ src/buffer.c 2012-09-15 07:06:56 +0000 @@ -26,7 +26,6 @@ #include #include #include -#include #include #include === modified file 'src/bytecode.c' --- src/bytecode.c 2012-09-04 17:34:54 +0000 +++ src/bytecode.c 2012-09-15 07:06:56 +0000 @@ -33,7 +33,7 @@ */ #include -#include + #include "lisp.h" #include "character.h" #include "buffer.h" === modified file 'src/callint.c' --- src/callint.c 2012-08-25 03:11:12 +0000 +++ src/callint.c 2012-09-15 07:06:56 +0000 @@ -19,7 +19,6 @@ #include -#include #include "lisp.h" #include "character.h" === modified file 'src/callproc.c' --- src/callproc.c 2012-09-07 01:27:44 +0000 +++ src/callproc.c 2012-09-15 07:06:56 +0000 @@ -21,7 +21,6 @@ #include #include #include -#include #include #include === modified file 'src/casefiddle.c' --- src/casefiddle.c 2012-08-25 06:25:00 +0000 +++ src/casefiddle.c 2012-09-15 07:06:56 +0000 @@ -19,7 +19,7 @@ #include -#include + #include "lisp.h" #include "character.h" #include "buffer.h" === modified file 'src/casetab.c' --- src/casetab.c 2012-08-25 06:25:00 +0000 +++ src/casetab.c 2012-09-15 07:06:56 +0000 @@ -19,7 +19,7 @@ along with GNU Emacs. If not, see . */ #include -#include + #include "lisp.h" #include "character.h" #include "buffer.h" === modified file 'src/category.c' --- src/category.c 2012-08-25 06:25:00 +0000 +++ src/category.c 2012-09-15 07:06:56 +0000 @@ -32,7 +32,6 @@ #define CATEGORY_INLINE EXTERN_INLINE -#include #include "lisp.h" #include "character.h" #include "buffer.h" === modified file 'src/ccl.c' --- src/ccl.c 2012-07-05 06:32:41 +0000 +++ src/ccl.c 2012-09-15 07:06:56 +0000 @@ -26,7 +26,6 @@ #include #include -#include #include #include "lisp.h" === modified file 'src/character.c' --- src/character.c 2012-09-04 17:34:54 +0000 +++ src/character.c 2012-09-15 07:06:56 +0000 @@ -36,7 +36,6 @@ #ifdef emacs #include -#include #include #include "lisp.h" #include "character.h" === modified file 'src/charset.c' --- src/charset.c 2012-09-04 17:34:54 +0000 +++ src/charset.c 2012-09-15 07:06:56 +0000 @@ -32,7 +32,6 @@ #include #include #include -#include #include #include "lisp.h" #include "character.h" === modified file 'src/chartab.c' --- src/chartab.c 2012-08-26 08:41:36 +0000 +++ src/chartab.c 2012-09-15 07:06:56 +0000 @@ -19,7 +19,7 @@ along with GNU Emacs. If not, see . */ #include -#include + #include "lisp.h" #include "character.h" #include "charset.h" === modified file 'src/cm.c' --- src/cm.c 2012-09-04 17:34:54 +0000 +++ src/cm.c 2012-09-15 07:06:56 +0000 @@ -20,7 +20,6 @@ #include #include -#include #include "lisp.h" #include "frame.h" === modified file 'src/cmds.c' --- src/cmds.c 2012-08-27 16:19:34 +0000 +++ src/cmds.c 2012-09-15 07:06:56 +0000 @@ -19,7 +19,7 @@ #include -#include + #include "lisp.h" #include "commands.h" #include "character.h" === modified file 'src/coding.c' --- src/coding.c 2012-09-04 17:34:54 +0000 +++ src/coding.c 2012-09-15 07:06:56 +0000 @@ -285,7 +285,6 @@ #include #include -#include #include "lisp.h" #include "character.h" === modified file 'src/composite.c' --- src/composite.c 2012-08-27 17:23:48 +0000 +++ src/composite.c 2012-09-15 07:06:56 +0000 @@ -26,7 +26,6 @@ #define COMPOSITE_INLINE EXTERN_INLINE -#include #include "lisp.h" #include "character.h" #include "buffer.h" === modified file 'src/data.c' --- src/data.c 2012-09-12 19:16:36 +0000 +++ src/data.c 2012-09-15 07:06:56 +0000 @@ -20,7 +20,6 @@ #include #include -#include #include === modified file 'src/dbusbind.c' --- src/dbusbind.c 2012-08-27 17:23:48 +0000 +++ src/dbusbind.c 2012-09-15 07:06:56 +0000 @@ -21,7 +21,7 @@ #ifdef HAVE_DBUS #include #include -#include + #include "lisp.h" #include "frame.h" #include "termhooks.h" === modified file 'src/dired.c' --- src/dired.c 2012-09-04 17:34:54 +0000 +++ src/dired.c 2012-09-15 07:06:56 +0000 @@ -22,7 +22,6 @@ #include #include #include -#include #ifdef HAVE_PWD_H #include === modified file 'src/dispnew.c' --- src/dispnew.c 2012-09-13 02:21:28 +0000 +++ src/dispnew.c 2012-09-15 07:06:56 +0000 @@ -22,7 +22,6 @@ #define DISPEXTERN_INLINE EXTERN_INLINE #include -#include #include #include "lisp.h" === modified file 'src/doc.c' --- src/doc.c 2012-09-03 19:36:09 +0000 +++ src/doc.c 2012-09-15 07:06:56 +0000 @@ -22,7 +22,6 @@ #include #include /* Must be after sys/types.h for USG*/ -#include #include #include === modified file 'src/doprnt.c' --- src/doprnt.c 2012-09-09 16:06:33 +0000 +++ src/doprnt.c 2012-09-15 07:06:56 +0000 @@ -102,7 +102,6 @@ #include #include -#include #include #include #include === modified file 'src/dosfns.c' --- src/dosfns.c 2012-08-17 21:52:15 +0000 +++ src/dosfns.c 2012-09-15 07:06:56 +0000 @@ -30,7 +30,7 @@ #include #undef gettime #undef settime -#include + #include "lisp.h" #include "character.h" #include "buffer.h" === modified file 'src/editfns.c' --- src/editfns.c 2012-09-11 04:22:03 +0000 +++ src/editfns.c 2012-09-15 07:06:56 +0000 @@ -21,7 +21,6 @@ #include #include #include -#include #ifdef HAVE_PWD_H #include === modified file 'src/emacs.c' --- src/emacs.c 2012-09-13 02:21:28 +0000 +++ src/emacs.c 2012-09-15 07:06:56 +0000 @@ -25,7 +25,6 @@ #include #include -#include #include #include "lisp.h" === modified file 'src/emacsgtkfixed.c' --- src/emacsgtkfixed.c 2012-09-13 04:14:33 +0000 +++ src/emacsgtkfixed.c 2012-09-15 07:06:56 +0000 @@ -22,7 +22,7 @@ #include "emacsgtkfixed.h" #include -#include + #include "lisp.h" #include "frame.h" #include "xterm.h" === modified file 'src/eval.c' --- src/eval.c 2012-09-12 21:34:24 +0000 +++ src/eval.c 2012-09-15 07:06:56 +0000 @@ -19,7 +19,6 @@ #include #include -#include #include #include "lisp.h" #include "blockinput.h" @@ -1072,7 +1071,7 @@ catchlist = &c; /* Call FUNC. */ - if (! _setjmp (c.jmp)) + if (! sys_setjmp (c.jmp)) c.val = (*func) (arg); /* Throw works by a longjmp that comes right here. */ @@ -1140,7 +1139,7 @@ backtrace_list = catch->backlist; lisp_eval_depth = catch->lisp_eval_depth; - _longjmp (catch->jmp, 1); + sys_longjmp (catch->jmp, 1); } DEFUN ("throw", Fthrow, Sthrow, 2, 2, 0, @@ -1246,7 +1245,7 @@ c.interrupt_input_blocked = interrupt_input_blocked; c.gcpro = gcprolist; c.byte_stack = byte_stack_list; - if (_setjmp (c.jmp)) + if (sys_setjmp (c.jmp)) { if (!NILP (h.var)) specbind (h.var, c.val); @@ -1301,7 +1300,7 @@ c.interrupt_input_blocked = interrupt_input_blocked; c.gcpro = gcprolist; c.byte_stack = byte_stack_list; - if (_setjmp (c.jmp)) + if (sys_setjmp (c.jmp)) { return (*hfun) (c.val); } @@ -1339,7 +1338,7 @@ c.interrupt_input_blocked = interrupt_input_blocked; c.gcpro = gcprolist; c.byte_stack = byte_stack_list; - if (_setjmp (c.jmp)) + if (sys_setjmp (c.jmp)) { return (*hfun) (c.val); } @@ -1381,7 +1380,7 @@ c.interrupt_input_blocked = interrupt_input_blocked; c.gcpro = gcprolist; c.byte_stack = byte_stack_list; - if (_setjmp (c.jmp)) + if (sys_setjmp (c.jmp)) { return (*hfun) (c.val); } @@ -1425,7 +1424,7 @@ c.interrupt_input_blocked = interrupt_input_blocked; c.gcpro = gcprolist; c.byte_stack = byte_stack_list; - if (_setjmp (c.jmp)) + if (sys_setjmp (c.jmp)) { return (*hfun) (c.val, nargs, args); } === modified file 'src/fileio.c' --- src/fileio.c 2012-09-05 07:18:46 +0000 +++ src/fileio.c 2012-09-15 07:06:56 +0000 @@ -23,7 +23,6 @@ #include #include #include -#include #include #ifdef HAVE_PWD_H === modified file 'src/filelock.c' --- src/filelock.c 2012-09-05 07:18:46 +0000 +++ src/filelock.c 2012-09-15 07:06:56 +0000 @@ -23,7 +23,6 @@ #include #include #include -#include #ifdef HAVE_PWD_H #include === modified file 'src/floatfns.c' --- src/floatfns.c 2012-09-11 02:28:27 +0000 +++ src/floatfns.c 2012-09-15 07:06:56 +0000 @@ -29,7 +29,7 @@ */ #include -#include + #include "lisp.h" #include "syssignal.h" === modified file 'src/fns.c' --- src/fns.c 2012-09-11 22:59:50 +0000 +++ src/fns.c 2012-09-15 07:06:56 +0000 @@ -21,7 +21,6 @@ #include #include -#include #include === modified file 'src/font.c' --- src/font.c 2012-09-06 08:04:49 +0000 +++ src/font.c 2012-09-15 07:06:56 +0000 @@ -23,7 +23,6 @@ #include #include #include -#include #include === modified file 'src/fontset.c' --- src/fontset.c 2012-09-06 08:04:49 +0000 +++ src/fontset.c 2012-09-15 07:06:56 +0000 @@ -26,7 +26,6 @@ #include #include -#include #include "lisp.h" #include "blockinput.h" === modified file 'src/frame.c' --- src/frame.c 2012-09-13 05:18:26 +0000 +++ src/frame.c 2012-09-15 07:06:56 +0000 @@ -24,7 +24,6 @@ #include #include #include -#include #include === modified file 'src/fringe.c' --- src/fringe.c 2012-09-09 20:10:36 +0000 +++ src/fringe.c 2012-09-15 07:06:56 +0000 @@ -18,7 +18,6 @@ #include #include -#include #include "lisp.h" #include "frame.h" === modified file 'src/ftfont.c' --- src/ftfont.c 2012-09-06 08:04:49 +0000 +++ src/ftfont.c 2012-09-15 07:06:56 +0000 @@ -21,8 +21,6 @@ #include #include -#include - #include #include === modified file 'src/ftxfont.c' --- src/ftxfont.c 2012-09-06 08:04:49 +0000 +++ src/ftxfont.c 2012-09-15 07:06:56 +0000 @@ -21,7 +21,6 @@ #include #include -#include #include #include "lisp.h" === modified file 'src/gnutls.c' --- src/gnutls.c 2012-08-18 02:49:24 +0000 +++ src/gnutls.c 2012-09-15 07:06:56 +0000 @@ -18,7 +18,6 @@ #include #include -#include #include "lisp.h" #include "process.h" === modified file 'src/gtkutil.c' --- src/gtkutil.c 2012-09-07 01:27:44 +0000 +++ src/gtkutil.c 2012-09-15 07:06:56 +0000 @@ -22,7 +22,6 @@ #ifdef USE_GTK #include #include -#include #include === modified file 'src/image.c' --- src/image.c 2012-09-13 01:22:08 +0000 +++ src/image.c 2012-09-15 07:06:56 +0000 @@ -5514,6 +5514,13 @@ #endif /* HAVE_NTGUI */ +/* Possibly inefficient/inexact substitutes for _setjmp and _longjmp. + Do not use sys_setjmp, as PNG supports only jmp_buf. The _longjmp + substitute may munge the signal mask, but that should be OK here. */ +#ifndef HAVE__SETJMP +# define _setjmp(j) setjmp (j) +# define _longjmp longjmp +#endif #if (PNG_LIBPNG_VER < 10500) #define PNG_LONGJMP(ptr) (_longjmp ((ptr)->jmpbuf, 1)) @@ -5593,7 +5600,7 @@ struct png_load_context { - /* These are members so that _longjmp doesn't munge local variables. */ + /* These are members so that longjmp doesn't munge local variables. */ png_struct *png_ptr; png_info *info_ptr; png_info *end_info; @@ -6129,9 +6136,9 @@ struct my_jpeg_error_mgr { struct jpeg_error_mgr pub; - jmp_buf setjmp_buffer; + sys_jmp_buf setjmp_buffer; - /* The remaining members are so that _longjmp doesn't munge local + /* The remaining members are so that longjmp doesn't munge local variables. */ struct jpeg_decompress_struct cinfo; enum @@ -6151,7 +6158,7 @@ { struct my_jpeg_error_mgr *mgr = (struct my_jpeg_error_mgr *) cinfo->err; mgr->failure_code = MY_JPEG_ERROR_EXIT; - _longjmp (mgr->setjmp_buffer, 1); + sys_longjmp (mgr->setjmp_buffer, 1); } @@ -6401,7 +6408,7 @@ error is detected. This function will perform a longjmp. */ mgr->cinfo.err = fn_jpeg_std_error (&mgr->pub); mgr->pub.error_exit = my_error_exit; - if (_setjmp (mgr->setjmp_buffer)) + if (sys_setjmp (mgr->setjmp_buffer)) { switch (mgr->failure_code) { @@ -6460,14 +6467,14 @@ if (!check_image_size (f, width, height)) { mgr->failure_code = MY_JPEG_INVALID_IMAGE_SIZE; - _longjmp (mgr->setjmp_buffer, 1); + sys_longjmp (mgr->setjmp_buffer, 1); } /* Create X image and pixmap. */ if (!x_create_x_image_and_pixmap (f, width, height, 0, &ximg, &img->pixmap)) { mgr->failure_code = MY_JPEG_CANNOT_CREATE_X; - _longjmp (mgr->setjmp_buffer, 1); + sys_longjmp (mgr->setjmp_buffer, 1); } /* Allocate colors. When color quantization is used, === modified file 'src/indent.c' --- src/indent.c 2012-09-04 17:34:54 +0000 +++ src/indent.c 2012-09-15 07:06:56 +0000 @@ -19,7 +19,6 @@ #include #include -#include #include "lisp.h" #include "character.h" === modified file 'src/insdel.c' --- src/insdel.c 2012-09-14 14:23:50 +0000 +++ src/insdel.c 2012-09-15 07:06:56 +0000 @@ -19,7 +19,6 @@ #include -#include #include === modified file 'src/intervals.c' --- src/intervals.c 2012-09-04 17:34:54 +0000 +++ src/intervals.c 2012-09-15 07:06:56 +0000 @@ -41,7 +41,6 @@ #define INTERVALS_INLINE EXTERN_INLINE -#include #include #include "lisp.h" #include "intervals.h" === modified file 'src/keyboard.c' --- src/keyboard.c 2012-09-13 16:23:06 +0000 +++ src/keyboard.c 2012-09-15 07:06:56 +0000 @@ -22,7 +22,7 @@ #define KEYBOARD_INLINE EXTERN_INLINE #include -#include + #include "lisp.h" #include "termchar.h" #include "termopts.h" @@ -145,7 +145,7 @@ /* For longjmp to where kbd input is being done. */ -static jmp_buf getcjmp; +static sys_jmp_buf getcjmp; /* True while doing kbd input. */ int waiting_for_input; @@ -434,8 +434,8 @@ Lisp_Object *, ptrdiff_t); static Lisp_Object make_lispy_switch_frame (Lisp_Object); static int help_char_p (Lisp_Object); -static void save_getcjmp (jmp_buf); -static void restore_getcjmp (jmp_buf); +static void save_getcjmp (sys_jmp_buf); +static void restore_getcjmp (sys_jmp_buf); static Lisp_Object apply_modifiers (int, Lisp_Object); static void clear_event (struct input_event *); static Lisp_Object restore_kboard_configuration (Lisp_Object); @@ -2315,8 +2315,8 @@ { volatile Lisp_Object c; ptrdiff_t jmpcount; - jmp_buf local_getcjmp; - jmp_buf save_jump; + sys_jmp_buf local_getcjmp; + sys_jmp_buf save_jump; volatile int key_already_recorded = 0; Lisp_Object tem, save; volatile Lisp_Object previous_echo_area_message; @@ -2562,7 +2562,7 @@ it *must not* be in effect when we call redisplay. */ jmpcount = SPECPDL_INDEX (); - if (_setjmp (local_getcjmp)) + if (sys_setjmp (local_getcjmp)) { /* Handle quits while reading the keyboard. */ /* We must have saved the outer value of getcjmp here, @@ -3394,13 +3394,13 @@ See read_process_output. */ static void -save_getcjmp (jmp_buf temp) +save_getcjmp (sys_jmp_buf temp) { memcpy (temp, getcjmp, sizeof getcjmp); } static void -restore_getcjmp (jmp_buf temp) +restore_getcjmp (sys_jmp_buf temp) { memcpy (getcjmp, temp, sizeof getcjmp); } @@ -10979,7 +10979,7 @@ do_switch_frame (make_lispy_switch_frame (internal_last_event_frame), 0, 0, Qnil); - _longjmp (getcjmp, 1); + sys_longjmp (getcjmp, 1); } DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode, === modified file 'src/keymap.c' --- src/keymap.c 2012-09-04 17:34:54 +0000 +++ src/keymap.c 2012-09-15 07:06:56 +0000 @@ -40,7 +40,7 @@ #include #include -#include + #include "lisp.h" #include "commands.h" #include "character.h" === modified file 'src/lisp.h' --- src/lisp.h 2012-09-11 23:50:28 +0000 +++ src/lisp.h 2012-09-15 07:06:56 +0000 @@ -20,6 +20,7 @@ #ifndef EMACS_LISP_H #define EMACS_LISP_H +#include #include #include #include @@ -1963,7 +1964,24 @@ static struct Lisp_Kboard_Objfwd ko_fwd; \ defvar_kboard (&ko_fwd, lname, offsetof (KBOARD, vname ## _)); \ } while (0) + +/* Save and restore the instruction and environment pointers, + without affecting the signal mask. */ +#ifdef HAVE__SETJMP +typedef jmp_buf sys_jmp_buf; +# define sys_setjmp(j) _setjmp (j) +# define sys_longjmp(j, v) _longjmp (j, v) +#elif defined HAVE_SIGSETJMP +typedef sigjmp_buf sys_jmp_buf; +# define sys_setjmp(j) sigsetjmp (j, 0) +# define sys_longjmp(j, v) siglongjmp (j, v) +#else +/* A non-POSIX platform; assume longjmp does not affect the sigmask. */ +typedef jmp_buf sys_jmp_buf; +# define sys_setjmp(j) setjmp (j) +# define sys_longjmp(j, v) longjmp (j, v) +#endif /* Structure for recording Lisp call stack for backtrace purposes. */ @@ -2056,7 +2074,7 @@ Lisp_Object volatile val; struct catchtag *volatile next; struct gcpro *gcpro; - jmp_buf jmp; + sys_jmp_buf jmp; struct backtrace *backlist; struct handler *handlerlist; EMACS_INT lisp_eval_depth; === modified file 'src/lread.c' --- src/lread.c 2012-09-11 04:22:03 +0000 +++ src/lread.c 2012-09-15 07:06:56 +0000 @@ -25,7 +25,6 @@ #include #include #include /* For CHAR_BIT. */ -#include #include #include "lisp.h" #include "intervals.h" === modified file 'src/macros.c' --- src/macros.c 2012-08-17 23:38:43 +0000 +++ src/macros.c 2012-09-15 07:06:56 +0000 @@ -19,7 +19,7 @@ #include -#include + #include "lisp.h" #include "macros.h" #include "commands.h" === modified file 'src/marker.c' --- src/marker.c 2012-09-11 04:22:03 +0000 +++ src/marker.c 2012-09-15 07:06:56 +0000 @@ -18,7 +18,7 @@ #include -#include + #include "lisp.h" #include "character.h" #include "buffer.h" === modified file 'src/menu.c' --- src/menu.c 2012-09-04 17:34:54 +0000 +++ src/menu.c 2012-09-15 07:06:56 +0000 @@ -20,7 +20,6 @@ #include #include -#include #include /* for INT_MAX */ #include "lisp.h" === modified file 'src/minibuf.c' --- src/minibuf.c 2012-09-11 04:22:03 +0000 +++ src/minibuf.c 2012-09-15 07:06:56 +0000 @@ -21,7 +21,6 @@ #include #include #include -#include #include "lisp.h" #include "commands.h" === modified file 'src/nsfns.m' --- src/nsfns.m 2012-09-07 01:27:44 +0000 +++ src/nsfns.m 2012-09-15 07:06:56 +0000 @@ -31,7 +31,6 @@ #include #include -#include #include #include "lisp.h" === modified file 'src/nsfont.m' --- src/nsfont.m 2012-09-06 08:04:49 +0000 +++ src/nsfont.m 2012-09-15 07:06:56 +0000 @@ -23,7 +23,6 @@ /* This should be the first include, as it may set up #defines affecting interpretation of even the system includes. */ #include -#include #include "lisp.h" #include "dispextern.h" === modified file 'src/nsimage.m' --- src/nsimage.m 2012-08-16 21:58:44 +0000 +++ src/nsimage.m 2012-09-15 07:06:56 +0000 @@ -28,7 +28,6 @@ /* This should be the first include, as it may set up #defines affecting interpretation of even the system includes. */ #include -#include #include "lisp.h" #include "dispextern.h" === modified file 'src/nsmenu.m' --- src/nsmenu.m 2012-09-04 17:34:54 +0000 +++ src/nsmenu.m 2012-09-15 07:06:56 +0000 @@ -24,7 +24,6 @@ /* This should be the first include, as it may set up #defines affecting interpretation of even the system includes. */ #include -#include #include "lisp.h" #include "window.h" === modified file 'src/nsselect.m' --- src/nsselect.m 2012-08-07 13:37:21 +0000 +++ src/nsselect.m 2012-09-15 07:06:56 +0000 @@ -28,7 +28,6 @@ /* This should be the first include, as it may set up #defines affecting interpretation of even the system includes. */ #include -#include #include "lisp.h" #include "nsterm.h" === modified file 'src/nsterm.m' --- src/nsterm.m 2012-09-11 17:08:02 +0000 +++ src/nsterm.m 2012-09-15 07:06:56 +0000 @@ -35,7 +35,6 @@ #include #include #include -#include #include #include === modified file 'src/print.c' --- src/print.c 2012-09-11 04:22:03 +0000 +++ src/print.c 2012-09-15 07:06:56 +0000 @@ -21,7 +21,7 @@ #include #include -#include + #include "lisp.h" #include "character.h" #include "buffer.h" === modified file 'src/process.c' --- src/process.c 2012-09-13 02:21:28 +0000 +++ src/process.c 2012-09-15 07:06:56 +0000 @@ -25,12 +25,9 @@ #include #include -#include #include /* Some typedefs are used in sys/file.h. */ #include #include -#include - #include #include @@ -5421,7 +5418,7 @@ /* Sending data to subprocess */ -static jmp_buf send_process_frame; +static sys_jmp_buf send_process_frame; static Lisp_Object process_sent_to; static _Noreturn void @@ -5431,7 +5428,7 @@ sigemptyset (&unblocked); sigaddset (&unblocked, SIGPIPE); pthread_sigmask (SIG_UNBLOCK, &unblocked, 0); - _longjmp (send_process_frame, 1); + sys_longjmp (send_process_frame, 1); } static void @@ -5640,7 +5637,7 @@ /* 2000-09-21: Emacs 20.7, sparc-sun-solaris-2.6, GCC 2.95.2, CFLAGS="-g -O": The value of the parameter `proc' is clobbered when returning with longjmp despite being declared volatile. */ - if (!_setjmp (send_process_frame)) + if (!sys_setjmp (send_process_frame)) { p = XPROCESS (proc); /* Repair any setjmp clobbering. */ process_sent_to = proc; === modified file 'src/ralloc.c' --- src/ralloc.c 2012-09-04 17:34:54 +0000 +++ src/ralloc.c 2012-09-15 07:06:56 +0000 @@ -25,7 +25,7 @@ #ifdef emacs #include -#include + #include "lisp.h" /* Needed for VALBITS. */ #include "blockinput.h" === modified file 'src/regex.c' --- src/regex.c 2012-09-03 19:36:09 +0000 +++ src/regex.c 2012-09-15 07:06:56 +0000 @@ -126,7 +126,6 @@ that make sense only in Emacs. */ #ifdef emacs -# include # include "lisp.h" # include "character.h" # include "buffer.h" === modified file 'src/region-cache.c' --- src/region-cache.c 2012-09-04 17:34:54 +0000 +++ src/region-cache.c 2012-09-15 07:06:56 +0000 @@ -21,7 +21,6 @@ #include #include -#include #include "lisp.h" #include "character.h" === modified file 'src/scroll.c' --- src/scroll.c 2012-09-04 17:34:54 +0000 +++ src/scroll.c 2012-09-15 07:06:56 +0000 @@ -21,7 +21,7 @@ #include #include -#include + #include "lisp.h" #include "termchar.h" #include "dispextern.h" === modified file 'src/search.c' --- src/search.c 2012-09-04 17:34:54 +0000 +++ src/search.c 2012-09-15 07:06:56 +0000 @@ -20,7 +20,7 @@ #include -#include + #include "lisp.h" #include "syntax.h" #include "category.h" === modified file 'src/sheap.c' --- src/sheap.c 2012-01-19 07:21:25 +0000 +++ src/sheap.c 2012-09-15 07:06:56 +0000 @@ -20,7 +20,7 @@ #include #include -#include + #include "lisp.h" #include @@ -93,4 +93,3 @@ bss_sbrk_ptr - bss_sbrk_buffer, STATIC_HEAP_SIZE); message ("%s", buf); } - === modified file 'src/sound.c' --- src/sound.c 2012-09-13 02:21:28 +0000 +++ src/sound.c 2012-09-15 07:06:56 +0000 @@ -44,7 +44,7 @@ #include #include #include -#include + #include "lisp.h" #include "dispextern.h" #include "atimer.h" === modified file 'src/syntax.c' --- src/syntax.c 2012-09-08 14:23:01 +0000 +++ src/syntax.c 2012-09-15 07:06:56 +0000 @@ -21,7 +21,7 @@ #include #include -#include + #include "lisp.h" #include "commands.h" #include "character.h" === modified file 'src/sysdep.c' --- src/sysdep.c 2012-09-13 02:21:28 +0000 +++ src/sysdep.c 2012-09-15 07:06:56 +0000 @@ -23,7 +23,6 @@ #include #include -#include #ifdef HAVE_PWD_H #include #include === modified file 'src/term.c' --- src/term.c 2012-09-13 02:21:28 +0000 +++ src/term.c 2012-09-15 07:06:56 +0000 @@ -25,7 +25,6 @@ #include #include #include -#include #include "lisp.h" #include "termchar.h" === modified file 'src/termcap.c' --- src/termcap.c 2012-07-05 18:35:48 +0000 +++ src/termcap.c 2012-09-15 07:06:56 +0000 @@ -19,7 +19,6 @@ /* Emacs config.h may rename various library functions such as malloc. */ #include -#include #include #include #include === modified file 'src/terminal.c' --- src/terminal.c 2012-09-04 17:34:54 +0000 +++ src/terminal.c 2012-09-15 07:06:56 +0000 @@ -21,7 +21,6 @@ #define TERMHOOKS_INLINE EXTERN_INLINE #include -#include #include "lisp.h" #include "frame.h" === modified file 'src/terminfo.c' --- src/terminfo.c 2012-09-04 17:34:54 +0000 +++ src/terminfo.c 2012-09-15 07:06:56 +0000 @@ -19,7 +19,6 @@ #include #include "tparam.h" -#include #include "lisp.h" /* Define these variables that serve as global parameters to termcap, === modified file 'src/textprop.c' --- src/textprop.c 2012-09-07 14:45:28 +0000 +++ src/textprop.c 2012-09-15 07:06:56 +0000 @@ -17,7 +17,7 @@ along with GNU Emacs. If not, see . */ #include -#include + #include "lisp.h" #include "intervals.h" #include "character.h" === modified file 'src/tparam.c' --- src/tparam.c 2012-09-04 17:34:54 +0000 +++ src/tparam.c 2012-09-15 07:06:56 +0000 @@ -19,7 +19,7 @@ /* Emacs config.h may rename various library functions such as malloc. */ #include -#include + #include "lisp.h" /* for xmalloc */ #include "tparam.h" === modified file 'src/undo.c' --- src/undo.c 2012-08-28 06:20:08 +0000 +++ src/undo.c 2012-09-15 07:06:56 +0000 @@ -18,7 +18,7 @@ #include -#include + #include "lisp.h" #include "character.h" #include "buffer.h" === modified file 'src/unexaix.c' --- src/unexaix.c 2012-08-19 20:02:24 +0000 +++ src/unexaix.c 2012-09-15 07:06:56 +0000 @@ -89,7 +89,6 @@ static int pagemask; -#include #include "lisp.h" static void === modified file 'src/unexcoff.c' --- src/unexcoff.c 2012-08-19 20:02:24 +0000 +++ src/unexcoff.c 2012-09-15 07:06:56 +0000 @@ -120,7 +120,6 @@ #define ADDR_CORRECT(x) ((char *)(x) - (char*)0) -#include #include "lisp.h" static void === modified file 'src/unexcw.c' --- src/unexcw.c 2012-01-19 07:21:25 +0000 +++ src/unexcw.c 2012-09-15 07:06:56 +0000 @@ -21,7 +21,6 @@ #include #include "unexec.h" -#include #include #include #include === modified file 'src/unexsol.c' --- src/unexsol.c 2012-06-16 12:24:15 +0000 +++ src/unexsol.c 2012-09-15 07:06:56 +0000 @@ -4,7 +4,6 @@ #include "unexec.h" #include -#include #include "lisp.h" #include "character.h" === modified file 'src/vm-limit.c' --- src/vm-limit.c 2012-08-19 21:00:09 +0000 +++ src/vm-limit.c 2012-09-15 07:06:56 +0000 @@ -17,7 +17,6 @@ along with GNU Emacs. If not, see . */ #include -#include #include /* for 'environ', on AIX */ #include "lisp.h" #include "mem-limits.h" === modified file 'src/widget.c' --- src/widget.c 2012-09-07 01:27:44 +0000 +++ src/widget.c 2012-09-15 07:06:56 +0000 @@ -30,7 +30,7 @@ #include #include -#include + #include "lisp.h" #include "xterm.h" === modified file 'src/window.c' --- src/window.c 2012-09-11 15:42:50 +0000 +++ src/window.c 2012-09-15 07:06:56 +0000 @@ -23,7 +23,6 @@ #define WINDOW_INLINE EXTERN_INLINE #include -#include #include "lisp.h" #include "character.h" === modified file 'src/xdisp.c' --- src/xdisp.c 2012-09-14 06:55:38 +0000 +++ src/xdisp.c 2012-09-15 07:06:56 +0000 @@ -273,7 +273,6 @@ #include #include #include -#include #include "lisp.h" #include "keyboard.h" === modified file 'src/xfaces.c' --- src/xfaces.c 2012-09-11 22:59:50 +0000 +++ src/xfaces.c 2012-09-15 07:06:56 +0000 @@ -204,7 +204,6 @@ #include #include #include /* This needs to be before termchar.h */ -#include #include "lisp.h" #include "character.h" === modified file 'src/xfns.c' --- src/xfns.c 2012-08-18 06:06:39 +0000 +++ src/xfns.c 2012-09-15 07:06:56 +0000 @@ -20,7 +20,6 @@ #include #include #include -#include #include /* This makes the fields of a Display accessible, in Xlib header files. */ === modified file 'src/xfont.c' --- src/xfont.c 2012-09-06 08:04:49 +0000 +++ src/xfont.c 2012-09-15 07:06:56 +0000 @@ -21,7 +21,6 @@ #include #include -#include #include #include "lisp.h" === modified file 'src/xftfont.c' --- src/xftfont.c 2012-09-06 08:04:49 +0000 +++ src/xftfont.c 2012-09-15 07:06:56 +0000 @@ -21,7 +21,6 @@ #include #include -#include #include #include === modified file 'src/xgselect.c' --- src/xgselect.c 2012-09-11 22:59:50 +0000 +++ src/xgselect.c 2012-09-15 07:06:56 +0000 @@ -19,14 +19,12 @@ #include -#include #include "xgselect.h" #if defined (USE_GTK) || defined (HAVE_GCONF) || defined (HAVE_GSETTINGS) #include #include -#include #include "xterm.h" int === modified file 'src/xmenu.c' --- src/xmenu.c 2012-09-07 01:27:44 +0000 +++ src/xmenu.c 2012-09-15 07:06:56 +0000 @@ -33,7 +33,6 @@ #include #include -#include #include "lisp.h" #include "keyboard.h" === modified file 'src/xml.c' --- src/xml.c 2012-06-16 12:24:15 +0000 +++ src/xml.c 2012-09-15 07:06:56 +0000 @@ -20,7 +20,6 @@ #ifdef HAVE_LIBXML2 -#include #include #include #include === modified file 'src/xrdb.c' --- src/xrdb.c 2012-07-05 18:35:48 +0000 +++ src/xrdb.c 2012-09-15 07:06:56 +0000 @@ -26,7 +26,6 @@ #include #include -#include #include "lisp.h" === modified file 'src/xselect.c' --- src/xselect.c 2012-09-04 17:34:54 +0000 +++ src/xselect.c 2012-09-15 07:06:56 +0000 @@ -22,7 +22,6 @@ #include #include #include /* termhooks.h needs this */ -#include #ifdef HAVE_SYS_TYPES_H #include === modified file 'src/xsettings.c' --- src/xsettings.c 2012-07-12 03:45:46 +0000 +++ src/xsettings.c 2012-09-15 07:06:56 +0000 @@ -21,7 +21,6 @@ #include #include -#include #include #include "lisp.h" #include "xterm.h" @@ -711,12 +710,12 @@ if (send_event_p) store_config_changed_event (Qfont_render, XCAR (dpyinfo->name_list_element)); - Vxft_settings + Vxft_settings = make_formatted_string (buf, format, oldsettings.aa, oldsettings.hinting, oldsettings.rgba, oldsettings.lcdfilter, oldsettings.hintstyle, oldsettings.dpi); - + } else FcPatternDestroy (pat); === modified file 'src/xsmfns.c' --- src/xsmfns.c 2012-08-27 17:23:48 +0000 +++ src/xsmfns.c 2012-09-15 07:06:56 +0000 @@ -29,7 +29,6 @@ #include #include #include -#include #include "lisp.h" #include "systime.h" === modified file 'src/xterm.c' --- src/xterm.c 2012-09-13 02:21:28 +0000 +++ src/xterm.c 2012-09-15 07:06:56 +0000 @@ -22,7 +22,6 @@ #include #include -#include #ifdef HAVE_X_WINDOWS @@ -47,7 +46,6 @@ #include #include -#include #include /* Caused redefinition of DBL_DIG on Netbsd; seems not to be needed. */ /* #include */ ------------------------------------------------------------ revno: 110034 committer: Glenn Morris branch nick: trunk timestamp: Fri 2012-09-14 21:11:52 -0400 message: Improve vc-bzr-working-revision for lightweight checkouts * lisp/vc/vc-bzr.el (vc-bzr-working-revision): For lightweight local checkouts, check the parent dirstate matches the branch. Add "--tree" to "bzr revno" arguments. Don't try to shorten the empty string. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-09-15 00:33:40 +0000 +++ lisp/ChangeLog 2012-09-15 01:11:52 +0000 @@ -1,5 +1,10 @@ 2012-09-15 Glenn Morris + * vc/vc-bzr.el (vc-bzr-working-revision): For lightweight local + checkouts, check the parent dirstate matches the branch. + Add "--tree" to "bzr revno" arguments. Don't try to shorten the + empty string. + * version.el (emacs-bzr-version): Doc fix. (emacs-bzr-version-dirstate): New function. (emacs-bzr-get-version): For lightweight checkouts, if the parent === modified file 'lisp/vc/vc-bzr.el' --- lisp/vc/vc-bzr.el 2012-07-19 14:38:01 +0000 +++ lisp/vc/vc-bzr.el 2012-09-15 01:11:52 +0000 @@ -534,7 +534,9 @@ ;; FIXME: maybe it's overkill to check if both these ;; files exist. (and (file-exists-p branch-format-file) - (file-exists-p lastrev-file))))) + (file-exists-p lastrev-file) + (equal (emacs-bzr-version-dirstate l-c-parent-dir) + (emacs-bzr-version-dirstate rootdir)))))) t))) (with-temp-buffer (insert-file-contents branch-format-file) @@ -553,13 +555,17 @@ (insert-file-contents lastrev-file) (when (re-search-forward "[0-9]+" nil t) (buffer-substring (match-beginning 0) (match-end 0)))))) - ;; fallback to calling "bzr revno" + ;; Fallback to calling "bzr revno --tree". + ;; The "--tree" matters for lightweight checkouts not on the same + ;; revision as the parent. (let* ((result (vc-bzr-command-discarding-stderr - vc-bzr-program "revno" (file-relative-name file))) + vc-bzr-program "revno" "--tree" + (file-relative-name file))) (exitcode (car result)) (output (cdr result))) (cond - ((eq exitcode 0) (substring output 0 -1)) + ((and (eq exitcode 0) (not (zerop (length output)))) + (substring output 0 -1)) (t nil)))))) (defun vc-bzr-create-repo ()